Monday, June 23, 2014

USB 3.0: How to fix BSOD 7B; how to check speed; how to track changes.

When we install USB3.0 driver using setup.exe, it installs following drivers:

1) Intel® USB 3.0 eXtensible Host Controller Driver | iusb3xhc.sys
2) Intel® USB 3.0 Root Hub Driver | iusb3hub.sys
3) Intel® USB 3.0 Host Controller Switch Driver | iusb3hcs.sys
4) Intel® USB 3.0 Monitor | iusb3mon.exe

“Intel® USB 3.0 Host Controller Switch Driver (iusb3hcs.sys) is not even getting installed/loaded when we boot to DomU. The main function of this driver is to detect Super Speed USB Devices and attach that device to Intel USB 3.0 xHCI Controller. When we attach a USB Device - which is Super Speed [USB 3.0] Capable - then this HCS Driver will route/attach the Device to Intel USB 3.0 extensible Host Controller. Since this driver is not getting loaded/installed in DomU, so a USB3.0 device is not getting switched to USB3.0 (xhci) controller and it only works in USB2.0 mode – see snapshot below




If a BSOD is related to USB then most likely it is being caused by Intel® USB 3.0 Host Controller Switch Driver. 

Iusb3hcs.sys is a LowerFilter WDF Driver and this driver starts at Windows boot time. This driver is installed on a PCI Bus (see below).  So now, when we install/uninstall the driver using setup.exe, it is able to install/uninstall #1, #2 and #4 (from below) successfully, but could not complete all the install/uninstall cleanup tasks for #3 (which is a critical ACPI Boot Extender Driver- see snapshot below) and hence windows is throwing a BSOD.





To fix the BSOD:
Option:
Install the drivers manually and do not install Intel® USB 3.0 Host Controller Switch Driver (iusb3hcs.sys) driver. Use device manager to manually install the other 3 drivers.
Option#2: Manually remove iusb3hcs.sys start entry from register. Connect your HDD as external disk and load the registry hive from C:\windows\system32\config and make changes
Option#3: Restore to a previous windows restore point.


How to check USB 3.0 Speed and make sure USB3.0 is actually connecting to correct hub/driver.

Use following tools/procedures:

http://usb3speed.nirsoft.net/
http://www.intel.com/support/chipsets/usb3/sb/CS-033074.htm
http://www.passmark.com/products/usb3test.htm



How to find what is getting changed on a system after installing/uninstalling a driver or application.
Use Following Tools:

http://www.howtogeek.com/128893/how-can-i-track-the-modifications-a-programs-installer-makes/
http://superuser.com/questions/457860/how-can-i-find-out-what-modifications-a-program-s-installer-makes
http://superuser.com/questions/607951/installing-an-application-in-a-sandbox-to-detect-windows-registry-manipulation


Cccleanner

1 comment:

Anonymous said...

I am so happy I found your page! Have been pulling my hair out over this for weeks.

One question though. Can't seem to get iusb3mon.exe installed. How did you go about this?

Thanks!