USB设备授权:interface_authorized_default和authorized_default之间的区别

USB设备授权:interface_authorized_default和authorized_default之间的区别

/sys/bus/usb/devices/usbX/authorized_default和 和有什么区别/sys/bus/usb/devices/usbX/interface_authorized_default?基本上,这两个文件都负责拒绝新连接的设备访问 USB 端口,如下所示此处描述。它们的工作方式似乎相同,那么有什么区别呢?我应该使用哪一个?

答案1

不同的是,新的接口授权允许启用或禁用每个位掩码的单个接口,而不是允许或拒绝整个设备。您链接到的文档中提到了这一点:

接口授权
..​​..........
有类似的方法来允许或拒绝特定的USB 接口。
这允许仅阻止 USB 设备的子集。
............................
默认拒绝接口:

echo 0 > /sys/bus/usb/devices/usbX/interface_authorized_default

授权接口:

echo 1 > /sys/bus/usb/devices/INTERFACE/authorized

当您需要调试设备和驱动程序(未找到匹配的驱动程序或使用了错误的驱动程序/配置等等...)时,这非常有用,USB 设备的每个特性/功能锁定等等
简而言之:

  • 用于authorized_default拒绝或限制允许的设备数量,例如取消默认
    连接的新设备的授权hostX

    echo 0 > /sys/bus/usb/devices/usbX/authorized_default
    

    然后连接并授权您选择的设备:

    echo 1 > /sys/bus/usb/devices/DEVICE/authorized
    
  • interface_authorized_default如果您需要调试或仅允许/使用功能的子集,例如hostX默认情况下拒绝接口,请使用:

    echo 0 > /sys/bus/usb/devices/usbX/interface_authorized_default:
    

    授权您选择的接口:

    echo 1 > /sys/bus/usb/devices/INTERFACE/authorized
    

    并触发驱动程序探测:

    echo INTERFACE > /sys/bus/usb/drivers_probe
    

相关内容