Tuomas J

USB host mode problem: "ehci_hcd: disagrees about version..."

Discussion created by Tuomas J on Mar 1, 2011
Latest reply on Mar 2, 2011 by Tuomas J

Hi,

I can not get the USB host mode working in my iMX233 Evaluation Kit (Revision B) no matter what... What could be done?

 

When I try to load EHCI_HCD USB 2.0 support:

root@freescale ~$ modprobe ehci_hcd

... I get this error:

> ehci_hcd: disagrees about version of symbol usb_hcd_resume_root_hub
> ehci_hcd: Unknown symbol usb_hcd_resume_root_hub
> ehci_hcd: disagrees about version of symbol usb_hcd_unlink_urb_from_ep
> ehci_hcd: Unknown symbol usb_hcd_unlink_urb_from_ep
> ehci_hcd: disagrees about version of symbol usb_hcd_check_unlink_urb
> ehci_hcd: Unknown symbol usb_hcd_check_unlink_urb
> ehci_hcd: disagrees about version of symbol usb_hcd_link_urb_to_ep
> ehci_hcd: Unknown symbol usb_hcd_link_urb_to_ep
> ehci_hcd: disagrees about version of symbol usb_put_hcd
> ehci_hcd: Unknown symbol usb_put_hcd
> ehci_hcd: disagrees about version of symbol usb_hub_clear_tt_buffer
> ehci_hcd: Unknown symbol usb_hub_clear_tt_buffer
> ehci_hcd: disagrees about version of symbol usb_hcd_giveback_urb
> ehci_hcd: Unknown symbol usb_hcd_giveback_urb
> ehci_hcd: disagrees about version of symbol usb_hcd_poll_rh_status
> ehci_hcd: Unknown symbol usb_hcd_poll_rh_status
> ehci_hcd: disagrees about version of symbol usb_create_hcd
> ehci_hcd: Unknown symbol usb_create_hcd
> ehci_hcd: disagrees about version of symbol usb_remove_hcd
> ehci_hcd: Unknown symbol usb_remove_hcd
> ehci_hcd: disagrees about version of symbol usb_add_hcd
> ehci_hcd: Unknown symbol usb_add_hcd
> modprobe: failed to load module ehci_hcd
> (/lib/modules/2.6.31-626-g602af1c/kerne
> l/drivers/usb/host/ehci-hcd.ko): unknown symbol in module, or unknown
> parameter

My imx233 kernel .config file regarding the USB is like this:

CONFIG_USB_SUPPORT=y
> CONFIG_USB_ARCH_HAS_HCD=y
> # CONFIG_USB_ARCH_HAS_OHCI is not set
> CONFIG_USB_ARCH_HAS_EHCI=y
> CONFIG_USB=y
> # CONFIG_USB_DEBUG is not set
> # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
>
> # USB Host Controller Drivers
> #
> # CONFIG_USB_C67X00_HCD is not set
> CONFIG_USB_EHCI_HCD=m
> CONFIG_USB_EHCI_ARC=y
> CONFIG_USB_EHCI_ARC_OTG=y
> # CONFIG_USB_STATIC_IRAM is not set
> # CONFIG_USB_EHCI_FSL_MC13783 is not set
> # CONFIG_USB_EHCI_FSL_1301 is not set
> # CONFIG_USB_EHCI_FSL_1504 is not set
> CONFIG_USB_EHCI_FSL_UTMI=y
> CONFIG_USB_EHCI_ROOT_HUB_TT=y
> # CONFIG_USB_EHCI_TT_NEWSCHED is not set
> # CONFIG_USB_OXU210HP_HCD is not set
> # CONFIG_USB_ISP116X_HCD is not set
> # CONFIG_USB_ISP1760_HCD is not set
> # CONFIG_USB_SL811_HCD is not set
> # CONFIG_USB_R8A66597_HCD is not set
> # CONFIG_USB_HWA_HCD is not set
> # CONFIG_USB_MUSB_HDRC is not set
> # CONFIG_USB_GADGET_MUSB_HDRC is not set

I have also tried to re-build the kernel by setting the "Always rebuild the kernel" option in LTIB. It does
not solve this problem.

In addition I have tried to include EHCI_HCD into kernel in LTIB by setting "*" to that option.
However, the board detects no USB devices when I connect them (dmesg | more does not show
anything). I am using a u-USB type A plug to USB type A jack adapter cable.

In my rev. B EVK, the USB host circuit is not assembled. Due to this I supply external 5V power to the
USB OTG connector (the voltage is always on). However the ID pin of the connector floats; imx233 can not
see the ID pin status. Does imx233 Linux use the ID in USB host mode?

What to do?

Outcomes