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.

Linux: FT234xd enumeration fails

Tool/software: Linux

we have a custom board piece with FTDI FT234xd converter. when the FTDI device is connected to the HOST device with OMAP2430, enumeration fails so often with following debug messages.

Linux version : 3.15

hub_irq :Something happened, let khubd figure it out 
[   14.553894]  omap2430_musb_interrupt : int_usb 10 , reg fc0ab000 
[   14.553894] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb000c tx0000 rx0000
musb-hdrc musb-hdrc.0.auto: BUS RESET as a_host

whenever this reset happens the enumeration stalls and everything that follows later fails

[   24.934112] usb 2-1: khubd timed out on ep0out len=0/0
[   25.272369] usb 2-1: device not accepting address 2, error -110
[   25.272369] in usb_internal_control_msg .... 
[   25.272369] in usb_start_wait_urb timeout - 1000 .... 
[   25.287933] in usb_submit_urb .... 
[   25.288299] 
[   25.288299]  in musb_hub_control ... 
[   25.296661] ... usb_put_dev ...
[   25.299865] ... usb_alloc_dev ...
[   25.303222] reset the port for loop 
 ..in usb_internal_control_msg .... 
[   25.310150] in usb_start_wait_urb timeout - 1000 .... 
[   25.310150] in usb_submit_urb .... 
[   25.315765] 
[   25.315765]  in musb_hub_control ... 
[   25.324035] musb-hdrc musb-hdrc.0.auto: root port do reset 
[   25.329681] hub_port_wait_reset : delay = 60 
[   25.383392] musb-hdrc musb-hdrc.0.auto: root port reset stopped
[   25.383422] musb-hdrc musb-hdrc.0.auto: high-speed device connected
[   25.395690] hub_irq :Something happened, let khubd figure it out in usb_submit_urb .... 
[   25.403869] in usb_internal_control_msg .... 
[   25.408294] in usb_start_wait_urb timeout - 1000 .... 
[   25.410736] in usb_submit_urb .... 
[   25.416961] 
[   25.416961]  in musb_hub_control ... 
[   25.422180] check for disconnect or reset 
 ..in usb_internal_control_msg .... 
[   25.477416] in usb_start_wait_urb timeout - 1000 .... 
[   25.477416] in usb_submit_urb .... 
[   25.489196] 
[   25.489196]  in musb_hub_control ... 
[   25.494415] GET_DESCRIPTOR 
[   25.495117] in usb_internal_control_msg .... 
[   25.501617] in usb_start_wait_urb timeout - 5000 .... 
[   25.506805] in usb_submit_urb .... 
[   30.497467] ... usb_get_dev ...
[   30.500671] ... usb_put_dev ...
[   30.500671] usb 2-1: khubd timed out on ep0in len=0/64
[   30.509002] in usb_internal_control_msg .... 
[   30.509002] in usb_start_wait_urb timeout - 5000 .... 
[   30.518585] in usb_submit_urb .... 
[   35.866882] ... usb_get_dev ...
[   35.866882] ... usb_put_dev ...
[   35.873260] usb 2-1: khubd timed out on ep0in len=0/64
[   35.878448] in usb_internal_control_msg .... 
[   35.878479] in usb_start_wait_urb timeout - 5000 .... 
[   35.888031] in usb_submit_urb .... 
[   40.971893] ... usb_get_dev ...
[   40.971893] ... usb_put_dev ...
[   40.978271] usb 2-1: khubd timed out on ep0in len=0/64
[   40.978576] reset the port for loop 
 ..in usb_internal_control_msg .... 
[   40.990386] in usb_start_wait_urb timeout - 1000 .... 
[   40.990631] in usb_submit_urb .... 
[   40.999084] 
[   40.999084]  in musb_hub_control ... 
[   41.004272] musb-hdrc musb-hdrc.0.auto: root port do reset 
[   41.009948] hub_port_wait_reset : delay = 60 
[   41.029510] musb-hdrc musb-hdrc.0.auto: root port reset stopped
[   41.035461] musb-hdrc musb-hdrc.0.auto: high-speed device connected
[   41.041809] hub_irq :Something happened, let khubd figure it out in usb_submit_urb .... 
[   41.077453] in usb_internal_control_msg .... 
[   41.081848] in usb_start_wait_urb timeout - 1000 .... 
[   41.081848] in usb_submit_urb .... 
[   41.081848] 
[   41.081848]  in musb_hub_control ... 
[   41.095703] check for disconnect or reset 
 ..in usb_internal_control_msg .... 
[   41.270812] in usb_start_wait_urb timeout - 1000 .... 
[   41.270812] in usb_submit_urb .... 
[   41.270812] 
[   41.270812]  in musb_hub_control ... 
[   41.287811] usb 2-1: device descriptor read/64, error -110
[   41.377441] GET_DESCRIPTOR 

NOTE: other ftdi chips are working fine with OMAP4430 host device. and FT234xd board is getting enumerated in windows and linux pcs.

  • Sorry, OMAP4 devices are no longer supported on TI E2E forums. You can search for similar issues on the archived OMAP4 forum: e2e.ti.com/.../849
  • I Understand, if possible can i get any possible info on reasons for that reset ?
  • Hi Vishnu,

    As Biser said, OMAP2/4 are not supported on this forums, and we I don't use these devices to tell what exactly happens on your board. But from the log you shared,

    vishnu kumar62 said:
    [ 14.553894] omap2430_musb_interrupt : int_usb 10 , reg fc0ab000
    [ 14.553894] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb000c tx0000 rx0000 musb-hdrc musb-hdrc.0.auto: BUS RESET as a_host

    The host detected a device attached, but then a babble condition happened.

    To handle the babble interrupt, the driver should reconfigure the USB controller and the driver. I am not sure this has been done properly for OMAP2/4 in the kernel you use.