Назад | Перейти на главную страницу

Удаление устойчивых модулей

Пытаюсь программно топать по блютузу на RHEL5.

Служба остановлена ​​- без проблем. Также нет проблем с rpm -e для связанных пакетов bluetooth - bluez- *.

ps -aef | grep -v grep | egrep -c '(sdpd|hcid)'

возвращает ноль, поэтому я знаю, что демонов больше нет.

Почему-то у меня просто не получается выгрузить модули. modprobe -rv продолжает говорить, что они используются.

Зависимости выглядят так:

bluetooth -> bnep
          -> l2cap 
                 -> rfcomm
                 -> hidp
          -> rfcomm
          -> hidp

Но даже если начать сверху, чтобы зависимости были простыми, modprobe -rv bluetooth возвращается FATAL: модуль bluetooth используется.

Итак, как мне узнать, какие процессы используют этот модуль? Кажется, его нет в / proc / modules или lsof.

Команда lsof все еще показывает что-то зацепило.

# lsmod | egrep '(bnep|hidp|rfcomm|l2cap|bluetooth)'
bnep                   82241  0 
hidp                   83521  0 
rfcomm                104809  0 
l2cap                  89281  5 bnep,hidp,rfcomm
bluetooth             118597  4 bnep,hidp,rfcomm,l2cap

Когда вы делаете lsmod, каков счетчик ссылок для модуля bluetooth? Также,

lsmod | grep "bluetooth"

просто чтобы убедиться, что нет других зависимостей, которые могли быть упущены.


Извлекайте модули в следующем порядке:

rmmod bnep
rmmod hidp
rmmod rfcomm
rmmod l2cap

Тогда попробуй

rmmod bluetooth
lsmod

Как насчет отключения модуля в /etc/modprobe.conf или внесения в черный список в /etc/modprobe.d/blacklist, а затем просто перезагрузки?

Сопоставляется ли что-то с устройством / dev, и вы могли бы использовать для этого lsof?

Думаю, вы уже пробовали нормальные варианты ...