I have built Linux for i.MX28 using the Freescale LTIB, and it runs okay on the board. I'm doing this on Ubuntu 10.10.
Now, I want to compile in support for a USB host connection to a mobile phone handset, so I can access it via /dev/ttyACM0 or something like that.
I've tried enabling the appropriate options in the kernel configuration, as in this post. But I am seeing two issues:
1) The lsusb command doesn't show anything.
2) If I try to do modprobe usbserial, I get errors:
[root@freescale /root]# modprobe usbserial
usbserial: disagrees about version of symbol usb_alloc_urb
usbserial: Unknown symbol usb_alloc_urb (err -22)
usbserial: disagrees about version of symbol usb_free_urb
usbserial: Unknown symbol usb_free_urb (err -22)
usbserial: disagrees about version of symbol usb_put_dev
usbserial: Unknown symbol usb_put_dev (err -22)
usbserial: disagrees about version of symbol usb_get_dev
usbserial: Unknown symbol usb_get_dev (err -22)
usbserial: disagrees about version of symbol usb_submit_urb
usbserial: Unknown symbol usb_submit_urb (err -22)
usbserial: disagrees about version of symbol usb_kill_urb
usbserial: Unknown symbol usb_kill_urb (err -22)
modprobe: failed to load module usbserial (/lib/modules/2.6.35.3-571-gcca29a0/kernel/drivers/usb/serial/usbserial.ko): Invalid argument
I can't understand what is leading to these errors (I am fairly new to building the Linux kernel, though I've used Linux OS for a while).
The problem was mine: I was building the new kernel, but still booting an old kernel via TFTP. The TFTP server was just serving a copy of an older kernel. So I made a softlink from the TFTP server root directory (/tftpboot) to the kernel in the LTIB build directory. Then everything works much better!