參考文件
查找 usb設備和camera
# 查看 video 設備 ls /dev/video* #查看usb 設備 ls /dev/ttyUSB* #查看端口地址 yan@yan-virtual-machine:~$ udevadm info /dev/video0 P: /devices/pci0000:00/0000:00:15.0/0000:03:00.0/usb3/3-2/3-2.1/3-2.1:1.0/video4linux/video0 N: video0 #其中3-2.1:1.0 為端口地址 #查看usb 設備 的端口地址 udevadm info /dev/ttyUSB0
查找設備idVendor ,和id Prodcut 命令
#查看詳細信息
udevadm info --attribute-walk --name=/dev/video0 或者 lsusb
創建udev 規則
mkdir ~/arm
cd ~/arm
vim arm.rules
內容如下:
1.綁定USB 端口號
# set the udev rule , make the device_port be fixed by rplidar
ACTION=="add",KERNELS=="1-1.2:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="imu"
ACTION=="add",KERNELS=="3-3:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="lidar"
ACTION=="add",KERNELS=="3-2:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my_serial3"
ACTION=="add",KERNELS=="2-1:1.0",SUBSYSTEMS=="usb",ATTR{index}=="0",MODE:="0777",SYMLINK+="myvideo2"
缺點:固定好之后usb設備插入的usb端口不能再改變。
2.綁定USB串口號,通過USB ID來識別
KERNEL==”ttyUSB*”, ATTRS{idVendor}==”10c4”, ATTRS{idProduct}==”ea60”, MODE:=”0666”, SYMLINK+=”lidar” KERNEL==”ttyUSB*”, ATTRS{idVendor}==”1a86”, ATTRS{idProduct}==”7523”, MODE:=”0666”, SYMLINK+=”base”
缺點: 當兩個串口芯片相同時會出現ID完全相同的情況, 例如上圖的兩個串口芯片都為
Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
ID也都為10c4:ea60.
新建腳本文件
vim arm.sh
#內容如下
#!/bin/bash
sudo cp arm.rules /etc/udev/rules.d
echo " "
echo "Restarting udev"
echo ""
sudo service udev reload
sudo service udev restart
echo "finish "
1.運行腳本文件
sudo chmod -R 777 * ./arm.sh
2.出現下面的信息則說明OK了
Restarting udev
finish
3.新插拔設備(或重啟)就會在/dev目錄下生成固定的設備名 ,檢查規則是否建立成功
# udevadm test [options] devpath Simulate a udev event run for the given device, and print debug output.
模擬插拔事件命令

#模擬攝像頭 udevadm test /sys/class/video4linux/video0 #模擬usb設備 udevadm test /sys/class/tty/ttyUSB0
#查看規則生效沒有
ls -l /dev/rplidar
出現/dev/rplidar,則說明別名成功。