linux - 如何将用户定义的名称分配给 USB CDC 串行端口?

标签 linux usbserial cdc

我在我的 Linux 主板上使用 USB 调制解调器,当我连接调制解调器时,内核正在创建 4 个虚拟 (CDC-ACM) 串行端口。和串行端口名称 asr,如 ttyUSB0 - ttyUSB3。但是这些分配的名称并不总是相同的。如果我已经连接了一些其他 USB CDC 设备,那么内核会分配一组不同的名称,例如 ttyUSB4-ttyUSB7。这种行为影响了我的程序,我每次都必须更改端口号。

那么有什么方法可以根据调制解调器的设备 ID 将用户定义的名称分配给调制解调器 USB CDC 端口?

最佳答案

您可以使用 udev 规则: 找到您设备的供应商和产品 ID(您可以使用 lsusb 命令获取它)然后创建文件 /etc/udev/rules.d./99-serial.rules 使用规则(相应地替换 idVendor、idProduct 和 NAME):

SUBSYSTEM=="tty", ATTRS{idVendor}=="O123", ATTRS{idProduct}=="0123", NAME="chooseSomeName"

拔下并重新插入设备。现在应该可以通过/dev/chooseSomeName 访问它了

关于linux - 如何将用户定义的名称分配给 USB CDC 串行端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362375/

相关文章:

java-me - 适用于 MIPS 的 CDC for Oracle Java ME 嵌入式客户端资源

linux - Indy 10.6 在具有管理员权限的 Linux 系统上使用 tcpserver 在客户端断开连接时抛出 Gtk-WARNING

c - 在参数 typedef 更改时重建动态库

linux - 与服务器: Post http://localhost/v2/snaps/discord: dial unix/run/snapd.socket: connect: connection refused通讯

android - 当授予权限时调用 UsbManager Request Permission 执行例程时的事件监听器是什么?

Android 设备无法识别带有 FTDI 芯片的附加硬件

c - 从串行端口读取十六进制数据数组字节值

linux - 为什么我们需要 x86 上的 zone_highmem?

与控制台输出混淆,C/USB CDC/PIC18F2550

java - 使用 Java 和 RXTX 检测 USB CDC 设备连接/断开