首先,查詢現有的usb轉serial的裝置命令

pi@raspberrypi:~ $ ls -l /sys/class/tty/ttyUSB*
lrwxrwxrwx 1 root root 0 Apr 24 06:23 /sys/class/tty/ttyUSB0 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/ttyUSB0/tty/ttyUSB0
lrwxrwxrwx 1 root root 0 Apr 24 06:23 /sys/class/tty/ttyUSB1 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/ttyUSB1/tty/ttyUSB1

查詢設備的匹配類型 idVendor 和 idProduct 在此利用這兩個進行規定和指定,但缺點是如果兩個轉換器都是同一個廠牌可能會無效

idVendor和idProduct可以由lsusb或lsusb -vvv命令查看

其他 udev常用的匹配類型:

  • BUS:匹配匯流排類型,比如PCI USB
  • KERNEL:匹配Kernel設備名,比如hda hdb
  • DRIVER:匹配Kernel的驅動程式名
  • SUBSYSTEM:匹配子系統名
  • ID:匹配匯流排系統的ID e.g. PCI bus ID
  • PLACE:匹配物理位置 (對USB很有用)

修改/創立新的規則文件路徑為

/etc/udev/rules.d/10-local.rule

内容如下

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="0777", SYMLINK+="uart_nano"
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="0777", SYMLINK+="uart_compass"

說明:

匹配sys中內核名為ttyUSB*的設備,屬性匹配依據生產商編號idVendor和產品號idProduct, 設定讀寫許可權為0777, 符號連結名為uart_nanoCH340串口轉USB)和uart_compassFDTI串口轉USB

完成後,存檔後退出後udev規則就生效了,重新拔插兩個串口設備或重開機(sudo reboot),就可以看到/dev/uart_nano指向/dev/ttyUSB0, /dev/uart_compass指向/dev/ttyUSB1

    全站熱搜

    Mamason 發表在 痞客邦 留言(0) 人氣()