# Low speed device is recognised as full speed (USB tiny-like AVR isp programmer)

I recently tried to replicate the setup proposed in this instructable.

Everything is fine until I hook up the device into (any of) the USB ports. Then, dmesg on Ubuntu complains that the device did not accept the address assignement (throwing an error -71).

I tried to replicate the schematic here:

simulate this circuit – Schematic created using CircuitLab

The only difference between this schematic and my actual set up is the R3 resistor which in my case are two series resistors of 1k each. (D3 was not present, but I thought it could be useful to see if the device was actually powered)

Why does Ubuntu recognise this as full speed rather than low speed? Do I need to use exactly the same resistance shown in the schematic, or do I have a completely different problem unrelated to this resistor value?

I'm a total beginner, so I may be missing something trivial, but I can't see it. Any help is appreciated.

P.S.: all components are SMDs

• You do know that your ATTiny has to be programmed with the correct software for this to work, right? This thing will be an AVR programmer, but in order to make it work you have to already have an AVR programmer to install the software in the ATTiny.
– JRE
Nov 25 '15 at 14:18
• The speed detection works via various combinations of pull up/down resistors to 3.3V, you need to be rather precise than to whack any replacement resistors you have at hand. Check how it is done, understand how it is done, then check what you did differently. Nov 25 '15 at 14:19
• @JRE yes, I know that, and I used and Arduino as ISP to load the hex file that should act as interface and Avrdude didn't complain, so I can't tell if this is software related or not (but since this seemes to work for other people, I'm betting it's hardware related)
– user92300
Nov 25 '15 at 14:28