USB设备名称固定

ARM板子上USB设备名称固定

一、查看USB通道与设备节点的之间的关系
cd /sys/class/video4linux/
在这里插入图片描述
此时我的arm板子上接了两个USB摄像头,一个是200万的,一个是500万的。可是通过cd /dev/下ls查看,发现每个摄像头对应两个文件描述符。那是因为可能你的USB摄像头支持多种显示格式,他就会对应多个文件描述符。
现在我要采集摄像头的视频,可是每次开机重启USB摄像头对应的描述符都会改变,因此我们需要固定一下设备描述符。

二、修改rules规则固定设备号
udev是Linux(linux2.6内核之后)默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理 /dev目录下的设备文件。
规则文件是 udev 里最重要的部分,默认是存放在 /etc/udev/rules.d/下。所有的规则文件必须以“.rules”为后缀名。
规则文件里的规则有一系列的键/值对组成,键/值对之间用逗号(,)分割。每一个键或者是用户匹配键,或者是一个赋值键。匹配键确定规则是否被应用,而赋 值键表示分配某值给该键。这些值将影响udev创建的设备文件。赋值键可以处理一个多值列表。

udev 规则的匹配键
ACTION: 事件 (uevent) 的行为,例如:add( 添加设备 )、remove( 删除设备 )。
KERNEL: 内核设备名称,例如:sda, cdrom。
DEVPATH:设备的 devpath 路径。
SUBSYSTEM: 设备的子系统名称,例如:sda 的子系统为 block。
BUS: 设备在 devpath 里的总线名称,例如:usb。
DRIVER: 设备在 devpath 里的设备驱动名称,例如:ide-cdrom。
ID: 设备在 devpath 里的识别号。
SYSFS{filename}: 设备的 devpath 路径下,设备的属性文件“filename”里的内容

NAME:在 /dev下产生的设备文件名。
SYMLINK:为 /dev/下的设备文件产生符号链接。

所以我们先在/etc/udev/rules.d创建任意*.rules文件,根据udev规则的键值对应规则编写文件。具体可以通过
udevadm info --query=all --name=/dev/video* --attribute-walk
来查看udev数据库中的设备信息
在这里插入图片描述
然后根据上述描述编写.rules文件:
ACTION==“add”,KERNELS==“1-1.5:1.0”,SUBSYSTEMS==“usb”,ATTR{name}“USB Camera”,ATTR{index}“0”,MODE:=“0777”,SYMLINK+=“my_video0”

三、保存退出,重启设备生效
cd /dev 用ll命令查看,这样每次重启后不管设备文件描述符怎么变化,你都可以用自己映射的描述符进行操作
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值