Mega2560 BlueScreen

Hi, I used the Mega-controllers before for some times and they work very well. Driver installation was no problem. Now I use a Mega2560 controller and I have a problem with one PC. I installed the driver which is also very easy. The COM port is installed and everything works fine. If I want to shut down the pc I get a bluescreen with informations about a usb-driver failure. This happens each time. When I disconnect the controller the pc shuts down in it's normal way.

I use a windows 7/32bit OS.

Maybe some others had such problems. I will be very glad for some ideas.

Best regards, Juergen

Weird. The Mega 2560 actually uses a driver that comes with Windows. The driver installation process just involves pointing Windows at the .inf file that describes the Arduino Mega and convincing it to use its existing driver for it. So I don't know what would cause such a problem. Maybe another program is trying to do something with the serial port (e.g. PDA sync application or bluetooth application or security software).

I can diagnose your problem if you send me the dump inside c:\windows\minidump\ (the one with the bsod timestamp)

HI, It took some time, but now I have to solve the problem. I tried it on 3 pc's with Windows 7/32 bit and every time with the same result. I tried to pull of all the other hardware and the result is, if I put a PCI device (controller for a ccd camera) in a slot and install it, the problem occurs. If I pull it out everything is ok. But the failure is every time in the USB driver. I took the following informations on the dumpfile with "WhoCrashed":

System Information (local)

computer name: SI-WS008 windows version: Windows 7 , 6.1, build: 7600 windows dir: C:\Windows CPU: AuthenticAMD AMD Phenom(tm) II X6 1055T Processor AMD586, level: 16 6 logical processors, active mask: 63 RAM: 3486613504 total VM: 2147352576, free: 1987022848

On Wed 09.03.2011 11:30:40 GMT your computer crashed crash dump file: C:\Windows\Minidump\030911-20280-01.dmp This was probably caused by the following module: usbport.sys (USBPORT+0x410C) Bugcheck code: 0xFE (0x4, 0xFFFFFFFF86F16BD0, 0xFFFFFFFF875D6364, 0xFFFFFFFF875D7428) Error: BUGCODE_USB_DRIVER file path: C:\Windows\system32\drivers\usbport.sys product: Betriebssystem Microsoft® Windows® company: Microsoft Corporation description: USB 1.1 & 2.0-Porttreiber Bug check description: This indicates that an error has occurred in a Universal Serial Bus (USB) driver. The crash took place in a standard Microsoft module. Your system configuration may be incorrect. Possibly this problem is caused by another driver on your system which cannot be identified at this time.

The bugcheck-code 0xfe with paramter 1 value = 4 says: The caller has submitted an IRP that is already pending in the USB bus driver. If I understand it right the caller is the USB device (controller) and it sends the same package twice.

The blue screen only appears when I shutdown the computer. In all the other cases the controller runs. So what happens when windows shuts down?

Juergen

I suspect your problem is the same thing I have recently battled with, and finally won. Check the FDTI driver versions, from within the device driver, if it is older than 2.08.02 August 2010. Bingo. Basically the release notes for this state a lot of fixes for BSOD of various kinds. I now see “Re: Windows XP crashes” http://arduino.cc/forum/index.php/topic,52900.0.html

I first noticed the problem in early February, on my Arduino projects. I would get BSOD when would attempt to upload a new image to an attached Arduino. Where I would suddenly get a BSOD, and when changing the BSOD mode to not reboot it showed it was the ftdi sys files. A look at the mini dump basically said the same thing. I soon found it was happening on 5 other machines both at home and work. And also found it was not contained to Arduino, but any app that connected to a FTDI USB/Serial Port, would BSOD.

It appears this was a known issue and FDTI fixed it, in 2.08.02. The real problem is that I have been using FTDI for a long time, so all my machines had various older drivers. And it appears that the MS updates in mid Feb, really did not like whatever FTDI was doing prior and since fixed.

I would have thought installing the newest driver would have helped. But something in windows was changing the date of the driver files. So each install resulted in "Already Up To Date", which was clearly wrong from the device manager. I resorted to "HAVE OTHER DISK" method allowing me to force over the driver and the BSOD was solved, by using 2.08.02 or newer. But I then found that each new connection of different Arduino, installed the old driver. Windows cached the old driver. To avoid it the required the cumbersome HAVE DISK method for each install of hardware. Unfortunately, FDTI’s “CDM Uninstaller” does not remove the older cached drivers, either. Fortunately, the afflicted machines still had “FTDIUNIN.exe”, now obsolete by “CDM Uninstaller”. Using “FTDIUNIN.exe” was successful in properly removing the 2002 and 2008 versions of the drivers. Where windows auto install then properly discover the WHQL 2.08.02 over the network connection, for each install.

The problem here is that any windows machine with FTDI drivers prior to 2.08.08, need to use the “FTDIUNIN.exe” and not the currently advertised “CDM Uninstaller”. I also see the current Arduino-0022.zip has the FTDI 2.0.0.1 2006 driver which has these problems. This should really be updated. However, this may not be noticed, assuming the machine was connected the internet, as a virgin machine it would remotely get the WHQL 2.08.02 version. However, it was not connected the installer would resort to using the obsolete 2.0.0.1 driver located in .\arduino\drivers\FTDI USB Drivers.

Hope this helps.

Thank you for your answer, but I have problems with the Mega2560 which uses the usbport.sys driver from Microsoft. I searched the web and found that so many people have problems with this driver for different hardware. With the older Mega controller I never had such problems. At the moment I have to use COM-Port 3 of the controller with a MAX232, a serial cable and a usb/serial adapter to fix this problem. The adapter has an FTDI chip and it works perfect. Sometimes I have up to 5 Mega controllers with different daughter-boards on it and for this I have to use each time the combination with the USB/serial adapter. You can imagine that I'm not very satisfied with that.

Best regards, Juergen

Hi again, Is there any person outside who is familiar with the Atmel usb-serial firmware which is used on a Mega 2560? I need to know what the controller will do when a signal or command from a pc is comming that disconnects the controller? I checked it with several other hardware and my problem is still there also with standard network devices. If such a combination is build in the pc the system crashes during the shutdown procedure.

Juergen

I've connected device based on genuine Arduino Leonardo to an old PC (Athlon XII 250, Win 7 Ultimate, ASUS M3A78-EM motherboard). The device has no any significant power consuming loads connected (it is actually K3NG rotator controller https://github.com/k3ng/k3ng_rotator_controller/wiki). And when I try to reboot the PC, I get the BUGCODE_USB_DRIVER BSOD. The problem is that the PC is 70 km away and I cannot go there to quickly recover the stuck system manually. The drivers are taken from the latest Arduino IDE. Now I know that in order to reboot I have to disable the Composite USB device with VID 2341 in Device Manager, then rebooting goes fine. But this is very inconvenient. Any ideas how to fix this BSOD?

Th BSOD with Arduinos was caused by an over written USBSER.SYS I do believe it was an adafruit version.

The fix was to revert it to the MS version from the install CD. In some cases the ROLLBACK DRIVER option would also fix it but if there had been more than one instance of attempting to install drivers that might not always work.

Another source of the issue was also found by using one of those crappy "let me find your updated drivers" type program that did not do its job and installed corrupted versions.

Just a couple of things further for you to check against.

ballscrewbob:
Th BSOD with Arduinos was caused by an over written USBSER.SYS I do believe it was an adafruit version.

Now I recall I have replaced usbser.sys on this old PC long long ago. I don’t even remember what was the reason to replace it. So, will try to revert it back to original one.
Thank you for advice.