解决/proc/bus/usb/目录下没有devices文件问题

$cat /proc/bus/usb/devices

cat: /proc/bus/usb/devices: 沒有此一檔案或目錄

方法一

$ sudo mount -t usbfs usbfs /proc/bus/usb/

保證usbfs是挂载在/proc/bus/usb上的

方法二

可以用lsusb命令查看,運行lsusb -v可以看到很多瑣碎資料

Usage: lsusb [options]...
List USB devices
-v, --verbose
Increase verbosity (show descriptors)
-s [[bus]:][devnum]
Show only devices with specified device and/or
bus numbers (in decimal)
-d vendor:[product]
Show only devices with the specified vendor and
product ID numbers (in hexadecimal)
-D device
Selects which device lsusb will examine
-t
Dump the physical USB device hierarchy as a tree
-V, --version
Show version of program

方法三

sudo mount --bind /dev/bus /proc/bus sudo ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Linux 下,可以通过读取 `/proc/bus/usb/devices` 文件来获取 USB 设备的 BusDevice 编号。具体步骤如下: 1. 获取设备的 ID 号,可以通过读取 `/sys/bus/usb/devices/` 目录下的 `idVendor` 和 `idProduct` 文件得到。 ```c++ std::string idVendor, idProduct; std::ifstream ifs("/sys/bus/usb/devices/your_device_path/idVendor"); if (ifs.is_open()) { std::getline(ifs, idVendor); ifs.close(); } ifs.open("/sys/bus/usb/devices/your_device_path/idProduct"); if (ifs.is_open()) { std::getline(ifs, idProduct); ifs.close(); } std::string deviceID = idVendor + ":" + idProduct; ``` 2. 读取 `/proc/bus/usb/devices` 文件,解析文件中的信息,找到与设备 ID 号匹配的设备信息,即可得到设备的 BusDevice 编号。 ```c++ std::string busnum, devnum; std::string devicesFile = "/proc/bus/usb/devices"; std::ifstream ifs(devicesFile); if (ifs.is_open()) { std::string line; bool foundDevice = false; while (std::getline(ifs, line)) { if (line.find("ID") != std::string::npos) { std::string id = line.substr(line.find("ID") + 3); if (id == deviceID) { foundDevice = true; } } if (foundDevice && line.find("Bus=") != std::string::npos) { busnum = line.substr(line.find("Bus=") + 4, 3); } if (foundDevice && line.find("Dev#=") != std::string::npos) { devnum = line.substr(line.find("Dev#=") + 5, 3); break; } } ifs.close(); } ``` 注意,以上代码中的 `your_device_path` 需要替换成你想要获取信息的设备路径。另外,由于 `/proc/bus/usb/devices` 文件的访问权限比较高,需要以 root 权限运行程序才能读取该文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值