树莓派设备端口号绑定

树莓派设备端口号绑定

1、查看USB设备信息

使用lsusb

bruce@bruce-desktop:~$
bruce@bruce-desktop:~$ lsusb
Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 004: ID 0513:0318 digital-X, Inc.
Bus 001 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 008: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
bruce@bruce-desktop:~$

会看到这三个我插入的USB设备,PL2302设备的 ID 是相同的,340设备又是 另一个 ID。
Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 007: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

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

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

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

3.1查询具体信息
ls -l /sys/class/tty
通过热插拔,来确定那个设备 对应哪个 USB端口

lrwxrwxrwx 1 root root 0 818 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
lrwxrwxrwx 1 root root 0 818 08:52 ttyUSB1 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB1/tty/ttyUSB1
bruce@bruce-desktop:~$
3.2 将下面设置,写到 /etc/udev/rules.d/99-com.rules 文件中
KERNEL=="ttyUSB*",KERNELS=="1-1.1",MODE:="0777",SYMLINK+="serial_one"
KERNEL=="ttyUSB*",KERNELS=="1-1.3",MODE:="0777",SYMLINK+="serial_zero"

3.3 然后可以通过命令查看是否配置完成:ls -l /dev/serial*
其中 serial 是自己定义的。

bruce@bruce-desktop:~$
bruce@bruce-desktop:~$ ls -l /dev/serial*
lrwxrwxrwx 1 root root  7 128  2018 /dev/serial_one -> ttyUSB0
lrwxrwxrwx 1 root root  7 128  2018 /dev/serial_zero -> ttyUSB1

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

4.1 首先通过 热插拔 确定是哪个 USB*
然后通过命令:udevadm info /dev/ttyUSB2
找到这个地址:E: ID_PATH=platform-3f980000.usb-usb-0:1.1.3:1.0

bruce@bruce-desktop:~$
bruce@bruce-desktop:~$
bruce@bruce-desktop:~$ udevadm info /dev/ttyUSB2
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
N: ttyUSB2
S: serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0
S: serial/by-path/platform-3f980000.usb-usb-0:1.1.3:1.0-port0
S: serial_one
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
E: DEVNAME=/dev/ttyUSB2
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
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=USB-Serial_Controller
E: ID_MODEL_ENC=USB-Serial\x20Controller
E: ID_MODEL_FROM_DATABASE=PL2303 Serial Port
E: ID_MODEL_ID=2303
E: ID_PATH=platform-3f980000.usb-usb-0:1.1.3:1.0
E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_1_3_1_0
E: ID_REVISION=0300
E: ID_SERIAL=Prolific_Technology_Inc._USB-Serial_Controller
E: ID_TYPE=generic
E: ID_USB_DRIVER=pl2303
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Prolific_Technology_Inc.
E: ID_VENDOR_ENC=Prolific\x20Technology\x20Inc.
E: ID_VENDOR_FROM_DATABASE=Prolific Technology, Inc.
E: ID_VENDOR_ID=067b
E: MAJOR=188
E: MINOR=2
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=13043364
E: net.ifnames=0

bruce@bruce-desktop:~$

4.2 根据:E: ID_PATH=platform-3f980000.usb-usb-0:1.1.2:1.0/etc/udev/rules.d/99-com.rules 文件中写入:
SUBSYSTEM=="tty",ENV{ID_PATH}=="platform-3f980000.usb-usb-0:1.1.2:1.0",MODE:="0777",SYMLINK+="serial_two"
4.3 然后可以通过命令查看是否配置完成:ls -l /dev/serial*
其中 serial 是自己定义的。

bruce@bruce-desktop:~$
bruce@bruce-desktop:~$ ls -l /dev/serial*
lrwxrwxrwx 1 root root  7 128  2018 /dev/serial_two -> ttyUSB2

5、总结:

使用到的命令:

1、lsusb
2、sudo nano /etc/udev/rules.d/99-com.rules

3、ls -l /sys/class/tty
4、udevadm info /dev/ttyUSB0

5、ls -l /dev/serial*
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值