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.

Linux/TUSB9261: how to program TUSB9261 flash on linux ?

Part Number: TUSB9261
Other Parts Discussed in Thread: TUSB9260

Tool/software: Linux

Hi

I am trying to program the flash on the 4 TUSB9261 USB3 SATA bridges that are on my device which is based on the  NVIDIA tegra tx2 platform running ubuntu linux. It has no interface to a PC host. So I can't use any windows SW for this.

Acc. to this link

http://e2e.ti.com/support/interface/f/138/t/341781

it seems like I need the Linux Flash Burner SW and a eBurner driver.

1. Where may I get them ?

2. I see USB HID boot loader device

# lsusb

Bus 002 Device 004: ID 0451:926b Texas Instruments, Inc. TUSB9260 Boot Loader
Bus 002 Device 003: ID 0451:926b Texas Instruments, Inc. TUSB9260 Boot Loader
Bus 002 Device 002: ID 0451:8025 Texas Instruments, Inc.
Bus 001 Device 005: ID 0451:8027 Texas Instruments, Inc.
Bus 001 Device 007: ID 0451:926b Texas Instruments, Inc. TUSB9260 Boot Loader
Bus 001 Device 006: ID 0451:926b Texas Instruments, Inc. TUSB9260 Boot Loader
Bus 001 Device 003: ID 0451:8027 Texas Instruments, Inc.

3. dmesg output

[ 9.593300] usb 2-3.1: new SuperSpeed USB device number 3 using xhci-tegra
[ 9.600615] usb 1-3: New USB device found, idVendor=0451, idProduct=8027
[ 9.607508] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[ 9.613872] usb 2-3.1: New USB device found, idVendor=0451, idProduct=926b
[ 9.613876] usb 2-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9.613878] usb 2-3.1: Product: TUSB9260 Boot Loader
[ 9.613880] usb 2-3.1: Manufacturer: Texas Instruments
[ 9.613882] usb 2-3.1: SerialNumber: TUSB9260BL01
[ 9.614618] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6
[ 9.614962] usb 2-3.1: Set SEL for device-initiated U1 failed.
[ 9.615480] usb 2-3.1: Set SEL for device-initiated U2 failed.
[ 9.617035] hid-generic 0003:0451:926B.0001: hidraw0: USB HID v1.10 Device [Texas Instruments TUSB9260 Boot Loader] on usb-3530000.xhci-3.1/input0
[ 9.675733] usb 1-3: SerialNumber: 65000871BDF8
[ 9.681342] hub 1-3:1.0: USB hub found
[ 9.685227] hub 1-3:1.0: 2 ports detected

4. Kernel version is 4.4.38

nvidia@voltron-ru-tegra-ubuntu-sn1019:~$ uname -a

Linux voltron-ru-tegra-ubuntu-sn1019 4.4.38-tegra #8 SMP PREEMPT Fri Nov 9 13:01:46 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

5. I'm think it is because the "eBurner" driver is not loaded as I don't see the /dev/TUSB9260_0 node. Is this a driver that Ti provides or is it integrated into the linux kernel ?

6. From the dmesg log

[ 9.614962] usb 2-3.1: Set SEL for device-initiated U1 failed.
[ 9.615480] usb 2-3.1: Set SEL for device-initiated U2 failed.

Is this an error that I may ignore? If not, how do I fix it ? I was hoping once the flash device is programmed, this may go away.

 

  • Hi,

    You are correct. It seems like the firmware has not been loaded on this device. You will need to load your SPI Flash memory with the firmware. I have a Linux-based tool than can help you with this. Please accept my friend request so I can send it to you.


    Thanks,
  • Thank you for your response. I accepted your friend request. Will the linux tool you send expect the device need to enumerate as a /dev/TUSB9260 node before it can download the f/w ? If so, I believe I would need eburner driver to load for the device for that to happen - how do I enable that driver in the kernel or is that a loadable module?
  • Yes it will. I have the eBurner driver for Linux I will to send it to you as well.
  • This has been sent. Documentation was provided as well. Please let me know if this resolved your issue.
  • Nicholaus,

    Thank you. I am working on cross compiling the samples for my platform using the documentation. I am trying to decide which zip file to use from the two you sent. The driver in the non-i386 one seems a little newer.

    In the meantime, I was able to get hold of a SPI-flash programmer adapter from Total Phase called the Aardwark : www.totalphase.com/.../.
    I tried to program the 1.06 FW bin file that I downloaded from the TUSB9261 support page onto the flash using their flash programmer. The flash got programmed and verified ok. But when I power cycle, it still keeps coming back as boot loader. Any idea why the flashed binary is not recognized ? Is the .bin file only meant for download via the USB HID bootloader mechanism and the flash burner tool+eburner app ? If yes, is can you provide a version of the f/w that I can download directly onto the flash chip ?

    Regards
    Shyam
  • I compiled the kernel module and ran insmod. The driver loads. I ran the flash burner. It complains saying no compatible devices found. Any idea what is going on ? I already see /dev/TUSB9260_0 device. So why the error. Logs below.

    $ ./FB -f TUSB926x_FW_v1.06.bin
    NO COMPATIBLE DEVICES FOUND...
    Please connect a valid TUSB926x device

    $ lsmod
    Module Size Used by
    eBurner 3986 0
    vfat 9891 1
    ipt_MASQUERADE 2115 1
    fat 56416 1 vfat
    nf_nat_masquerade_ipv4 2931 1 ipt_MASQUERADE
    nf_conntrack_netlink 24487 0
    nfnetlink 7190 2 nf_conntrack_netlink
    fuse 82192 3
    iptable_nat 2285 1
    nf_nat_ipv4 6554 1 iptable_nat
    xt_addrtype 3298 2
    iptable_filter 2119 1
    ip_tables 18195 2 iptable_filter,iptable_nat
    xt_conntrack 3423 1
    nf_nat 16543 2 nf_nat_ipv4,nf_nat_masquerade_ipv4
    br_netfilter 13413 0
    overlay 33387 0
    bluedroid_pm 11195 0
    nfsd 98496 11
    nfs_acl 3020 1 nfsd

    $ ll /dev/TUSB9260_*
    crw------- 1 root root 180, 192 Apr 26 00:22 /dev/TUSB9260_0
    crw------- 1 root root 180, 193 Apr 26 00:22 /dev/TUSB9260_1
    crw------- 1 root root 180, 194 Apr 26 00:22 /dev/TUSB9260_2
    crw------- 1 root root 180, 195 Apr 26 00:22 /dev/TUSB9260_3

    $ ./FB -f TUSB926x_FW_v1.06.bin
    NO COMPATIBLE DEVICES FOUND...
    Please connect a valid TUSB926x device

    $ dmesg

    ..

    [ 6490.542935] We've found our Bulk Out Endpoint at 2.
    [ 6490.548576] TUSB9260 device is now attached - 192
    [ 6490.553452] We've found our Bulk Out Endpoint at 2.
    [ 6490.559006] TUSB9260 device is now attached - 193
    [ 6490.563806] We've found our Bulk Out Endpoint at 2.
    [ 6490.569800] TUSB9260 device is now attached - 194
    [ 6490.574834] We've found our Bulk Out Endpoint at 2.
    [ 6490.580399] TUSB9260 device is now attached - 195
    [ 6490.585124] usbcore: registered new interface driver eBurner

  • Shyam,

    As I explained offline , the Linux software is open-source and is provided as-is. The Linux software was not intended your platform, and we do not offer general software support.

    We can continue this discussion offline.


    Regards,