Принудительная выгрузка или сброс сбойного драйвера linux

Какие у меня есть возможности для жесткой переустановки драйвера linux?

У меня проблема с моими подключенными через USB dvb-тюнерами. Время от времени они падают с трассировкой стека в журнале ядра и исчезают из диспетчера устройств. Приложение (tvheadend, которое работает в контейнере docker) замирает и больше не может быть убито, а контейнер docker не может выключиться, даже не будучи убитым.

Поскольку все это связано с нестабильным состоянием драйвера, мне интересно, возможно ли принудительно выгрузить или сбросить его, чтобы я мог снова запустить всю подсистему dvb без перезагрузки машины?

Драйверы в моем случае - si2157 и em28xx*. Выгрузка с помощью modprobe -r для всех модулей, имеющих отношение к dvb, не удается, поскольку устройства все еще используются замороженным процессом.

0
задан 27 August 2021 в 10:18
1 ответ

Выгрузку модулей можно выполнить с помощью rmmod -f Обратите внимание на часть ниже, где написано DANGEROUS

. Это может не сработать, если оно полностью заблокировано. Лучшим подходом может быть попытка исправить драйверы, возможно, не до «рабочего» состояния, но, по крайней мере, до состояние «в случае сбоя можно выгрузить и повторить попытку»

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
0
ответ дан 27 August 2021 в 10:27

Теги

Похожие вопросы