从 21.04 更新至 21.10 后,USB 串行设备未显示在 /dev/serial/by-id/ 中

从 21.04 更新至 21.10 后,USB 串行设备未显示在 /dev/serial/by-id/ 中

架构是在 RPi 4 2gb 上运行的 arm64。串行设备是我的任何运行 Klipper 固件的 3D 打印机板。

更新前,USB 设备运行正常。我还尝试了全新安装 21.10,以确保这不是更新问题,但仍然遇到同样的问题。安装全新的 20.04 LTS 副本可以修复此问题,因此我相当确信此问题与从 21.04 到 21.10 的一些更改有关。

设备正确显示在lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1d50:614e OpenMoko, Inc. lpc1769
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

但实际设备(/dev/ttyACM0在 21.04 和 21.10 中)从未出现过。

我不确定是否相关,但是 systemd-udevd 似乎引发了错误:

Oct 23 13:28:50 Himari systemd-udevd[931]: /usr/lib/udev/rules.d/90-pi-bluetooth.rules:14 Invalid value "/bin/sh -c 'ALIASES=/proc/device-tree/aliases; if cmp -s $ALIASES/uart0 $ALIASES/serial0; then echo 0;elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then echo 1; else exit 1; fi'" for PROGRAM (char 58: invalid substitution type), ignoring, but please fix it.
Oct 23 13:28:50 Himari systemd-udevd[931]: /usr/lib/udev/rules.d/90-pi-bluetooth.rules:27 Invalid value "/bin/sh -c 'ALIASES=/proc/device-tree/aliases; if [ -e /dev/ttyAMA0 ]; then exit 1; elif cmp -s $ALIASES/uart0 $ALIASES/serial0; then echo 0;elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then echo 1; else exit 1; fi'" for PROGRAM (char 97: invalid substitution type), ignoring, but please fix it.
Oct 23 13:28:50 Himari systemd-udevd[931]: /usr/lib/udev/rules.d/90-pi-bluetooth.rules:38 Invalid value "/bin/sh -c 'ALIASES=/proc/device-tree/aliases; if cmp -s $ALIASES/uart1 $ALIASES/serial0; then echo 0; elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then echo 1; else exit 1; fi '" for PROGRAM (char 58: invalid substitution type), ignoring, but please fix it.```

答案1

总结:请检查Linux 模块额外 raspi软件包已安装。看起来有些驱动程序已移至 21.10 中的新软件包中,以减小 initramfs 的大小。手动安装对我而言有帮助:

sudo apt install linux-modules-extra-raspi
sudo reboot

我也受到完全相同的问题的影响。今天早些时候,我在 Raspberry Pi 4 上使用 Ubuntu 21.04 为我的功率计设置 USB IR 读取器。之后do-release-upgrade,/dev/ttyUSB0没有出现。USB 设备在lsusb那里,但不知何故 usbserial 设备创建没有启动。

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 174c:1153 ASMedia Technology Inc. ASM1153 SATA 3Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

有问题的设备是0403:6015

这里似乎已经有一个相关的错误被提交在启动板上

相关内容