RE: driver for data acqusition board on PCI bus works in debug kernel, but not in retail kernel by apearson
apearson
Mon Aug 04 13:10:46 CDT 2003
I'm not sure what's causing your problem, but here are a few things to try:
- Change your DEBUGMSG() calls to RETAILMSG() and see what gets printed
out for DAC_Init() and DAC_Open() in the debug build. Then try it again
during the retail build.
- Look in HKEY_LOCAL_MACHINE\Drivers\Active and see if you can find your
device. That will confirm that your driver is being loaded and tell you
what name it's getting assigned. Maybe it's not DAC1: for some reason.
- Look in HKLM\Drivers\Builtin\PCI\Instance and see if you can find an
instance that matches your device's vendor ID and device ID.
- Try using the debug version of PCIBUS and turning on some debug zones.
That will tell you if it's loading your device and whether the load attempt
is working.
Hope this helps,
Andrew Pearson
To reply directly, remove "online." from my email address.
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
| From: "J. Shu" <jshu@handshakeinteractive.com>
| Subject: driver for data acqusition board on PCI bus works in debug
kernel, but not in retail kernel
| Date: Sun, 27 Jul 2003 18:56:42 -0400
| Lines: 24
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
| X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
| Message-ID: <#w9CsHJVDHA.2004@TK2MSFTNGP10.phx.gbl>
| Newsgroups: microsoft.public.windowsce.platbuilder
| NNTP-Posting-Host: toronto-hse-ppp3708191.sympatico.ca 65.95.8.82
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.windowsce.platbuilder:36731
| X-Tomcat-NG: microsoft.public.windowsce.platbuilder
|
| Hi, I have successfully wrote and built a stream interface driver that
| interface with my data acq. board on the PCI of a CEPC. I have been doing
| all the work in debug version (the driver (dll) and the test program, and
| the OS). I was able to get everything working. Then I rebuilt the driver
in
| retail mode. And I also built the release version of the kernel. Then
when I
| run my test program, which subsequently tries to open my device using:
|
| CreateFile(TEXT("DAC1:"), GENERIC_READ|GENERIC_WRITE, 0, NULL,
| OPEN_EXISTING, 0, NULL);
|
| It failed. It gives me error code 55. I have attached the system monitor
| tool from eMVC, and I can see that DAC1 is one of the device on the
system.
| I also put in debug messages in the DAC_Init() of my dll, and I can see
that
| it gets called properly, and does all the IO and memory mapping properly.
| However, it seems like the problem is with CreateFile(), and somehow it
| thinks that the device does not exist on the system.
|
| Any help would be appreciated. Oh, btw, I'm relying on the PCIbus driver
to
| load my board. It worked perfectly in the debug version. Just when I
switch
| to retail version, it fails.
|
| Joseph
|
|
|