强制卸载或重置崩溃的 Linux 驱动程序

强制卸载或重置崩溃的 Linux 驱动程序

我有什么选项可以硬重置 Linux 驱动程序?

我的 USB 连接 dvb 调谐器有问题。它们不时崩溃,内核日志中出现堆栈跟踪,并从设备管理器中消失。应用程序(tvheadend,在 docker 容器中运行)冻结,无法再终止,docker 容器无法关闭,甚至无法终止。

由于所有这些都与驱动程序的不稳定状态有关,我想知道是否可以强制卸载或重置它,以便我可以在不重新启动机器的情况下重新启动整个 dvb 子系统?

我的情况中的驱动程序是si2157em28xx*。使用 卸载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

相关内容