> Dear folks:
> 
> I am developping USB Device Controller driver in Gadget framework for our own 
> SoC chip.
> The development board is based on Linux 2.6.12 kernel and PC host is Linux 
> 2.6.14 (also 2.6.13.4) with CONFIG_USB_DEBUG enable and USB mass storage 
> debug enable.
> 
> Gadget driver is g_file_storage. I find some problems about enumeration:
> 
> Firstly, I use Bulk only transport 
> # insmod g_file_storage file=fsg_data
> Here is the dmesg
> ==============================================================================
> usb 2-2: new full speed USB device using uhci_hcd and address 46
> usb 2-2: khubd timed out on ep0in len=8/64
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: khubd timed out on ep0in len=18/18
> usb 2-2: khubd timed out on ep0in len=9/9
> usb 2-2: khubd timed out on ep0in len=24/32
> usb 2-2: config index 0 descriptor too short (expected 32, got 24)
> usb 2-2: config 1 has an invalid descriptor of length 7, skipping remainder 
> of the config
> usb 2-2: config 1 interface 0 altsetting 0 has 0 endpoint descriptors, 
> different from the interface descriptor's value: 2
> usb 2-2: khubd timed out on ep0in len=4/255
> usb 2-2: default language 0x0409
> usb 2-2: khubd timed out on ep0in len=0/255
> usb 2-2: khubd timed out on ep0in len=2/2
> usb 2-2: khubd timed out on ep0in len=54/54
> usb 2-2: khubd timed out on ep0in len=54/255
> usb 2-2: khubd timed out on ep0in len=26/255
> usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=3
> usb 2-2: Product: File-backed Storage Gadget
> usb 2-2: Manufacturer: Linux 2.6.12 with z228_udc
> usb 2-2: SerialNumber: 3230204F6374
> usb 2-2: hotplug
> usb 2-2: khubd timed out on ep0in len=26/255
> usb 2-2: adding 2-2:1.0 (config #1, interface 0)
> usb 2-2:1.0: hotplug
> ub 2-2:1.0: usb_probe_interface
> ub 2-2:1.0: usb_probe_interface - got id
> ub(2.46): failed endpoint check
> ub(2.46): Unable to submit GetMaxLUN (-22)
> usb 2-2: khubd timed out on ep0in len=26/255
> hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
> =========================================================================================================================
> Why khubd timed out? and GetMaxLUN error?
> 
> And I used CBI for transport
> # insmod g_file_storage file=fsg_data transport=CBI
> ============================================================================================
> usb 2-2: new full speed USB device using uhci_hcd and address 51
> usb 2-2: khubd timed out on ep0in len=8/64
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: khubd timed out on ep0in len=18/18
> usb 2-2: khubd timed out on ep0in len=9/9
> usb 2-2: khubd timed out on ep0in len=39/39
> usb 2-2: khubd timed out on ep0in len=4/255
> usb 2-2: default language 0x0409
> usb 2-2: khubd timed out on ep0in len=54/255
> usb 2-2: khubd timed out on ep0in len=54/255
> usb 2-2: khubd timed out on ep0in len=26/255
> usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=3
> usb 2-2: Product: File-backed Storage Gadget
> usb 2-2: Manufacturer: Linux 2.6.12 with z228_udc
> usb 2-2: SerialNumber: 3230204F6374
> usb 2-2: hotplug
> usb 2-2: khubd timed out on ep0in len=26/255
> usb 2-2: adding 2-2:1.0 (config #1, interface 0)
> usb 2-2:1.0: hotplug
> usb-storage 2-2:1.0: usb_probe_interface
> usb-storage 2-2:1.0: usb_probe_interface - got id
> usb-storage: USB Mass Storage device detected
> usb-storage: -- associate_dev
> usb-storage: Vendor: 0x0525, Product: 0xa4a5, Revision: 0x0314
> usb-storage: Interface Subclass: 0x06, Protocol: 0x00
> usb-storage: Transport: Control/Bulk/Interrupt
> usb-storage: Protocol: Transparent SCSI
> scsi3 : SCSI emulation for USB Mass Storage devices
> usb-storage: *** thread sleeping.
> usb-storage: device found at 51
> usb-storage: waiting for device to settle before scanning
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage:  12 00 00 00 24 00
> usb-storage: usb_stor_ctrl_transfer: rq=00 rqtype=21 value=0000 index=00 len=6
> usb 2-2: khubd timed out on ep0in len=26/255
> hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
> usb-storage: command_abort called
> usb-storage: usb_stor_stop_transport called
> usb-storage: -- cancelling URB
> usb-storage: Status code -104; transferred 0/6
> usb-storage: -- transfer cancelled
> usb-storage: Call to usb_stor_ctrl_transfer() returned 4
> usb-storage: -- command was aborted
> usb 2-2: reset full speed USB device using uhci_hcd and address 51
> usb 2-2: usb-storage timed out on ep0in len=8/64
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: usb-storage timed out on ep0in len=18/18
> usb 2-2: usb-storage timed out on ep0in len=39/39
> usb-storage: usb_reset_device returns 0
> usb-storage: scsi command aborted
> usb-storage: queuecommand called
> usb-storage: *** thread sleeping.
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage:  00 00 00 00 00 00
> usb-storage: usb_stor_ctrl_transfer: rq=00 rqtype=21 value=0000 index=00 len=6
> usb-storage: command_abort called
> usb-storage: usb_stor_stop_transport called
> usb-storage: -- cancelling URB
> usb-storage: Status code -104; transferred 0/6
> usb-storage: -- transfer cancelled
> usb-storage: Call to usb_stor_ctrl_transfer() returned 4
> usb-storage: -- command was aborted
> hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
> usb 2-2: reset full speed USB device using uhci_hcd and address 51
> usb 2-2: usb-storage timed out on ep0in len=8/64
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: usb-storage timed out on ep0in len=18/18
> usb 2-2: usb-storage timed out on ep0in len=39/39
> usb-storage: usb_reset_device returns 0
> usb-storage: scsi command aborted
> usb-storage: device_reset called
> usb-storage: usb_stor_CB_reset called
> usb-storage: usb_stor_control_msg: rq=00 rqtype=21 value=0000 index=00 len=12
> usb-storage: *** thread sleeping.
> usb-storage: Timeout -- cancelling URB
> usb-storage: Soft reset failed: -104
> usb-storage: bus_reset called
> usb 2-2: reset full speed USB device using uhci_hcd and address 51
> usb 2-2: scsi_eh_3 timed out on ep0in len=8/64
> hub 2-0:1.0: state 5 ports 2 chg 0000 evt 0004
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: scsi_eh_3 timed out on ep0in len=18/18
> usb 2-2: scsi_eh_3 timed out on ep0in len=39/39
> usb-storage: usb_reset_device returns 0
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage:  00 00 00 00 00 00
> usb-storage: usb_stor_ctrl_transfer: rq=00 rqtype=21 value=0000 index=00 len=6
> usb-storage: command_abort called
> usb-storage: usb_stor_stop_transport called
> usb-storage: -- cancelling URB
> usb-storage: Status code -104; transferred 0/6
> usb-storage: -- transfer cancelled
> usb-storage: Call to usb_stor_ctrl_transfer() returned 4
> usb-storage: -- command was aborted
> usb 2-2: reset full speed USB device using uhci_hcd and address 51
> usb 2-2: usb-storage timed out on ep0in len=8/64
> usb 2-2: ep0 maxpacket = 8
> usb 2-2: usb-storage timed out on ep0in len=18/18
> usb 2-2: usb-storage timed out on ep0in len=39/39
> usb-storage: usb_reset_device returns 0
> usb-storage: scsi command aborted
> scsi: Device offlined - not ready after error recovery: host 3 channel 0 id 0 
> lun 0
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (1:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (2:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (3:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (4:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (5:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (6:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (7:0)
> usb-storage: scsi cmd done, result=0x40000
> usb-storage: *** thread sleeping.
> usb-storage: device scan complete
> ======================================================================================================
> 
> Thanks a lot for you contribution and help
> Best Regards
> Bryan Wu from China
> NHS甸�X����u��猗��链'?y�u�z店⒍�N��)
> �贬y喈�����农���:�x� zwz漠��I↓��?囤� 
> �罕漱�?橱������⒐��~�j��富n氘刹邰�y��榈:�吮�m�z���~�~'u��?�槽㈥y��榉�槽�+�w�X?nN�HS^甸��X���'���u辑��A⑺����'��'�y澡u��z�店撷���,N盯�)�
��贬ky������骗��呐����%�:��x��mzw^z尼����I荨�从�b�+a囤�
0��,笔&�谦�'橱����骗��撷龚�瑙~��j亘�XЩ�m庄zYb槽,㈥�y�+�檗�:.���笔�m氍z�^��-~��~'�u�a囤l��b槽,㈥�y�+�檗幅b槽?�+-�w棹XЩ�m庄z

Reply via email to