Help for Windows BSOD and mouse driver errors with ESP32 boards with USB

MartyMacGyver
Posts: 56
Joined: Sun Dec 18, 2016 9:17 pm

Help for Windows BSOD and mouse driver errors with ESP32 boards with USB

Postby MartyMacGyver » Mon Dec 19, 2016 12:12 am

I wrote a long post about this general problem:

http://www.falatic.com/index.php/172/us ... -solutions

In short, if you get a Windows BSOD 0x10D when you connect to the ESP32 and reset it, and if you see an odd new serial mouse sometimes appearing in the device manager when you plug it in and reset it, it may be due to a problem with the third-part serial port drivers for the CP2102 USB-UART bridge used by many common dev boards including this one.

Note: Weird mouse behavior with the board connected and transmitting very specific data might also be a symptom but I hit the BSOD long before that could happen.

The default Windows drivers for the CP210x USB-UART bridge on many dev boards allows "serial enumeration" - if the port reads real or spurious data that includes "M" (0x4D) when it connects, it will think there's a mouse attached and will try to install a mouse driver (which can partially succeed). After that, the COM data gets filtered through the subsystem that handles mouse data as well, and as that appears to be fragile, unexpected data can cause the driver to crash the Windows kernel.

My preferred solution: get the latest NON-enumerating VCP Windows driver for this USB interface directly from Silicon Labs:

http://www.silabs.com/products/mcu/page ... px#windows

Install, reboot, and your board shouldn't be mis-detected as a mouse next time.

My blog post has some other workaround on this but unless you have an odd situation requiring the enumerating driver for this port, this fix should help.

Who is online

Users browsing this forum: kevlar and 85 guests