如何阻止 usb_gadget 返回“不允许操作”

如何阻止 usb_gadget 返回“不允许操作”

我有一个运行 Debian Stretch 的板,它充当 USB 小工具,在/sys/kernel/config/usb_gadget.

我正在运行一个脚本来使用新参数设置小工具,但这样的语句失败:

echo 0x0200 > bcdUSB

然后我尝试完全删除该小工具以重新运行我的脚本:

rm -rf /sys/kernel/config/usb_gadget/customgadget/
# Result:
rm: cannot remove '/sys/kernel/config/usb_gadget/customgadget/os_desc/qw_sign': Operation not permitted
rm: cannot remove '/sys/kernel/config/usb_gadget/customgadget/os_desc/b_vendor_code': Operation not permitted
rm: cannot remove '/sys/kernel/config/usb_gadget/customgadget/os_desc/use': Operation not permitted
rm: cannot remove '/sys/kernel/config/usb_gadget/customgadget/strings/0x409/serialnumber': Operation not permitted
... etc.

如何停止 usb_gadget 运行以便进行所需的更改?

答案1

配置文件系统是一个特殊的文件系统,不允许删除这些文件。您无法递归删除所有文件。你必须执行目录在您的目录中定制小工具反而:

rmdir /sys/kernel/config/usb_gadget/customgadget/strings/0x409/
rmdir /sys/kernel/config/usb_gadget/customgadget/os_desc/
rmdir /sys/kernel/config/usb_gadget/customgadget/

更多细节:https://www.kernel.org/doc/Documentation/usb/gadget_configfs.txt

相关内容