首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将串行设备地址绑定到特定的usb端口

将串行设备地址绑定到特定的usb端口
EN

Unix & Linux用户
提问于 2018-12-17 17:49:19
回答 1查看 3.1K关注 0票数 0

我的操作系统: Raspbian拉伸Lite

tl;dr;

  1. 我有两个相同的USB设备
  2. 我想确保他们的地址不被混淆
  3. 我的想法是将地址绑定到特定的USB端口。我可以“牺牲”港口
  4. 因为我在linux上是新手,所以我不知道怎么做。据我所知,udev根据其ID而不是端口(不同的制造商、型号等)来区分设备。
  5. 还有其他推荐的方法吗?

长篇版本:

所以,我有这个UART到USB转换器与同一个制造商,所以它有相同的ID在udev和所有。我想确保2设备不被混淆。例如,/dev/ttyUSB0 0总是指向我想要的特定硬件(例如: inside )。这两个设备将由一个门分开,所以它真的很重要,不乱的东西是外面和里面)。

我不知道该怎么做。我的想法是绑定特定的端口,以便当设备插入到这些特定端口时,它总是将地址ttyUSB0提供给该设备。有可能这样做吗?我是linux新手,我知道有udev规则。但据我所知,它只能用id来绑定设备,而不是端口。或者是否还有其他使用udev的推荐方法?

这是我的设备的udevadm

代码语言:javascript
运行
复制
  looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="cp210x"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0':
    KERNELS=="3-2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cp210x"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{interface}=="CP2102 USB to UART Bridge Controller"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-2':
    KERNELS=="3-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="3"
    ATTRS{configuration}==""
    ATTRS{devnum}=="57"
    ATTRS{devpath}=="2"
    ATTRS{idProduct}=="ea60"
    ATTRS{idVendor}=="10c4"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Silicon Labs"
    ATTRS{maxchild}=="0"
    ATTRS{product}=="CP2102 USB to UART Bridge Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{serial}=="0001"
    ATTRS{speed}=="12"
    ATTRS{urbnum}=="1909"
    ATTRS{version}==" 1.10"

注意:如果将一个端口绑定到一个特定的串行地址意味着我不能将该端口用于任何其他设备,那么对我来说就没问题了

EN

回答 1

Unix & Linux用户

发布于 2019-08-02 01:02:21

试试https://unix.stackexchange.com/a/533464/202850。我有四个相同的相机,没有连载,需要钉牢。我是用USB接口做的

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/489538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档