From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

BSOD 0xD1 on Windows 8.1 when using Asynchronous VISA and USB to Serial Adapter

I was consistently getting a BSOD with the code 0xd1, on usbser.sys, on windows 8.1. I am running LabVIEW 2013 SP1. The bluescreen only occurs on Windows 8.1 and everything functions fine on 7 and XP. 

 

 The "USB to Serial Adapter" is actually a microcontroller, not a physical USB to Serial adapter. The microcontroller's usb driver is just an INF to point to the generic Windows USB to Serial drivers. 

 

The BSOD occurs after several minutes of my software running, while it is polling the controller every second. After changing the communications mode in my software to synchronous on every VISA write and read call, the BSODs stopped occurring and the program has been running stable for several hours now on Windows 8.1.

 

This BSOD seems to be the result of a strange interaction between the hardware, VISA and the Windows 8.1 USB to Serial drivers. Sending lots of traffic through a terminal emulator does not produce a similar BSOD.

 

Has anyone ever seen anything like this? If so did you discover an explanation or any clues to fixing it more permanently than always using synchronous communication?

0 Kudos
Message 1 of 2
(3,006 Views)

Some notes to help anyone else who gets this problem in the future:

 

-I was able to replicate it today on Windows 7 also, though it took a more extreme situation(a VI  looping asynchronous reads and writes as fast as possible for several minutes). The result was the same 0xD1 BSOD. 

 

-I found a Microsoft support article documenting that the crash is from a race condition in usbser.sys and providing a fix: https://support.microsoft.com/en-us/kb/2964073 . Sadly the fix is only for Windows 7, but I was able to confirm that after installing it, BSODs no longer occur from VISAs asynchronous read. 

 

 

Message 2 of 2
(2,911 Views)