Error code 39 while installing driver

Hello everyone,

it’s been days now trying to fix the installation issue by myself, trying almost every possible repair I’ve come across. I hope there’s someone around that can help me out.

I am unexperienced in these kind of fixes. This long text is an explanation of what I’ve done to isolate and solve the problem. It may help the ones among you who hopefully know better.

That being said, here come the facts: when installing the driver (from the device Manager) I get the error code 39 about corrupted or missing drivers. So the yellow triangle with exclamation mark beside Arduino Uno won’t disappear and the “Port”-Option in the Tools menu in IDE remains grey.

My OS is Windows Vista 64bits and the board is Arduino UNO. I’ve tested cable and board on another Windows 7 computer and the installation worked. So hardware should be ok.

I’ve tried various combinations of uninstalling drivers, the whole program, restarting, installing …

My setupapi.app Log (see attachment) complains about quite a few things.

  1. Regarding the following critical remarks throughout the log

! sig: Verifying file against specific (valid) catalog failed! (0x800b0109)
! sig: Verifying file against specific (valid) catalog failed! (0x00000057)
! sig: Verifying file against specific Authenticode™ catalog failed! (0x80092003)

I checked the validity of the digital signatures of the Arduino catalogues → they’re all valid

  1. Regarding

! inf: Detected INFCACHE inconsistency
!!! inf: Error searching published INFs - likely system corruption!

I tried a system file check. The unnormal results (see sfcdetails.txt attached) detect a corrupted settings.ini file. Although Windows support says one can “safely ignore it”, I pass the information on in case it’s relevant.

I looked into the setupapi.dev log (that one is also attached) and

!!! dvi: Device not started: Device has problem: 0x27: CM_PROB_DRIVER_FAILED_LOAD.

may heve relation with usbser.sys driver, which is added a couple of lines before.

I had a look into Code Integrity in the Computer Management and in the operational protocol I found a series of warnings (ID 3010) about an unsigned kernelmodule …\usbser.sys was loaded and that some “oemXX.CAT-Katalog” (XX=44, 45, 48) signed by Arduino and Adafruit couldn’t be loaded. An error with Event ID 3004 stated that Windows was unable to verify the image integrity of …\drivers\usbser.sys because file hash could not be found on the system.

From the log it seemed to me that usbser.sys was copied from …\FileRepository\mdmcpq.inf_ec18f765 into the Arduino driver-folder. Copying it manually didn’t help. The barriers to substitute a newly downloaded usbser.sys into the File Repository were so high, I didn’t manage to do it and estimated it wise not to mess around with something I don’t really understand.

An installation with a disabled driver signature verification was my last shot before deciding to post here…

If you need me to run some other check or rerun some of the ones I did to confirm any suspicion, I will do it.

I’m thankful for any help you can give me,
Eduard

setupapi.app.txt (7.43 KB)

setupapi.dev.txt (22.7 KB)

sfcdetails.txt (6.23 KB)

Replacing usbser.sys should not be that hard. Yes I have done it on XP with Arduino issues and on win 7 a long time ago.

My problems were related to the Adafruit version.
I always have “driver enforecement” OFF for Arduino drivers.
Are you a USER of that machine or an FULL ADMINISTRATOR ?
Did you run SFC from a command prompt after a safe boot to command prompt as that is the best way ?

If it were me I would first uninstall Arduino related items and do a major clean up before starting again.

Attaching some help info for that aspect.

Start by running SFC from the start up command prompt by using F8
Let it do its thing.

Re-boot when its done.

Do the major clean up.

Optional but often worth doing is a full security sweep using online tools and a few others (ask me if you need the steps)

Reboot when you are done.

Search “enable hidden administrator account” and enable

Then from a fresh copy of the IDE (you did not mention which version) I would start the install with driver enforcement OFF and any additional security such as antivirus OFF running it as a FULL administrator.

It may look like there is a lot to do there but I like to start from a known baseline.

CLEAN UP BEFORE INSTALLING ANOTHER COPY OF THE IDE OR ARDUINO CREATE.pdf (345 KB)

Thanks you very much for the advices. I will work myself through the list.

The affected computer is my own. I just checked under the User Accounts in the control panel that I am "Administrator". For the SFC I ran the command prompt as an adminm (right click -> run as admin), but the computer wasn't in safe mode. What I find under "enable hidden admin account" seems to go further, I'll stick to that.

Could you share the online tools do you reccomend for the cleanup?

Versions... I have tried 1.8.5, 1.0.6, 1.0.5 r2. Is there one you would try out first or discourage me from using in this situation?

Added attachment I forgot earlier to my other post.

1.6.5 r5 is great and 1.8.4 upwards seem to have had very few issues.

I repeated the process with all the steps (pdf contributed to clarify) but unfortunately the result is the same as before. Where else do you suppose could the source of the problem lie?

Thank you

Maybe a few more details from you about what security you have installed etc and is your system as far up to date as possible seeing as VISTA died a long time ago.

This issue is more specific to VISTA and might not be an actual Arduino issue.

As a possible fix you could disconnect as many USB items as possible and then in device manager delete the USB root hubs including driver if it offers that option.
Then a restart and wait for it to pick up what it needs for drivers.

While not specific to your device this may be worth exploring.

The usbser.sys error in the management is now just a warning thanks to the disabled driver signature verification. But the error 39 when installing drivers persist (despite copying usbser.sys directly into the Arduino folder) with my antivirus deactivated.

The error may be related to amd64 drivers. The installer takes a long time to work itself through that task and the sfc reports activity during the verification of those files. Scanning in safe mode, as you advised, at least doesn't end in "problem couldn't be solved".

I ran CCleaner and Wise Registry Cleaner in the Advanced mode after uninstalling.

There are so many things I have done, that I couldn't remenber them all. One of them are the two you advise (deleting infcache and as many devices as possible in the device manager). I had tried them already.

Every try makes it clearer that it is a very specific and time-consuming problem in my computer.

Yes, Vista died long ago... maybe this episode is the last hint I needed to bury it.

If the few new things make you think of another possible try I could do, I would thank you. If not, I very much appreciate your help and time and would invest in a long-term solution.

The USBSER.SYS file does not go in the Arduino folder and I think that is where you are going wrong.

There was one more method (again time consuming)...

Not mine but it is an old fix that did work once upon a time.
It assumes you know how to create a .BAT file (batch file)

Here is the link.

The last method is aimed at win 7 but should be fine also on VISTA.

Link for that one is here but it is a little more time consuming and you do need to take care following the instructions to the letter!

Excuse me for the long absence.

I have finaly overcome some more difficulties to make a clean install of Windows 7, farewell Vista.

In the process a had more hassle with other drivers, so I think this issue here was caused by (at least for me) irrepairable drivers. The last advice of creating a bat file was beyond my scope and since succes was at least doubtful, I took this radical step.

Getting Arduino IDE to run with the new OS was a matter of 5 minutes.

Thank you ballscrewbob for your help.