在 gentoo 上,我有 10 个 USB 调制解调器,每个调制解调器都有 3 个接口 /dev/ttyUSB0、1、2 等等。有时他们的职位会改变,所以和他们一起工作非常困难。
我正在使用每个调制解调器的第一个接口。因此,对于第一个调制解调器,它将是 ttyUSB0,其他 ttyUSB1 和 ttyUSB2 我不需要向调制解调器发送命令。
我如何为它们中的每一个编写静态 udev 规则,以便它们具有固定位置,以及如何在诸如 modem-xxxxxxx 接口之类的接口中重命名 ttyUSB0 以便更轻松地使用它们?
lsusb 输出:
client dev # lsusb
Bus 002 Device 039: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
华为调制解调器之一的 dmesg 输出:
[166041.393547] usb 2-6: default language 0x0409
[166041.402548] usb 2-6: udev 40, busnum 2, minor = 167
[166041.402552] usb 2-6: New USB device found, idVendor=12d1, idProduct=1001
[166041.402555] usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=1
[166041.402558] usb 2-6: Product: HUAWEI Mobile
[166041.402660] usb 2-6: usb_probe_device
[166041.402664] usb 2-6: configuration #1 chosen from 1 choice
[166041.405566] usb 2-6: adding 2-6:1.0 (config #1, interface 0)
[166041.408589] option 2-6:1.0: usb_probe_interface
[166041.408593] option 2-6:1.0: usb_probe_interface - got id
[166041.408600] option 2-6:1.0: GSM modem (1-port) converter detected
[166041.408803] usb 2-6: GSM modem (1-port) converter now attached to ttyUSB0
[166041.408835] usb 2-6: adding 2-6:1.1 (config #1, interface 1)
[166041.411572] option 2-6:1.1: usb_probe_interface
[166041.411576] option 2-6:1.1: usb_probe_interface - got id
[166041.411581] option 2-6:1.1: GSM modem (1-port) converter detected
[166041.411683] usb 2-6: GSM modem (1-port) converter now attached to ttyUSB1
[166041.411703] usb 2-6: adding 2-6:1.2 (config #1, interface 2)
[166041.414572] option 2-6:1.2: usb_probe_interface
[166041.414576] option 2-6:1.2: usb_probe_interface - got id
[166041.414580] option 2-6:1.2: GSM modem (1-port) converter detected
[166041.414682] usb 2-6: GSM modem (1-port) converter now attached to ttyUSB2
[166041.414714] hub 2-0:1.0: state 7 ports 10 chg 0000 evt 0040
试图找到这样的端口地址:
client rules.d # udevadm info -q path -n /dev/ttyUSB0
/devices/pci0000:00/0000:00:02.0/usb2/2-6/2-6:1.0/ttyUSB0/tty/ttyUSB0
然后创建文件 /etc/udev/rules.d/10-local.rules 并在其中写入如下行:
KERNEL=="ttyUSB*", KERNELS=="2-6:1.0", NAME="ttyUSB0_654"
KERNEL=="ttyUSB*", KERNELS=="2-6:1.1", NAME="ttyUSB1_654"
KERNEL=="ttyUSB*", KERNELS=="2-6:1.2", NAME="ttyUSB2_654"
但看起来它不起作用。
答案1
经过一些聊天中的讨论看来该符号链接已经存在/dev/serial/by-path/
并且可以工作。