Author Topic: Issue getting the DigiSpark USB driver to be recognized  (Read 30723 times)

Jeff

  • Newbie
  • *
  • Posts: 5
Issue getting the DigiSpark USB driver to be recognized
« on: August 15, 2014, 10:40:46 pm »
Hello,

I purchased three DigiSparks from the original KickStarter campaign.  I'm not sure which rev they are, but if needed, I can look into it.  When I first got my DigiSparks, they worked fine and my system recognized them.  I haven't done much with them for a while, and yesterday I downloaded and installed the latest DigiSpark USB drivers and IDE.

I've installed the latest drivers, and all seems fine (no errors), and when I plug my DigiSpark into my computer (directly, not using a cable), the DigiSparks are powered, and the light on them blinks, but I'm not able to program them.  Here's a list of my environment and some of the things I've tried.

* My machine is a Dell XPS15, running 64-bit Windows 7 Pro SP1
* I downloaded DigisparkArduino-Win32-1.0.4-May19.zip
* I've installed DigisparkWindowsDriver, seemed to install fine, didn't get any errors
* I'm running the Digispark-Arduino-1.0.4 version of the IDE
* I open the DigiSpark > Start example
* When I compile and upload, the DigiSpark is unplugged, when the IDE tells me to plug the DigiSpark in, I do, but the IDE never recognizes it.
* Tools > Board is set to DigiSpark (TinyCore)
* Tools > Serial Port is disabled
* Tools > Programmer is set to DigiSpark
* I've re-installed the driver - it always seems to install fine.
* I've restarted my system, still never gets recognized
* I've read through the Getting Started guide (http://digistump.com/wiki/digispark), the "First Steps" guide (http://digistump.com/wiki/digispark/tutorials/connecting) and the Troubleshooting section, but none of the tips have worked.
* In the troubleshooting guide, it suggest opening the Device Manager and find a "Human Interface Devices” category.  My Device Manager (Windows 7 Pro SP1) doesn't have a "Human Interface Devices" category, but it does have a "Universal Serial Bus controller" section.
* Within my "Universal Serial Bus" section are 9 items.  (I also have View > Show hidden devices checked).  None of USB items are named DigiSpark.
* Removing, as well as inserting my DigiSpark into my computer, does not change the number of items which appear in the list.  (because of this, I suspect the drivers aren't correctly installed)
* The trouble shooting guide suggests locating a USB Input Device in the "Human Interface Devices" section with a vendor ID of 0x16C0.  As I mentioned, I don't have a "Human Interface Devices" section in my Device Manager, but I do have a "Universal Serial Bus controller" section.  Going through the items in this section, looking at the various properties, I don't see "vendor ID" listed anywhere on any of the 9 items listed.
* I have three DigiSparks I purchased off the original KickStarter campaign, and I have two USB ports on my machine.  I've tried different DigiSparks in the different USB ports, and the results are the same - the DigiSparks are able to power up, and their light blinks, but the IDE never recognizes them (and I am plugging them in AFTER the  I compile and the IDE tells me to plug them in).

Well, phew.  That's about it.  Any suggestions as to what to do?

Thanks,

Jeff

dougal

  • Sr. Member
  • ****
  • Posts: 289
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #1 on: August 18, 2014, 01:33:03 pm »
First of all, thanks for the details of what you've tried so far. It helps a lot to know what steps you've already tried, so we don't waste time going over anything obvious.

You say they worked previously. Did anything else about your system change since then, other than updating the USB drivers and IDE?

Do you have a USB extension cable or hub that you can try? A lot of people have better luck using a USB hub than when they plug directly into their computer's built-in ports. Of course, since it worked before, I assume you're doing the same thing now as you did before. But still, if port's data lines are a little short on the short side (which seems to be the case for some newer computers, especially), then it can sometimes be hit-or-miss on making good contact.

I'm not a Windows user, so I can't offer any suggestions on what else you could look at on the OS side. But I'm sure others can.

digistump

  • Administrator
  • Hero Member
  • *****
  • Posts: 1465
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #2 on: August 19, 2014, 12:04:40 am »
Jeff -

When you are in device manager does the whole list refresh when you plug in a Digispark? - it kind of looks like it rolls up and then back down on my Win7 machine. And does the computer make any sounds when you plug it in (with speakers on of course)?

If not - then you might want to try a extension cable or hub as it sounds like the two center pins are not making contact with the USB port - also wiggling it a bit might help. Even if the driver was installed wrong it should show up (for only 5 seconds) as something on the Device Manager even if it is an Unknown Device

gogol

  • Sr. Member
  • ****
  • Posts: 398
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #3 on: August 19, 2014, 12:05:24 am »
Go to the Device-manager: There must be a section called "libusb-win32 Usb Devices", below that there must be an entry called "Digispark Bootloader".
Delete that entry (or all entries, when the Digispark was connected to many USB ports) while no Digispark is connected to your computer.
Go to c:\windows\inf and rename the file setupapi.dev.log to e.g. setupapi.dev.log-2014-08-19 or delete it
Now plugin the Digispark
Open up the new created file c:\windows\inf\setupapi.dev.log. You should see, what Windows did, when detecting the device. Under normal conditions, you should see something like that:
Code: [Select]
>>>  [Device Install (Hardware initiated) - USB\VID_16D0&PID_0753\7&1640667&0&2]
>>>  Section start 2014/08/19 08:45:02.415
     ump: Creating Install Process: DrvInst.exe 08:45:02.420
     ndv: Retrieving device info...
     ndv: Setting device parameters...
     ndv: Searching Driver Store and Device Path...
     dvi: {Build Driver List} 08:45:02.558
     dvi:      Searching for hardware ID(s):
     dvi:           usb\vid_16d0&pid_0753&rev_0106
     dvi:           usb\vid_16d0&pid_0753
     dvi:      Searching for compatible ID(s):
     dvi:           usb\class_00&subclass_00&prot_00
     dvi:           usb\class_00&subclass_00
     dvi:           usb\class_00
     cpy:      Policy is set to make all digital signatures equal.
     dvi:      Enumerating INFs from path list 'C:\Windows\inf'
     inf:      Opened PNF: 'C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\digispark_bootloader.inf' ([strings])
     sig:      {_VERIFY_FILE_SIGNATURE} 08:45:02.615
     sig:           Key      = digispark_bootloader.inf
     sig:           FilePath = C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\digispark_bootloader.inf
     sig:           Catalog  = C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\Digispark_Bootloader.cat
!    sig:           Verifying file against specific (valid) catalog failed! (0x800b0109)
!    sig:           Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
     sig:      {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 08:45:02.695
     sig:      {_VERIFY_FILE_SIGNATURE} 08:45:02.696
     sig:           Key      = digispark_bootloader.inf
     sig:           FilePath = C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\digispark_bootloader.inf
     sig:           Catalog  = C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\Digispark_Bootloader.cat
     sig:           Success: File is signed in Authenticode(tm) catalog.
     sig:           Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher.
     sig:      {_VERIFY_FILE_SIGNATURE exit(0xe0000241)} 08:45:02.703
     dvi:      Created Driver Node:
     dvi:           HardwareID   - USB\VID_16D0&PID_0753
     dvi:           InfName      - C:\Windows\System32\DriverStore\FileRepository\digispark_bootloader.inf_amd64_neutral_834420d1c4dd8250\digispark_bootloader.inf
     dvi:           DevDesc      - Digispark Bootloader
     dvi:           DrvDesc      - Digispark Bootloader
     dvi:           Provider     - libusb-win32
     dvi:           Mfg          - Digistump
     dvi:           ModelsSec    - Devices.NTAMD64
     dvi:           InstallSec   - LIBUSB_WIN32_DEV.NTAMD64
     dvi:           ActualSec    - LIBUSB_WIN32_DEV.NTAMD64
     dvi:           Rank         - 0x00ff0001
     dvi:           Signer       - libusb-win32 (Digispark_Bootloader.inf) [Self]
     dvi:           Signer Score - Authenticode
     dvi:           DrvDate      - 01/17/2012
     dvi:           Version      - 1.2.6.0
.....lines deleted.....
     ndv:      Device install status=0x00000000
     ndv:      Performing device install final cleanup...
     ndv: {Core Device Install - exit(0x00000000)} 08:45:04.107
     ump: Server install process exited with code 0x00000000 08:45:04.112
<<<  Section end 2014/08/19 08:45:04.117
<<<  [Exit status: SUCCESS]

It is important, that you identify the right session with the Digisparks VID/PID
[Device Install (Hardware initiated) - USB\VID_16D0&PID_0753\7&1640667&0&2]
and that the last line of the block states success:
<<<  [Exit status: SUCCESS]

And finally, just to remember: The Digispark needs to be disconnected before programming and should first plugged in, when micronucleus is asking for it.

Jeff

  • Newbie
  • *
  • Posts: 5
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #4 on: August 20, 2014, 09:52:00 pm »
Well I don't believe it.  It's now working, and I haven't done anything extra.  I did restart my machine (due to a Patch Tuesday update), but as part of my troubleshooting efforts I had already restarted my machine.

I'll see how it goes.  If I run into any other issues I'll try the steps everyone suggested.

Honestly... I already tried rebooting... and re-installing the drivers... and... REALLY!.. I'm not making this up!

UG!

Thanks everyone!

Jeff

thompsms

  • Newbie
  • *
  • Posts: 1
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #5 on: January 14, 2016, 05:38:35 am »
DON’T WORRY!

The COM port can disappear if you use the wrong board or processor selection in the Arduino IDE and then upload a sketch, thereby corrupting things..
You get a “USB Device not found message” from windows.
The Port menu item in the IDE is then greyed out, because no port is showing any more.
I found that I had used the right board (Pro-Micro), but the wrong processor selected (I had the 3.3v 8MHz, showing, instead of the 5v 16Mhz). This crashed the USB port on the device, so hence the Windows error message in Device Manager.

Easy to fix, thank God.

Reset the Pro-Micro by shorting RST/GND pins. Do it a couple of times in quick succession. These pins are adjacent on my Pro-Micro, so it is easy to do by shorting them with a screwdriver or something.
Select the proper board and processor. Then try re-uploading a sketch.
Reset the Pro-Micro again while the sketch is compiling and before it uploads.
All will be well and the sketch will now compile/upload and a port will show properly on the computer and in the Arduino IDE.

Pinus

  • Newbie
  • *
  • Posts: 35
Re: Issue getting the DigiSpark USB driver to be recognized
« Reply #6 on: January 14, 2016, 06:21:04 am »
All great, except for this is the Digispark forum, and Digispark, which uses an Attiny85 processor, doesn't have any reset buttons...  :)