Nova instalação do Ubuntu 22.04.5 (bare-metal). Especificações:
- Gigabyte Technology Co., Ltd. B650 GAMING X AX
- Processador AMD® Ryzen 9 7900x3d de 12 núcleos × 24
- NVIDIA GeForce RTX 3060/PCIe/SSE2 / NVIDIA Corporation GA106
Tentando fazer algum desenvolvimento FPGA com Vivado 2024.1 e não consigo fazer interface com o Numato Mimas A7 via chip de interface USB para serial FT2232H integrado. Posso conectar outros dispositivos FTDI com sucesso e os drivers USB criam /dev/
caminhos. Cheguei até a pedir uma segunda placa de desenvolvimento Mimas, pensando que tinha recebido uma unidade com defeito. No entanto, ambas as placas Mimas estão se comportando da mesma maneira.
Informações do terminal
Produção relevante de lsusb
shows:
...
Bus 001 Device 005: ID 2a19:1009 Numato Systems Pvt. Ltd Mimas Artix 7 FPGA Module
...
A saída dmesg
ao conectar o Mimas mostra:
[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
Nota: Aqui não há entradas de linha usb-serial
, usb-core
, ou ftdi_sio
. Com outros dispositivos FTDI, como meu Digilent Analog Discovery, verei essas entradas de linha adicionais
A saída udevadm monitor
ao conectar o Mimas mostra:
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)
Nota: Novamente, não há entradas de linha usb-serial
or driver
, or ftdi_sio
. Com outros dispositivos FTDI, como meu Digilent Analog Discovery, verei essas entradas de linha adicionais
Saída após a configuração do registro via udevadm control --log-priority=debug
e journalctl -f
durante o 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
Nota: Mais uma vez, nenhum UDEV veio ajudar
Fundo:
Com a distribuição do Vivado 2024.1, há 3 .rules
arquivos que são adicionados /ect/udev/rules.d/
após a execução de um script de instalação "cable-drivers". Eles foram escritos em 2012-2016 para oferecer suporte a dispositivos Digilent e Xilinx. Mais informações aqui. Por exemplo, 52-xilinx-ftdi-usb.rules
tem a seguinte linha:
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{manufacturer}=="Xilinx", MODE:="666"
Obviamente, meu dispositivo não foi incluído na regra FTDI acima, mas tentei adicionar minha própria linha a este arquivo usando ATTRS{idVendor}=="2a19"
and ATTRS{idProduct}=="1009"
em vez do ATTRS
mostrado. Após aplicar udevadm control --reload
, udevadm trigger
e até mesmo reinicializar, isso não teve efeito em nenhuma das saídas dmesg
or udevadm monitor
. Tentei criar meu próprio arquivo de regras 10-numato-ftdi-usb.rules
no mesmo local:
ATTRS{idVendor}=="2a19", ATTRS{idProduct}=="1009", ACTION=="add", MODE="666", RUN+="/bin/sh -c 'echo $(date) $(env) >>/tmp/udev-debug.log'"
Infelizmente, isso teve o mesmo efeito nulo com e sem o registro .
Revisei e testei todas as sugestões dentro destas referências:
(Referência 1):
As regras do UDEV para FTDI não funcionam completamente
(embora este usuário tenha o benefício de ter um dispositivo montado em /dev/
).
- Verifiquei meu usuário em todos os aspectos apropriados
groups
.
(Referência 2): Ubuntu20.04 ttyUSB não aparece quando o dispositivo FTDI está conectado
linux-modules-extra
Pacote verificado instalado viasudo apt install linux-generic
(Referência 3): https://stackoverflow.com/questions/45054026/ftdi-device-not-detected (embora este usuário esteja tentando usar o driver FTDI D2XX legado )
- Tentei remover e reativar
ftdi_sio
(e módulos 'usb-serial') viarmmod
emodprobe
(Referência 4): FT232 - nenhum dispositivo ttyUSB* será criado após o plugin
- Verifiquei que meu dispositivo não está na lista negra
(Referência 5): /dev/ttyUSB0 não presente no Ubuntu 22.04
- Não houve problemas
brltty
nos logs, mas mesmo assim removi.
Pelo que posso perceber, é um problema de kernel, mas estou todo ouvidos.