• ubuntu 为USB串口绑定固定的设备名


    参考文件 

    1.ubuntu下为usb绑定固定的设备名

    2.建立USB串口别名,创建udev规则

    3. UDEV命令中文翻译

    查找 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
    View Code
    #查看规则生效没有
    ls -l
    /dev/rplidar

    出现/dev/rplidar,则说明别名成功。

  • 相关阅读:
    系统重启
    Linux驱动程序开发
    Linux 下实现控制屏幕显示信息和光标的状态
    Linux C 语言 获取系统时间信息
    linux 获取系统屏幕分辨率
    Linux下得到显示屏参数的方法
    Linux如何关闭防火墙和查看防火墙的具体情况
    查看Linux下网卡状态或 是否连接(转)
    ArcGIS Engine中正确释放打开资源
    在ArcEngine下实现图层属性过滤的两种方法
  • 原文地址:https://www.cnblogs.com/yan-2010/p/15243124.html
Copyright © 2020-2023  润新知