I have same trouble with a USB 1.1 Device.
We have only the kernel modul ehci-hcd.ko for EHCI under
/lib/modules/2.6.24.4/kernel/drivers/usb/host/
and I'd like to compile the UHCI modul uhci-hcd.ko
The cross-compiler works fine (see http://mybookworld.wikidot.com/compiling-white-light-modules-from-source )
but the result don't work:
~ # insmod uhci-hcd.ko
insmod: cannot insert `uhci-hcd.ko': Unknown symbol in module (-1): No such file or directory
~ # dmesg | tail
uhci_hcd: Unknown symbol usb_hcd_pci_probe
uhci_hcd: Unknown symbol uhci_check_and_reset_hc
uhci_hcd: Unknown symbol __pci_register_driver
uhci_hcd: Unknown symbol pci_unregister_driver
uhci_hcd: Unknown symbol pci_bus_write_config_word
uhci_hcd: Unknown symbol uhci_reset_hc
uhci_hcd: Unknown symbol usb_hcd_pci_remove
This errors looks like wrong gcc version between our mybook-kernel and the new module.
Our kernel is compiled with
# dmesg
2.6.24.4 (brian@dualla) (gcc version 4.2.4) #1 Tue Feb 10 11:00:22 GMT 2009
After same tries with the (also non working) selfcompiled original ehci-hcd.ko I found a different gcc version in the inside the binaries:
a string from binary of original ehci-hcd.ko
GCC: (GNU) 4.2.4
a string from from binary of self compiled ehci-hcd.ko (non working binary)
GCC: (GNU) 3.4.3 (release) (CodeSourcery ARM Q1B 2005)
I'm using a ubuntu karmic with the the (old) nativ gcc 4.2.4 and toolchain-gcc 3.4.3
# /usr/bin/gcc --version
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-5ubuntu1)
# /opt/WD-MyBookWorld-v1.00.16-GPL/toolchain/gcc-csl-arm-2005q1-glibc-csl-arm/bin/arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (GCC) 3.4.3 (release) (CodeSourcery ARM Q1B 2005)
I also checked that all ipkg inside our feed http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable/ contain the string
GCC: (GNU) 3.4.3 (release) (CodeSourcery ARM Q1B 2005).
This is not a wonder, the make file http://trac.nslu2-linux.org/optware/browser/trunk/platforms/toolchain-cs05q1armel.mk says
TOOLCHAIN_SITE=http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi
TOOLCHAIN_BINARY=gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
TOOLCHAIN_SOURCE=gnu-csl-arm-2005Q1B-arm-none-linux-gnueabi.src.tar.bz2
Why the self compiled ehci-hcd.ko don't work? I'm nothing changed in the GPL source code WD-MyBookWorld-v1.00.16-GPL.tar.gz !
How can I cross-compile with a toolchain which inludes a arm-linux-gnueabi-gcc version 4.2.4?