使用时 lsusb
,我发现一个USB设备的总线号和设备号会时不时的发生变化。据我了解,总线编号可以在每次重新启动时更改。设备编号将在每次重新连接时更改。
我的问题是系统使用什么算法来获取总线号和设备号?尤其是设备号,是不是单调的?是否会出现在不重新启动操作系统的情况下,一个重新连接的设备正在使用另一个重新连接的设备的旧总线号和设备号的情况?
在我的 sudoer 用户(非 root)下,我可以看到我的设备lsusb
。但是,要查看 iSerial 编号,我需要发出lsusb -v
,我确实打印了很多信息,但是输出中也会显示消息“无法打开设备,某些信息将丢失”。iSerial 是缺失的信息之一。使用sudo lsusb -v
效果很好。
我尝试过sudo chmod -R o+rw /dev/bus/usb
,在此之后我可以在没有 sudo 的情况下检查 iSerial。但是重启后就不能用了。插入新设备时也无济于事。
有没有更好的方法来做到这一点?