LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why do I get a blue screen when I use the NIDAQ driver.

I get IRQL_NOT_LESS_OR_EQUAL.
Address fc792324 has base at fc6f8000 Nidaq32.sys and Address fc7028e3 has base at fc6f8000 Nidaq32.sys.

The system is running on Windows NT 4.0. The application is built using Application Builder and LabView 5.1.1. The NIDAQ 6.9.0 is used.

Please help me.
0 Kudos
Message 1 of 9
(4,361 Views)
I forgot this info: I'm using NI PCI-6035E

My emailadress is ulf.wallvide@personalchemistry.com
0 Kudos
Message 2 of 9
(4,361 Views)
When does this occur? Is it at a particular time when the application is running or is it random? Do you have access to the code so that we'll know which VI causes this error? It sounds like either a problem with your card acquiring or some software may be configured incorrectly. Does this occur before it is built into an application? Let me know about these things and we'll see what we can find from there.
J.R. Allen
0 Kudos
Message 3 of 9
(4,361 Views)
uffe:

You seek...Yoda...Help you...I...will..

This is a kernel mode problem with your NIDAQ32.SYS driver. I believe
that you can pretty much rule out problems with LV5.1.1 or app
builder. Your problem

You have run into a classic BSOD message. It may not always occur so
it can be really frustrating to diagnose. There may be some
workarounds you can implement at the application level but it still
needs to be fixed at the kernel (O/S) level so you're going to need to
contact NI.

I've had this same problem error message in the past but not with DAQ
cards. As I recall, in one case there was a problem with a spinlock
in the SCSI driver (.sys) file which protected access to the hardware
I was using.

What is a spin lock? A spin lock is a special synchronization
construct used by device driver developers to protect access to
critical sections of their code usually for hardware access. It is
the kernel mode equivalent to a VISA resource lock or a semaphore in
LabVIEW.

For more on spin locks see:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/k101_97hu.asp

Work-around Possibility #1: Do you have two different parts of your
code trying to access the DAQ card simultaneously? If so, providing
your own VISA resource locks or semaphores at the application level
may cure the problem even if the kernel mode driver is failing to
protect access to the card like it should.

Even if this fixes the problem PLEASE report it to NI so that they can
fix it properly in the .sys file and let other users know that the
workaround I suggested works.

See:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/network/hh/network/103ndisx_7mk2.asp

Work-around Possibility #2: I don't know the details of setting up
your DAQ card so if this question doesn't make any sense don't worry
about it. Are you setting up the card with some empty array, zero
memory size, or empty string value or something? I had this problem
with a reflective memory card driver.

Sometimes this can screw up a driver that isn't checking for this sort
of thing with the result of it trying to reference a null ptr or
something. Again, even if you fix the problem by error checking the
values before you give them to the DAQ driver VI, make sure you tell
NI about it.

This explanation also jibes with what Microsoft has to say on
IRQL_NOT_LESS_OR_EQUAL. See:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/w2kmsgs/6077.asp

3) There may be other explanations for your problem but these are two
that I've run into personally. Try going to www.microsoft.com and
doing a search on IRQL_NOT_LESS_OR_EQUAL if my two possibilities
aren't the cause of your problem.

4) Make sure you have the latest driver from NI for the NIDAQ. NI may
have already fixed your problem in a later version of the NIDAQ
driver.

5) Also I would recommend making sure that you have the latest service
pack (SP6A) installed or that you go ahead and upgrade to Win2000. As
I recall when I had my one of my driver problems it was with an
earlier SP release and upgrading SP's helped.

6) If none of these suggestions help, you need to call NI help line
(800-IEE-E488) and report this to see if they know about it so that
they can give you a work around and see if they can recreate the
problem and then fix it.


Doug De Clue
LabVIEW developer
ddeclue@bellsouth.net


uffe wrote in message news:<5065000000080000001B550000-1027480788000@exchange.ni.com>...
> I get IRQL_NOT_LESS_OR_EQUAL.
> Address fc792324 has base at fc6f8000 Nidaq32.sys and Address fc7028e3
> has base at fc6f8000 Nidaq32.sys.
>
> The system is running on Windows NT 4.0. The application is built
> using Application Builder and LabView 5.1.1. The NIDAQ 6.9.0 is used.
>
> Please help me.
Message 4 of 9
(4,361 Views)
Thank you for your answers.

The problem is intermittent so it sometimes pops "randomly" during the
datacollection. I can't force and reproduce the problem.

Regarding Work-around Possibility #1: I have two different processes (one Java and one LabView) who accesses the digital IO on the NIDAQ card. The java process use digital IO port 3, 4 and 5 and LabView uses the rest of the ports. The javaprocess configures the their ports (3,4,5) every time they are read/written. The blue screen does not appear when the javaprocess read/writes the IO ports but during Analog Input sampling in the LabView process. The digital IO ports are not accessed by the two processes at the same time. There are several seconds in between.

May the cause to the blue screen be
that the configuration is done by separate processes? Do I have to rewrite the software so the LabView process has the single access and the javaprocess orders the LabView process to read/write the ports?

Thanks.

/Uffe
0 Kudos
Message 5 of 9
(4,361 Views)
Yes. As I said in my email, you need to try just letting one program
control the device. You are getting collisions between your Java
program and your LV program that aren't being protected against
properly by the driver file. (DAQ32.SYS) This is most likely due to
incorrect implementation of a spin lock as I discussed. I bet if you
do this and let the program run for a couple days you won't see the
problem pop up again.

Please let NI know about your problem so that they can recreate it and
fix it.

Douglas De Clue
LabVIEW developer
ddeclue@bellsouth.net




uffeW wrote in message news:<50650000000500000015920000-1027480788000@exchange.ni.com>...
> Thank you for your answers.
>
> The problem is intermittent so it sometimes
pops "randomly" during the
> datacollection. I can't force and reproduce the problem.
>
> Regarding Work-around Possibility #1: I have two different processes
> (one Java and one LabView) who accesses the digital IO on the NIDAQ
> card. The java process use digital IO port 3, 4 and 5 and LabView uses
> the rest of the ports. The javaprocess configures the their ports
> (3,4,5) every time they are read/written. The blue screen does not
> appear when the javaprocess read/writes the IO ports but during Analog
> Input sampling in the LabView process. The digital IO ports are not
> accessed by the two processes at the same time. There are several
> seconds in between.
>
> May the cause to the blue screen be that the configuration is done by
> separate processes? Do I have to rewrite the software so the LabView
> process has the single access and the javaprocess orders the LabView
> process to read/write the ports?
>
> Thanks.
>
> /Uffe
0 Kudos
Message 6 of 9
(4,361 Views)
Ok. Thanks again. I'll do the implementation.
0 Kudos
Message 7 of 9
(4,363 Views)
I have a similar problem I'm running into. My application runs with two 6052 (Analog Input cards) and uses an FFT function. It gives me blue screen at random, when the application is running. It gives a memory dump of: Stop 0x0000000A (0x01D9091C, 0x00000002, 0x00000001, 0x80129725) IRQL_NOT_LESS_OR_EQUAL Address 80129725 has a base at 80100000 - ntoskrnl.exe


Any help and guidance will be appreciated.
0 Kudos
Message 8 of 9
(4,361 Views)
Hello Uffew,

I have been working with an NI customer whom solved this issue with a BIOS update. His was also due to the installation of NI-DAQ which caused a blue screen. This error is somewhat general and I have also seen a similar problem with a customer who had faulty RAM!

Anyway I have looked at NI's Driver/Hardware DAQ cheat sheet and it details the fact that NI-DAQ 6.6 is the only driver to be supported for this card on NT 4.0 running LV 5.1. The Driver you have installed should only really be used for LV 5.1.2 so you may see some incompatibility issues. This doesn't mean the driver will not work totally as you have probably noticed.

I would therefore advise you to use NI-DAQ 6.6 to see if this resolves the issue.

Hope this helps.

Kind regards

Steven Bird
Applications Engineer
National Instruments
0 Kudos
Message 9 of 9
(4,311 Views)