How to install FTDI drivers on Colibri T30

Hi,

We have a USB device required to run on Colibri T30 (flashed with latest image Linux colibri-t30 3.1.10-2.8.6+g37b9f033652b #1 SMP PREEMPT Mon Apr 1 13:13:50 UTC 2019 armv7l GNU/Linux ).

But it looks like the FTDI drivers are missing - usb-devices for that particular device displays:

Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0

Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

Vendor=0403 ProdID=6001 Rev=06.00

Manufacturer=FTDI

Product=FT232R USB UART

SerialNumber=AI05JO0C

Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=90mA

If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

Typing modprobe ftdi_sioreturns an error:

modprobe: ERROR: could not insert ‘ftdi_sio’: Exec format error

Downloading the ftdi libraries (libftd2xx-arm-v7-hf-1.4.8.gz) from https://www.ftdichip.com/Drivers/D2XX.htm and installing them as per their instructions didn’t help https://www.ftdichip.com/Drivers/D2XX/Linux/ReadMe-linux.txt.

Any suggestions?

Or is there another image for ColibriT30 that has support for FTDI devices with drivers already installed?

Kind regards…

HI @choco

Thanks for writing to the Toradex Community!

In the default kernel, the driver for FTDI is not enabled, you need to compile a custom kernel by following the instructions on this site and the following configs enabled:

# CONFIG_USB_SERIAL_FTDI_SIO
# CONFIG_USB_FTDI_ELAN

Best regards,
Jaski

Thanks for the link with instructions for compiling the kernel. I will let you know how it goes.

Where would one need to go to set up the configs you mentioned earlier ( CONFIG_USB_SERIAL_FTDI_SIO and CONFIG_USB_FTDI_ELAN)?

I have enabled USB FTDI Single Port Serial Driver after running make nconfig:

Kind regards.

hi

I have enabled USB FTDI Single Port Serial Driver after running make nconfig.

That’s correct. If you create a custom kernel, then don’t forget to deploy the kernel modules too.

Best regards,
Jaski

Thanks.

I have compiled a custom kernel with FTDI Single Port Serial Driver builtin (also added the USB debug option that came in handy). I have also enabled Elan U132 Adapter Host Controller and Elan PCMCIA CardBus Adapter USB Client due to their dependency.

I had to run insmod ftdi_elan first, followed by insmod ftdi_sio in order for the Bluetooth device to be mounted in /dev/ttyUSB0, as required by our software.

Thank you for your help.

Kind regards.

Perfect that it works. Thanks for the feedback.

Best regards,
Jaski