我有一个不稳定的 USB 设备,需要每五分钟重置一次。到目前为止,我手动拔掉了它,这相当烦人。我发现可以通过解除绑定/重新绑定来重新激活它,这样就可以用这个脚本来拯救它:(我可以从 lsusb -t 解析路径)
echo '1-1' > /sys/bus/usb/drivers/usb/unbind
echo '1-1' > /sys/bus/usb/drivers/usb/bind
此脚本只能由 root 执行,但我想将调用集成到我的应用程序(C++ 二进制文件)中。以 su 身份运行所有内容听起来有点过头了,我希望有类似小组的组织具有这种能力。
答案1
要通过 sudo 命令授予用户“foo”root 权限,请编辑 /etc/sudoers 并添加以下行:
foo ALL = NOPASSWD: ALL
有关更多信息,请参阅 sudo(8) 和 sudoers(5)。
对于绑定/取消绑定,您可以使用以下命令:
echo -n devicePath > /sys/bus/usb/drivers/usb/unbind
echo -n devicePath > /sys/bus/usb/drivers/usb/bind