Crappy USBkeys
Hello,
using new USB support from USB-testing branch on a PXA270 based board I noticed that some crappy USBkeys give the following error:
New Device 1
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x100 index 0x0 length 0x8
INFO: submit_control_msg
DEBUG: SUB URB:[ 754] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG: SUB URB:[ 75a] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
ERROR: sohci_submit_job: URB NOT FINISHED
ERROR: sohci_submit_job failed
USB device not responding, giving up (status=80000000)
It seems they cannot send their descriptor... has someone noticed the same behaviour?
Thanks,
Rodolfo
Signature · 4 lines
GNU/Linux Solutions e-mail: giometti at enneenne.com Linux Device Driver giometti at gnudd.com Embedded Systems giometti at linux.it UNIX programming phone: +39 349 2432127
Quoted 14 lines · Rodolfo Giometti
Hello,
using new USB support from USB-testing branch on a PXA270 based board I noticed that some crappy USBkeys give the following error:
New Device 1
usb_control_msg: request:0x6, requesttype:0x80
value0x100index0x0length0x8
INFO:submit_control_msg
DEBUG: SUB URB:[ 754] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG: SUB URB:[ 75a] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
ERROR:sohci_submit_job: URB NOT FINISHED
ERROR:sohci_submit_jobfailed
Quoted 4 lines
USB device not responding, giving up (status=80000000)
It seems they cannot send their descriptor... has someone noticed the same behaviour?
That's strange... just disabling all debugging messages and adding this patch:
drivers/usb_ohci.c +3 -1
@@ -1178,7 +1178,9 @@ pkt_print(dev, pipe, buffer, transfer_len, cmd, "SUB(rh)", WR_RH_PORTSTAT (RH_PS_PRS);OK (0 );case (RH_PORT_POWER ): -WR_RH_PORTSTAT (RH_PS_PPS );OK (0 ); +WR_RH_PORTSTAT (RH_PS_PPS ); +wait_ms (100 ); +OK (0 );case (RH_PORT_ENABLE ):/* BUG IN HUP CODE *********/ if (RD_RH_PORTSTAT &RH_PS_CCS )WR_RH_PORTSTAT (RH_PS_PES );
my crappy USBkey works well! But enabling debugging messages (__only__ into file usb_ohci.c) both good and crappy keys caused the above error!
The above patch allow crappy keys to be enumerated at boot time.
In fact without the patch I get on some (crappy) keys:
wl1100> usb start
(Re)start USB...
USB: scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
while with the patch I get:
wl1100> usb start
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Ciao,
Rodolfo
P.S. Please, consider that I still have my patch on USB support:
common/usb.c +1 -1
@@ -61,7 +61,7 @@#ifdef USB_DEBUG #define USB_PRINTF(fmt,args...) printf (fmt ,##args)#else -#define USB_PRINTF(fmt,args...) +#define USB_PRINTF(fmt,args...) wait_ms(1) /* for crappy USB keys... */#endif #define USB_BUFSIZ 512
and I set USB_DEBUG undefined.
Signature · 4 lines
GNU/Linux Solutions e-mail: giometti at enneenne.com Linux Device Driver giometti at gnudd.com Embedded Systems giometti at linux.it UNIX programming phone: +39 349 2432127