Opened 5 years ago
Closed 4 years ago
#587 closed (fixed)
USB device not accepting new address error 71
| Reported by: | pauldmis | Owned by: | somebody |
|---|---|---|---|
| Keywords: | Cc: |
Description
There seems to be a problem loading usb drivers and confirmed by others:
hub.c: new USB device 00:02.1-1, assigned address 2 usb.c: USB device not accepting new address=2 (error=-71) hub.c: new USB device 00:02.1-1, assigned address 3 usb.c: USB device not accepting new address=3 (error=-71)
Some notes in the forum how to work around it partially: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=24947&postdays=0&postorder=asc&start=315 http://www.dd-wrt.com/phpBB2/viewtopic.php?t=24947&postdays=0&postorder=asc&start=330
Change History (3)
comment:1 Changed 5 years ago by teddy_bear
comment:2 Changed 4 years ago by newgel
I found this IBM link where they describe this problem in more details. It is a kernel 2.4.X timming bug. Maybe you can fix it by just including a sleep somewhere into the usb module? Or maybe there is already a kernel patch? Please look into it. Seems we can finally fix this problem! Tks
comment:3 Changed 4 years ago by snake98
- Resolution set to fixed
- Status changed from new to closed
fixed by eko

I believe that the USB drivers are loaded too early during the startup process.
I'm using a hub with printer and USB flash drive connected to it. If USB drive is plugged in, the router fails to recognize USB devices at all on 9 reboots out of 10. But if I disconnect the hub and reconnect it again after router if up and running, then the router immediately sees printer and the USB drive, and the drive can be mounted. This behaviour is testes on Asus WL-520GU, DD-WRT mini_usb builds 10700, 10737 and 10776. By the way, printer alone works fine.
To work around the problem, I disabled USB support in the web GUI, and manually load all USB drivers in one of my .startup scripts in /jffs/etc/config folder:
With this setup everything works perfectly. Both - the printer and the flash drive - are recognized on every reboot without reconnecting them (I'm not sure if sleep commands are needed at all - just did not even try without them).
When USB support is enabled in GUI, USB drivers are loaded before network initialization. Disabling USB support in the GUI, and loading drivers in .startup script instead moved the drivers loading to the very end of the bootup process. Maybe all that needs to be done to fix the issue for everybody is to change the order of loading USB modules.