我有什么选项可以硬重置 Linux 驱动程序?
我的 USB 连接 dvb 调谐器有问题。它们不时崩溃,内核日志中出现堆栈跟踪,并从设备管理器中消失。应用程序(tvheadend,在 docker 容器中运行)冻结,无法再终止,docker 容器无法关闭,甚至无法终止。
由于所有这些都与驱动程序的不稳定状态有关,我想知道是否可以强制卸载或重置它,以便我可以在不重新启动机器的情况下重新启动整个 dvb 子系统?
我的情况中的驱动程序是si2157
和em28xx*
。使用 卸载modprobe -r
所有 dvb 相关模块失败,因为设备仍在被冻结的进程使用。
答案1
卸载模块可以通过以下方式完成,rmmod -f
请注意下面的部分危险的
如果完全被阻止,这可能不起作用,最好的方法可能是尝试修复驱动程序,也许不是“工作”状态,但至少是“如果崩溃则可以卸载并重试”状态
Usage:
rmmod [options] modulename ...
Options:
-f, --force forces a module unload and may crash your
machine. This requires Forced Module Removal
option in your kernel. DANGEROUS
-s, --syslog print to syslog, not stderr
-v, --verbose enables more messages
-V, --version show version
-h, --help show this help