Ubuntu系統上的USB端口號綁定

1 爲什麼綁定USB端口號

USB端口號會隨設備的插拔髮生變化,不方便測試,因此需要將USB端口號綁定。

2 如何綁定USB端口號

將端口重映射到新的固定的名字,並且設置其權限爲可讀。

2.1 查詢USB設備端口信息

在未插入USB設備前,打開終端,執行以下命令查看USB端口信息:

lausb

輸出如下:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:56a6 IMC Networks 
Bus 001 Device 003: ID 0bda:b023 Realtek Semiconductor Corp. 
Bus 001 Device 114: ID 413c:301a Dell Computer Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

然後,插入設備,再次在終端執行命令:

lsusb

輸出如下:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13d3:56a6 IMC Networks 
Bus 001 Device 003: ID 0bda:b023 Realtek Semiconductor Corp. 
Bus 001 Device 114: ID 413c:301a Dell Computer Corp. 
Bus 001 Device 123: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

可以看出,新插入設備的端口信息爲:

Bus 001 Device 123: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

其中:

  • ID 10c4:ea60:表示USB設備的ID(這個ID由芯片製造商設置,可以唯一表示該設備)
  • 10c4:usb_device_descriptor.idVendor
  • ea60:usb_device_descriptor.idProduct

2.2 創建usb_device.rules文件

切換到/etc/udev/rules.d,新建IMU.rules並打開:

cd /etc/udev/rules.d
sudo touch IMU.rules
sudo gedit IMU.rules

添加:

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="IMU"

其中:

  • ATTRS{idVendor}ATTRS{idProduct}對應2.1中的設備ID
  • MODE爲讀寫權限
  • SYMLINK爲想要綁定的USB設備的名字

保存IMU.rules後,重新插拔USB設備。

2.3 驗證

打開終端,執行命令:

ls -l /dev |grep ttyUSB

輸出:

lrwxrwxrwx  1 root root          7 11月 19 17:59 IMU -> ttyUSB0
crwxrwxrwx  1 root root   188,   0 11月 19 17:59 ttyUSB0

在這裏插入圖片描述
這樣就說明USB端口號就綁定成功了,USB設備的端口號就是/dev/IMU

3 參考

https://www.cnblogs.com/CZM-/p/6113475.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章