Trenz Electronic GmbH Support Forum

Community => Arrow USB Programmer2 => Topic started by: tcmichals on August 02, 2020, 06:25:33 AM

Title: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 02, 2020, 06:25:33 AM
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. 


Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 02, 2020, 04:31:42 PM
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
Title: Re: Driver not loading using Ubuntu 20.04
Post by: JH on August 03, 2020, 07:48:17 AM
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
Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 03, 2020, 08:56:40 PM
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?


Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 03, 2020, 08:58:06 PM
I also tried the -c option on the tool.
Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 03, 2020, 09:29:50 PM
Here is a screen shot of the device manager
Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 03, 2020, 10:41:17 PM
USBview
Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 03, 2020, 10:44:12 PM
Did not attach screen shot.
Title: Re: Driver not loading using Ubuntu 20.04
Post by: JH on August 04, 2020, 08:44:29 AM
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
Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 04, 2020, 04:26:52 PM
"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?




Title: Re: Driver not loading using Ubuntu 20.04
Post by: JH on August 05, 2020, 06:52:00 AM
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

Title: Re: Driver not loading using Ubuntu 20.04
Post by: tcmichals on August 06, 2020, 04:58:09 PM
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.
Title: Re: Driver not loading using Ubuntu 20.04
Post by: JH on August 07, 2020, 11:59:48 AM
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