News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

USB Blaster III UART driver for Linux?

Started by d.signer, August 10, 2025, 03:18:23 PM

Previous topic - Next topic

d.signer

I recently got an Arrow/Trenz AXE-5000. Programming is working fine, but I don't observe any new /dev/ttyUSBx or /dev/ACMx devices when I plug it in:

[Sun Aug 10 13:11:02 2025] usb 1-4.4: new high-speed USB device number 47 using xhci_hcd
[Sun Aug 10 13:11:02 2025] usb 1-4.4: New USB device found, idVendor=09fb, idProduct=6022, bcdDevice= 7.00
[Sun Aug 10 13:11:02 2025] usb 1-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Sun Aug 10 13:11:02 2025] usb 1-4.4: Product: USB Blaster III
[Sun Aug 10 13:11:02 2025] usb 1-4.4: Manufacturer: Altera
Is a specific driver required or some udev rule or similar to load the FTDI driver when the above vendor/product is detected?

d.signer

It seems like

echo 09fb 6022 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
attached the FTDI driver and created /dev/ttyUSB0 and /dev/ttyUSB1.


d.signer

It seems like the JTAG programming part will cease to work when I associate the device with the FTDI driver:

$ jtagconfig
1) USB-Blaster variant [1-4.4]
  Unable to lock chain - Chain in use

Is there a way to make both the USB serial driver and the JTAG interface work at the same time?

Thomas D

Hi
can you please check if this udev rule exists:
https://www.intel.com/content/www/us/en/docs/programmable/683472/25-1/installing-drivers-on-red-hat-enterprise.html

I installed Quartus Pro 25.1.1 on Ubuntu 24.04 LTS, created the udev rule from the link above and was able to open serial port (/dev/ttyUSB0) and detecting JTAG in Programmer without any additional commands etc.

It doesnt seem necessary to install additional drivers or load the FTDI driver separately.

br
Thomas

d.signer

Thanks. But that udev rule will only set the permission for the device to 0666.

My problem seem to be the driver associated with the device (FT2232H-56Q) and not the permissions.

Would you care to share the part of the dmesg output when the AXE5000 was plugged in as it might show which driver is being loaded.

d.signer

It seems like the VID and PID match the ftdi_sio driver:

$ git grep 'define ALTERA_VID'|cat
drivers/usb/serial/ftdi_sio_ids.h:#define ALTERA_VID            0x09fb
$ git grep 'define ALTERA_UB3_6022_PID'|cat
drivers/usb/serial/ftdi_sio_ids.h:#define ALTERA_UB3_6022_PID        0x6022


But this commit is quite recent:

$ git blame drivers/usb/serial/ftdi_sio_ids.h | grep ALTERA_UB3_6022_PID
18e0885bd (Boon Khai Ng                    2025-03-12 11:05:44 +0800 1628) #define ALTERA_UB3_6022_PID        0x6022


Which is the one I loaded. But it might be that my kernel is too old (6.13.8).

Thomas D

#6
Which Linux OS are you using?
Which version of Quartus do you have installed?

Here is the excerpt when the module is connected:
$ dmesg
...
[  222.025003] usb 1-2: New USB device found, idVendor=09fb, idProduct=6022, bcdDevice= 7.00
[  222.025006] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  222.025008] usb 1-2: Product: USB Blaster III
[  222.025010] usb 1-2: Manufacturer: Altera
[  222.025012] usb 1-2: SerialNumber: xxxxxxxx
[  222.095677] usbcore: registered new interface driver usbserial_generic
[  222.095690] usbserial: USB Serial support registered for generic
[  222.117486] usbcore: registered new interface driver ftdi_sio
[  222.117502] usbserial: USB Serial support registered for FTDI USB Serial Device
[  222.117545] ftdi_sio 1-2:1.1: FTDI USB Serial Device converter detected
[  222.126304] usb 1-2: Detected FT2232H
[  222.142717] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0

With the echo command, you load the FTDI driver generally for VID 09fb PID 0622, and driver is assigned to the interfaces 0 and 1, correct? As you can see in the excerpt from dmesg above, ftdi_sio is only loaded for 1-2:1.1 (interface 1).
Here you can see more clearly what it looks like in my case:
$ lsusb -t -v
...
    |__ Port 002: Dev 003, If 0, Class=Vendor Specific Class, Driver=[none], 12M
        ID 09fb:6022 Altera
    |__ Port 002: Dev 003, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        ID 09fb:6022 Altera

Please try loading the ftdi driver for interface 1 only.

d.signer

I'm using Version 25.1.0 Build 129 03/26/2025 SC Pro Edition.

I think the problem is due to a old driver on my desktop system (Gentoo).

I tried on my jtag server (Arch) and there it seem to work fine:

[11166578.198143] usb 1-1.4.2: New USB device found, idVendor=09fb, idProduct=6022, bcdDevice= 7.00
[11166578.198187] usb 1-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11166578.198211] usb 1-1.4.2: Product: USB Blaster III
[11166578.198228] usb 1-1.4.2: Manufacturer: Altera
[11166578.198245] usb 1-1.4.2: SerialNumber: xxxxxxxx
[11166578.206314] ftdi_sio 1-1.4.2:1.1: FTDI USB Serial Device converter detected
[11166578.206527] usb 1-1.4.2: Detected FT2232H
[11166578.207205] usb 1-1.4.2: FTDI USB Serial Device converter now attached to ttyUSB0

I can now program the device and access the USB serial port even though I havent tested any data transfers yet.

Thank you for your help and suggestions.