USB转串口唯一标识记录

在两个 USB 转串口设备中,虽然 idVendoridProduct 都是相同的(即 067b23a3),但是它们的 serial 属性不同。这种情况在使用相同型号的设备时是很常见的,因为 idVendoridProduct 只是标识设备的制造商和产品型号,而 serial 则是设备的唯一标识符。
先输入:udevadm info -a -n /dev/ttyUSB0
返回ttyUSB0的信息
解决方法:

由于这两个设备的 idVendoridProduct 相同,你需要使用 serial 属性来区分它们,以确保它们分别映射到 ttyUSBtxttyUSBbh。你可以这样做:

udev 规则文件示例:

# 规则 1: 将设备 serial 为 BQANb136G03 的映射为 ttyUSBtx
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="BQANb136G03", SYMLINK+="ttyUSBtx"

# 规则 2: 将设备 serial 为 EWCZb136G03 的映射为 ttyUSBbh
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="EWCZb136G03", SYMLINK+="ttyUSBbh"

步骤:

  1. 编辑 udev 规则文件
    将上述规则写入 /etc/udev/rules.d/99-usb-serial.rules 文件中。

  2. 重新加载 udev 规则
    运行以下命令以重新加载规则:

    sudo udevadm control --reload-rules
    sudo udevadm trigger
    
  3. 验证符号链接
    重新插入设备,并使用以下命令检查符号链接是否正确生成:

    ls -l /dev/ttyUSBtx
    ls -l /dev/ttyUSBbh
    

总结:

通过使用 serial 属性,你可以确保即使 idVendoridProduct 相同,这两个设备仍然能够被正确区分,并分别映射到 ttyUSBtxttyUSBbh。这将确保你的程序能够准确地与每个设备进行通信,避免数据混淆的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值