zoukankan      html  css  js  c++  java
  • Linux嵌入式学习-USB端口号绑定

    由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插,

    在网上找到一种方法:udev的规则

    udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239

    将端口重映射到新的固定的名字,并且设置其权限为可读。使用对应的id端口映射到固定的名字上。

    1
    lsusb

    查看对应的usb端口信息

    1
    2
    3
    4
    5
    6
    7
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
    Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
    Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
    Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    udev的规则

    $kernel, %k:设备的内核设备名称,例如:sda、cdrom。

    ID  10c4:ea60     表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
        10c4    usb_device_descriptor.idVendor
        ea60    usb_device_descriptor.idProduct

    依据上面信息写udev文件:我用的是rplidar的激光雷达usb串口

    我的串口设备信息

    1
    Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
    1
    sudo vi /etc/udev/rules.d/rplidar.rules

      

    1
    KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar" 

     创建生效后重新插拔USB

    1
    ls -l /dev |grep ttyUSB

      显示

    1
    2
    3
    lrwxrwxrwx  1 root   root           7 Nov 29 14:03 rplidar -> ttyUSB1
    crw-rw-rw-  1 root   dialout 188,   0 Nov 29 14:03 ttyUSB0
    crwxrwxrwx  1 root   dialout 188,   1 Nov 29 14:03 ttyUSB1

    多个不同型号设备可使用这种方法来区分

     打开设备时,用(/dev/rplidar)即可。

    http://www.cnblogs.com/CZM-/p/6113475.html

  • 相关阅读:
    如何在 Windows 7 上安装 TeX Live 2018
    CF 964C Alternating Sum
    WF 18 A 想法
    CLion 使用笔记
    数理统计学复习
    ssh无密码访问设置(ssh-keygen 的详解)
    mysql开启远程连接的方法
    mysql命令大全
    Linux下创建仓库的软件包createrepo
    Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令
  • 原文地址:https://www.cnblogs.com/ynxf/p/6379449.html
Copyright © 2011-2022 走看看