如何使usb端口静态?

时间:2013-06-04 06:13:20

标签: c++ linux shell usb debian

有什么办法可以在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 个答案:

答案 0 :(得分: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来运行新规则,但有时我会看到需要重启才能让它们生效。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用udev执行此操作,您可以在该页http://wiki.debian.org/udev

找到相关信息

答案 3 :(得分:0)

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

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