我有一个非常挑剔的 USB 设备(调制解调器)。有时它工作正常,但有时它拒绝连接。一旦设备进入不良状态,我发现修复它的唯一解决方案是物理拔出设备并将其重新插入。但是,我并不总是可以物理访问它插入的机器,所以我'我正在寻找一种通过命令行执行此操作的方法。
这篇文章建议运行:
sudo modprobe -w -r usb_storage; sudo modprobe usb_storage
但是我得到一个“未知选项-w”输出。这个稍作修改的命令:
sudo modprobe -r usb_storage
失败并显示消息 FATAL: Module usb_storage is in use。如果我尝试在运行之前杀死 -9 标记为 [usb-storage] 的进程,它们会拒绝死亡(我认为因为它们与内核紧密相关)。
有人知道这样做的方法吗?
注意:我在 superuser.com 上交叉发布了这个,因为我不知道哪个更合适。我将删除和/或链接首先回答的任何一个。
您的调制解调器驱动程序可能仍在加载。使用“sudo lsmod”检查哪些模块正在使用 usb_storage 或任何其他 USB 模块。您必须首先“sudo modprobe -r the other modules”。
尝试关闭任何相关服务,然后先尝试删除依赖项。
rmmod总是有残酷的方式,但我不建议这样做,因为它可能会使您的系统崩溃
您还可以制作一个脚本,在这种情况下禁用 USB 电源