0

有什么方法可以修复 Debian linux 中的 USB 端口?例如,我将 USB 插入串行电缆(电缆 A),Debian 将其分配给 /dev/ttyUSB0。之后,我将另一个 USB 插入串行(电缆 B)并将其分配给 /dev/ttyUSB1。

我知道如果我希望电缆 A 始终分配给 /dev/ttyUSB0,我必须在插入电缆 B 之前将其插入。如果我希望电缆 A 始终分配给 /dev/ttyUSB0 和电缆,是否有其他选择B 到 /dev/ttyUSB1,无论我先插入哪条电缆或插入任何 USB 端口?

我愿意接受任何关于如何做到这一点的建议,如果需要,我可以编写 c++ 来处理这个问题。

4

4 回答 4

1

udev 规则是为此任务设计的:
https ://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
http://www.reactivated.net/writing_udev_rules .html

我认为在 Debian 上,规则文件位于/etc/udev/rules.d/ 一旦您编辑了规则,您通常可以运行udevadm --trigger action=change以运行新规则,但有时我看到需要重新启动才能使它们生效。

这样做的最常见原因是为特定设备指定唯一名称而不是特定端口,但通常可以提供端口名称。我目前不知道确切的规则,但这应该会引导你朝着正确的方向前进。

于 2013-06-04T06:28:24.840 回答
0

有时这取决于 usb2uart 控制器。其中一些没有序列号。所以从操作系统的角度来看,一个设备与另一个设备完全一样。

在这种情况下,它们是无法区分的。

于 2013-06-04T14:40:38.140 回答
0

您可以使用 sys/mount.h 中的 Mount/Umount/Remount 函数。配合适当的参数。 http://www.gnu.org/software/libc/manual/html_node/Mount_002dUnmount_002dRemount.html

于 2013-06-04T06:28:36.823 回答
0

您可以使用 udev 执行此操作,您将在该页面http://wiki.debian.org/udev找到信息

于 2013-06-04T06:30:02.987 回答