Hi All, We are using the i.MX21 Litekit. It has got a USB host port on it and the driver is imx21-hcd.c provided by the vendor. When I plug in a USB stick into the host port, the kernel hangs with the following error:
usb 1-2: device descriptor read/64, error -110 I have read on the net that -110 means timeout error. Also there were suggestions to unload ehci-hcd module. But I do not have ehci-hcd built into my kernel. My kernel config for USB is: # # USB support # CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set CONFIG_USB=y # CONFIG_USB_DEBUG is not set The kernel boots with the following log on enabling CONFIG_USB_DEBUG. imx21_hcd_init:1838 imx21_probe:1765 imx21-hc imx21-hc.0: IMX21 USB Host Controller imx21-hc imx21-hc.0: new USB bus registered, assigned bus number 1 imx21_hc_reset:1430 imx21-hc imx21-hc.0: irq 55, io base 0x00000000 imx21_hc_start:1438 imx21_hc_start:1451 usb usb1: Product: IMX21 USB Host Controller usb usb1: Manufacturer: Linux 2.6.22 imx21-hc usb usb1: SerialNumber: imx21-hc.0 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found imx21_hc_hub_control:1579 GetHubDescriptor hub 1-0:1.0: 3 ports detected imx21_hc_hub_control:1579 GetHubStatus imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_POWER imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_POWER imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_POWER >>usb_add_hcd - Exiting without error imx21_probe:1822 imx21_hc_hub_control:1579 GetPortStatus: port: 1, 0x100 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x100 imx21_hc_hub_control:1579 GetPortStatus: port: 3, 0x100 The debug on plugging in the flash drive is: / # imx21_hc_hub_status_data:1555 port 1 (of 3): 0x10101 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x10101 imx21_hc_hub_control:1579 ClearPortFeature USB_PORT_FEAT_C_CONNECTION imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x101 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x101 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x101 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x101 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x101 imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_RESET hwmode = 0x202000a2 cint_stat = 0x00000000 cint_sten = 0x00000001 clk_ctrl = 0x00000003 rst_ctrl = 0x00000000 frm_intvl = 0x2a2f2edf frm_remain = 0x28cd0000 hnp_csr = 0x20440200 hint_isr = 0x00000000 hnp_ien = 0x00000000 usbctrl = 0x000f1004 host_ctrl = 0x00000008 sysisr = 0x00000004 sysien = 0x00000000 xbufstat = 0x00000000 ybufstat = 0x00000000 xyinten = 0x00000000 xfillstat = 0x00000000 yfillstat = 0x00000000 etdenset = 0x00000000 etdenclr = 0x00000000 immedint = 0x00000000 etddonest = 0x00000000 etddoneen = 0x00000000 frmnub = 0x00002f1e lsthresh = 0x00000628 roothuba = 0x01000103 roothubb = 0x00070000 rootstat = 0x00000000 portst1 = 0x00000100 portst2 = 0x00000101 portst3 = 0x00000100 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x100103 imx21_hc_hub_control:1579 ClearPortFeature USB_PORT_FEAT_C_RESET usb 1-2: new full speed USB device using imx21-hc and address 2 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d524a0 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d524a0 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d52500 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d52500 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d52560 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d52560 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_RESET hwmode = 0x202000a2 cint_stat = 0x00000000 cint_sten = 0x00000001 clk_ctrl = 0x00000003 rst_ctrl = 0x00000000 frm_intvl = 0x2a2f2edf frm_remain = 0x06810000 hnp_csr = 0x20440200 hint_isr = 0x00000000 hnp_ien = 0x00000000 usbctrl = 0x000f1004 host_ctrl = 0x00000008 sysisr = 0x00000004 sysien = 0x00000000 xbufstat = 0x00000000 ybufstat = 0x00000000 xyinten = 0x00000000 xfillstat = 0x00000000 yfillstat = 0x00000000 etdenset = 0x00000000 etdenclr = 0x00000000 immedint = 0x00000000 etddonest = 0x00000000 etddoneen = 0x00000001 frmnub = 0x0000344a lsthresh = 0x00000628 roothuba = 0x01000103 roothubb = 0x00070000 rootstat = 0x00000000 portst1 = 0x00000100 portst2 = 0x00000103 portst3 = 0x00000100 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x100103 imx21_hc_hub_control:1579 ClearPortFeature USB_PORT_FEAT_C_RESET usb 1-2: device descriptor read/64, error -110 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d525c0 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d525c0 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d52620 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d52620 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_urb_enqueue:1466 ep: c2d94034 ep->hcpriv: 00000000 ep->urb_list: c2d94040 ep->descriptor: bEndpointAddress: 0 wMaxPacketSize: 64 urb: c2d52680 ->dev->speed: FULL ->hcpriv: 00000000 ->pipe: 0x80000080 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 imx21_irq:1403 imx21_irq:1413 etd(0): 0x00400000 0x00400000 0xf0800000 0x07e00008 imx21_irq:1403 imx21_irq:1407 sh_done_list:1176 hc_parse_trans:1036 hc_parse_trans:1039 hc_parse_trans:1043 etd(0): 0x08400000 0x00400000 0x53800000 0x07e00008 hc_parse_trans:1113 hc_parse_trans:1144 hc_parse_trans:1152 urb: c2d52680 ->dev->speed: FULL ->hcpriv: c2d4e160 ->pipe: 0x80000082 IN CTRL ->transfer_flags: 0x0 ->transfer_buffer: c2d734a0 ->transfer_dma: 0xc2d734a0 ->transfer_buffer_length: 64 ->setup_packet: c2cb1200 ->setup_dma: 0xc2cb1200 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 maxpacket: 64 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 hc_parse_trans:1036 imx21_irq:1413 imx21_hc_hub_control:1579 SetPortFeature USB_PORT_FEAT_RESET hwmode = 0x202000a2 cint_stat = 0x00000000 cint_sten = 0x00000001 clk_ctrl = 0x00000003 rst_ctrl = 0x00000000 frm_intvl = 0x2a2f2edf frm_remain = 0x082e0000 hnp_csr = 0x20440200 hint_isr = 0x00000000 hnp_ien = 0x00000000 usbctrl = 0x000f1004 host_ctrl = 0x00000008 sysisr = 0x00000004 sysien = 0x00000000 xbufstat = 0x00000000 ybufstat = 0x00000000 xyinten = 0x00000000 xfillstat = 0x00000000 yfillstat = 0x00000000 etdenset = 0x00000000 etdenclr = 0x00000000 immedint = 0x00000000 etddonest = 0x00000000 etddoneen = 0x00000001 frmnub = 0x00003a5e lsthresh = 0x00000628 roothuba = 0x01000103 roothubb = 0x00070000 rootstat = 0x00000000 portst1 = 0x00000100 portst2 = 0x00000103 portst3 = 0x00000100 imx21_hc_hub_control:1579 GetPortStatus: port: 2, 0x100103 imx21_hc_hub_status_data:1555 port 1 (of 3): 0x100103 imx21_hc_hub_control:1579 ClearPortFeature USB_PORT_FEAT_C_RESET usb 1-2: device descriptor read/64, error -110 imx21_hc_hub_control:1579 ClearPortFeature USB_PORT_FEAT_ENABLE The host controller has been configured for Full speed only. Should I change the speed to LOW? Thanks, Midhun. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/