Linux下USB固定端口设置实现简介 (linux u 固定端口)

USB(Universal Serial Bus)是一种广泛应用于计算机及其他电子设备中的串口总线。USB的出现推动了PC周边设备市场的快速发展,同时也让人们的生活更加便捷。然而,随着USB设备的不断增多,设备之间的端口映射会发生变化,使得设备无法正确识别,从而影响其正常使用。为了解决这一问题,Linux下提供了USB固定端口设置,本文将对其实现方法进行简单介绍。

一、USB端口编号

在Linux系统下,USB总线上的每个设备都会被分配一个唯一的端口号。USB总线上的端口通常被命名为“/dev/u/X”,其中X表示端口号。例如,之一个插入的USB设备通常被分配为“/dev/u/1”,第二个则为“/dev/u/2”,以此类推。

二、USB固定端口设置

USB固定端口设置是指将USB设备与特定的USB端口相对应,从而在设备断开重连或系统重启后,可以保持相同的端口分配。这可以避免因为端口映射变化而造成的设备无法识别问题,从而提高设备的可靠性。

在Linux下,可以通过udev规则进行USB固定端口设置。udev是Linux系统中处理硬件设备的管理程序,它与kernel紧密结合,可以动态地对设备进行管理。在udev中,可以针对特定的USB设备,设置对应的USB端口号。

三、USB固定端口设置实现步骤

1. 查看USB设备信息

在终端中输入命令“lsu -t”,可以查看系统中所有USB设备的信息及其连接关系。

$ lsu -t

/: Bus 02.Port 1: Dev 1, Class=root\_hub, Driver=ehci-pci/2p, 480M

|__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M

|__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M

/: Bus 01.Port 1: Dev 1, Class=root\_hub, Driver=ehci-pci/2p, 480M

|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M

|__ Port 2: Dev 9, If 1, Class=Wireless, Driver=uhid, 12M

|__ Port 2: Dev 9, If 0, Class=Wireless, Driver=uhid, 12M

|__ Port 3: Dev 10, If 0, Class=Storage, Driver=u-storage, 480M

|__ Port 4: Dev 11, If 0, Class=Human Interface Device, Driver=uhid, 1.5M

可以看到,在当前的系统中有两个USB总线(Bus 01和Bus 02),在各自的总线上都有不同的端口,每个端口下可能有一个或多个设备。根据这个信息,可以确定要设置固定端口的USB设备所处的总线及端口号。

2. 编写udev规则

在终端中输入命令“sudo nano /etc/udev/rules.d/99-u.rules”,创建udev规则文件。

$ sudo nano /etc/udev/rules.d/99-u.rules

按照以下格式编写规则,其中,之一行为规则说明,第二行为匹配USB设备的属性,第三行为对应的USB端口号。

# USB Device rules

SUBSYSTEMS==”u”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6015″, SYMLINK+=”ttyu0″, MODE=”0666″, GROUP=”dialout”, ENV{ID_SERIAL_SHORT}=”0602″

KERNEL==”1-1.1.1″, SYSFS{idVendor}==”0403″, SYSFS{idProduct}==”6015″, NAME=”ttyUSB0″, MODE=”0666″, GROUP=”dialout”

其中,之一行可省略,只是为了方便管理。

ATTRS{idVendor}和ATTRS{idProduct}是USB设备的厂商ID和产品ID。可以使用命令“lsu -v”查看USB设备的详细信息,从中获取相关的信息。

第二种方式的规则匹配的是USB端口的属性。在例子中,1-1.1.1表示USB总线1上的之一个端口下的之一个设备(在“lsu -t”命令中可以看到),匹配到后,会将其命名为ttyUSB0端口,并设置相应的权限和分组。

3. 重启udev服务

在终端中输入命令“sudo service udev restart”,重启udev服务,让新的udev规则生效。

$ sudo service udev restart

至此,USB固定端口设置已经完成。

四、

USB固定端口设置可以避免USB设备由于端口映射变化而产生的不可预测性,提高设备的可靠性。在Linux系统下,可以通过udev规则进行USB固定端口设置,具体实现步骤包括查看USB设备信息、编写udev规则以及重启udev服务。通过这些简单的步骤,可以方便地对USB设备进行端口固定设置,提高设备的可靠性和稳定性。

相关问题拓展阅读:

Linux下如何挂载USB设备

注意要挂载U盘需要有管理员的权限。

切换成管理员,输入:

su root

然后输入管理员密数橘码,进行密码认证;

成功后,先在 /mnt 下建立一个名叫USB的文件夹,文件夹名称随意:

mkdir /mnt/USB

然后将U盘插入电脑的USB接口,再输入:

fdisk –l

查看一下磁盘分区的变化情况,我们可以在下图中看到多出了一个 /dev/sdb1 的分区,这个就是刚才插入的U盘设备,当然在不银档同的系统环境显示的U盘设备名称有所不同;

挂载成功后,我们查看一下U盘里的文件:

好吧,现在我们开始挂载U盘设备,

输入:

mount –t vfat /dev/sdb1 /mnt/USB

ls –la /mnt/USB

创建一个文件夹试试,我们创建一个叫my-files的文件夹,然后再看看U盘的文件夹:

mkdir /mnt/USB/my-files

我们可以看到U盘里多出了一个my-files的文件夹,说明挂载U盘成功,而且创建文件夹也成功。

我们往my-files文件夹里写入一个文件dir-out.txt,再查看一下这个文件的内容:

dir / > /mnt/USB/my-files/dir-out.txt

cat /mnt/USB/my-files/dir-out.txt

当完成对U盘的锋毕乱操作之后,我们需要用umount 来卸载它,注意:千万记住不要直接拔下U盘,否则有可能会对U盘造成损坏。

umount /mnt/USB

最后再插下U盘就完成了整个挂载U盘的过程了。如有不对或者不合理的地方欢迎大家斧正。

成功后,先在 /mnt 下建立一个名叫USB的文件夹,文件夹名称随意:

mkdir /mnt/USB

关于linux u 固定端口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux下USB固定端口设置实现简介 (linux u 固定端口)