On Sun, Aug 6, 2017 at 11:50 AM, <tu...@posteo.de> wrote: > When I plug in such a little board into my PC, demesg > reports: > [ 1429.834140] usb 7-4: new low-speed USB device number 15 using ohci-pci > [ 1429.965142] usb 7-4: device descriptor read/64, error -62 > [ 1430.203151] usb 7-4: device descriptor read/64, error -62 > [ 1430.438161] usb 7-4: new low-speed USB device number 16 using ohci-pci > [ 1430.569151] usb 7-4: device descriptor read/64, error -62 > [ 1430.803174] usb 7-4: device descriptor read/64, error -62 > [ 1431.038184] usb 7-4: new low-speed USB device number 17 using ohci-pci > [ 1431.456157] usb 7-4: device not accepting address 17, error -62 > [ 1431.582204] usb 7-4: new low-speed USB device number 18 using ohci-pci > [ 1432.000209] usb 7-4: device not accepting address 18, error -62 > [ 1432.000244] usb usb7-port4: unable to enumerate USB device >
> > My first thought was: The micronucleus bootloaed is missing or > is defective... > > But plugging in the board into my Android tablet (the tablet runs > Lollipop and is nothing special at all beside being rooted) via > an OTG cable and using lsusb after that, it shows > Bus 001 Device 003 ID 16d0:0753 MCS Digistump DigiSpark > What the dmesg output is saying is that your USB hardware has reported a communication error to the driver. It is my guess that the ATtiny85 is not meeting the timing requirements for USB. Looking at the board there does not seem to be a crystal oscillator which most people would consider necessary for doing USB communication. This is an oversight on DigiStump's part and it is very likely you will not be able to fix the communication issues. You should contact them and tell them that your computer will not recognize their device and that you suspect it is because the clock is too inaccurate. > > What can I do to make this Digispark being correctly recognized? > > Thank you VERY much for any help in advance! > Three things: 1) Return the one you bought and get a new one. The ATtiny85's internal oscillator might be at the end of the bell curve but within manufacturer tolerance, which isn't enough to produce a USB signal close enough to the specified frequency. Expect the seller to pay for return shipping. 2) You can calibrate the oscillator using instructions in this application note: http://www.atmel.com/Images/Atmel-2555-Internal-RC-Oscillator-Calibration-for-tinyAVR-and-megaAVR-Devices_ApplicationNote_AVR053.pdf. This process still might not get you close enough. 3) Add a crystal oscillator to the ATtiny85 and change its fuses to use the oscillator. You will need to recompile the firmware if the crystal is a different frequency from the internal oscillator. It might work on your phone and not your desktop because of differences in the USB hardware (your phone's serial decoder in the USB hardware performs clock recovery but your PC does not) or because there are multiple things on a USB hub in your PC and the ATtiny85 is less accurate than those already present devices. Admittedly I'm surprised it gets most of the way to registering as a device and then fails, but I don't think the problem is with the drivers or your kernel. It's also not very likely to be a problem with the USB code unless it was reimplemented for DigiStump's product (check against these libraries http://www.fourwalledcubicle.com/files/LUFA/Doc/120219/html/_page__alternative_stacks.html). R0b0t1.