This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Using AM3352 as usb device to boot from

Other Parts Discussed in Thread: AM3352

Good morning!
     This is my first post to these forums, so if I am breaking any etiquette, please let me know!
     We are developing a board with the following properties, all on the same layout:
     We have a basic linux host, based on the AM3352 derived from the BeagleBone, with USB connections to two other devices. These connections are both peripheral only from the perspective of the AM3352.
     We have two other processors that we want to boot using the usb connection to the AM335x, where the AM335x is behaving like a storage device. Each of these processors has a direct connection to one of the AM335x USB ports. These processors are host only usb, and only require the DP and DM usb lines.
     On the AM335x, we directly connect the DP and DM lines to the USB host. USB(0/1) CE, ID, and DRVVBU are floating. Finally, we have a 5V line connected to the VBUS input. We toggle this on/off to simulate connection/disconnection for bring-up and speed negotiation. Finally, I have verified that both DRVVBUS lines are not configured as GPIO lines.
     I have used the 4.06.00.11 kernel, along with the community supported 3.8 kernels (http://eewiki.net/display/linuxonarm/BeagleBone, Robert C Nelson), both exhibiting the same behavior.
     We bring the AM3352 part up, booting Linux successfully. At this point we bring the connected processor out of reset and into u-boot. We load the g_mass_storage.ko module on the AM335x and raise the VBUS line. There is some line negotiation, but the two processors fail to properly enumerate and set speed.
     Because of the difficulty working with USB in uboot, we are currently booting the other processors via tftp. This allows us to test the usb connections with both sides being Linux. The rest of this post is made with information gathered with both sides in Linux. I only note this because this is not our final goal: we will eventually need to boot from U-boot using the AM335x as a storage device.
     The g_mass_storage.ko module is loaded on the AM335x with the following parameters: "insmod g_mass_storage.ko file=/dev/mmcblk0p2 stall=0 iSerialNumber=1 iProduct=2 idVendor=0x0525 iManufacturer=1 idProduct=0xa4a5 removable=1 nofua=1 cdrom=0 ro=1 bcdDevice=1". I have tried the permutations of stall, removable, nofua, and cdrom.  This combination gets furthest in the communications, but still fails.  I also use a file back storage instead of the /dev/mmcblk0p2, with the same results.

Here is the booting processors dmesg output when we set VBUS into the AM335x:

usb 1-1: new high speed USB device using sduh-ehci and address 2
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high speed USB device using sduh-ehci and address 3
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high speed USB device using sduh-ehci and address 4
usb 1-1: device not accepting address 4, error -71
usb 1-1: new high speed USB device using sduh-ehci and address 5
usb 1-1: device not accepting address 5, error -71
hub 1-0:1.0: unable to enumerate USB device on port 1

Here is the output on the AM335x:

[ 76.323670] udc musb-hdrc.0.auto: registering UDC driver [g_mass_storage]
[ 76.323733] gadget: adding config #1 'Linux File-Backed Storage'/bf094574
[ 76.324020] lun0: open backing file: /dev/mmcblk0p2
[ 76.328401] gadget: Mass Storage Function, version: 2009/09/11
[ 76.334502] gadget: Number of LUNs=1
[ 76.345335] lun0: LUN: removable read only file: /dev/mmcblk0p2
[ 76.351573] gadget: I/O thread pid: 204
[ 76.359637] gadget: adding 'Mass Storage Function'/cf54d840 to config 'Linux File-Backed Storage'/bf094574
[ 76.359697] gadget: cfg 1/bf094574 speeds: high full
[ 76.359716] gadget: interface 0 = Mass Storage Function/cf54d840
[ 76.359743] gadget: Mass Storage Gadget, version: 2009/09/11
[ 76.373331] gadget: g_mass_storage ready
[ 76.381155] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 76.398752] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
[ 76.415317] musb-hdrc musb-hdrc.0.auto: supports USB remote wakeup
[ 76.415463] usb usb1: default language 0x0409
[ 76.415524] usb usb1: udev 1, busnum 1, minor = 0
[ 76.415546] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 76.422599] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 76.429927] usb usb1: Product: MUSB HDRC host driver
[ 76.434964] usb usb1: Manufacturer: Linux 3.8.13-bone28 musb-hcd
[ 76.441049] usb usb1: SerialNumber: musb-hdrc.0.auto
[ 76.455425] usb usb1: usb_probe_device
[ 76.455467] usb usb1: configuration #1 chosen from 1 choice
[ 76.455567] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 76.455855] hub 1-0:1.0: usb_probe_interface
[ 76.455878] hub 1-0:1.0: usb_probe_interface - got id
[ 76.455913] hub 1-0:1.0: USB hub found
[ 76.467120] hub 1-0:1.0: 1 port detected
[ 76.474844] hub 1-0:1.0: standalone hub
[ 76.474874] hub 1-0:1.0: individual port power switching
[ 76.474892] hub 1-0:1.0: no over-current protection
[ 76.474909] hub 1-0:1.0: Single TT
[ 76.474929] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 76.474947] hub 1-0:1.0: power on to power good time: 10ms
[ 76.475009] hub 1-0:1.0: local power source is good
[ 76.475160] hub 1-0:1.0: enabling power on all ports
[ 76.576448] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 76.576554] hub 1-0:1.0: hub_suspend
[ 76.576600] usb usb1: bus auto-suspend, wakeup 1
[ 83.889325] CAUTION: musb: Babble Interrupt Occurred
[ 84.008153] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 84.014841] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 84.308024] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 84.314707] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 84.708025] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 84.714718] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 84.807526] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 84.814202] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 84.907643] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 84.914334] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 85.007512] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 85.014198] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 85.019759] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 85.026408] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 85.207639] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 85.214316] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 85.607638] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 85.614325] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 85.907119] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 85.913802] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 86.007141] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 86.013824] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 86.207264] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 86.213958] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 86.307008] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 86.313694] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 86.507238] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 86.514395] CAUTION: musb: Babble Interrupt Occurred
[ 86.737006] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 86.743688] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 86.937006] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 86.943698] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.136860] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.143967] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.149535] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.156636] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.236746] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.243870] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.249440] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.256538] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.336877] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.343998] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.437248] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.444361] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 87.636495] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 87.643616] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 88.136736] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 88.143854] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 88.236230] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 88.536350] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 88.836229] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 88.843394] CAUTION: musb: Babble Interrupt Occurred
[ 89.070327] CAUTION: musb: Babble Interrupt Occurred
[ 89.186345] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 89.385786] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 89.486489] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage idle
[ 89.493081] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 89.499822] CAUTION: musb: Babble Interrupt Occurred
[ 89.786211] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 89.793330] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 89.798898] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage out/status
[ 89.806002] CAUTION: musb: Babble Interrupt Occurred
[ 90.029948] CAUTION: musb: Babble Interrupt Occurred
[ 90.145859] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 90.152552] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.158122] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 90.164786] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.355709] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage in/status
[ 90.362737] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.368320] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage in/status
[ 90.375332] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.569820] CAUTION: musb: Babble Interrupt Occurred
[ 90.685475] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 90.692152] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.697727] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage setup
[ 90.704387] musb_g_ep0_irq 804: SETUP packet len 10 != 8 ?
[ 90.895579] musb_g_ep0_irq 712: SetupEnd came in a wrong ep0stage in/status

Now, we accidentally discovered that we could partially bring up the AM335x as a storage device if we bounced the VBUS line a couple times, 200ms apart (we originally used a manual toggle to gate the VBUS line, and discovered this after my hand slipped :) )

The AM335x printout:

[ 234.987200] CAUTION: musb: Babble Interrupt Occurred
[ 235.437727] CAUTION: musb: Babble Interrupt Occurred
[ 235.584939] CAUTION: musb: Babble Interrupt Occurred
[ 235.993686] gadget: full-speed config #1: Linux File-Backed Storage
[ 236.000133] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 236.000148] gadget: delayed_status count 1
[ 236.000404] gadget: usb_composite_setup_continue
[ 236.000425] gadget: usb_composite_setup_continue: Completing delayed status
[ 237.103882] gadget: sending command-failure status
[ 237.198191] gadget: bulk-in set halt
[ 237.361195] gadget: bulk-in set halt
[ 237.364240] CAUTION: musb: Babble Interrupt Occurred
[ 237.373738] gadget: reset config
[ 237.373919] gadget: bulk_in_complete --> -104, 16/16
[ 237.373947] gadget: reset interface
[ 237.504524] CAUTION: musb: Babble Interrupt Occurred
[ 237.693426] gadget: full-speed config #1: Linux File-Backed Storage
[ 237.699855] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 237.699871] gadget: delayed_status count 1
[ 237.704557] gadget: usb_composite_setup_continue
[ 237.704577] gadget: usb_composite_setup_continue: Completing delayed status
[ 237.713723] gadget: bulk-in set halt
[ 237.718277] gadget: sending command-failure status
[ 237.799612] gadget: suspend
[ 239.147165] CAUTION: musb: Babble Interrupt Occurred
[ 239.156703] gadget: reset config
[ 239.156830] gadget: bulk_in_complete --> -104, 512/16384
[ 239.156857] gadget: bulk_in_complete --> -104, 0/13
[ 239.156879] gadget: bulk_out_complete --> -104, 0/31
[ 239.156901] gadget: reset interface
[ 239.294244] CAUTION: musb: Babble Interrupt Occurred
[ 239.703613] gadget: full-speed config #1: Linux File-Backed Storage
[ 239.710045] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 239.710060] gadget: delayed_status count 1
[ 239.710182] gadget: usb_composite_setup_continue
[ 239.710201] gadget: usb_composite_setup_continue: Completing delayed status
[ 240.812363] gadget: sending command-failure status
[ 240.907217] gadget: bulk-in set halt
[ 240.910277] CAUTION: musb: Babble Interrupt Occurred
[ 240.919784] gadget: reset config
[ 240.920006] gadget: bulk_in_complete --> -104, 16/16
[ 240.920035] gadget: reset interface
[ 241.054044] CAUTION: musb: Babble Interrupt Occurred
[ 241.242853] gadget: full-speed config #1: Linux File-Backed Storage
[ 241.249286] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 241.249303] gadget: delayed_status count 1
[ 241.254024] gadget: usb_composite_setup_continue
[ 241.254044] gadget: usb_composite_setup_continue: Completing delayed status
[ 241.271722] gadget: bulk-in set halt
[ 241.289919] gadget: sending command-failure status
[ 241.392047] gadget: bulk-in set halt
[ 241.395210] CAUTION: musb: Babble Interrupt Occurred
[ 241.404713] gadget: reset config
[ 241.404985] gadget: bulk_in_complete --> -104, 16/16
[ 241.405017] gadget: reset interface
[ 241.533940] CAUTION: musb: Babble Interrupt Occurred
[ 241.722794] gadget: full-speed config #1: Linux File-Backed Storage
[ 241.729227] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 241.729243] gadget: delayed_status count 1
[ 241.729266] CAUTION: musb: just musb interrupt
[ 241.733924] gadget: usb_composite_setup_continue
[ 241.733945] gadget: usb_composite_setup_continue: Completing delayed status
[ 241.750205] gadget: bulk-in set halt
[ 241.768389] gadget: sending command-failure status
[ 241.844984] gadget: reset config
[ 241.845137] gadget: bulk_in_complete --> -104, 1536/16384
[ 241.849684] gadget: bulk_in_complete --> -104, 13/13
[ 241.854222] gadget: bulk_out_complete --> -104, 0/31
[ 241.854246] gadget: reset interface
[ 241.973816] CAUTION: musb: Babble Interrupt Occurred
[ 242.162742] gadget: full-speed config #1: Linux File-Backed Storage
[ 242.169176] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 242.169191] gadget: delayed_status count 1
[ 242.173921] gadget: usb_composite_setup_continue
[ 242.173942] gadget: usb_composite_setup_continue: Completing delayed status
[ 242.189668] gadget: bulk-in set halt
[ 242.194290] gadget: sending command-failure status
[ 242.246078] CAUTION: musb: Babble Interrupt Occurred
[ 242.255570] gadget: reset config
[ 242.255707] gadget: bulk_in_complete --> -104, 1536/16384
[ 242.260260] gadget: bulk_in_complete --> -104, 13/13
[ 242.264793] gadget: bulk_out_complete --> -104, 0/31
[ 242.264816] gadget: reset interface
[ 242.383854] CAUTION: musb: Babble Interrupt Occurred
[ 242.572649] gadget: full-speed config #1: Linux File-Backed Storage
[ 242.579091] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 242.579107] gadget: delayed_status count 1
[ 242.579130] CAUTION: musb: just musb interrupt
[ 242.583772] gadget: usb_composite_setup_continue
[ 242.583792] gadget: usb_composite_setup_continue: Completing delayed status
[ 242.593395] gadget: bulk-in set halt
[ 242.597968] gadget: sending command-failure status
[ 242.644097] CAUTION: musb: Babble Interrupt Occurred
[ 242.653573] gadget: reset config
[ 242.653706] gadget: bulk_in_complete --> -104, 1536/16384
[ 242.658261] gadget: bulk_in_complete --> -104, 13/13
[ 242.662792] gadget: bulk_out_complete --> -104, 0/31
[ 242.662814] gadget: reset interface
[ 242.783800] CAUTION: musb: Babble Interrupt Occurred
[ 242.972671] gadget: full-speed config #1: Linux File-Backed Storage
[ 242.979095] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 242.979110] gadget: delayed_status count 1
[ 242.984101] gadget: usb_composite_setup_continue
[ 242.984122] gadget: usb_composite_setup_continue: Completing delayed status
[ 242.993512] gadget: bulk-in set halt
[ 242.998101] gadget: sending command-failure status
[ 243.955861] gadget: bulk-in set halt
[ 243.958193] CAUTION: musb: Babble Interrupt Occurred
[ 243.967713] gadget: reset config
[ 243.967890] gadget: bulk_in_complete --> -104, 16/16
[ 243.967918] gadget: reset interface
[ 244.103523] CAUTION: musb: Babble Interrupt Occurred
[ 244.292404] gadget: full-speed config #1: Linux File-Backed Storage
[ 244.298835] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 244.298851] gadget: delayed_status count 1
[ 244.303516] gadget: usb_composite_setup_continue
[ 244.303537] gadget: usb_composite_setup_continue: Completing delayed status
[ 244.320548] gadget: bulk-in set halt
[ 244.338725] gadget: sending command-failure status

And the other processors dmesg:

usb 1-1: new high speed USB device using sduh-ehci and address 6
hub 1-0:1.0: unable to enumerate USB device on port 1
usb 2-1: new full speed USB device using sduh-ohci and address 2
usb 2-1: not running at top speed; connect to a high speed hub
usb 2-1: New USB device found, idVendor=0525, idProduct=a4a5
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: 2
usb 2-1: Manufacturer: 1
usb 2-1: SerialNumber: 1
usb-storage 2-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
scsi0 : usb-storage 2-1:1.0
scsi 0:0:0:0: Direct-Access Linux File-CD Gadget 0308 PQ: 0 ANSI: 2
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] 3711015 512-byte logical blocks: (1.90 GB/1.76 GiB)
sd 0:0:0:0: [sda] Write Protect is on
sd 0:0:0:0: [sda] Mode Sense: 0f 00 80 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
hub 2-0:1.0: port 1 disabled by hub (EMI?), re-enabling...
usb 2-1: USB disconnect, address 2
sd 0:0:0:0: [sda] Unhandled error code
sd 0:0:0:0: [sda] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
sd 0:0:0:0: [sda] READ CAPACITY failed
sd 0:0:0:0: [sda] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
sd 0:0:0:0: [sda] Sense not available.
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
usb 2-1: new full speed USB device using sduh-ohci and address 3
usb 2-1: not running at top speed; connect to a high speed hub
usb 2-1: New USB device found, idVendor=0525, idProduct=a4a5
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: 2
usb 2-1: Manufacturer: 1
usb 2-1: SerialNumber: 1
usb-storage 2-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
scsi1 : usb-storage 2-1:1.0
scsi 1:0:0:0: Direct-Access Linux File-CD Gadget 0308 PQ: 0 ANSI: 2
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: [sda] 3711015 512-byte logical blocks: (1.90 GB/1.76 GiB)
usb 2-1: reset full speed USB device using sduh-ohci and address 3
sd 1:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 1:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 3
sd 1:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 1:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 3
usb 2-1: reset full speed USB device using sduh-ohci and address 3
usb 2-1: reset full speed USB device using sduh-ohci and address 3
sd 1:0:0:0: [sda] Media Changed
sd 1:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 1:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 1:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 1:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 22 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
usb 2-1: reset full speed USB device using sduh-ohci and address 3
sd 1:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] Attached SCSI removable disk

However, any attempts to mount the sda results in continuous USB resets.

AM335x dmesg:
[ 815.265843] gadget: bulk-in set halt
[ 815.269017] CAUTION: musb: Babble Interrupt Occurred
[ 815.278534] gadget: reset config
[ 815.278731] gadget: bulk_in_complete --> -104, 16/16
[ 815.278760] gadget: reset interface
[ 815.414955] CAUTION: musb: Babble Interrupt Occurred
815.603858] gadget: full-speed config #1: Linux File-Backed Storage
[ 815.610292] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 815.610308] gadget: delayed_status count 1
[ 815.614987] gadget: usb_composite_setup_continue
[ 815.615008] gadget: usb_composite_setup_continue: Completing delayed status
[ 815.624146] gadget: bulk-in set halt
[ 815.628696] gadget: sending command-failure status
[ 815.738462] gadget: bulk-in set halt
[ 815.741010] CAUTION: musb: Babble Interrupt Occurred
[ 815.750531] gadget: reset config
[ 815.750732] gadget: bulk_in_complete --> -104, 16/16
[ 815.750761] gadget: reset interface
[ 815.884869] CAUTION: musb: Babble Interrupt Occurred
[ 816.073755] gadget: full-speed config #1: Linux File-Backed Storage
[ 816.080187] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 816.080203] gadget: delayed_status count 1
[ 816.084882] gadget: usb_composite_setup_continue
[ 816.084904] gadget: usb_composite_setup_continue: Completing delayed status
[ 816.094060] gadget: bulk-in set halt
[ 816.112157] gadget: sending command-failure status
[ 816.180419] gadget: suspend
[ 817.357532] CAUTION: musb: Babble Interrupt Occurred
[ 817.367057] gadget: reset config
[ 817.367196] gadget: bulk_in_complete --> -104, 512/16384
[ 817.367335] gadget: bulk_in_complete --> -104, 0/13
[ 817.367360] gadget: bulk_out_complete --> -104, 0/31
[ 817.367382] gadget: reset interface
[ 817.504606] CAUTION: musb: Babble Interrupt Occurred
[ 817.913339] gadget: full-speed config #1: Linux File-Backed Storage
[ 817.919777] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 817.919793] gadget: delayed_status count 1
[ 817.919930] gadget: usb_composite_setup_continue
[ 817.920035] gadget: usb_composite_setup_continue: Completing delayed status
[ 819.022686] gadget: sending command-failure status
[ 819.116942] gadget: bulk-in set halt
[ 819.129521] gadget: reset config
[ 819.129772] gadget: bulk_in_complete --> -104, 16/16
[ 819.129802] gadget: reset interface
[ 819.264428] CAUTION: musb: Babble Interrupt Occurred
[ 819.453408] gadget: full-speed config #1: Linux File-Backed Storage
[ 819.459854] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 819.459870] gadget: delayed_status count 1
[ 819.464532] gadget: usb_composite_setup_continue
[ 819.464552] gadget: usb_composite_setup_continue: Completing delayed status
[ 819.498304] gadget: bulk-in set halt
[ 819.516524] gadget: sending command-failure status
[ 819.617028] gadget: bulk-in set halt
[ 819.619984] CAUTION: musb: Babble Interrupt Occurred
[ 819.629493] gadget: reset config
[ 819.629708] gadget: bulk_in_complete --> -104, 16/16
[ 819.629737] gadget: reset interface
[ 819.764373] CAUTION: musb: Babble Interrupt Occurred
[ 819.953331] gadget: full-speed config #1: Linux File-Backed Storage
[ 819.959776] gadget: set_config: interface 0 (Mass Storage Function) requested delayed status
[ 819.959791] gadget: delayed_status count 1
[ 819.964745] gadget: usb_composite_setup_continue
[ 819.964767] gadget: usb_composite_setup_continue: Completing delayed status
[ 819.976791] gadget: bulk-in set halt
[ 819.994976] gadget: sending command-failure status
[ 820.061260] CAUTION: musb: Babble Interrupt Occurred
[ 820.070739] gadget: reset config
[ 820.070915] gadget: bulk_in_complete --> -104, 1536/16384
[ 820.075474] gadget: bulk_in_complete --> -104, 13/13
[ 820.080009] gadget: bulk_out_complete --> -104, 0/31
[ 820.080033] gadget: reset interface
[ 820.204333] CAUTION: musb: Babble Interrupt Occurred

Host processor:
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 22 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
EXT3-fs (sda): error: unable to read superblock
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
EXT2-fs (sda): error: unable to read superblock
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 54 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
EXT4-fs (sda): unable to read superblock
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
FAT: unable to read boot sector
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 54 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
FAT: unable to read boot sector
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
isofs_fill_super: bread failed, dev=sda, iso_blknum=16, block=32
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 54 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 54 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
UDF-fs: No partition found (1)
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
quiet_error: 54 callbacks suppressed
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
Buffer I/O error on device sda, logical block 8
Buffer I/O error on device sda, logical block 9
sda: unable to read partition table
yaffs: dev is 8388608 name is "sda" ro
yaffs: passed flags ""
yaffs: yaffs: Attempting MTD mount of 8.0,"sda"
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Assuming drive cache: write through
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
usb 2-1: reset full speed USB device using sduh-ohci and address 2
sd 0:0:0:0: [sda] Media Changed
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Unit Attention [current]
sd 0:0:0:0: [sda] Add. Sense: Power on, reset, or bus device reset occurred
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sda, sector 0
sda: unable to read partition table
yaffs: dev is 8388608 name is "sda" ro
yaffs: passed flags ""
yaffs: yaffs: Attempting MTD mount of 8.0,"sda"

When connected directly to an actual usb thumbdrive, the other processor successfully recognizes and is able to mount the usb drive.

I have tried several patches and modifications mentioned in other threads (such as toggling VBUS, altering the TRSMRCY delays.

Also, we have tried other gadget drivers (ether, serial), and they ended up having the same kinds of behavior.

Thank you very much for any help/advice you may have. Please let me know if there is anymore information that would be helpful!
Mike

  • Hello Mike,

    Could you post a small diagram of how you have these devices connected? It would be helpful in understanding your USB topology.

  • Attached are the schematic captures of the USB connections.  A couple notes for differences from the Schematic:

    VBUS is now controlled via a gpio line that controls a gate.  (VBUS is no longer permanently on).  VBUS is gated individually between USB0 and 1 - Currently we only activate USB0.

    The resistors 1243 and 1244 are now 1K resistors - with 10 K we were seeing a voltage drop to 4.3 volts. 

    Thank you so very much!

    Mike

  • Michael Austin said:
    We have a basic linux host, based on the AM3352 derived from the BeagleBone, with USB connections to two other devices. These connections are both peripheral only from the perspective of the AM3352.

    To clarify, you are trying to make am335x as 'two' usb thumb drives and *directly* (without usb receptacle) connect to two usb host respectively, correct?

    Michael Austin said:
    I have used the 4.06.00.11 kernel, along with the community supported 3.8 kernels (http://eewiki.net/display/linuxonarm/BeagleBone, Robert C Nelson), both exhibiting the same behavior.

    Please stick to Linux SDK 4.6.0.11 kernel in this debug session, as this is the one we officially support.

    Michael Austin said:
    The g_mass_storage.ko module is loaded on the AM335x with the following parameters: "insmod g_mass_storage.ko ...

    By default, this only brings USB0 into MSC gadget, USB1 should be in host mode. What have you changed in kernel to make USB1 as MSC gadget too?

    Michael Austin said:

    Here is the output on the AM335x:

    ...

    [ 83.889325] CAUTION: musb: Babble Interrupt Occurred

    This error message should be only printed out when MUSB in host mode, but it supose to be in device mode here. Please get the log of 'cat /proc/driver/musb_hdrc.0', and 'cat /proc/driver/musb_hdrc.1'.

    Just for testing, before switching on 5V on VBUS, please run command 'echo i > /proc/driver/musb_hdrc.0' on am335x serial console to see it can be enumerated successfully as a full-speed device.

  • Thank you very much for your reply!

    Bin Liu said:

    To clarify, you are trying to make am335x as 'two' usb thumb drives and *directly* (without usb receptacle) connect to two usb host respectively, correct?

    1: Yes, that is our goal. However, we assume that we will have to write our own drivers to implement the mass storage device on both ports: it seems that all current implementations only support emulating one peripheral.

    Bin Liu said:

    Please stick to Linux SDK 4.6.0.11 kernel in this debug session, as this is the one we officially support.

    2. Ok

    Bin Liu said:

    By default, this only brings USB0 into MSC gadget, USB1 should be in host mode. What have you changed in kernel to make USB1 as MSC gadget too?

    3. We are currently only testing USB0 as a storage device. We'll do the modifications to enable USB1 as a storage device later (assuming that this is purely a software issue and not a hardware limitation?)

    Bin Liu said:

    This error message should be only printed out when MUSB in host mode, but it supose to be in device mode here. Please get the log of 'cat /proc/driver/musb_hdrc.0', and 'cat /proc/driver/musb_hdrc.1'.

    4. In reverence to 2 above: the prints actually came from the 3.8 kernel. In that kernel, the "Babble Interrupt" output was also output for certain bus reset conditions. In the 3.2 kernel in 4.06 that has actually been conditioned with a "if (host)" test, and seems to behave differently. I will note that the behavior is the same: But the printout from the 3.2 kernel is far less detailed during the operation where the device seems to come up partially:
    [ 359.442450] gadget: full-speed config #1: Linux File-Backed Storage
    [ 361.091360] gadget: full-speed config #1: Linux File-Backed Storage
    [ 361.580359] gadget: full-speed config #1: Linux File-Backed Storage
    [ 392.064172] gadget: full-speed config #1: Linux File-Backed Storage
    [ 392.394149] gadget: full-speed config #1: Linux File-Backed Storage
    [ 398.723115] gadget: full-speed config #1: Linux File-Backed Storage
    [ 399.063112] gadget: full-speed config #1: Linux File-Backed Storage
    [ 399.393100] gadget: full-speed config #1: Linux File-Backed Storage


    Just for reference, this is the printout when no bounce is used (and the storage device does not come up at all) in the 3.2 kernel:
    [ 851.754435] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 851.761123] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 851.766675] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 851.995180] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.001874] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 852.007447] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.353902] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 852.361024] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 852.366573] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 852.594785] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.601466] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 852.607013] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.955781] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.962461] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 852.968012] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 852.974695] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.165783] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.172473] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.178019] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.184698] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.493534] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.500220] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.505767] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.512440] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.703459] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.710142] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 853.715692] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 853.722368] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?

    All future information will be based exclusively on the 4.06 3.2 kernel.

    Bin Liu said:

    Just for testing, before switching on 5V on VBUS, please run command 'echo i > /proc/driver/musb_hdrc.0' on am335x serial console to see it can be enumerated successfully as a full-speed device.

    5.
    musb_hdrc.0:
    Before VBUS:
    Status: MHDRC, Mode=Peripheral (Power=c0, DevCtl=80)
    OTG state: b_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
    Gadget driver: g_mass_storage

    ep0 (hw0): 1buf, csr 0000 maxp 0000
    (queue empty)


    After VBUS:
    Status: MHDRC, Mode=Peripheral (Power=c0, DevCtl=99)
    OTG state: b_peripheral; active
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
    Gadget driver: g_mass_storage

    ep0 (hw0): 1buf, csr 0000 maxp 0000
    (queue empty)

    ep1in (hw1): 1buf dma, csr 2000 maxp 0040
    TX DMA0: 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    (queue empty)

    ep1out (hw1): 1buf dma, csr 2000 maxp 0040
    RX DMA0: 2 left, 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    req cf43ac50, -821075736/-817559424


    musb_hdrc.1:
    Before VBUS:
    Status: MHDRC, Mode=Host (Power=e0, DevCtl=80)
    OTG state: a_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0

    After VBUS:
    Status: MHDRC, Mode=Host (Power=e0, DevCtl=80)
    OTG state: a_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0


    echo i > musb_hdrc.0:
    No connection messages on either side

    Thank you again for your help!
    Mike

  • Michael Austin said:
    3. We are currently only testing USB0 as a storage device. We'll do the modifications to enable USB1 as a storage device later (assuming that this is purely a software issue and not a hardware limitation?)

    I think it is a good plan to make USB0 working first, then USB1. I have not tried to load the g_mass_storage module *twice* for both USB0 & USB1 since our reference boards all have USB1 fixed in host mode. I would think in theory loading it twice should work, just have not tested it yet.

    Michael Austin said:
    In the 3.2 kernel in 4.06 that has actually been conditioned with a "if (host)" test, and seems to behave differently. I will note that the behavior is the same: But the printout from the 3.2 kernel is far less detailed during the operation where the device seems to come up partially:
    [ 359.442450] gadget: full-speed config #1: Linux File-Backed Storage
    [ 361.091360] gadget: full-speed config #1: Linux File-Backed Storage

    It makes more sense now. The Reset and Babble interrupt share the same register bit. If the bit is set, it means Babble interrupt for host mode, and Reset interrupt for device mode.

    All the log you provided tell that USB does not transfer data correctly, so the host cannot enumerate the device so keeps reset the device.

    Michael Austin said:
    echo i > musb_hdrc.0:
    No connection messages on either side

    It strange there is no ANY message. Can you please do one more test?

    - On AM335x board, before turn on VBUS, do 'echo i > musb_hdrc.0';

    - echo 'func ti81xx_interrupt +p' > /sys/kernel/debug/dynamic_debug/control';

    - echo '8' > /proc/sys/kernel/printk

    - turn on vbus to see if any message on either side.

  • Thank you! I was stuck for a while, but I feel like we are getting somewhere again!

    I was just about to post an update as you sent your response: I realized that you wanted me to set VBUS after the "echo i" line, not just give you the output after setting that feature. Setting VBUS does actually cause messages. However, after enumeration the connection is extremely fragile.

    AM335x side after running all your commands:
    [ 112.947702] musb-hdrc musb-hdrc.0: remove, state 1
    [ 112.952649] usb usb2: USB disconnect, device number 1
    [ 112.958411] musb-hdrc musb-hdrc.0: USB bus 2 deregistered
    [ 115.997829] gadget: Mass Storage Function, version: 2009/09/11
    [ 116.003889] gadget: Number of LUNs=1
    [ 116.007600] lun0: LUN: removable read only file: /EncoderBootImage/EncoderBackingFile
    [ 116.015651] gadget: Mass Storage Gadget, version: 2009/09/11
    [ 116.021476] gadget: g_mass_storage ready
    [ 116.025594] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [ 116.031018] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
    [ 116.038622] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [ 116.045498] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 116.052806] usb usb2: Product: MUSB HDRC host driver
    [ 116.057816] usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
    [ 116.063190] usb usb2: SerialNumber: musb-hdrc.0
    [ 116.068399] hub 2-0:1.0: USB hub found
    [ 116.072237] hub 2-0:1.0: 1 port detected
    [ 136.683467] musb-hdrc musb-hdrc.0: usbintr (1) epintr(0)
    [ 136.837408] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 136.898189] musb-hdrc musb-hdrc.0: usbintr (1) epintr(0)
    [ 137.117281] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 137.255420] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.260838] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.266229] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 137.395153] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.400536] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.435125] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.440529] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.445918] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.451300] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.456685] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.462045] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.467424] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.472802] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.478169] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.483540] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.673691] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.679076] gadget: full-speed config #1: Linux File-Backed Storage
    [ 137.685609] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.690985] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 137.696376] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 138.754612] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 138.760017] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 138.765429] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 138.771377] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.776792] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.787370] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.828373] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.833777] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.839435] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.844877] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.850265] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 138.880422] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 139.014539] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.019945] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.025326] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 139.154482] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.159868] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.194431] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.199823] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.205221] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.210593] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.215969] gadget: full-speed config #1: Linux File-Backed Storage
    [ 139.222415] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.227849] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.234212] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.239624] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.245288] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.250686] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.336361] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.341790] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.347431] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.352992] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.358390] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.366421] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 139.504382] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.509785] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.515171] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 139.644227] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.649603] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.684203] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.689607] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.694995] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.700368] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.705730] gadget: full-speed config #1: Linux File-Backed Storage
    [ 139.712159] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.717731] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.723164] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.728567] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.734838] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.740224] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 139.788457] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 139.924173] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.929587] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 139.934976] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 140.064047] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.069434] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.104055] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.109463] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.114867] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.120244] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.125614] gadget: full-speed config #1: Linux File-Backed Storage
    [ 140.132054] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.137993] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.143438] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.148829] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.154270] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.159654] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.182379] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.187799] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 170.604254] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 170.741564] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.746987] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.752371] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 170.881426] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.886824] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.921409] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.926800] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.932190] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.937555] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.942929] gadget: full-speed config #1: Linux File-Backed Storage
    [ 170.949375] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.955303] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 170.960677] musb-hdrc musb-hdrc.0: usbintr (0) epintr(20000)
    [ 170.966784] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 170.972162] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 171.101379] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.106779] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.112146] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 171.241287] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.246682] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.281246] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.286648] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.292020] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.297414] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.302778] gadget: full-speed config #1: Linux File-Backed Storage
    [ 171.309217] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.314831] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.320217] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 171.326166] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.318774] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.324186] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.329562] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.334955] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.343155] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 177.478731] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.484139] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.489511] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 177.618607] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.623989] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.658585] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.663983] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.669371] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.674767] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.680142] gadget: full-speed config #1: Linux File-Backed Storage
    [ 177.686574] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.692071] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.700569] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 177.838559] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.843962] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.849332] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 177.978459] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 177.983839] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.018448] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.023839] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.029217] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.034599] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.039964] gadget: full-speed config #1: Linux File-Backed Storage
    [ 178.046390] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.051812] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.060113] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 178.188424] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.193820] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.199186] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 178.328315] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.333700] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.368302] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.373698] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.379070] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.384454] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.389819] gadget: full-speed config #1: Linux File-Backed Storage
    [ 178.396258] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 178.401672] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)

    Other side:
    hub 1-0:1.0: unable to enumerate USB device on port 1
    usb 2-1: new full speed USB device using sduh-ohci and address 2
    usb 2-1: not running at top speed; connect to a high speed hub
    usb 2-1: New USB device found, idVendor=0525, idProduct=a4a5
    usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
    usb 2-1: Product: 2
    usb 2-1: Manufacturer: 1
    usb 2-1: SerialNumber: 1
    usb-storage 2-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
    scsi0 : usb-storage 2-1:1.0
    scsi 0:0:0:0: Direct-Access Linux File-CD Gadget 0316 PQ: 0 ANSI: 2
    sd 0:0:0:0: Attached scsi generic sg0 type 0
    sd 0:0:0:0: [sda] 131072 512-byte logical blocks: (67.1 MB/64.0 MiB)
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: Device offlined - not ready after error recovery
    sd 0:0:0:0: [sda] Unhandled error code
    sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
    sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
    end_request: I/O error, dev sda, sector 0
    Buffer I/O error on device sda, logical block 0
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sda: unable to read partition table
    sd 0:0:0:0: [sda] Attached SCSI removable disk


    I was very excited at this point. However, trying to mount the device still results in errors and resets. Do you think there are any parameter settings in my insmod command that could influence this? I have tried several permutations of the fua, cdrom, ro, removable bits. Although the behavior changes slightly, mounting still doesn't complete.

    insmod g_mass_storage.ko file=/EncoderBootImage/EncoderBackingFile stall=0 iSerialNumber=1 iProduct=2 idVendor=0x0525 iManufacturer=1 idProduct=0xa4a5 removable=1 nofua=1 cdrom=0 ro=1 bcdDevice=1

    AM335x side:
    [ 140.373654] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 140.510839] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.516278] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.521646] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 140.650748] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.656140] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.690737] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.696138] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.701516] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.706908] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.712270] gadget: full-speed config #1: Linux File-Backed Storage
    [ 140.718716] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.724366] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.729846] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 140.735241] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 140.860800] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.866215] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 140.871586] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 141.000746] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.006123] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.040766] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.046163] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.051535] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.056917] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.062281] gadget: full-speed config #1: Linux File-Backed Storage
    [ 141.068716] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.074158] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.079534] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 141.085450] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.080916] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.086326] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.091704] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.097094] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.105563] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 147.240973] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.246369] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.251712] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 147.380906] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.386295] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.420897] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.426293] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.431670] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.437061] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.442428] gadget: full-speed config #1: Linux File-Backed Storage
    [ 147.448858] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.454304] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.462899] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 147.600952] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.606362] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.611734] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 147.740910] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.746299] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.780904] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.786301] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.791674] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.797073] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.802439] gadget: full-speed config #1: Linux File-Backed Storage
    [ 147.808871] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.814480] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.819919] musb-hdrc musb-hdrc.0: usbintr (0) epintr(2)
    [ 147.825307] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 147.950965] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.956367] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 147.961738] musb-hdrc musb-hdrc.0: usbintr (4) epintr(1)
    [ 148.090911] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.096296] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.130911] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.136316] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.141688] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.147075] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.152435] gadget: full-speed config #1: Linux File-Backed Storage
    [ 148.158871] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 148.164475] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)


    Other side:
    sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    sd 0:0:0:0: [sda] Write Protect is on
    sd 0:0:0:0: [sda] Mode Sense: 0f 00 80 00
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: Device offlined - not ready after error recovery
    sd 0:0:0:0: [sda] Unhandled error code
    sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
    sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
    end_request: I/O error, dev sda, sector 0
    Buffer I/O error on device sda, logical block 0
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sda: unable to read partition table
    sd 0:0:0:0: [sda] Attached SCSI removable disk

    Thanks again!
    Mike

  • Michael Austin said:
    Thank you! I was stuck for a while, but I feel like we are getting somewhere again!

    Well, I don't have this kinda good feeling about your case though. The log tells the usb communication fails even in full-speed mode, which has less restriction on signals than high-speed. And your case is not easy to hook up test equipments since the device is directly connected to host.

    If you see 'gadget: full-speed config #1: Linux File-Backed Storage' multiple times in the device log, or 'reset full speed USB device using sduh-ohci and address 2' in the host log, that tells the host failed to enumerate the usb device (mostly due to data corruption) and kept reset the device to start over.

  • Michael,

    I'd like you to do a test to verify a timing.

    In normal usb connection, the DP/DM lines are connected after VBUS/GND connected, but in your project, DP/DM are always connected, I am wondering if this could have timing issue. Please do the following test to simulate DP/DM connection after VBUS.

    First rebuild the kernel with the following code change in otg_timer() in drivers/usb/musb/ti81xx.c - comment out Line 772-776 to not toggle the SESSION bit.

     769                 if ((devctl & MUSB_DEVCTL_VBUS) == MUSB_DEVCTL_VBUS)
     770                         break;
     771 
     772 /*              if ((devctl & MUSB_DEVCTL_SESSION) &&*/
     773 /*                              !(devctl & MUSB_DEVCTL_BDEVICE))*/
     774 /*                      devctl &= ~MUSB_DEVCTL_SESSION;*/
     775 /*              else*/
     776 /*                      devctl |= MUSB_DEVCTL_SESSION;*/
     777 
     778                 mod_timer(&musb->otg_workaround,
     779                                 jiffies + POLL_SECONDS * HZ);
     780                 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl);
    

    Then

    - boot am335x, before turn on vbus, do 'devmem2 0x47401401 b 0x80'

    - cat /proc/driver/musb_hdrc.0

    - turn on vbus

    - devmem2 0x47401401 b 0xc0

    - cat /proc/driver/musb_hdrc.0

    Check if the enumeration passes, and get the log on both sides.

  • The HW engineer and I are going to set things up to look at the communications this afternoon. We had looked at it earlier, before forcing full-speed. The communications looked fine, but it was hard to really get a feel for timing. Hopefully it will be more consistent without the speed negotiation.


    /proc/driver/musb_hdrc.0: after devmem2 0x80 write:

    Status: MHDRC, Mode=Peripheral (Power=80, DevCtl=80)
    OTG state: b_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
    Gadget driver: g_mass_storage

    ep0 (hw0): 1buf, csr 0000 maxp 0000
    (queue empty)

    /proc/driver/musb_hdrc.0: after devmem2 0xc0 write:
    Status: MHDRC, Mode=Peripheral (Power=c0, DevCtl=99)
    OTG state: b_peripheral; active
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
    Gadget driver: g_mass_storage

    ep0 (hw0): 1buf, csr 0000 maxp 0000
    (queue empty)

    ep1in (hw1): 1buf dma, csr 2404 maxp 0040
    TX DMA0: 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    (queue empty)

    ep1out (hw1): 1buf dma, csr 2000 maxp 0040
    RX DMA0: 2 left, 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    req ce047650, -821075736/-816994176

    AM335x log (168 seconds is when I set the 0xc0 bits):
    [ 15.203651] Disabling lock debugging due to kernel taint
    [ 17.135617] gadget: Mass Storage Function, version: 2009/09/11
    [ 17.141649] gadget: Number of LUNs=1
    [ 17.145411] lun0: LUN: removable file: /dev/mmcblk0p1
    [ 17.150648] gadget: Mass Storage Gadget, version: 2009/09/11
    [ 17.156482] gadget: userspace failed to provide iSerialNumber
    [ 17.162404] gadget: g_mass_storage ready
    [ 17.166470] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [ 17.171907] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
    [ 17.179512] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [ 17.186389] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 17.193698] usb usb2: Product: MUSB HDRC host driver
    [ 17.198709] usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
    [ 17.204077] usb usb2: SerialNumber: musb-hdrc.0
    [ 17.209303] hub 2-0:1.0: USB hub found
    [ 17.213143] hub 2-0:1.0: 1 port detected
    [ 34.277629] musb-hdrc musb-hdrc.0: remove, state 1
    [ 34.282581] usb usb2: USB disconnect, device number 1
    [ 34.288349] musb-hdrc musb-hdrc.0: USB bus 2 deregistered
    [ 37.341160] gadget: Mass Storage Function, version: 2009/09/11
    [ 37.347227] gadget: Number of LUNs=1
    [ 37.350942] lun0: LUN: removable read only file: /EncoderBootImage/EncoderBackingFile
    [ 37.358983] gadget: Mass Storage Gadget, version: 2009/09/11
    [ 37.364822] gadget: g_mass_storage ready
    [ 37.368922] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [ 37.374359] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
    [ 37.381944] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    [ 37.388826] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 37.396133] usb usb2: Product: MUSB HDRC host driver
    [ 37.401140] usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
    [ 37.406515] usb usb2: SerialNumber: musb-hdrc.0
    [ 37.411716] hub 2-0:1.0: USB hub found
    [ 37.415554] hub 2-0:1.0: 1 port detected
    [ 168.537653] gadget: full-speed config #1: Linux File-Backed Storage
    [ 170.046728] gadget: full-speed config #1: Linux File-Backed Storage
    [ 170.436740] gadget: full-speed config #1: Linux File-Backed Storage
    [ 200.963533] gadget: full-speed config #1: Linux File-Backed Storage
    [ 201.293512] gadget: full-speed config #1: Linux File-Backed Storage
    [ 207.620469] gadget: full-speed config #1: Linux File-Backed Storage
    [ 207.960459] gadget: full-speed config #1: Linux File-Backed Storage
    [ 208.290451] gadget: full-speed config #1: Linux File-Backed Storage

    Other side:

    hub 1-0:1.0: unable to enumerate USB device on port 1
    usb 2-1: new full speed USB device using sduh-ohci and address 2
    usb 2-1: not running at top speed; connect to a high speed hub
    usb 2-1: New USB device found, idVendor=0525, idProduct=a4a5
    usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
    usb 2-1: Product: 2
    usb 2-1: Manufacturer: 1
    usb 2-1: SerialNumber: 1
    usb-storage 2-1:1.0: Quirks match for vid 0525 pid a4a5: 10000
    scsi0 : usb-storage 2-1:1.0
    scsi 0:0:0:0: Direct-Access Linux File-CD Gadget 0316 PQ: 0 ANSI: 2
    sd 0:0:0:0: Attached scsi generic sg0 type 0
    sd 0:0:0:0: [sda] 131072 512-byte logical blocks: (67.1 MB/64.0 MiB)
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
    sd 0:0:0:0: [sda] Assuming drive cache: write through
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    usb 2-1: reset full speed USB device using sduh-ohci and address 2
    sd 0:0:0:0: Device offlined - not ready after error recovery
    sd 0:0:0:0: [sda] Unhandled error code
    sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
    sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
    end_request: I/O error, dev sda, sector 0
    Buffer I/O error on device sda, logical block 0
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sd 0:0:0:0: rejecting I/O to offline device
    sda: unable to read partition table
    sd 0:0:0:0: [sda] Attached SCSI removable disk

         Finally, a strange discovery - and not easily repeated. After running the above dumps, I went ahead and enabled the previous verbose debug prints you had me enable before - just to see if there was any additional informate to gleen. Everything looked the same, except for ONE interrupt:
    [ 386.381157] musb-hdrc musb-hdrc.0: usbintr (0) epintr(20000)

         My understanding is that the interrupt reported is for end point 20000, which shouldn't even exist (configured for 16 endpoints). Does this give any additional information/hints?

         Is there a chance that it would help if we put a (fake) usb hub inline for the next spin? Not a physical attach/detach point, but just a small hub chip to emulate some electrical space/latency? It wouldn't make sense on our project to actually have a physical USB attachment point.  

    Thank you so much for your help, I had been stuck for the last week.
    Mike

  • Good Morning!

    The HW engineer hooked up his oscilloscope to the usb lines as a differential pair.  When VBUS is raised, the signaling looks good.  Every 1 ms we get a message on the line that decodes to an SOF.   He is very confident that there are no signaling issues.  We haven't been able to capture longer messages with a response from the AM335x, but we will keep looking into it.

    Are there any conditions that would cause a reset other than signal integrity problems that wouldn't be visible on a bus capture?  Are there any kernel/gadget module settings that may impact timing enough to force resets?  (I'm currently at the end of my USB knowledge, so please excuse my grasping at straws :) )

    Thanks again!

    Mike

  • Michael Austin said:
    [ 37.411716] hub 2-0:1.0: USB hub found
    [ 37.415554] hub 2-0:1.0: 1 port detected
    [ 168.537653] gadget: full-speed config #1: Linux File-Backed Storage
    [ 170.046728] gadget: full-speed config #1: Linux File-Backed Storage
    [ 170.436740] gadget: full-speed config #1: Linux File-Backed Storage
    [ 200.963533] gadget: full-speed config #1: Linux File-Backed Storage
    [ 201.293512] gadget: full-speed config #1: Linux File-Backed Storage
    [ 207.620469] gadget: full-speed config #1: Linux File-Backed Storage
    [ 207.960459] gadget: full-speed config #1: Linux File-Backed Storage
    [ 208.290451] gadget: full-speed config #1: Linux File-Backed Storage

    I guess after here, no more message like 'gadget: full-speed ...' on am335x console, right? If so this should be a good thing. ;)

    Michael Austin said:

    Other side:

    ...
    sda: unable to read partition table
    sd 0:0:0:0: [sda] Attached SCSI removable disk

    It looks it enumerated correctly. After here, can you mount the sda drive - 'mount /dev/sda <mount_point>'? Assuming on am335x side, /dev/mmcblk0p1 is already formated.

    Michael Austin said:
    Everything looked the same, except for ONE interrupt:
    [ 386.381157] musb-hdrc musb-hdrc.0: usbintr (0) epintr(20000)

    This message does not tell anything wrong, 'bit17 of epintr = 1' means EP1_RX interrupt happened. Please look at AM335x TRM Section 16.5.2.7 for detail of USB0IRQSTAT0, which is epintr pointing to.

    I will talk to our USB hw expert on the thought of usb hub.

  • I agree it looks like it enumerated. However, there are several errors indicated during the process (DID_ABORT, sda: unable to read partition table, etc). Also, mounting does not work. After running the mount command the terminal waits for several seconds, and reports

    "mount: mounting /dev/sda on /mnt failed: No such device or address"

    At this point, the AM335x is no longer getting any kernel messages. It appears that the device just stopped responding. There's no disconnect, the usb registers look ok (DEVCTL = 99, etc).

    AM335x:
    Status: MHDRC, Mode=Peripheral (Power=c0, DevCtl=99)
    OTG state: b_peripheral; active
    Options: ?dma?, otg (peripheral+host), [eps=16]
    Peripheral address: 00
    Root port status: 00000100
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=280de80 rxena=0
    Gadget driver: g_mass_storage

    ep0 (hw0): 1buf, csr 0000 maxp 0000
    (queue empty)

    ep1in (hw1): 1buf dma, csr 2000 maxp 0040
    TX DMA0: 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    (queue empty)

    ep1out (hw1): 1buf dma, csr 2000 maxp 0040
    RX DMA0: 2 left, 00000000 00000000, 00000000 00000000; 00000000 00000000 00000000 .. 00000000
    req cf431ed0, -821075736/-814865280


    We wired the USB0 port up to a USB cable and plugged it into a windows machine, and Windows discovered and enumerated the device, however when trying to get information about it explorer/device manager hung until we unplugged the cable (or a really long timeout in which case it just "disappeared").

    It seems like after enumeration, the gadget just stops processing/responding.

    We also wired up the USB cable on the processor the AM335x is connected to, and connected a standard thumb drive. It came up and mounted without issue.

    Do you know of any power/suspend states that could be entered without the host side being aware of it? The only thing I can think of right now is that the gadget goes to sleep, and the host is never aware that it needs to wake it up, and therefore thinks that there is a time out?

    Any ideas?

    I apologize for the rambling. Thank you!
    Mike

  • Michael,

    Michael Austin said:

    I agree it looks like it enumerated. However, there are several errors indicated during the process (DID_ABORT, sda: unable to read partition table, etc). Also, mounting does not work.

    I am not sure about DID_ABORT, but 'unable to read partition table' is fine since I believe /dev/mmcblk0p1 on am335x side is not partitioned.

    One thing I forgot is that the DMA mode in full-speed has issue in g_mass_storage gadget, so I would like you to run one more test in full-speed mode before we move to other directions, which is to disable CPPI DMA in am335x kernel. So the test is

    - rebuild the am335x kernel with CPPI DMA disabled, in menuconfig:

    Device Drivers  --->
        [*] USB support  --->
            [*]     Disable DMA (always use PIO)

    - boot am335x, before turn on vbus, do 'devmem2 0x47401401 b 0x80'

    - turn on vbus, then do 'devmem2 0x47401401 b 0xc0'

    - on another side try to 'mount /dev/sda /mnt'

    Please get the log of both sides.

    Michael Austin said:
    We wired the USB0 port up to a USB cable and plugged it into a windows machine, and Windows discovered and enumerated the device, however when trying to get information about it explorer/device manager hung until we unplugged the cable (or a really long timeout in which case it just "disappeared").

    Since you are able to wire to a usb port, it would be really helpful if you hoop up a USB protocol analyzer to capture the usb packets, do you have a analyzer?

    Michael Austin said:
    We also wired up the USB cable on the processor the AM335x is connected to, and connected a standard thumb drive. It came up and mounted without issue.

    Is this on USB1 of am335x? Is the drive enumerated as high-speed device?

    all of these info seems telling here has no signal integrity issue, but still too early to conclude...

    Michael Austin said:
    Do you know of any power/suspend states that could be entered without the host side being aware of it? The only thing I can think of right now is that the gadget goes to sleep,

    I don't think it is the case, but we can enable some debug to check the status of both the driver state machine and the controller. But please do the full-speed PIO mode test first as I mentioned above, then we will go from there.

  • Thank you SO much.  This combination of kernel, forcing full speed, delayed session start, and forced PIO instead of DMA seems to work.  It's really slow, but I think that can be worked around for now.  I'll try to post again to let any future readers know the minimal set of changes that would get this to work, as well as anything else that may be related.

    Thanks again, your support has been stellar!

    Mike

  • Mike,

    Great you got the usb working in full-speed PIO mode. To confirm if there is a signal integrity problem can you please test high-speed PIO mode?

    - use the same kernel image in the last test to boot am335x, before turn on vbus, do 'devmem2 0x47401401 b 0x80'

    - turn on vbus, then do 'devmem2 0x47401401 b 0xe0'     <--- here is the difference, last test was 0xc0

    Then if /dev/sda cannot be mounted on host side, please collect the logs from both side.

  • Actually, it may be that getting highspeed working is a higher priority than I thought.  It looks like u-boot on the other processor currently only has an EHCI driver built in and doesn't communicate with full speed.  

    I was not able to mount in high speed mode, and the output looks the same to what was happening in the high-speed DMA configuration. I enabled the extra debug prints, in case they would help.

    AM335X :
    [ 447.100858] musb-hdrc musb-hdrc.0: usbintr (1) epintr(0)
    [ 447.250856] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 447.569139] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.574515] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 447.581189] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.586737] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.592103] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.597652] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 447.669083] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.674460] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 447.681134] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.686682] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.692042] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.697582] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 447.769082] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.774448] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 447.781131] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.786690] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.792057] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.797595] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 447.969080] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.974453] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 447.981133] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.986681] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 447.992043] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 447.997580] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 448.168824] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.174198] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.180874] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.268726] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.274097] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.280779] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.368817] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.374188] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.380864] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.468690] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.474058] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.480731] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.568534] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.573901] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.580584] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.586135] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.591500] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.597039] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 448.668820] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.674186] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.680864] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.768430] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.773798] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 448.780481] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.786037] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 448.791402] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 448.796943] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 449.168182] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.173549] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 449.180224] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.185775] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.191139] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.196673] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 449.268188] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.273557] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 449.280243] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.285790] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.291149] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.296685] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 449.468935] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.474306] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 449.480981] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.568067] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.667865] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.673230] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 449.767809] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 449.773177] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 449.779773] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 449.872286] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 450.297508] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.302879] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 450.309565] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.397712] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.403098] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 450.409774] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.497376] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.502712] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 450.509359] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.514883] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.520217] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.525731] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 450.597314] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.602651] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 450.609289] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.897182] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.902523] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 450.909163] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.914680] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 450.920013] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 450.925528] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 450.997178] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 451.002553] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 451.009231] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 451.596920] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 451.602290] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 451.608964] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 451.696813] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 451.702156] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 451.708804] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 451.714325] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 451.719660] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 451.725170] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 452.096798] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 452.102177] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 452.108857] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 452.296555] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 452.301895] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 452.308533] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 452.314052] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 452.319392] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 452.324901] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 452.396229] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 452.401565] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 452.408207] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 452.500893] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 452.730518] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 452.945900] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 452.951243] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 452.957879] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.145906] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.151247] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 453.157887] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.245736] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.251076] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 453.257752] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.345643] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.350982] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 453.358052] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.363570] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.368898] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.374408] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 453.446039] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.451377] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 453.458457] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.463971] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.469303] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.474818] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 453.745403] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.750744] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 453.757824] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 453.945276] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 453.950613] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 453.957686] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 454.045402] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 454.050772] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 454.057891] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 454.445408] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 454.450752] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 454.457831] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 454.463351] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 454.468687] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 454.474192] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 454.846027] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 454.851371] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 454.858454] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 455.144647] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 455.150014] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 455.157129] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 455.245026] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 455.344437] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 455.349777] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 455.444451] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 455.449805] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 455.456363] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 455.461884] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 455.467219] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 455.472725] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 455.748627] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 456.274151] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.373829] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.379174] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 456.386255] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.391784] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.397114] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.402628] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 456.473895] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.479242] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 456.486321] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.491836] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.497179] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.502682] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 456.573758] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.579098] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 456.586175] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.773635] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.778970] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 456.786052] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.973637] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.979010] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 456.986128] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 456.991700] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 456.997072] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.002618] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.173768] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.179111] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.186191] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.191716] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.197059] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.202571] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.273884] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.279225] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.286301] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.291820] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.297158] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.302664] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.373511] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.378852] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.385931] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.391445] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.396778] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.402298] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.473345] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.478681] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.485760] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.491283] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.496614] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.502126] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.573134] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.578475] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.585559] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.591076] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.596410] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.601918] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.673249] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.678586] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.685668] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.873001] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.878340] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 457.885409] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.890927] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 457.896261] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 457.901765] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 457.977728] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 458.207108] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 460.445866] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0)
    [ 460.761502] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 460.766852] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 460.773494] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 460.779013] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 460.784346] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?
    [ 460.789857] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000
    [ 461.260998] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 461.360806] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 461.366147] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 461.373161] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1)
    [ 463.082800] musb-hdrc musb-hdrc.0: usbintr (1) epintr(0)

    Other side:

    usb 1-1: new high speed USB device using sduh-ehci and address 2
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 3
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 4
    usb 1-1: device not accepting address 4, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 5
    usb 1-1: device not accepting address 5, error -71
    hub 1-0:1.0: unable to enumerate USB device on port 1

    Thanks!

    Mike

  • Mike,

    Michael Austin said:
    [ 447.574515] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 447.581189] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ?

    This seems like signal integrity problem since full-speed works. I will talk to our usb hw expert about how to investigate it.

    You mentioned you have wired usb receptacle and also hooked up a scope. Do you have a usb protocol analyzer to hook up and capture a trace? Even a logic analyzer would be helpful.

    By the way, it should not matter at the stage, but to make the debug step by step, can you please use PIO mode for high-speed debug? Probably the PIO mode provides enough throughput in your final product since uboot on the host side normally does not handle DMA. But we could work on DMA later once we get high-speed working in PIO mode.

  • Yes, we are going to focus on PIO functionality right now.  I agree throughput is a minor concern: we support only one large transfer at boot time, and it is just a couple MBs.  Faster would help boot time, but not a "have to have".

    The "SETUP packet len 10 != 8" message is very strange to me. Normally, I would expect a short message when there is an error.   

    I walked through manually reading the registers (0x47401418, indexed to 0), and it did report 0x0A bytes. (It seems odd to me that the driver didn't consume these bytes after an error, so I may be misinterpreting the registers.)

    Manually reading from the fifo (0x47401420) gives the following bytes: 0x00 0x05 0x2d 0x00 0x00 0x00 0x00 0x00 0x4B 0x15

    If I read from the register using the w option, then the count register wraps back to 0x7E (which seems wrong), thus I read bytewise. However, word wise:
    0x00110500 0x00000000 0x6545154b

    If it is useful, 0x6545 is the idProduct number I set in the gadget, and 0x154b is the idVender.


    We don't have a usb analyzer, and the HW engineer has told me the logic analyzer we have is too slow. We may end up getting something soon, but we don't have any available right now.

    Mike

  • Michael Austin said:
    The "SETUP packet len 10 != 8" message is very strange to me. Normally, I would expect a short message when there is an error.

    This is a USB SETUP packet, which should have exact 8 bytes data as defined in the Specs. For some reason, MUSB received 10 bytes from the fifo, so the error.

  • Bin Liu said:

    The "SETUP packet len 10 != 8" message is very strange to me. Normally, I would expect a short message when there is an error.

    This is a USB SETUP packet, which should have exact 8 bytes data as defined in the Specs. For some reason, MUSB received 10 bytes from the fifo, so the error.

    [/quote]

    I'm sorry, I meant that I would have expected a 0/4 byte packet instead of a 10 byte packet.  There are almost no mentions of 10 byte setup messages, searching through Google.

    Mike

  • Mike,

    Please apply the patch below (also attached) and run the high-speed test multiple times. I want to see if 10-byte SETUP packet always has the same data.

    diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
    index 3e9ec7c..5cbeced 100644
    --- a/drivers/usb/musb/musb_gadget_ep0.c
    +++ b/drivers/usb/musb/musb_gadget_ep0.c
    @@ -812,8 +812,23 @@ setup:
                            int                     handled = 0;
     
                            if (len != 8) {
    +                               u8 *t;
    +                               int idx;
    +
                                    ERR("SETUP packet len %d != 8 ?\n", len);
    -                               break;
    +
    +                               t = kzalloc(len, GFP_KERNEL);
    +                               if (t) {
    +                                       musb->ops->read_fifo(&musb->endpoints[0],
    +                                               len, t);
    +                                       for (idx = 0; idx < len; idx++)
    +                                               printk("%02x ", t[idx]);
    +                                       printk("\n");
    +                                       kfree(t);
    +                               }
    +
    +                               musb->ackpend = MUSB_CSR0_P_SVDRXPKTRDY;
    +                               goto stall;
                            }
                            musb_read_setup(musb, &setup);
                            retval = IRQ_HANDLED;
    

    diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
    index 3e9ec7c..5cbeced 100644
    --- a/drivers/usb/musb/musb_gadget_ep0.c
    +++ b/drivers/usb/musb/musb_gadget_ep0.c
    @@ -812,8 +812,23 @@ setup:
     			int			handled = 0;
     
     			if (len != 8) {
    +				u8 *t;
    +				int idx;
    +
     				ERR("SETUP packet len %d != 8 ?\n", len);
    -				break;
    +
    +				t = kzalloc(len, GFP_KERNEL);
    +				if (t) {
    +					musb->ops->read_fifo(&musb->endpoints[0],
    +						len, t);
    +					for (idx = 0; idx < len; idx++)
    +						printk("%02x ", t[idx]);
    +					printk("\n");
    +					kfree(t);
    +				}
    +
    +				musb->ackpend = MUSB_CSR0_P_SVDRXPKTRDY;
    +				goto stall;
     			}
     			musb_read_setup(musb, &setup);
     			retval = IRQ_HANDLED;
    

  • Below is the dmesg output.  However, one strange behavior our HW guy discovered:  He modified one of the boards to output the USB lines to his PC.  When he plugs it in with High-speed enabled, Windows simply prints "unrecognized device", and the AM335x just prints it's normal "File backed storage" output.  However, if he plugs a hub into the PC at the same time as he plugs in the AM335x to the hub, he gets the "SETUP packet len 10 != 8" error.  I don't know if this gives any additional information, but it is strange.

    Now, for the requested output:

    AM335x side:

    [ 189.082917] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 189.089618] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 189.095157] 80 06 98 04 00 00 80 00 d1 86
    [ 189.382671] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 189.389800] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 189.395337] 80 06 00 01 00 00 40 00 4b 15
    [ 189.399527] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 189.482775] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 189.489898] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 189.495442] 80 06 98 04 00 00 80 00 4b 15
    [ 189.582715] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 189.589314] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 189.594855] 80 66 e6 02 00 00 80 00 4b 15
    [ 189.599045] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 190.582460] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 190.589150] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 190.594689] 80 06 00 01 00 00 40 00 4b 15
    [ 190.882363] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 190.888969] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 190.894505] 80 06 00 01 00 00 40 00 4b 15
    [ 190.898687] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 190.982338] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 190.989018] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 190.994556] 80 06 00 01 00 00 40 00 4b 15
    [ 191.182768] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 192.112140] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 192.212274] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.218866] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.224412] 80 06 00 01 00 00 40 00 4b 15
    [ 192.512142] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.518738] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.524278] 80 06 00 01 00 00 40 00 4b 15
    [ 192.612124] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.618711] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.624250] 80 06 98 04 00 00 80 00 4b 15
    [ 192.712390] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.718986] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.724521] 80 06 00 01 00 00 40 00 4b 15
    [ 192.812134] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.911931] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 192.919048] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.924583] 80 06 00 01 00 00 40 00 4b 15
    [ 193.212015] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 193.218690] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 193.224221] 80 06 00 01 00 00 40 00 4b 15
    [ 193.228406] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 193.312137] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 193.318823] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 193.324366] 80 06 98 04 00 00 80 00 4b 15
    [ 193.412002] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 193.419128] musb_g_ep0_irq 818: SETUP packet len 0 != 8 ?
    [ 193.424566]
    [ 194.011997] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 194.111754] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 194.118342] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.123875] 80 06 00 01 00 00 40 00 4b 15
    [ 194.212005] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 194.761746] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 194.768421] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.773953] 80 06 00 01 00 00 40 00 4b 15
    [ 194.861512] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 194.868095] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.873629] 80 06 00 01 00 00 40 00 4b 15
    [ 194.877821] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 194.961747] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 194.968431] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.973968] 80 06 00 01 00 00 40 00 4b 15
    [ 195.161615] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 195.168697] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.174198] 80 06 00 01 00 00 40 00 4b 15
    [ 195.178364] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 195.261492] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 195.461411] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 195.468546] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.474082] 80 06 00 01 00 00 40 00 4b 15
    [ 195.478279] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 195.761741] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 195.961490] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 195.968079] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.973613] 80 06 00 01 00 00 40 00 4b 15
    [ 196.261358] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 196.361359] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 196.368478] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 196.374018] 80 06 00 01 00 00 40 00 80 06
    [ 196.461174] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 196.661230] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 196.761241] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 196.991242] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 196.997922] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 197.003460] 80 06 00 01 00 00 40 00 4b 15
    [ 197.591110] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 197.598225] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 197.603757] 80 06 00 01 00 00 40 00 4b 15
    [ 197.791227] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 197.798346] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 197.803876] 80 06 00 01 00 00 40 00 4b 15
    [ 197.808065] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 198.291730] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 198.298413] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.303950] 80 06 00 01 00 00 40 00 4b 15
    [ 198.590984] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 198.597576] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.603112] 80 06 00 01 00 00 40 00 4b 15
    [ 198.607300] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 199.090729] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 199.097373] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.102874] 80 06 00 01 00 00 40 00 4b 15
    [ 199.190600] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 199.197203] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.202736] 80 06 00 01 00 00 40 00 4b 15
    [ 199.641091] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 199.647776] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.653308] 00 05 04 00 00 00 00 00 4b 15
    [ 199.657486] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 199.840970] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 199.847624] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.853135] 00 65 22 00 00 00 00 00 4b 15
    [ 199.940452] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 201.680342] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status

    Other side:

    usb 1-1: new high speed USB device using sduh-ehci and address 2
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 3
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 4
    usb 1-1: device not accepting address 4, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 5
    usb 1-1: device not accepting address 5, error -71
    hub 1-0:1.0: unable to enumerate USB device on port 1

    Mike

  • I apologize, I missed the request for multiple iterations.  Heres the output of several more:

    [ 1061.897213] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1061.903899] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1061.909436] 80 06 00 01 00 00 40 00 4b 15
    [ 1063.097579] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1063.104710] musb_g_ep0_irq 818: SETUP packet len 6 != 8 ?
    [ 1063.110158] 80 06 00 01 00 00
    [ 1063.113280] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1063.297088] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1063.303775] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1063.309312] 80 06 00 01 00 00 40 00 4b 15
    [ 1063.313497] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1063.396888] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1063.403568] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1063.409104] 80 06 00 01 00 00 40 00 4b 15
    [ 1063.413294] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1063.597190] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1063.927067] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1063.933750] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1063.939288] 80 06 00 01 00 00 40 00 4b 15
    [ 1063.943474] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1064.226819] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1064.233465] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1064.238964] 80 06 00 01 00 00 40 00 4b 15
    [ 1064.243136] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1064.426781] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1064.433463] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1064.439005] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1064.443191] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1064.526682] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1064.533792] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1064.539327] 80 06 00 01 00 00 40 00 4b 15
    [ 1064.826811] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1064.833399] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1064.838941] 80 06 00 01 00 00 40 00 4b 15
    [ 1065.026929] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1065.226562] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1065.233156] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1065.238700] 80 06 00 01 00 00 40 00 4b 15
    [ 1065.426477] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1065.433084] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1065.438619] 80 06 00 01 00 00 40 00 4b 15
    [ 1065.526439] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1065.533047] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1065.538581] 80 06 00 01 00 00 40 00 4b 15
    [ 1065.726552] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1065.826364] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1066.126549] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1066.326431] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1066.333022] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1066.338556] 80 06 00 01 00 00 40 00 4b 15
    [ 1067.406422] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1067.413109] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1067.418645] 80 06 00 01 00 00 40 00 4b 15
    [ 1067.806045] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1067.812646] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1067.818182] 80 06 00 01 00 00 40 00 4b 15
    [ 1067.822374] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1068.005905] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1068.205856] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1068.212985] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1068.218525] 80 06 00 01 00 00 40 00 4b 15
    [ 1068.222712] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1068.406294] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1068.412970] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1068.418508] 80 06 00 01 00 00 40 00 4b 15
    [ 1068.606286] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1068.612880] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1068.618413] 80 06 98 04 00 00 80 00 4b 15
    [ 1068.805778] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1069.005783] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1069.012377] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1069.017908] 80 06 00 01 00 00 40 00 4b 15
    [ 1069.105912] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1069.112502] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1069.118040] 80 06 00 01 00 00 40 00 4b 15
    [ 1069.205775] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1069.212891] musb_g_ep0_irq 818: SETUP packet len 4 != 8 ?
    [ 1069.218334] 80 06 00 01
    [ 1069.220912] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1069.305775] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1069.312885] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1069.318419] 80 06 00 01 00 00 40 00 4b 15
    [ 1069.322600] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1069.835513] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1070.035534] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1070.042131] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1070.047667] 80 06 00 01 00 00 40 80 4b 15
    [ 1070.235428] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1070.242023] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1070.247557] 80 06 00 01 00 00 40 00 4b 15
    [ 1070.436035] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1070.635340] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1070.641943] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1070.647477] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1070.935766] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1070.942881] musb_g_ep0_irq 818: SETUP packet len 0 != 8 ?
    [ 1070.948325]
    [ 1070.949844] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1071.035513] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1071.135519] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1071.235215] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1071.435187] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1071.441780] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1071.447314] 80 06 00 01 00 00 40 00 4b 15
    [ 1071.535385] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1071.635212] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1071.641800] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1071.647334] 80 06 00 01 00 00 40 00 80 06
    [ 1071.651520] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1071.735098] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1071.835263] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1071.842376] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1071.847913] 80 06 00 01 00 00 40 00 4b 15
    [ 1071.935882] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1072.035264] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1072.041864] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1072.047396] 80 06 00 01 00 00 40 00 4b 15
    [ 1075.124492] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 1085.232365] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1085.239059] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1085.244599] 80 06 00 01 cc 1a 80 00 4b 15
    [ 1085.432223] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1085.438816] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1085.444352] 80 06 00 01 00 00 40 00 4b 15
    [ 1085.532311] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1085.538906] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1085.544442] 80 06 00 01 00 00 40 00 4b 15
    [ 1085.632556] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1085.639147] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1085.644687] 80 06 00 01 00 00 40 00 80 06
    [ 1085.732119] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1085.832110] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1085.838785] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1085.844309] 80 06 00 01 00 00 40 00 4b 15
    [ 1086.132054] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1086.138650] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1086.144184] 80 06 00 01 00 00 40 00 4b 15
    [ 1086.148375] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1086.232288] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1086.732292] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1086.738887] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1086.744427] 80 06 18 39 00 00 80 00 4b 15
    [ 1086.832158] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1086.839274] musb_g_ep0_irq 818: SETUP packet len 0 != 8 ?
    [ 1086.844720]
    [ 1086.846236] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1086.932282] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1087.031844] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1087.261912] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1087.361775] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1087.368893] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1087.374428] 80 06 00 01 00 00 40 00 4b 15
    [ 1087.378616] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1087.761778] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1087.861682] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1087.868274] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1087.873807] 80 66 d6 02 00 00 80 00 4b 15
    [ 1087.877999] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1087.961646] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1087.968320] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1087.973854] 80 06 00 01 00 00 40 00 80 06
    [ 1088.061630] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1088.461550] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1088.468233] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1088.473766] 80 06 00 01 00 00 40 00 4b 15
    [ 1088.562559] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1088.569167] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1088.574704] 80 06 00 01 00 00 40 00 4b 15
    [ 1088.578894] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1088.661514] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1088.668197] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1088.673730] 80 06 00 01 00 00 40 00 4b 15
    [ 1088.761900] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1088.768499] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1088.774028] 80 06 00 01 00 00 40 00 4b 15
    [ 1088.861525] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1088.868122] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1088.873650] 80 06 00 01 00 00 40 00 4b 15
    [ 1088.877838] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1089.061408] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1089.068087] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1089.073614] 80 06 00 01 00 00 40 00 4b 15
    [ 1089.911355] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1089.918469] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1089.924006] 80 06 00 01 00 00 40 80 4b 15
    [ 1089.928201] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1090.111272] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1090.117957] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1090.123496] 80 06 00 01 00 00 40 00 4b 15
    [ 1090.211174] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1090.217769] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1090.223310] 80 06 00 01 00 00 40 00 4b 15
    [ 1090.511249] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1090.517859] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1090.523400] 80 06 00 01 00 00 40 00 4b 15
    [ 1090.527594] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1090.711150] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1090.717832] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1090.723373] 80 06 00 01 00 00 40 00 4b 15
    [ 1091.711008] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1091.717603] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1091.723146] 80 06 00 01 00 00 40 00 4b 15
    [ 1091.727336] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1091.811136] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1091.817825] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1091.823358] 80 06 00 01 00 00 40 00 4b 15
    [ 1092.110883] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1092.117451] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1092.122961] 80 06 00 01 00 00 40 00 4b 15
    [ 1092.740640] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1092.747328] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1092.752859] 80 06 00 01 00 00 40 00 4b 15
    [ 1092.840995] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1092.848123] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1092.853659] 80 06 00 01 00 00 40 00 4b 15
    [ 1092.940582] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1092.947173] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1092.952709] 80 06 00 01 00 00 40 00 4b 15
    [ 1093.040745] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1093.047338] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1093.052874] 80 06 00 01 00 00 40 00 4b 15
    [ 1093.057066] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1093.240540] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1093.247655] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1093.253192] 80 06 00 01 00 00 40 00 4b 15
    [ 1093.257378] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1093.440746] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1093.447424] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1093.452959] 80 06 00 01 00 00 40 00 4b 15
    [ 1093.540613] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1093.740492] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1093.747088] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1093.752626] 80 06 00 01 00 00 40 00 4b 15
    [ 1094.040433] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1094.047028] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1094.052563] 80 06 00 01 00 00 40 00 4b 15
    [ 1094.056760] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1094.140361] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1094.147041] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1094.152577] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1094.156768] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1094.440274] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1094.446948] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1094.452488] 80 06 00 01 00 00 40 00 4b 15
    [ 1094.740611] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1094.747203] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1094.752738] 80 06 00 01 00 00 40 00 4b 15
    [ 1094.756926] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1095.490067] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 1095.497102] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1095.502640] 00 05 0c 00 00 00 00 00 4b 15
    [ 1095.506823] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1097.630345] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1097.637027] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1097.642566] 00 05 6d 0e 00 00 00 00 4b 15
    [ 1097.646767] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1105.867935] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1105.874627] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1105.880169] 80 06 00 01 00 00 40 00 4b 15
    [ 1105.967870] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1105.974468] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1105.980009] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1106.167924] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1106.174522] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1106.180060] 80 06 00 01 00 00 40 00 4b 15
    [ 1106.268155] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1106.368419] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1106.375007] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1106.380542] 80 06 00 01 00 00 40 00 4b 15
    [ 1106.467777] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1106.568037] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1106.575160] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1106.580691] 80 66 0e 02 00 00 80 00 4b 15
    [ 1106.584880] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1106.767775] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1106.867783] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1106.874382] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1106.879913] 80 06 00 01 00 00 40 00 4b 15
    [ 1106.968025] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1107.167585] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1107.174178] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1107.179718] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1107.568019] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1107.667447] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1107.674036] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1107.679566] 80 06 00 01 00 00 40 00 4b 15
    [ 1107.683756] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1107.767519] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1108.297653] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1108.304333] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1108.309872] 80 06 00 01 00 00 40 00 4b 15
    [ 1108.497525] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1108.504118] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1108.509660] 80 06 00 01 00 00 40 00 4b 15
    [ 1108.513847] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1108.697397] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1108.704081] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1108.709618] 80 06 00 01 00 00 40 00 4b 15
    [ 1108.797215] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1108.803808] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1108.809346] 80 06 00 01 00 00 40 00 4b 15
    [ 1109.197258] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1109.497065] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1109.503658] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1109.509198] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1109.597131] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1109.604246] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1109.609781] 80 06 00 01 00 00 40 00 4b 15
    [ 1109.613966] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1109.697505] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1109.897135] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1109.996966] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1110.097269] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1110.103862] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1110.109393] 80 06 00 01 00 00 40 00 4b 15
    [ 1110.396876] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1110.403475] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1110.409007] 80 06 00 01 00 00 40 00 4b 15
    [ 1111.046754] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1111.053890] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1111.059427] 80 06 00 01 00 00 40 00 4b 15
    [ 1111.063618] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1111.246759] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1111.253445] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1111.258977] 80 06 00 01 00 00 40 00 4b 15
    [ 1111.346747] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1111.353865] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1111.359403] 80 06 00 01 00 00 40 80 4b 15
    [ 1111.363586] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1111.646866] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1111.846878] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1111.853471] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1111.859014] 80 06 00 01 00 00 40 00 4b 15
    [ 1111.863204] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1111.946614] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1112.446739] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1112.546502] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1112.553092] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1112.558635] 80 06 00 01 00 00 40 00 4b 15
    [ 1112.646393] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1112.652988] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1112.658530] 80 06 00 01 00 00 40 00 4b 15
    [ 1112.746386] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1112.752985] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1112.758522] 80 06 00 01 00 00 40 00 4b 15
    [ 1112.846993] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1112.853590] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1112.859129] 80 06 00 01 00 00 40 00 4b 15
    [ 1112.946493] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1112.953092] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1112.958625] 80 66 d6 02 00 00 80 00 4b 15
    [ 1113.146289] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1113.152879] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1113.158416] 80 06 00 01 00 00 40 00 80 06
    [ 1113.246262] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1113.346248] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1113.352936] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1113.358471] 80 06 00 01 00 00 40 00 4b 15
    [ 1113.446229] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1113.452819] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1113.458355] 80 06 98 04 00 00 80 00 4b 15
    [ 1113.976112] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1113.982795] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1113.988330] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1114.176740] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1114.183343] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1114.188884] 80 06 00 01 00 00 40 00 4b 15
    [ 1114.376107] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1114.382700] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1114.388232] 80 06 00 01 00 00 40 00 4b 15
    [ 1114.392414] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1114.776097] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1114.783220] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1114.788758] 80 66 16 02 00 00 80 00 4b 15
    [ 1114.875930] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1114.882526] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1114.888064] 80 06 98 04 00 00 80 00 4b 15
    [ 1114.892255] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1115.176093] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1115.476233] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1115.575863] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1115.582460] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1115.587999] 80 06 00 01 00 00 40 00 4b 15
    [ 1115.592195] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1115.775734] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1115.976214] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1116.075966] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1116.825608] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1116.832297] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1116.837833] 00 05 10 00 00 00 00 00 00 05
    [ 1116.842019] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1116.925492] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1116.932177] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1116.937714] 00 05 90 59 03 00 00 00 4b 15
    [ 1117.025464] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1117.032060] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1117.037599] 00 05 10 00 00 00 00 00 00 05
    [ 1117.041785] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1117.125449] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1117.132128] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1117.137654] 00 05 10 00 00 00 00 00 00 05
    [ 1117.141847] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1117.225418] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1117.232111] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1117.237651] 00 05 10 00 00 00 00 00 00 05
    [ 1117.241834] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1117.325394] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1117.425369] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 1119.265071] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 1141.970305] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1142.070191] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1142.076786] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.082324] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1142.170112] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1142.176703] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.182233] 80 06 00 01 00 00 40 00 4b 15
    [ 1142.270172] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1142.276774] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.282314] 80 06 00 01 00 00 40 00 4b 15
    [ 1142.371174] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1142.377764] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.383306] 80 06 00 01 00 00 40 00 4b 15
    [ 1142.669998] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1142.677111] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.682654] 80 06 00 01 00 00 40 00 4b 15
    [ 1142.686844] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1142.869967] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1142.876647] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1142.882176] 80 06 00 01 00 00 40 00 4b 15
    [ 1143.369863] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1143.376459] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1143.381992] 80 66 e6 02 00 00 80 00 4b 15
    [ 1144.169917] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1144.176519] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1144.182056] 80 06 00 31 73 00 80 00 4b 15
    [ 1144.186244] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1144.499784] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1144.506471] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1144.512011] 80 e6 00 02 00 00 80 00 4b 15
    [ 1144.516197] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1144.599781] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1144.606469] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1144.612015] 80 06 00 01 00 00 40 00 4b 15
    [ 1145.299648] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1145.306239] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1145.311776] 80 06 00 01 00 00 40 00 4b 15
    [ 1145.399654] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1145.406247] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1145.411787] 80 06 00 01 00 00 40 00 4b 15
    [ 1145.500068] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1145.506669] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1145.512204] 80 06 00 01 00 00 40 00 4b 15
    [ 1145.599527] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1145.699355] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1145.706471] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1145.712009] 80 06 00 01 00 00 40 00 4b 15
    [ 1145.716213] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1145.899397] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1145.906084] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1145.911621] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1146.099516] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1146.106635] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1146.112173] 80 06 00 01 00 00 40 00 4b 15
    [ 1146.116361] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1146.199901] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1146.206584] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1146.212128] 80 06 00 01 00 00 40 00 4b 15
    [ 1146.299643] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1146.306230] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1146.311767] 80 06 00 01 00 00 40 00 4b 15
    [ 1146.499191] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1146.505790] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1146.511335] 80 06 00 01 00 00 40 00 4b 15
    [ 1147.049381] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1147.056501] musb_g_ep0_irq 818: SETUP packet len 2 != 8 ?
    [ 1147.061948] 80 06
    [ 1147.063996] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1147.649262] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1147.655950] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1147.661497] 80 06 00 01 00 00 40 00 4b 15
    [ 1147.949001] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1148.048872] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1148.055437] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1148.060941] 80 06 00 01 00 00 40 00 4b 15
    [ 1148.065106] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1148.748716] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1148.755392] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1148.760931] 80 06 00 01 00 00 40 00 80 06
    [ 1148.765119] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1148.848688] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1148.948742] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1149.248740] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1149.549570] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1149.556162] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1149.561704] 80 06 00 01 00 00 40 00 4b 15
    [ 1149.648618] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1149.978861] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1150.078622] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1150.085221] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1150.090764] 80 06 00 01 00 00 40 00 4b 15
    [ 1150.094953] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1150.778310] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1150.784997] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1150.790534] 80 06 00 01 00 00 40 00 4b 15
    [ 1150.794736] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1150.878863] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1151.078358] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1151.084954] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1151.090488] 80 06 00 01 00 00 40 00 4b 15
    [ 1151.478139] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1151.484738] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1151.490276] 80 06 00 01 00 00 40 00 4b 15
    [ 1151.494462] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1151.778107] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1151.878064] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 1152.078235] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1152.084831] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1152.090370] 80 06 00 01 00 00 40 00 4b 15
    [ 1152.778102] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1152.784700] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1152.790243] 80 06 00 01 cc 1c 80 00 4b 15
    [ 1152.794432] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1153.227895] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1153.234586] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1153.240132] 00 05 14 00 00 00 00 00 4b 15
    [ 1153.244322] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1153.327847] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1153.334533] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1153.340078] 00 05 14 00 00 00 00 00 4b 15
    [ 1153.344264] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1153.528094] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1153.534771] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1153.540302] 00 05 14 00 00 00 00 00 4b 15
    [ 1153.627971] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1153.634565] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1153.640098] 00 05 14 00 00 00 00 00 4b 15
    [ 1153.727670] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1153.734266] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 1153.739801] 00 05 14 00 00 00 00 00 00 05
    [ 1153.744002] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1154.037633] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 1154.137833] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 1154.144866] musb_g_ep0_irq 818: SETUP packet len 6 != 8 ?
    [ 1154.150317] 00 05 14 00 00 00
    [ 1154.153433] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 1155.067702] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status

  • Michael Austin said:
    When he plugs it in with High-speed enabled, Windows simply prints "unrecognized device"

    Are you able to connect it to a Linux PC to see what 'dmesg' command says on the PC?

    More importantly, can you please run another test and collect the both sides of the logs? In this test, please do command on am335x "echo 'file musb_gadget_ep0.c +p' > /sys/kernel/debug/dynamic_debug/control" before turn on vbus, I want to see the full log of the enumeration sequence on the device side.

  • Unfortunately, due to the debug set-up it would be difficult to connect a Linux PC shortly.  I will work on it, but it may not be until Monday.

    As requested, 3 iterations of bringing up the usb session:

    AM335x side:

    [ 133.675910] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 133.683298] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 133.689982] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 133.695522] 80 06 00 01 00 00 40 00 d0 82
    [ 133.699709] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.075640] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 134.082939] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 134.089531] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 134.095067] 80 06 00 01 00 00 40 00 d0 82
    [ 134.099241] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.275753] musb-hdrc musb-hdrc.0: csr 0011, count 8, myaddr 0, ep0stage idle
    [ 134.282971] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 134.289565] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 134.295729] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 134.302072] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 134.375450] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 134.383236] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 134.475663] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 134.482974] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 134.489569] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 134.495109] 80 06 00 01 00 00 40 00 25 05
    [ 134.499286] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.575629] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 134.582926] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 134.589517] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 134.595059] 80 06 00 01 00 00 40 00 25 05
    [ 134.599232] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.775367] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 134.782670] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 134.789266] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 134.794804] 80 06 00 01 00 00 40 00 25 05
    [ 134.798975] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.803308] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 134.875487] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 134.882875] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 134.889553] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 134.895093] 80 06 00 01 00 00 40 00 25 05
    [ 134.899270] musb-hdrc musb-hdrc.0: stall (0)
    [ 134.903596] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 135.175631] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 135.183013] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 135.189691] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 135.195220] 80 06 00 01 00 00 40 00 25 05
    [ 135.199395] musb-hdrc musb-hdrc.0: stall (0)
    [ 135.275260] musb-hdrc musb-hdrc.0: csr 0011, count 8, myaddr 0, ep0stage idle
    [ 135.282466] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 135.289052] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 135.295200] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 135.301532] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 135.307883] musb-hdrc musb-hdrc.0: csr 000a, count 0, myaddr 0, ep0stage out/status
    [ 135.375265] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 135.383042] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 135.390124] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 135.395627] 80 06 00 01 00 00 40 00 25 05
    [ 135.399776] musb-hdrc musb-hdrc.0: stall (0)
    [ 135.575198] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 135.582453] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 135.589005] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 135.594512] 80 66 0e 02 00 00 80 00 25 05
    [ 135.598666] musb-hdrc musb-hdrc.0: stall (0)
    [ 135.775240] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 135.782527] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 135.789117] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 135.794659] 80 66 0e 02 00 00 80 00 25 05
    [ 135.798832] musb-hdrc musb-hdrc.0: stall (0)
    [ 135.975117] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 135.982409] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 135.989000] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 135.994540] 80 06 00 01 00 00 40 00 25 05
    [ 135.998714] musb-hdrc musb-hdrc.0: stall (0)
    [ 136.003064] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 136.075501] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 136.082807] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 136.088962] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 136.095302] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 136.175071] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 136.182849] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 136.475114] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 136.482368] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 136.488928] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 136.494434] 80 66 d6 02 00 00 80 00 25 05
    [ 136.498589] musb-hdrc musb-hdrc.0: stall (0)
    [ 136.804991] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 136.812374] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 136.819054] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 136.824587] 80 06 00 01 00 00 40 00 25 05
    [ 136.828763] musb-hdrc musb-hdrc.0: stall (0)
    [ 136.833089] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 136.905620] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 136.912915] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 136.919067] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 136.925388] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 136.931734] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 137.004893] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 137.012674] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 137.019753] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 137.025255] 80 06 00 01 00 00 40 00 25 05
    [ 137.029410] musb-hdrc musb-hdrc.0: stall (0)
    [ 137.033719] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 137.104994] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 137.112373] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 137.119047] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 137.124587] 80 06 00 01 00 00 40 00 25 05
    [ 137.128759] musb-hdrc musb-hdrc.0: stall (0)
    [ 137.204847] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 137.212140] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 137.218727] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 137.224263] 80 06 00 01 00 00 40 00 25 05
    [ 137.228432] musb-hdrc musb-hdrc.0: stall (0)
    [ 137.404863] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 137.412071] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 137.418229] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 137.424558] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 137.430911] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 137.504868] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage out/status
    [ 137.512578] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 137.520363] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 137.527440] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 137.532947] 80 06 00 01 00 00 40 00 25 05
    [ 137.537102] musb-hdrc musb-hdrc.0: stall (0)
    [ 138.005002] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 138.012230] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 138.018381] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 138.024715] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 138.031078] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 138.604737] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage out/status
    [ 138.612488] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 138.620305] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 138.627416] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 138.632953] 80 06 00 01 00 00 40 00 25 05
    [ 138.637130] musb-hdrc musb-hdrc.0: stall (0)
    [ 138.704554] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 138.711854] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 138.718443] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 138.723979] 80 66 d6 02 00 00 80 00 25 05
    [ 138.728153] musb-hdrc musb-hdrc.0: stall (0)
    [ 139.204485] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 139.211702] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 139.217850] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 139.224180] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 139.230521] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 139.304484] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage out/status
    [ 139.404393] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 139.412223] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 139.419337] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 139.424874] 80 06 00 01 00 00 40 00 25 05
    [ 139.429050] musb-hdrc musb-hdrc.0: stall (0)
    [ 139.504415] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 139.511724] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 139.854718] musb-hdrc musb-hdrc.0: csr 0011, count 8, myaddr 0, ep0stage setup
    [ 139.862014] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 139.868698] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 139.874860] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 139.881197] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 139.887553] musb-hdrc musb-hdrc.0: csr 000a, count 0, myaddr 0, ep0stage out/status
    [ 139.954278] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 139.962107] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 140.154471] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 140.161688] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 140.167837] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 140.174182] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 140.180530] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 140.554147] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 140.561925] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 140.569008] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 140.574521] 80 06 00 01 00 00 40 00 25 05
    [ 140.578670] musb-hdrc musb-hdrc.0: stall (0)
    [ 140.854713] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 140.862012] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 140.868608] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 140.874143] 80 06 00 01 00 00 40 80 25 05
    [ 140.878316] musb-hdrc musb-hdrc.0: stall (0)
    [ 140.882642] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 141.054219] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 141.061608] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 141.068286] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 141.073825] 80 06 00 01 00 00 40 00 25 05
    [ 141.077999] musb-hdrc musb-hdrc.0: stall (0)
    [ 141.254012] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 141.261310] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 141.267902] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 141.273442] 80 06 00 01 00 00 40 00 25 05
    [ 141.277616] musb-hdrc musb-hdrc.0: stall (0)
    [ 141.654459] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 141.661758] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 141.668354] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 141.673889] 80 06 00 01 00 00 40 00 25 05
    [ 141.678062] musb-hdrc musb-hdrc.0: stall (0)
    [ 141.753905] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 141.761196] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 141.767782] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 141.773320] 80 06 00 01 00 00 40 00 25 05
    [ 141.777497] musb-hdrc musb-hdrc.0: stall (0)
    [ 141.954210] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 141.961421] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 141.967569] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 141.973900] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 142.053832] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 142.061614] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 142.068699] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 142.074208] 80 06 00 01 00 00 40 00 25 05
    [ 142.078360] musb-hdrc musb-hdrc.0: stall (0)
    [ 142.082663] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 142.383830] musb-hdrc musb-hdrc.0: csr 0011, count 0, myaddr 0, ep0stage setup
    [ 142.391092] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 142.397736] musb_g_ep0_irq 818: SETUP packet len 0 != 8 ?
    [ 142.403158]
    [ 142.404652] musb-hdrc musb-hdrc.0: stall (0)
    [ 142.583834] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 142.591015] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i1ccc l128
    [ 142.597228] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 142.603523] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 142.609833] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 142.684069] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 142.691886] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 142.699006] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 142.704542] 80 06 00 01 00 00 40 00 25 05
    [ 142.708717] musb-hdrc musb-hdrc.0: stall (0)
    [ 142.783694] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 142.790866] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 142.796984] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 142.803277] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 142.809587] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 143.283582] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 143.291403] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 143.298514] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 143.304050] 80 06 00 01 00 00 40 00 25 05
    [ 143.308225] musb-hdrc musb-hdrc.0: stall (0)
    [ 143.312557] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 143.583573] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 143.590961] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 143.597637] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 143.603175] 80 06 00 01 00 00 40 00 25 05
    [ 143.607354] musb-hdrc musb-hdrc.0: stall (0)
    [ 143.783496] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 143.790708] musb-hdrc musb-hdrc.0: SETUP req80.66 v020e i0000 l128
    [ 143.796945] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 143.803273] musb-hdrc musb-hdrc.0: stall (-95)
    [ 143.807775] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 143.814983] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 143.983431] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 143.990815] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 143.997493] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 144.003040] 80 06 00 01 00 00 40 00 25 05
    [ 144.007216] musb-hdrc musb-hdrc.0: stall (0)
    [ 144.183563] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 144.190853] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 144.197448] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 144.202988] 80 06 00 01 00 00 40 00 25 05
    [ 144.207165] musb-hdrc musb-hdrc.0: stall (0)
    [ 144.283381] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 144.290592] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 144.296743] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 144.303083] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 144.309438] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 144.383354] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 144.391135] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 144.398217] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 144.403727] 80 06 00 01 00 00 40 00 25 05
    [ 144.407879] musb-hdrc musb-hdrc.0: stall (0)
    [ 144.483725] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 144.491035] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 144.497629] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 144.503172] 80 66 0e 02 00 00 80 00 25 05
    [ 144.507353] musb-hdrc musb-hdrc.0: stall (0)
    [ 144.583567] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 144.590863] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 144.597455] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 144.602993] 80 06 00 01 00 00 40 00 25 05
    [ 144.607162] musb-hdrc musb-hdrc.0: stall (0)
    [ 144.611506] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 145.233570] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 145.240959] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 145.247645] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 145.253184] 00 05 04 00 00 00 00 00 25 05
    [ 145.257360] musb-hdrc musb-hdrc.0: stall (0)
    [ 145.261690] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 145.533125] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 145.540509] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 145.547184] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 145.552717] 00 05 04 00 00 00 00 00 25 05
    [ 145.556892] musb-hdrc musb-hdrc.0: stall (0)
    [ 145.561240] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 145.633115] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 145.640420] musb-hdrc musb-hdrc.0: SETUP req00.05 v0004 i0000 l0
    [ 145.646491] musb-hdrc musb-hdrc.0: handled 1, csr 0001, ep0stage in/status
    [ 145.653454] musb-hdrc musb-hdrc.0: csr 0018, count 0, myaddr 0, ep0stage in/status
    [ 145.833425] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage in/status
    [ 145.841155] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 145.848181] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 145.853720] 00 05 04 00 00 00 00 00 25 05
    [ 145.857897] musb-hdrc musb-hdrc.0: stall (0)
    [ 145.862230] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 4, ep0stage idle
    [ 147.372930] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 147.380322] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 147.386996] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 147.392528] 00 05 15 00 00 00 00 00 25 05
    [ 147.396704] musb-hdrc musb-hdrc.0: stall (0)
    [ 147.872676] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 147.879978] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 147.886562] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 147.892099] 00 05 05 73 00 00 00 00 25 05
    [ 147.896276] musb-hdrc musb-hdrc.0: stall (0)
    [ 147.972674] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 147.979883] musb-hdrc musb-hdrc.0: SETUP req00.05 v0005 i0000 l0
    [ 147.985953] musb-hdrc musb-hdrc.0: handled 1, csr 0001, ep0stage in/status
    [ 148.072568] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage in/status
    [ 148.080297] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 148.087331] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 148.092868] 00 05 05 00 00 00 00 00 25 05
    [ 148.097043] musb-hdrc musb-hdrc.0: stall (0)
    [ 148.101369] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 5, ep0stage idle
    [ 164.299466] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 164.306862] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 164.313537] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 164.319070] 80 06 00 01 00 00 40 00 25 05
    [ 164.323247] musb-hdrc musb-hdrc.0: stall (0)
    [ 164.599347] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 164.606660] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 164.613251] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 164.618786] 80 06 00 01 00 00 40 00 25 05
    [ 164.622960] musb-hdrc musb-hdrc.0: stall (0)
    [ 164.627295] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 164.999325] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 165.006636] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 165.012787] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 165.019122] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 165.025472] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 165.398969] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 165.406793] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 165.413906] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 165.419439] 80 06 00 01 00 00 40 00 25 05
    [ 165.423611] musb-hdrc musb-hdrc.0: stall (0)
    [ 165.427939] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 165.598919] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 165.606294] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 165.612969] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 165.618504] 80 06 98 04 00 00 80 00 25 05
    [ 165.622682] musb-hdrc musb-hdrc.0: stall (0)
    [ 165.698927] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 165.706220] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 165.712810] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 165.718338] 80 06 00 01 00 00 40 80 25 05
    [ 165.722507] musb-hdrc musb-hdrc.0: stall (0)
    [ 165.726854] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 165.898845] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 165.906228] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 165.912907] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 165.918448] 80 06 00 01 00 00 40 80 25 05
    [ 165.922621] musb-hdrc musb-hdrc.0: stall (0)
    [ 166.098925] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 166.106219] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 166.112811] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 166.118355] 80 66 0e 02 00 00 80 00 25 05
    [ 166.122533] musb-hdrc musb-hdrc.0: stall (0)
    [ 166.199430] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 166.206723] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 166.213305] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 166.218835] 80 06 00 01 00 00 40 00 25 05
    [ 166.223013] musb-hdrc musb-hdrc.0: stall (0)
    [ 166.528780] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 166.536072] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 166.542225] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 166.548560] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 166.554903] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 166.628698] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 166.636481] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 166.643560] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 166.649070] 80 06 98 04 00 00 80 00 25 05
    [ 166.653227] musb-hdrc musb-hdrc.0: stall (0)
    [ 166.728929] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 166.736107] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 166.742229] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 166.748525] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 166.754860] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 166.928671] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 166.936456] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 166.943529] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 166.949037] 80 06 00 01 00 00 40 00 25 05
    [ 166.953185] musb-hdrc musb-hdrc.0: stall (0)
    [ 166.957486] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 167.028620] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 167.035881] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 167.042002] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 167.048299] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 167.054626] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 167.128824] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage out/status
    [ 167.136571] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 167.144394] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 167.151504] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 167.157042] 80 06 00 01 00 00 40 00 25 05
    [ 167.161219] musb-hdrc musb-hdrc.0: stall (0)
    [ 167.329041] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 167.336332] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 167.342919] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 167.348457] 80 06 00 01 00 00 40 00 25 05
    [ 167.352634] musb-hdrc musb-hdrc.0: stall (0)
    [ 167.428801] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 167.436016] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 167.442168] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 167.448501] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 167.454850] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 167.528539] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 167.536360] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 167.543477] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 167.549015] 80 06 00 01 00 00 40 00 25 05
    [ 167.553184] musb-hdrc musb-hdrc.0: stall (0)
    [ 167.557510] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 167.728545] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 167.735851] musb-hdrc musb-hdrc.0: SETUP req80.66 v020e i0000 l128
    [ 167.742097] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 167.748429] musb-hdrc musb-hdrc.0: stall (-95)
    [ 167.752927] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 167.760135] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 167.828666] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 167.836050] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 167.842726] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 167.848258] 80 06 00 01 00 00 40 00 25 05
    [ 167.852432] musb-hdrc musb-hdrc.0: stall (0)
    [ 167.856760] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 168.128660] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 168.136046] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 168.142725] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 168.148259] 80 66 e6 02 00 00 80 00 25 05
    [ 168.152433] musb-hdrc musb-hdrc.0: stall (0)
    [ 168.528303] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 168.535524] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 168.541679] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 168.548010] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 168.628276] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 168.636102] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 169.178410] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 169.185793] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 169.192465] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 169.198006] 80 06 00 01 00 00 40 00 25 05
    [ 169.202177] musb-hdrc musb-hdrc.0: stall (0)
    [ 169.378156] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 169.385451] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 169.392047] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 169.397579] 80 06 00 01 00 00 40 00 25 05
    [ 169.401749] musb-hdrc musb-hdrc.0: stall (0)
    [ 169.406074] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 169.678186] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 169.685570] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 169.692245] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 169.697790] 80 06 00 01 00 00 40 00 25 05
    [ 169.701967] musb-hdrc musb-hdrc.0: stall (0)
    [ 169.778158] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 169.785454] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 169.792038] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 169.797575] 80 06 00 01 00 00 40 00 25 05
    [ 169.801747] musb-hdrc musb-hdrc.0: stall (0)
    [ 170.078032] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 170.085248] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 170.091401] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 170.097737] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 170.177944] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 170.185719] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 170.277919] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 170.285163] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 170.291720] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 170.297222] 80 66 d6 02 00 00 80 00 25 05
    [ 170.301381] musb-hdrc musb-hdrc.0: stall (0)
    [ 170.378163] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 170.385464] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 170.392045] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 170.397576] 80 06 00 01 00 00 40 00 25 05
    [ 170.401752] musb-hdrc musb-hdrc.0: stall (0)
    [ 170.478027] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 170.485320] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 170.491904] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 170.497437] 80 06 00 01 00 00 40 00 25 05
    [ 170.501619] musb-hdrc musb-hdrc.0: stall (0)
    [ 170.578145] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 170.585446] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 170.592037] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 170.597574] 80 06 00 01 00 00 40 00 25 05
    [ 170.601745] musb-hdrc musb-hdrc.0: stall (0)
    [ 170.978016] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 170.985309] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 170.991907] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 170.997440] 80 06 00 01 00 00 40 00 25 05
    [ 171.001616] musb-hdrc musb-hdrc.0: stall (0)
    [ 171.077905] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 171.085115] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 171.091275] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 171.097614] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 171.103969] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 171.178405] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage out/status
    [ 171.186159] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 171.193982] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 171.201096] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 171.206628] 80 06 00 01 00 00 40 00 25 05
    [ 171.210808] musb-hdrc musb-hdrc.0: stall (0)
    [ 171.377698] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 171.384909] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0680 l256
    [ 171.391144] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 171.397468] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 171.807773] musb-hdrc musb-hdrc.0: csr 0009, count 8, myaddr 0, ep0stage setup
    [ 171.815091] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 171.822476] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 171.829151] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 171.834687] 80 06 98 04 00 00 80 00 25 05
    [ 171.838861] musb-hdrc musb-hdrc.0: stall (0)
    [ 172.007640] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 172.014935] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 172.021521] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 172.027063] 80 06 00 01 00 00 40 00 25 05
    [ 172.031239] musb-hdrc musb-hdrc.0: stall (0)
    [ 172.107552] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 172.114809] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 172.121367] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 172.126879] 80 06 00 01 00 00 40 00 25 05
    [ 172.131031] musb-hdrc musb-hdrc.0: stall (0)
    [ 172.307507] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 172.314681] musb-hdrc musb-hdrc.0: SETUP req80.66 v020e i0000 l128
    [ 172.320889] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 172.327185] musb-hdrc musb-hdrc.0: stall (-95)
    [ 172.331661] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 172.338823] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 172.507471] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 172.514813] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 172.521452] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 172.526959] 80 06 00 01 00 00 40 00 25 05
    [ 172.531107] musb-hdrc musb-hdrc.0: stall (0)
    [ 172.535415] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 172.707415] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 172.714761] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 172.721400] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 172.726904] 80 06 00 01 00 00 40 00 80 06
    [ 172.731054] musb-hdrc musb-hdrc.0: stall (0)
    [ 172.735358] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 172.807391] musb-hdrc musb-hdrc.0: csr 0030, count 10, myaddr 0, ep0stage setup
    [ 172.814766] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 172.907633] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 172.914985] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 172.921619] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 172.927124] 80 06 00 01 00 00 40 00 25 05
    [ 172.931276] musb-hdrc musb-hdrc.0: stall (0)
    [ 173.007347] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 173.014524] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 173.020643] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 173.026945] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 173.033258] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 173.208141] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 173.215955] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 173.223071] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 173.228610] 80 06 00 01 00 00 40 00 25 05
    [ 173.232786] musb-hdrc musb-hdrc.0: stall (0)
    [ 173.237112] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 173.307297] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 173.314599] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 173.320757] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 173.327084] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 173.333430] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 173.507375] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 173.515190] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 173.522304] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 173.527832] 80 06 00 01 00 00 40 00 25 05
    [ 173.532011] musb-hdrc musb-hdrc.0: stall (0)
    [ 173.607622] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 173.614918] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 173.621513] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 173.627053] 80 06 00 01 00 00 40 00 25 05
    [ 173.631229] musb-hdrc musb-hdrc.0: stall (0)
    [ 176.396880] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 176.404269] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 176.410946] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 176.416478] 00 05 09 00 00 00 00 00 25 05
    [ 176.420660] musb-hdrc musb-hdrc.0: stall (0)
    [ 176.424993] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 176.497127] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 176.504514] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 176.511188] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 176.516725] 00 05 09 00 00 00 00 00 25 05
    [ 176.520900] musb-hdrc musb-hdrc.0: stall (0)
    [ 176.525233] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 176.696596] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 176.703982] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 176.710660] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 176.716202] 00 05 79 00 00 00 00 00 25 05
    [ 176.720373] musb-hdrc musb-hdrc.0: stall (0)
    [ 176.796855] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 176.804157] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 176.810738] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 176.816267] 00 05 09 cc 01 00 00 00 25 05
    [ 176.820440] musb-hdrc musb-hdrc.0: stall (0)
    [ 176.996612] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 177.003829] musb-hdrc musb-hdrc.0: SETUP req00.05 v06b9 i0000 l0
    [ 177.009894] musb-hdrc musb-hdrc.0: handled 1, csr 0001, ep0stage in/status
    [ 177.016846] musb-hdrc musb-hdrc.0: csr 0018, count 0, myaddr 0, ep0stage in/status
    [ 177.306511] musb-hdrc musb-hdrc.0: csr 0019, count 8, myaddr 0, ep0stage in/status
    [ 177.314177] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage in/status
    [ 177.321908] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 177.328935] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 177.334469] 00 05 09 cc 01 00 00 00 25 05
    [ 177.338644] musb-hdrc musb-hdrc.0: stall (0)
    [ 192.503653] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 192.511041] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 192.517725] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 192.523269] 80 06 00 01 00 00 40 00 25 05
    [ 192.527449] musb-hdrc musb-hdrc.0: stall (0)
    [ 192.531776] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 192.703255] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 192.710567] musb-hdrc musb-hdrc.0: SETUP req80.66 v020e i0000 l128
    [ 192.716804] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 192.723131] musb-hdrc musb-hdrc.0: stall (-95)
    [ 192.727629] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 192.734835] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 192.903201] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 192.910499] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 192.916651] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 192.922984] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 192.929339] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 193.003378] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 193.011186] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 193.018299] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 193.023830] 80 06 00 01 00 00 40 00 25 05
    [ 193.028006] musb-hdrc musb-hdrc.0: stall (0)
    [ 193.703027] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 193.710333] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 193.716923] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 193.722460] 80 06 00 01 00 00 40 00 25 05
    [ 193.726632] musb-hdrc musb-hdrc.0: stall (0)
    [ 193.903127] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 193.910386] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 193.916941] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 193.922449] 80 06 00 01 00 00 40 00 25 05
    [ 193.926602] musb-hdrc musb-hdrc.0: stall (0)
    [ 194.003129] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 194.010338] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 194.016487] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 194.022820] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 194.029159] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 194.303244] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 194.311025] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 194.318103] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.323612] 80 06 00 01 00 00 40 00 25 05
    [ 194.327762] musb-hdrc musb-hdrc.0: stall (0)
    [ 194.402868] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 194.410121] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 194.416673] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.422184] 80 06 00 01 00 00 40 00 25 05
    [ 194.426335] musb-hdrc musb-hdrc.0: stall (0)
    [ 194.430658] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 194.502908] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 194.510308] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 194.516986] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 194.522527] 80 66 e6 02 00 00 80 00 25 05
    [ 194.526700] musb-hdrc musb-hdrc.0: stall (0)
    [ 195.032873] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 195.040260] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 195.046937] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.052482] 80 06 00 01 00 00 40 00 25 05
    [ 195.056655] musb-hdrc musb-hdrc.0: stall (0)
    [ 195.061013] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 195.132879] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 195.140259] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 195.146936] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.152470] 80 06 00 01 00 00 40 00 25 05
    [ 195.156646] musb-hdrc musb-hdrc.0: stall (0)
    [ 195.160970] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 195.332875] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 195.340173] musb-hdrc musb-hdrc.0: SETUP req80.66 v020e i0000 l128
    [ 195.346410] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 195.352745] musb-hdrc musb-hdrc.0: stall (-95)
    [ 195.357242] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 195.364448] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 195.432877] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 195.440258] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 195.446930] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.452461] 80 06 00 01 00 00 40 00 25 05
    [ 195.456635] musb-hdrc musb-hdrc.0: stall (0)
    [ 195.732600] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 195.739894] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 195.746484] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 195.752017] 80 06 00 01 00 00 40 00 25 05
    [ 195.756188] musb-hdrc musb-hdrc.0: stall (0)
    [ 195.760514] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 196.433000] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 196.440384] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 196.447060] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 196.452600] 80 06 00 01 00 00 40 00 25 05
    [ 196.456774] musb-hdrc musb-hdrc.0: stall (0)
    [ 196.532442] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 196.539650] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 196.545801] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 196.552137] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 196.558492] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 196.632405] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 196.640186] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 196.647263] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 196.652774] 80 06 00 01 00 00 40 00 25 05
    [ 196.656927] musb-hdrc musb-hdrc.0: stall (0)
    [ 196.832366] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 196.839625] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 196.846185] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 196.851693] 80 06 00 01 00 00 40 00 25 05
    [ 196.855854] musb-hdrc musb-hdrc.0: stall (0)
    [ 196.860173] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 197.032733] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 197.040030] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 197.046187] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 197.052518] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 197.058870] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 197.582357] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 197.589662] musb-hdrc musb-hdrc.0: SETUP req80.66 v02d6 i0000 l128
    [ 197.595900] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 197.602225] musb-hdrc musb-hdrc.0: stall (-95)
    [ 197.606721] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 197.613922] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 197.782228] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 197.789612] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 197.796292] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 197.801834] 80 06 00 01 00 00 40 00 25 05
    [ 197.806007] musb-hdrc musb-hdrc.0: stall (0)
    [ 197.810361] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 197.982120] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 197.989504] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 197.996176] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.001709] 80 06 00 01 00 00 40 00 80 06
    [ 198.005881] musb-hdrc musb-hdrc.0: stall (0)
    [ 198.010207] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 198.082089] musb-hdrc musb-hdrc.0: csr 0030, count 10, myaddr 0, ep0stage setup
    [ 198.089472] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 198.182590] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 198.189977] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 198.196651] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.202194] 80 06 00 01 00 00 40 00 25 05
    [ 198.206364] musb-hdrc musb-hdrc.0: stall (0)
    [ 198.282215] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 198.289514] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 198.296092] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.301621] 80 06 00 01 00 00 40 00 25 05
    [ 198.305800] musb-hdrc musb-hdrc.0: stall (0)
    [ 198.782212] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 198.789502] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 198.796083] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 198.801613] 80 06 00 01 cc 1c 80 00 25 05
    [ 198.805783] musb-hdrc musb-hdrc.0: stall (0)
    [ 198.882092] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 198.889297] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 198.895447] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 198.901778] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 198.908124] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 198.982092] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 198.989907] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 198.997022] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.002552] 80 06 00 01 00 00 40 00 25 05
    [ 199.006726] musb-hdrc musb-hdrc.0: stall (0)
    [ 199.082101] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 199.089307] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l24640
    [ 199.095729] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 199.102057] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 199.108399] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 199.181877] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 199.189660] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 199.196748] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.202256] 80 06 00 01 cc 1c 80 00 25 05
    [ 199.206411] musb-hdrc musb-hdrc.0: stall (0)
    [ 199.282346] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 199.289521] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 199.295643] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 199.301936] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 199.308256] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 199.381833] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 199.389615] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 199.396686] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 199.402193] 80 06 00 01 00 c0 ac 00 25 05
    [ 199.406349] musb-hdrc musb-hdrc.0: stall (0)
    [ 199.482382] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 199.489615] musb-hdrc musb-hdrc.0: SETUP req80.06 v0498 i0000 l128
    [ 199.495857] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 199.502188] musb-hdrc musb-hdrc.0: stall (-95)
    [ 199.506700] musb-hdrc musb-hdrc.0: csr 0030, count 0, myaddr 0, ep0stage idle
    [ 199.513910] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 199.681847] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 199.689230] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 200.311967] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 200.319270] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 200.325420] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 200.331751] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 200.338094] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 200.411839] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 200.419663] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 200.426776] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 200.432312] 80 06 00 01 00 00 40 00 25 05
    [ 200.436495] musb-hdrc musb-hdrc.0: stall (0)
    [ 200.440823] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 200.611834] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 200.619133] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 200.625287] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 200.631611] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 200.711545] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 200.719323] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 200.811954] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage idle
    [ 200.819209] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage idle
    [ 200.825767] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 200.831275] 80 06 00 01 00 00 40 00 25 05
    [ 200.835428] musb-hdrc musb-hdrc.0: stall (0)
    [ 200.839749] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 201.111709] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 201.119089] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 201.125767] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 201.131303] 80 06 98 04 00 00 80 00 25 05
    [ 201.135474] musb-hdrc musb-hdrc.0: stall (0)
    [ 201.511398] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 201.518608] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 201.524756] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 201.531088] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 201.537442] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 201.711446] musb-hdrc musb-hdrc.0: csr 0011, count 8, myaddr 0, ep0stage out/status
    [ 201.719139] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 201.726220] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 201.732341] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 201.738639] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 201.811343] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 201.819122] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 201.826200] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 201.831707] 80 06 00 01 00 00 40 00 25 05
    [ 201.835866] musb-hdrc musb-hdrc.0: stall (0)
    [ 201.840168] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 201.911317] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 201.918582] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 icc00 l129
    [ 201.924794] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 201.931090] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 201.937400] musb-hdrc musb-hdrc.0: csr 001a, count 0, myaddr 0, ep0stage out/status
    [ 202.111445] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage out/status
    [ 202.119258] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 202.126360] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 202.131893] 80 06 00 01 00 00 40 00 25 05
    [ 202.136065] musb-hdrc musb-hdrc.0: stall (0)
    [ 202.212576] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage idle
    [ 202.219779] musb-hdrc musb-hdrc.0: SETUP req80.06 v0100 i0000 l64
    [ 202.225935] musb-hdrc musb-hdrc.0: handled 0, csr 0001, ep0stage in
    [ 202.232259] musb-hdrc musb-hdrc.0: queue to ep0 (OUT/RX), length=18
    [ 202.311209] musb-hdrc musb-hdrc.0: csr 0010, count 10, myaddr 0, ep0stage out/status
    [ 202.318988] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage out/status
    [ 202.661312] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup
    [ 202.668689] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
    [ 202.675365] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 202.680897] 00 65 19 00 00 00 00 00 25 05
    [ 202.685070] musb-hdrc musb-hdrc.0: stall (0)
    [ 202.689400] musb-hdrc musb-hdrc.0: csr 0020, count 0, myaddr 0, ep0stage idle
    [ 203.161036] musb-hdrc musb-hdrc.0: csr 0001, count 8, myaddr 0, ep0stage setup
    [ 203.168298] musb-hdrc musb-hdrc.0: SETUP req00.05 v000c i0000 l0
    [ 203.174335] musb-hdrc musb-hdrc.0: handled 1, csr 0001, ep0stage in/status
    [ 203.181259] musb-hdrc musb-hdrc.0: csr 0018, count 0, myaddr 0, ep0stage in/status
    [ 203.261061] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage in/status
    [ 203.268795] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage in/status
    [ 203.275823] musb_g_ep0_irq 818: SETUP packet len 10 != 8 ?
    [ 203.281353] 00 05 0c 00 00 00 00 00 25 05
    [ 203.285532] musb-hdrc musb-hdrc.0: stall (0)

    Other side:

    usb 1-1: new high speed USB device using sduh-ehci and address 2
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 3
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 4
    usb 1-1: device not accepting address 4, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 5
    usb 1-1: device not accepting address 5, error -71
    hub 1-0:1.0: unable to enumerate USB device on port 1
    usb 1-1: new high speed USB device using sduh-ehci and address 6
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 7
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 8
    usb 1-1: device not accepting address 8, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 9
    usb 1-1: device not accepting address 9, error -71
    hub 1-0:1.0: unable to enumerate USB device on port 1
    usb 1-1: new high speed USB device using sduh-ehci and address 10
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 11
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: device descriptor read/64, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 12
    usb 1-1: device not accepting address 12, error -71
    usb 1-1: new high speed USB device using sduh-ehci and address 13
    usb 1-1: device not accepting address 13, error -71
    hub 1-0:1.0: unable to enumerate USB device on port 1

    Mike

  • Mike,

    Michael Austin said:

    AM335x side:

    [ 133.675910] musb-hdrc musb-hdrc.0: csr 0011, count 10, myaddr 0, ep0stage setup

    Mike,

    You really need a protocol analyzer to see what exactly has been transferred on the bus. The very first USB packet AM335x received is wrong, CSR register should not have bit4 set in the very first packet. It definitely could be something wrong on the board.

    I have a few options for you to consider.

    1. add a hub chip in the middle which makes am335x musb in full-speed works with EHCI in uboot;

    2. port OHCI driver into uboot to support full-speed directly;

    3. revisit the hw design and layout to find the problem which causes musb malfunction.

  • We are in process for purchasing either a USB analyzer, or USB analysis software for our scope.  I will let you know when they arrive and we have results.

    Thanks!

    Mike

  • Good morning!

    We received our analyzer yesterday, and worked on getting appropriate captures.  We got the Beagle 480 analyzer from Total Phase.  The analysis software is free to download and will let you look at the attached capture: http://www.totalphase.com/products/data_center/.  I think it requires registration.

  • Sorry, I hit post instead of attach...

    It seems that the capture indicates 2 things: 

    1. I don't see any ACKs, which seems strange

    2. It thinks that there is a problem with the data bit.  However, comparisons to a valid flash drive capture shows the same initial sequence of commands, with the same DATA0 pid.

    Any ideas?

    Thanks!

    Mike

    high_speed_fail_10_byte_lots.tdc.tar.gz
  • 1) Agreed. There is no ACK, which is to be expected given the invalid packet received by the device. The packet itself looks fine on the wire so the corruption is occurring on the target.

    2) I don't see the error. Am I missing it? I admit this is my first time using the Beagle SW for USB.

    In order:

    - Can you verify that your board clocking configuration is correct? That the SoC is correctly configured for the oscillator you are using? I could see a mismatch possibly causing issues along these lines in HighSpeed mode.

    - Please double-check all voltages.

    - Would it be possible to verify the HS bit-rate by measuring it on a scope? Ideally, you have access to a scope with the USB electrical compliance package, but if not, you still should be able to do a bit-rate test.

  • I will run through and verify as per your recommendations.  On Data Center software there is a column called Record, and one called Err.  

    In the Record column there are entries titled "Setup txn", and they are red (indicating an error).  In the Err column they have the letter I, which decodes to "Invalid PID sequence".  You can get a full breakdown of the entry by selecting those rows and clicking the "Info" tab on the very far bottom right.  Also, you can click the little grey arrow next to the "Setup txn" text and it will display the transfer in parts (Setup, Data 0, ack).

    Thanks!

    Mike

  • Good morning!

    I've gone through the clocks software side, as our HW engineer is very sure they are correct coming into the chip.  We have Sysboot set-up for a 25Mhz clock, with 25Mhz in.  I've gone through the kernel, and it looks like all the clocks should be automatically configured based on the sysboot clock settings.  However, when I do a register dump and load it into the Clock tree tool it does show that the USB clock is 1000Mhz rather than 960Mhz as required.  Is there a setting in the kernel build that I am missing?

    The following is the output from the /sys/kernel/debug/clock/summary:

    clock-name parent-name rate use-count
    ehrpwm2_tbclk none 0 1
    ehrpwm1_tbclk none 0 1
    ehrpwm0_tbclk none 0 1
    vtp_clk sys_clkin_ck 12500000 0
    timer7_ick l4ls_gclk 104166666 1
    timer6_ick l4ls_gclk 104166666 1
    timer5_ick l4ls_gclk 104166666 1
    timer4_ick l4ls_gclk 104166666 1
    timer3_ick l4ls_gclk 104166666 1
    timer2_ick l4ls_gclk 104166666 1
    timer1_ick l4_wkup_gclk 104166666 1
    timer0_ick l4_wkup_gclk 104166666 1
    clkout2_ck sysclkout_pre_ck 32768 0
    sysclkout_pre_ck clk_32768_ck 32768 0
    gfx_ick gfx_l3_gclk 208333333 0
    gfx_fclk gfx_fclk_clksel_ck 208333333 0
    gfx_fclk_clksel_ck sysclk1_ck 208333333 0
    mmc_clk per_192mhz_clk 100000000 0
    lcd_gclk disp_pll_clk 25000000 0
    gpio3_dbclk clkdiv32k_ick 32768 0
    gpio2_dbclk clkdiv32k_ick 32768 0
    gpio1_dbclk clkdiv32k_ick 32768 0
    gpio0_dbclk gpio0_dbclk_mux_ck 32000 0
    gpio0_dbclk_mux_ck clk_rc32k_ck 32000 0
    cpsw_cpts_rft_clk sysclk2_ck 260416666 0
    cpsw_5mhz_clk cpsw_50mhz_clk 5208333 0
    cpsw_50mhz_clk sysclk2_ck 52083333 0
    cpsw_125mhz_gclk sysclk2_ck 130208333 1
    cpsw_250mhz_clk sysclk2_ck 260416666 0
    sysclk_div_ck dpll_core_m4_ck 208333333 0
    clk_24mhz per_192mhz_clk 25000000 1
    debug_clka_gclk sysclk1_ck 208333333 0
    l4ls_gclk core_100mhz_ck 104166666 29
    l4fw_gclk core_100mhz_ck 104166666 1
    l3s_gclk core_100mhz_ck 104166666 4
    l4hs_gclk sysclk1_ck 208333333 1
    l4_wkup_gclk sysclk1_ck 104166666 6
    gfx_l3_gclk sysclk1_ck 208333333 0
    l3_gclk sysclk1_ck 208333333 9
    l4_rtc_gclk sysclk1_ck 104166666 1
    l4_wkup_aon_gclk sysclk1_ck 208333333 2
    l3_aon_gclk sysclk1_ck 208333333 1
    wkup_m3_fck l4_wkup_aon_gclk 208333333 1
    wdt1_fck clk_32khz_ck 32768 0
    wdt1_ick l4_wkup_gclk 104166666 0
    wdt0_fck clk_rc32k_ck 32000 0
    wdt0_ick l4_wkup_gclk 104166666 0
    usbotg_fck usb_pll_clk 1000000000 1
    usbotg_ick l3s_gclk 104166666 1
    uart6_ick l4ls_gclk 104166666 1
    uart5_ick l4ls_gclk 104166666 1
    uart4_ick l4ls_gclk 104166666 1
    uart3_ick l4ls_gclk 104166666 1
    uart2_ick l4ls_gclk 104166666 1
    uart1_ick l4_wkup_gclk 104166666 1
    uart6_fck per_192mhz_clk 50000000 1
    uart5_fck per_192mhz_clk 50000000 1
    uart4_fck per_192mhz_clk 50000000 1
    uart3_fck per_192mhz_clk 50000000 1
    uart2_fck per_192mhz_clk 50000000 1
    uart1_fck per_192mhz_clk 50000000 1
    tptc2_ick l3_gclk 208333333 1
    tptc1_ick l3_gclk 208333333 1
    tptc0_ick l3_gclk 208333333 1
    tpcc_ick l3_gclk 208333333 1
    lcdc_ick sysclk1_ck 208333333 0
    timer7_fck sys_clkin_ck 25000000 0
    timer6_fck sys_clkin_ck 25000000 1
    timer5_fck sys_clkin_ck 25000000 1
    timer4_fck sys_clkin_ck 25000000 0
    timer3_fck sys_clkin_ck 25000000 0
    timer2_fck sys_clkin_ck 25000000 1
    timer1_fck sys_clkin_ck 25000000 1
    timer0_fck clk_rc32k_ck 32000 0
    spinlock_fck l4ls_gclk 104166666 0
    spi1_ick l4ls_gclk 104166666 1
    spi0_ick l4ls_gclk 104166666 1
    spi1_fck per_192mhz_clk 50000000 0
    spi0_fck per_192mhz_clk 50000000 0
    smartreflex1_ick l4_wkup_gclk 104166666 0
    smartreflex1_fck sys_clkin_ck 25000000 0
    smartreflex0_ick l4_wkup_gclk 104166666 0
    smartreflex0_fck sys_clkin_ck 25000000 0
    sha0_fck l3_gclk 208333333 1
    rtc_ick l4_rtc_gclk 104166666 1
    rtc_fck clk_32768_ck 32768 1
    rng_fck l4ls_gclk 104166666 2
    pka_fck l4ls_gclk 104166666 0
    ocpwp_fck l4ls_gclk 104166666 0
    ocmcram_ick l3_gclk 208333333 1
    mmu_fck gfx_l3_gclk 208333333 0
    mmc2_fck mmc_clk 100000000 0
    mmc1_fck mmc_clk 100000000 0
    mmc0_fck mmc_clk 100000000 0
    mmc2_ick l4ls_gclk 104166666 1
    mmc1_ick l4ls_gclk 104166666 1
    mmc0_ick l4ls_gclk 104166666 1
    mlb_fck sysclk_div_ck 208333333 0
    mcasp1_fck sys_clkin_ck 25000000 0
    mcasp1_ick l3s_gclk 104166666 1
    mcasp0_fck sys_clkin_ck 25000000 0
    mcasp0_ick l3s_gclk 104166666 1
    mailbox0_fck l4ls_gclk 104166666 1
    lcdc_fck lcd_gclk 25000000 0
    l4ls_ick l4ls_gclk 104166666 1
    l4fw_ick core_100mhz_ck 104166666 1
    l4wkup_ick l4_wkup_aon_gclk 208333333 1
    l4hs_ick l4hs_gclk 208333333 1
    ieee5000_fck l3s_gclk 104166666 0
    pruss_iep_gclk l3_gclk 208333333 0
    pruss_uart_gclk per_192mhz_clk 200000000 0
    pruss_ocp_gclk l3_gclk 208333333 0
    i2c3_ick l4ls_gclk 104166666 0
    i2c3_fck per_192mhz_clk 50000000 0
    i2c2_ick l4ls_gclk 104166666 0
    i2c2_fck per_192mhz_clk 50000000 0
    i2c1_ick l4_wkup_gclk 104166666 0
    i2c1_fck per_192mhz_clk 50000000 0
    gpmc_fck l3s_gclk 104166666 1
    gpio3_ick l4ls_gclk 104166666 1
    gpio2_ick l4ls_gclk 104166666 1
    gpio1_ick l4ls_gclk 104166666 1
    gpio0_ick l4_wkup_gclk 104166666 1
    epwmss2_fck l4ls_gclk 104166666 0
    epwmss1_fck l4ls_gclk 104166666 0
    epwmss0_fck l4ls_gclk 104166666 0
    elm_fck l4ls_gclk 104166666 0
    debugss_ick l3_aon_gclk 208333333 1
    dcan1_ick l4ls_gclk 104166666 1
    dcan0_ick l4ls_gclk 104166666 1
    dcan1_fck sys_clkin_ck 25000000 0
    dcan0_fck sys_clkin_ck 25000000 0
    cpgmac0_ick cpsw_125mhz_gclk 130208333 2
    control_fck l4_wkup_gclk 104166666 1
    clkdiv32k_ick clk_24mhz 32768 1
    cefuse_iclk l4_cefsue_gclk 104166666 0
    cefuse_fck sys_clkin_ck 25000000 0
    l4_cefsue_gclk core_100mhz_ck 104166666 0
    aes0_fck l3_gclk 208333333 1
    adc_tsc_ick l4_wkup_gclk 104166666 1
    adc_tsc_fck sys_clkin_ck 25000000 0
    l3_instr_ick l3_gclk 208333333 1
    l3_ick l3_gclk 208333333 1
    core_100mhz_ck sysclk1_ck 104166666 4
    usb_pll_clk dpll_per_ck 1000000000 1
    per_192mhz_clk dpll_per_m2_ck 200000000 7
    dpll_per_m2_ck dpll_per_ck 200000000 1
    dpll_per_ck sys_clkin_ck 1000000000 2
    disp_pll_clk dpll_disp_m2_ck 25000000 0
    dpll_disp_m2_ck dpll_disp_ck 25000000 0
    dpll_disp_ck sys_clkin_ck 25000000 0
    emif_fw_fck l4fw_gclk 104166666 1
    emif_fck ddr_pll_clk 138541666 1
    ddr_pll_clk dpll_ddr_m2_ck 277083333 1
    dpll_ddr_m2_ck dpll_ddr_ck 277083333 1
    dpll_ddr_ck sys_clkin_ck 277083333 1
    mpu_fck dpll_mpu_m2_ck 572916666 2
    dpll_mpu_m2_ck dpll_mpu_ck 572916666 1
    dpll_mpu_ck sys_clkin_ck 572916666 1
    clk_32khz_timer clk_32khz_ck 32768 0
    core_clk_out dpll_core_m4_ck 208333333 0
    sysclk2_ck dpll_core_m5_ck 260416666 1
    sysclk1_ck dpll_core_m4_ck 208333333 7
    dpll_core_m6_ck dpll_core_x2_ck 2083333332 0
    dpll_core_m5_ck dpll_core_x2_ck 260416666 1
    dpll_core_m4_ck dpll_core_x2_ck 208333333 1
    dpll_core_x2_ck dpll_core_ck 2083333332 2
    dpll_core_ck sys_clkin_ck 1041666666 1
    tclkin_ck none 12000000 0
    sys_clkin_ck virt_25m_ck 25000000 8
    virt_26m_ck none 26000000 0
    virt_25m_ck none 25000000 1
    virt_24m_ck none 24000000 0
    virt_19_2m_ck none 19200000 0
    clk_rc32k_ck none 32000 0
    clk_32khz_ck clkdiv32k_ick 32768 0
    clk_32768_ck none 32768 1

    Mike

  • Also attached is the register dump I used to populate the Clock Tree Tool.

    AM_CLK_regread.rd1.tar.gz
  • Ok, so changing register 0x44e0049c to 0x0403c018 from 0x0403c017 did bring up the high speed USB (HOORAY!).    I'm tracking down why it wasn't divided right at boot-time now.  If you have any pointers, that would be appreciated.

    Thank you all for great support.  This has been a difficult and long problem.  

    Mike!

  • MLO/u-boot should have programmed that register correctly, but it didn't. I have a custom Beaglebone with a 25MHz crystal and noticed the same error. I'll look into it. The code in clock.c sets the M/N values and enables the clocks.

    Steve K.

  • Quick question - did you modify include/configs/am335x_evm.h and change 24000000 to 25000000?

    Steve K.

  • Yes, that doesn't seem to change anything though.  I'm still hunting.

    Thanks!

    Mike

  • All right, I manually entered the N value into the register write, and now u-boot is coming up with usb properly enabled.  There must be something wrong with my headers somewhere referencing stale data.

    For now, I think this can be closed :)

    Thanks again for all your support!

    Mike

  • Great you got the high-speed working. Now the only thing left is to get both usb ports working in device mode. Please refer to the follow instructions.

    1. Configure USB1 port to device mode using the following patch.

    diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
    index 8f79e26..5002a8f 100644
    --- a/arch/arm/mach-omap2/board-am335xevm.c
    +++ b/arch/arm/mach-omap2/board-am335xevm.c
    @@ -2587,7 +2587,7 @@ static struct omap_musb_board_data musb_board_data = {
             * mode[4:7] = USB1PORT's mode
             * AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
             */
    -       .mode           = (MUSB_HOST << 4) | MUSB_OTG,
    +       .mode           = (MUSB_OTG << 4) | MUSB_OTG,
            .power          = 500,
            .instances      = 1,
     };
    

    2. Enable both Mass Storage Gadget (g_mass_storage.ko) and File-backed Storage Gadget (g_file_storage.ko) in menuconfig, and rebuilt the kernel and modules.

    3. Boot am335x and load both gadget drivers with corresponding back storage.

  • This worked right off the bat.  Thank you so much, and please let everyone who contributed to solving this series of issues that I really appreciated it!

    Mike