Fresh installation of Ubuntu 22.04.5 (bare-metal). Specs:
- Gigabyte Technology Co., Ltd. B650 GAMING X AX
- AMD® Ryzen 9 7900x3d 12-core processor × 24
- NVIDIA GeForce RTX 3060/PCIe/SSE2 / NVIDIA Corporation GA106
Attempting to do some FPGA development with Vivado 2024.1 and cannot interface with the Numato Mimas A7 via the onboard FT2232H USB to serial interface chip. I can plug in other FTDI devices with success and the USB drivers create /dev/ paths. I even got to the point of ordering a second Mimas development board, thinking I had received a defective unit. However, both Mimas boards are behaving the same way.
Terminal information
Relevant output of lsusb shows:
...
Bus 001 Device 005: ID 2a19:1009 Numato Systems Pvt. Ltd Mimas Artix 7 FPGA Module
...
Output of dmesg when plugging in the Mimas shows:
[Nov26 23:11] usb 1-4: new high-speed USB device number 5 using xhci_hcd
[ +0.214620] usb 1-4: New USB device found, idVendor=2a19, idProduct=1009, bcdDevice= 7.00
[ +0.000006] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0.000002] usb 1-4: Product: Mimas Artix 7 FPGA Module
[ +0.000002] usb 1-4: Manufacturer: Numato Lab
[ +0.000001] usb 1-4: SerialNumber: NXXXXXXX
Note: Here there are no usb-serial, usb-core, or ftdi_sio line entries. With other FTDI devices, such as my Digilent Analog Discovery, I'll see these additional line entries
Output of udevadm monitor when plugging in the Mimas shows:
KERNEL[1467.971766] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4 (usb)
KERNEL[1467.998258] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[1468.003203] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4/1-4:1.1 (usb)
KERNEL[1468.003222] bind /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4 (usb)
UDEV [1468.006816] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4 (usb)
UDEV [1468.008083] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV [1468.008105] add /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV [1468.010333] bind /devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0e:00.0/usb1/1-4 (usb)
Note: Again, there are no usb-serial or driver, or ftdi_sio line entries. With other FTDI devices, such as my Digilent Analog Discovery, I'll see these additional line entries
Output after setting logging via udevadm control --log-priority=debug and journalctl -f during plug:
Nov 27 01:22:37 AAbuntu22 mtp-probe[9119]: checking bus 5, device 10: "/sys/devices/pci0000:00/0000:00:08.1/0000:10:00.4/usb5/5-2"
Nov 27 01:22:37 AAbuntu22 mtp-probe[9119]: bus: 5, device: 10 was not an MTP device
Nov 27 01:22:37 AAbuntu22 systemd-udevd[9117]: 5-2: 'mtp-probe /sys/devices/pci0000:00/0000:00:08.1/0000:10:00.4/usb5/5-2 5 10'(out) '0'
Nov 27 01:22:37 AAbuntu22 systemd-udevd[9117]: 5-2: Process 'mtp-probe /sys/devices/pci0000:00/0000:00:08.1/0000:10:00.4/usb5/5-2 5 10' succeeded.
Nov 27 01:22:37 AAbuntu22 systemd-udevd[9117]: 5-2: Handling device node '/dev/bus/usb/005/010', devnum=c189:521
Nov 27 01:22:37 AAbuntu22 systemd-udevd[9117]: 5-2: sd-device: Created db file '/run/udev/data/c189:521' for '/devices/pci0000:00/0000:00:08.1/0000:10:00.4/usb5/5-2'
Nov 27 01:22:37 AAbuntu22 systemd-udevd[9117]: 5-2: Failed to get watch handle, ignoring: No such file or directory
Note: Once again, no UDEV coming in to help out
Background:
With the distribution of Vivado 2024.1, there are 3 .rules files that are added to /ect/udev/rules.d/ after running a "cable-drivers" installation script. They were written back in 2012-2016 to support Digilent and Xilinx devices. More info here. For example, 52-xilinx-ftdi-usb.rules has the following line:
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{manufacturer}=="Xilinx", MODE:="666"
Obviously, my device was not included in the above FTDI rule, but I tried adding my own line to this file using ATTRS{idVendor}=="2a19" and ATTRS{idProduct}=="1009" instead of the ATTRS shown. After applying udevadm control --reload, udevadm trigger and even rebooting, this did not have an effect on either dmesg or udevadm monitor outputs. I tried making my own rule file 10-numato-ftdi-usb.rulesin the same location:
ATTRS{idVendor}=="2a19", ATTRS{idProduct}=="1009", ACTION=="add", MODE="666", RUN+="/bin/sh -c 'echo $(date) $(env) >>/tmp/udev-debug.log'"
This unfortunately had the same null effect with and without the logging.
I've reviewed and tried all the suggestions within these references:
(Reference 1):
UDEV rules for FTDI not completely working
(although this user has the benefit of having a mounted device in /dev/).
- I verified my user in all the appropriate
groups.
(Reference 2):Ubuntu20.04 ttyUSB doesn't show up when FTDI device connected
- Verified
linux-modules-extrapackage installed viasudo apt install linux-generic
(Reference 3): https://stackoverflow.com/questions/45054026/ftdi-device-not-detected (although this user is attempting to use the legacy FTDI D2XX driver)
- Tried removing and re-enabling
ftdi_sio(and 'usb-serial') modules viarmmodandmodprobe
(Reference 4): FT232 - no ttyUSB* device will be created after plugin
- Verified my device isn't blacklisted
(Reference 5): /dev/ttyUSB0 not present in Ubuntu 22.04
- There were no issues with
brlttyin the logs, but I removed it anyway.
From what I can tell, it's a kernel issue, but I'm all ears.