The USB Arrow driver is not found using Quartus. This was all working until I upgraded from 18.04 to 20.04.
lsusb
Bus 001 Device 019: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
If I remeber right it use to have Arrow in the descriptor
Here is my udev file:
# Arrow-USB-Programmer
SUBSYSTEM=="usb",\
ENV{DEVTYPE}=="usb_device",\
ATTR{idVendor}=="0403",\
ATTR{idProduct}=="6010",\
MODE="0666",\
NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}",\
RUN+="/bin/chmod 0666 %c"
SUBSYSTEM=="usb",\
ATTRS{idVendor}=="0403",\
ATTRS{idProduct}=="6010",\
ATTR{interface}=="Arrow USB Blaster",\
ATTR{bInterfaceNumber}=="00",\
RUN="/bin/sh -c 'echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind'"
lsusb -vd 0403:6010
Bus 001 Device 016: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6010 FT2232C/D/H Dual UART/FIFO IC
bcdDevice 7.00
iManufacturer 1 FTDI
iProduct 2 Dual RS232-HS
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0037
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 Dual RS232-HS
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 Dual RS232-HS
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
I did:
sudo rmmod ftdi_sio
sudo rmmod usbserial
repeated the lsusb -vd 0403:6010 the output was the same.
If I use virtual box and start win10 dump the descriptor info, it has Arrow descriptor, serial number etc.
Some more information running virtualbox win10:
diag tools:
Arrow USB Programmer2 Diagnostic Program V1.2
Reading version info.
- Operating system version number is 10.0.19041.
- Quartus version is 20.1.0.711.
Searching programmer hardware.
- Error. No programmer hardware found.
Reading registry entries for programmer DLL.
- Successful. TCK frequency is 20.000.000 Hz.
Searching programmer DLL.
- Successful. Programmer DLL installed properly.
Checking Altera JTAG server service.
- Service has been stopped successfully.
- Service has been started successfully.
Reading registry entries for FTDI driver configuration settings.
- Successful. FTDI driver configuration settings are OK.
Total errors: 1
Hit any key to exit program.
attached is screen shot of the FTDI app
Hi,
VM and JTAG can make trouble, that's maybe the reason why JTAG not works on your VM.
I use Win OS native only, so I can't help much with your Ubuntu 20.04 problem.
Did you check that your setup on 20.4 is still correct, we have some notes:
https://wiki.trenz-electronic.de/display/PD/Arrow+USB+Programmer#ArrowUSBProgrammer-Linux
and Arrow driver files includes additional notes:
http://www.trenz-electronic.de/fileadmin/docs/Trenz_Electronic/Software/Drivers/Arrow_USB_Programmer/Arrow_USB_Programmer_2.4/Arrow_USB_Programmer_2.4_linux64.zip
your rules looks like the same which arrow describes in the readme from the download. Did you checkedtthe VCP drivers are still removed?
br
John
Installed WIN 10 on PC and install Quartus along with Arrow USB drivers and still not working.
Arrow USB Programmer2 Diagnostic Program V1.2
Reading version info.
- Operating system version number is 10.0.19041.
- Quartus version is 20.1.0.711.
Searching programmer hardware.
- Error. No programmer hardware found.
Reading registry entries for programmer DLL.
- Successful. TCK frequency is 20.000.000 Hz.
Searching programmer DLL.
- Successful. Programmer DLL installed properly.
Checking Altera JTAG server service.
- Service has been stopped successfully.
- Service has been started successfully.
Reading registry entries for FTDI driver configuration settings.
- Successful. FTDI driver configuration settings are OK.
Total errors: 1
Hit any key to exit program.
What else to try? is The eeprom wrong?
I also tried the -c option on the tool.
Here is a screen shot of the device manager
USBview
Did not attach screen shot.
Hi,
in this case the EEPROM is empty (your last picture with USB viewer).
But your wrote at the beginning:
QuoteThe USB Arrow driver is not found using Quartus. This was all working until I upgraded from 18.04 to 20.04.
If I understand this correctly, eeprom content was correct before you has done the update?
So did you try to modify eeprom with some tools? I can't imagine how linux update can influence eeprom content.
br
John
"If I understand this correctly, eeprom content was correct before you has done the update?"
-The EEPROM was changed before the OS grade. via the FTDI - FT Prog tool. There was no test performed to validate the change. The change was made to Hardware Specific/Port B/Hardware to set RS232 UART.
The attached screen shot was taken from a WIN10 PC, no VM installed. So how can the EEPROM be blank? The Product Name, Desc etc looks valid. Is there invalid CRC or checksum? special key?
Hi.
QuoteThe EEPROM was changed before the OS grade. via the FTDI - FT Prog tool. There was no test performed to validate the change. The change was made to Hardware Specific/Port B/Hardware to set RS232 UART.
JTAG for port A and UART for port B was predefined. You didn't have to change that.
You used the newest FT_PROG tool from FTDI webpage? This is the problem, in case you has used the newest version. The new FT_PROG seems to have a bug. It didn't not write check sum on the correct address in the EEPROM, like it should be done from the FTDI specification. With older FT_PROG version it works fine.
Do you have some older version of FT_PROG?
br
John
Problem resolved.
Loaded /Support/Utilities/FT_Prog_v3.0.56.245.zip (common basename)
using this link https://www.ftdichip.com/Support/Utilities/FT_Prog_v3.0.0%20Installer.exe
Windows and 20.04 Ubuntu both work.
Hi,
thanks for the link.
PS: Use only https://www.ftdichip.com/Support/Utilities/FT_Prog_v3.
--> than list with available versions will be larger
br
John