FTDI Drivers Apalis TK1

Dear Community,

I am trying to install FTDI chip drivers to make a Serial to USB device work. In another post, I have read that I need to compile and deploy some drivers. I have followed this guide and selected these drivers as modules [M]:

[M] USB CP210x family of UART Bridge Controllers
[M] USB FTDI Single Port Serial Driver

I have compiled and transferred them successfully to my TK1 using scp as described in the guide. Then, I have extracted on /root/ path. I don’t know how to deploy them, I have tried with depmod but does not work. Althought the USB device is connected, it seems that the driver does not work:

T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0403 ProdID=6015 Rev=10.00
S: Manufacturer=VictronEnergy BV
S: Product=VE Direct cable
S: SerialNumber=VE5ANNP4
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=90mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

Apalis TK1 Linux 4 Tegra
Ixora V1.1A
Linux tegra-ubuntu 3.10.40-2.8.3+g6c533d3 #1 SMP PREEMPT Tue Jun 26 21:38:58 UTC 2018 armv7l armv7l armv7l GNU/Linux

Any help is appreciated!

Regards,

Ander.

Hi @Andermutu !

The article that you referenced shows how to deploy every module compiled in the section Kernel Module Deployment.

Can you try those steps?

Best regards.

Hi @henrique.tx ,

Maybe I have not explained well what I want to achieve: I want to install USB FTDI drivers on my TK1 without deleting or reinstalling Ubuntu 14.04.

This is step by step what I have tried so far:

1-. git clone -b toradex_tk1_l4t_r21.7 git://git.toradex.com/linux-toradex.git
2.- make apalis-tk1_defconfig
3.- make nconfig
4.- Select as modules:

[M] USB CP210x family of UART Bridge Controllers
[M] USB FTDI Single Port Serial Driver

5.- make -j$(nproc) modules

INSTALL crypto/asymmetric_keys/asymmetric_keys.ko
INSTALL crypto/asymmetric_keys/public_key.ko
INSTALL crypto/tcrypt.ko
INSTALL crypto/twofish_common.ko
INSTALL crypto/twofish_generic.ko
INSTALL drivers/ata/ahci.ko
INSTALL drivers/bluetooth/btusb.ko
INSTALL drivers/gpio/gpio-apalis-tk1-k20.ko
INSTALL drivers/hid/hid-multitouch.ko
INSTALL drivers/iio/adc/apalis-tk1-k20_adc.ko
INSTALL drivers/input/joydev.ko
INSTALL drivers/input/joystick/xpad.ko
INSTALL drivers/input/touchscreen/apalis-tk1-k20_ts.ko
INSTALL drivers/input/touchscreen/atmel_mxt_ts.ko
INSTALL drivers/media/i2c/soc_camera/adv7280.ko
INSTALL drivers/media/i2c/soc_camera/ap1302.ko
INSTALL drivers/media/i2c/soc_camera/ar0261_v4l2.ko
INSTALL drivers/media/i2c/soc_camera/ar0330_v4l2.ko
INSTALL drivers/media/i2c/soc_camera/imx135_v4l2.ko
INSTALL drivers/media/i2c/soc_camera/ov5640.ko
INSTALL drivers/media/i2c/soc_camera/tc358743.ko
INSTALL drivers/media/platform/soc_camera/soc_camera_platform.ko
INSTALL drivers/media/platform/soc_camera/tegra_camera/tegra_camera.ko
INSTALL drivers/media/v4l2-core/videobuf2-dma-contig.ko
INSTALL drivers/mfd/apalis-tk1-k20.ko
INSTALL drivers/net/can/apalis-tk1-k20-can.ko
INSTALL drivers/net/ethernet/intel/e1000e/e1000e.ko
INSTALL drivers/net/ppp/bsd_comp.ko
INSTALL drivers/net/ppp/ppp_async.ko
INSTALL drivers/net/ppp/ppp_deflate.ko
INSTALL drivers/net/ppp/ppp_generic.ko
INSTALL drivers/net/ppp/ppp_mppe.ko
INSTALL drivers/net/ppp/ppp_synctty.ko
INSTALL drivers/net/ppp/pppolac.ko
INSTALL drivers/net/ppp/pppopns.ko
INSTALL drivers/net/ppp/pppox.ko
INSTALL drivers/net/slip/slhc.ko
INSTALL drivers/ssb/ssb.ko
INSTALL drivers/tty/serial/8250/8250_pci.ko
INSTALL drivers/usb/class/cdc-acm.ko
INSTALL drivers/usb/class/cdc-wdm.ko
INSTALL drivers/usb/host/xhci-hcd.ko
INSTALL drivers/usb/serial/baseband_usb_chr.ko
INSTALL drivers/usb/serial/cp210x.ko
INSTALL drivers/usb/serial/ftdi_sio.ko
INSTALL drivers/usb/serial/option.ko
INSTALL drivers/usb/serial/usb_wwan.ko
INSTALL drivers/video/tegra/host/vi/nvhost-vi.ko
INSTALL fs/nfs/nfs_layout_nfsv41_files.ko
INSTALL fs/nls/nls_iso8859-15.ko
INSTALL fs/squashfs/squashfs.ko
INSTALL lib/mpi/mpi.ko
INSTALL lib/xz/xz_dec.ko
INSTALL net/bluetooth/bluetooth.ko
INSTALL net/bluetooth/bnep/bnep.ko
INSTALL net/bluetooth/hidp/hidp.ko
INSTALL net/bluetooth/rfcomm/rfcomm.ko
INSTALL net/ipv4/ip_tunnel.ko
INSTALL net/ipv6/sit.ko
DEPMOD 3.10.40-g063d16eceb57

6.- mkdir modules
7.- export INSTALL_MOD_PATH=modules
8.- make modules_install
9.- cd modules
10.- tar -czf …/modules.tar.gz .
11.- scp modules.tar.gz root@:/root/
12.- tar -xzf modules.tar.gz -C /

Now, I have under /lib/modules two different folders:

3.10.40-2.8.3+g6c533d3 3.10.40-g063d16eceb57

3.10.40-2.8.3+g6c533d3 is the original one and 3.10.40-g063d16eceb57 is the new one.

I have tried with depmod 3.10.40-g063d16eceb57 , but I am unable to get this work. Still, the FTDI device is unrecognized.

Running uname -r gives me 3.10.40-2.8.3+g6c533d3 , so it seems that I am not doing something correctly. I believe that maybe my kernel and kernel module versions are not matching?

Note that I am quite new with this, so any help is appreciated. If you need more information, ask, please.

Best regards,

Ander.

Hi @Andermutu.

I’ll try to explain a little bit better.

You understood the versions correctly. Your kernel (version from uname -r, or uname -a) looks inside /lib/modules for a folder with its exact version. This is why your current kernel won’t use the new modules that you compiled and deployed.
From your local kernel repository, after compiling the kernel, you can run make kernelrelease to get the exact kernel version that you will get (take a look at make help to see the make commands you can run and also some options that you can set :slight_smile: )

To solve your problem, you can compile the kernel and also deploy it to your module, so you guarantee that the kernel version is compatible with the modules that you already deployed.

Best regards.
Henrique

Hi,

First of all, thank you for your answer. I have built a new kernel version with FTDI drivers and now my USB to serial converter works fine.

I have one last question: I have a TEZI image with a custom kernel. Is it achievable to only update the kernel using Toradex Easy Installer while keeping the rest file system intact? Something like “run update_kernel” from UBoot but for Toradex Easy Installer.

Best regards,

Ander.

Hi @Andermutu !

If you need help regarding another topic, please, create a new question.

Thanks!

Best regards,
Henrique