当前位置: 首页 > 知识库问答 >
问题:

USB到具有相同序列号的串行设备之间的持久性

岑俊明
2023-03-14

在将udev规则赋予USB到串行适配器设备方面有一个很大的问题,我有两个,它们具有相同的属性。有没有其他办法为他们每个人设定udev规则,或者我运气不好?他们有“bcm2708_usb”内核版本。谢谢

还有我通过usb集线器使用它们

这就是最后的结果

>

  • 像下面提到的,我使用lsusb-t命令获取USB串行设备树

    创建了一个文件“/etc/udev/rules.d/99 input.rules”

    在那个文件中,我写了一行“SYMLINK=”打印机“ATTRS{devpath}==”1.2.1”

    保存文件和这些命令,以便在不需要重新启动的情况下启用规则-“sudo udevadm control--reload rules”,“sudo udevadm trigger”

    为了测试它,我使用了“sudo minicom-s”,在“串行设置”选项中,我将设备设置为“/dev/打印机”

  • 共有1个答案

    袁奇文
    2023-03-14

    我以前在使用两个相同的USB串行设备时遇到过这个问题。最后,我们用一个四端口USB串行设备替换了它们,这是系统中唯一的USB串行设备,使查找和检测单个串行端口变得更简单,无论四端口USB连接在哪里。

    然而:

    如果您可以物理地识别和维护它所连接的USB端口,并且如果USB子系统没有改变(例如,由于其他PCI卡或USB集线器被删除/添加,BIOS更新),您可以通过一点经验观察来做到这一点,等等。-这是一个很大的“如果”,我知道...)如果你只有一个你关心的系统...

    命令lsusb-t将为您提供USB设备和端口树。您可以使用它来查找您的设备。选择一个,然后将其取出,并将其插入不同的USB端口,以确认您拥有所需的设备。标记它,并标记您要使用它的物理端口,并记下该时间点的总线、端口、设备、地址等。如果PCI总线不变等,则该USB总线、设备、端口应保持与该USB串行设备相对应的端口。

    示例输出:

    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
        |__ Port 3: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 7, If 0, Class=vend., Driver=pl2303, 12M
    

    在这种情况下,链总线02,端口3 Dev1--

    然后,您可以在udev规则中使用该信息来区分特定的USB串行设备,大致如下:

    ATTRS{devpath}=="3.1",ATTRS{idVendor}=="0557", ATTRPICS{idProduct}=="2008"
    

    这里,3.1对应于底部端口3,端口1

    下面是一个未插入集线器的示例:

    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=vend., Driver=pl2303, 12M
    

    ATTRS{devpath}=="1",ATTRS{idVendor}=="0557", ATTRS{idProduct}=="2008"
    

    忽略Dev编号,它在每次插入时都会更改。显然,用您的产品ID等替换产品ID。。。

     类似资料:
    • 问题内容: 我想知道什么是实现此目标的最佳方法。 想不出一种好方法来保存需要保存的信息,例如索引和值的数量,最后是要重复的实际数量 问题答案: 您可以使用2D ArrayList,其声明如下: 然后在过程结束时声明要添加到其中的2个ArrayList: 然后 1)遍历列表,检查元素是否与先前相同。 如果是的话,请进行到最后,否则将发现一个不同的元素,此时在ArrayList中将先前相等元素的数量存

    • 问题内容: 我需要一些帮助,以使用同一持久性单元配置多个数据库的多个连接。 它们都具有相同的架构。因此,我想使用相同的持久性单元/ DAO等,而又不想设置10个EntityManager,10个持久性xml等。有没有办法做到这一点?这是我当前的配置: 我也在使用Spring / hibernate来设置我的上下文: 最后我使用: 将我的EntityManager注入我的DAO 如何扩展此模型以能够

    • 问题内容: 我需要一些帮助,以使用相同的持久性单元配置多个数据库的多个连接。 它们都具有相同的架构。因此,我想使用相同的持久性单元/ DAO等,而又不想设置10个EntityManager,10个持久性xml等。有没有办法做到这一点?这是我当前的配置: 我也在使用Spring / hibernate来设置我的上下文: 最后我使用: 将我的EntityManager注入我的DAO 如何扩展此模型以能

    • 需要说明的是,这款设备没有被锁定或任何东西,它非常适合我的朋友,他也有同样的android studio版本。问题不在于检测usb设备(通过电脑),我可以完美地访问设备的内容,因此它可以正确地连接到我的电脑,但不能连接到android studio。当我试图运行一个应用程序时,usb设备没有出现在选项中。有人能帮我解决这个问题吗,我的android工作室正在更新。 更新:我使用的设备是:三星J2和

    • 问题内容: 我想创建模块自动更新USB设备列表(不仅是大容量存储)。现在它的工作非常不礼貌- 它具有附加线程,该线程在1秒钟后更新了设备列表。但是也许您知道如何处理一些插件事件,这些事件会生成OS(例如Windows XP及更高版本),或者通过另一种方式简化此过程。感谢您的时间! 问题答案: 这个问题似乎是一半的设计,一半的实现。似乎您最担心要为Java USB服务(例如jUSB)找到某种方式来服

    • 我在取消激发两个表之间的连接结果时遇到问题。这两个表定义为: 我想取消这一点,为每个ID/测试组合获取一行,以实现结果: 如果我在没有指定感兴趣的列的情况下编写unpivot,它看起来是这样的: 这会产生错误ORA-00918:列定义不明确 如果我尝试通过指定要使用的列来编写它,它看起来像这样: 这会产生错误ORA-01748:此处只允许使用简单的列名 有办法让这个unpivot工作吗?我可以将其