This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TIUSB3410 Linux Driver

Other Parts Discussed in Thread: TUSB3410

I am trying desperately to communicate with a device that uses the TIUSB3410 device from linux.

Here is the output from dmesg:

[ 2730.016013] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
[ 2730.161030] usb 1-1.4: New USB device found, idVendor=0451, idProduct=3410
[ 2730.161049] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2730.161062] usb 1-1.4: Product: TUSB3410 Boot Device
[ 2730.161074] usb 1-1.4: Manufacturer: Texas Instruments
[ 2730.161087] usb 1-1.4: SerialNumber: TUSB3410        
[ 2730.164670] ti_usb_3410_5052 1-1.4:1.0: TI USB 3410 1 port adapter converter detected
[ 2730.164793] usb 1-1.4: Direct firmware load for ti_usb-v0451-p3410.fw failed with error -2
[ 2730.164934] usb 1-1.4: ti_download_firmware - firmware too large 37874
[ 2730.164986] ti_usb_3410_5052: probe of 1-1.4:1.0 failed with error -5

I have searched high and low for information and nothing works. Any assistance would be greatly appreciated.
I am using the latest rasbian kernel 4.4.12-v7+
  • Hello Jake,

    What are you getting on /dev after connecting the TUSB3410? are you able to see the ttyUSB0 instance?

    Regards,
    Roberto
  • Hi Roberto,

    No, I do not get ttyUSB0 in /dev.
  • No, ttyUSB0 does not appear in /dev.
  • Same issue but using AM335x-based design running 4.1.18 kernel:

    [ 3363.558193] usb 2-1: new full-speed USB device number 14 using musb-hdrc
    [ 3363.717151] usb 2-1: New USB device found, idVendor=0451, idProduct=3410
    [ 3363.724190] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 3363.731669] usb 2-1: Product: TUSB3410 Boot Device
    [ 3363.736662] usb 2-1: Manufacturer: Texas Instruments
    [ 3363.741855] usb 2-1: SerialNumber: TUSB3410
    [ 3363.781725] usbcore: registered new interface driver ti_usb_3410_5052
    [ 3363.788658] usbserial: USB Serial support registered for TI USB 3410 1 port adapter
    [ 3363.796728] usbserial: USB Serial support registered for TI USB 5052 2 port adapter
    [ 3363.804855] ti_usb_3410_5052 2-1:1.0: TI USB 3410 1 port adapter converter detected
    [ 3363.812990] usb 2-1: Direct firmware load for ti_usb-v0451-p3410.fw failed with error -2
    [ 3363.821460] usb 2-1: Falling back to user helper
    [ 3363.869891] usb 2-1: Direct firmware load for ti_3410.fw failed with error -2
    [ 3363.877356] usb 2-1: Falling back to user helper
    [ 3363.894968] usb 2-1: ti_download_firmware - firmware not found
    [ 3363.901217] ti_usb_3410_5052: probe of 2-1:1.0 failed with error -5

    No instance of ttyUSB0 in /dev/
  • Adding kernel-firmware-ti-3410 to oe build (or issue opkg install kernel-firmware-ti-3410 on a running target) should make it work.
  • Thank you Phillip,

    I do not have opkg installed. I am considering installing opkg, but I have a question:

    Is this the equivalent of loading the ti_usb_3410_5052.ko module?

    Where are good instructions on installing opkg?

    Jake

  • No problem at all. I think you should use a package manager, like opkg or apt-get, to ensure you get all of the necessary dependencies for your target. I've found that you have to enable the driver (kernel-module-ti-usb-3410-5052) in menuconfig and then add the kernel-firmware-ti-3410 either to your oe build or via a package manager on your target.

  • Thank you Phillip,

    It worked. I am running a raspberry pi model 3 with the latest debian kernel 4.4.13-v7+

    I downloaded the latest source, ran make menuconfig, and most importantly enabled USB TI 3410/5052  Serial Driver located here:

    Device Driver --->

    [*] USB support --->

    [*] USB Serial Converter support --->

    <*> USB TI 3410/5052 Serial Driver

    It is important to enable each level above by pressing <Y> to include in the kernel. In my example, having the feature modularized <M> did NOT work.

    I followed the instructions here to configure and build the kernel:

    https://www.raspberrypi.org/documentation/linux/kernel/building.md