如何在Linux下实现USB设备软插拔

假设有以下lsusb输出

Bus 001 Device 077: ID 154b:6001 PNY

使用iotcl给设备usb总线发送USBDEVFS_RESET

使用ioctl

来源:https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line/661#661  http://marc.info/?l=linux-usb&m=121459435621262&w=2

按照上面的输出,编译此程序以后的操作路径为

缺点:ioctl可能需要额外的二进制程序

优点:无需root权限

使用Python的ioctl接口

USBDEVFS_RESET 在一般系统上都是21780,在Mips上可能是536892692

来源:https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line/591979#comment1425275_591979

使用VID、PID遍历SYSFS: /sys/bus/usb/devices/

这里存储了所有的设备,但是父目录不够直观,需要写脚本遍历找出这个设备

缺点:需要Root权限

Author Info :
  • From:如何在Linux下实现USB设备软插拔
  • URL:https://blog.ihipop.com/2019/03/5191.html
  • Please Reserve This Link,Thanks!
  • 发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注