树莓派设备端口号绑定

快来打我* 2022-11-28 13:43 211阅读 0赞

树莓派设备端口号绑定

1、查看USB设备信息

  1. 使用lsusb
  2. bruce@bruce-desktop:~$
  3. bruce@bruce-desktop:~$ lsusb
  4. Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
  5. Bus 001 Device 004: ID 0513:0318 digital-X, Inc.
  6. Bus 001 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
  7. Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
  8. Bus 001 Device 008: ID 0424:7800 Standard Microsystems Corp.
  9. Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
  10. Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
  11. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  12. bruce@bruce-desktop:~$
  13. 会看到这三个我插入的USB设备,PL2302设备的 ID 是相同的,340设备又是 另一个 ID
  14. Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
  15. Bus 001 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
  16. Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

2、无论是ID相同的设备,还是ID不同的设备,都在下面这个文件中进行配置

  1. 打开文件:
  2. sudo nano /etc/udev/rules.d/99-com.rules

3、固定 相同ID设备的 端口号

  1. 3.1查询具体信息
  2. ls -l /sys/class/tty
  3. 通过热插拔,来确定那个设备 对应哪个 USB端口
  4. lrwxrwxrwx 1 root root 0 8 18 08:52 ttyUSB0 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/ttyUSB0/tty/ttyUSB0
  5. lrwxrwxrwx 1 root root 0 8 18 08:52 ttyUSB1 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB1/tty/ttyUSB1
  6. bruce@bruce-desktop:~$
  7. 3.2 将下面设置,写到 /etc/udev/rules.d/99-com.rules 文件中
  8. KERNEL=="ttyUSB*",KERNELS=="1-1.1",MODE:="0777",SYMLINK+="serial_one"
  9. KERNEL=="ttyUSB*",KERNELS=="1-1.3",MODE:="0777",SYMLINK+="serial_zero"
  10. 3.3 然后可以通过命令查看是否配置完成:ls -l /dev/serial*
  11. 其中 serial 是自己定义的。
  12. bruce@bruce-desktop:~$
  13. bruce@bruce-desktop:~$ ls -l /dev/serial*
  14. lrwxrwxrwx 1 root root 7 1 28 2018 /dev/serial_one -> ttyUSB0
  15. lrwxrwxrwx 1 root root 7 1 28 2018 /dev/serial_zero -> ttyUSB1

4、固定不同ID设备的端口号(其实,ID无论同与不同,都可以用下面这个方法)

  1. 4.1 首先通过 热插拔 确定是哪个 USB*
  2. 然后通过命令:udevadm info /dev/ttyUSB2
  3. 找到这个地址:E: ID_PATH=platform-3f980000.usb-usb-0:1.1.3:1.0
  4. bruce@bruce-desktop:~$
  5. bruce@bruce-desktop:~$
  6. bruce@bruce-desktop:~$ udevadm info /dev/ttyUSB2
  7. P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/ttyUSB2/tty/ttyUSB2
  8. N: ttyUSB2
  9. S: serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0
  10. S: serial/by-path/platform-3f980000.usb-usb-0:1.1.3:1.0-port0
  11. S: serial_one
  12. E: DEVLINKS=/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 /dev/serial_one /dev/serial/by-path/platform-3f980000.usb-usb-0:1.1.3:1.0-port0
  13. E: DEVNAME=/dev/ttyUSB2
  14. E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/ttyUSB2/tty/ttyUSB2
  15. E: ID_BUS=usb
  16. E: ID_MM_CANDIDATE=1
  17. E: ID_MODEL=USB-Serial_Controller
  18. E: ID_MODEL_ENC=USB-Serial\x20Controller
  19. E: ID_MODEL_FROM_DATABASE=PL2303 Serial Port
  20. E: ID_MODEL_ID=2303
  21. E: ID_PATH=platform-3f980000.usb-usb-0:1.1.3:1.0
  22. E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_1_3_1_0
  23. E: ID_REVISION=0300
  24. E: ID_SERIAL=Prolific_Technology_Inc._USB-Serial_Controller
  25. E: ID_TYPE=generic
  26. E: ID_USB_DRIVER=pl2303
  27. E: ID_USB_INTERFACES=:ff0000:
  28. E: ID_USB_INTERFACE_NUM=00
  29. E: ID_VENDOR=Prolific_Technology_Inc.
  30. E: ID_VENDOR_ENC=Prolific\x20Technology\x20Inc.
  31. E: ID_VENDOR_FROM_DATABASE=Prolific Technology, Inc.
  32. E: ID_VENDOR_ID=067b
  33. E: MAJOR=188
  34. E: MINOR=2
  35. E: SUBSYSTEM=tty
  36. E: TAGS=:systemd:
  37. E: USEC_INITIALIZED=13043364
  38. E: net.ifnames=0
  39. bruce@bruce-desktop:~$
  40. 4.2 根据:E: ID_PATH=platform-3f980000.usb-usb-0:1.1.2:1.0
  41. /etc/udev/rules.d/99-com.rules 文件中写入:
  42. SUBSYSTEM=="tty",ENV{
  43. ID_PATH}=="platform-3f980000.usb-usb-0:1.1.2:1.0",MODE:="0777",SYMLINK+="serial_two"
  44. 4.3 然后可以通过命令查看是否配置完成:ls -l /dev/serial*
  45. 其中 serial 是自己定义的。
  46. bruce@bruce-desktop:~$
  47. bruce@bruce-desktop:~$ ls -l /dev/serial*
  48. lrwxrwxrwx 1 root root 7 1 28 2018 /dev/serial_two -> ttyUSB2

5、总结:

使用到的命令:

  1. 1lsusb
  2. 2sudo nano /etc/udev/rules.d/99-com.rules
  3. 3ls -l /sys/class/tty
  4. 4udevadm info /dev/ttyUSB0
  5. 5ls -l /dev/serial*

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读

    相关 树莓

    树莓派 ![在这里插入图片描述][20190303220146889.jpg_pic_center] 树莓派是什么 树莓派(英文名为Raspberry Pi,简写