Как Найти и перезагрузить определенный драйвер от ядра?

Не очень хорошее решение (те сделали предложение в других ответах, намного лучше), но Вы могли удалить каталог и их символьная ссылка оно к/dev/null. Но затем, приложения могли бы начать перестать работать, когда они пытаются записать в тот каталог и найти, что это не на самом деле каталог.

6
03.03.2018, 19:36
2 ответа

способ найти определенное название драйвера

  • lspci | grep -i network

Я не уверен, является ли то устройство на PCI или Шине USB, но можно попробовать следующее.

  1. Использовать lsusb или lspci найти информацию об устройстве
  2. Поиск, что устройство для соответствующего модуля ("драйвер")
  3. Удостоверьтесь, что модуль загружается и доступен с lsmod и modprobe

Другая Идея состояла бы в том, чтобы использовать lsmod и diff узнать, какие модули пропадают, когда Ваш ноутбук использует режим ожидания. Это мог быть больше чем один модуль, который имеет проблему.

  1. машина перезапуска
  2. удостоверьтесь, что адаптер Wi-Fi работает
  3. использовать lsmod получить все загруженные модули

    lsmod > loaded-modules-before-sleep.txt
    
  4. поместите компьютер в режим ожидания

  5. разбудите машину
  6. удостоверьтесь, что адаптер Wi-Fi не работает
  7. использовать lsmod получить все загруженные модули

    lsmod > loaded-modules-after-sleep.txt
    
  8. используйте разность для наблюдения то, что изменилось!

    diff loaded-modules-before-sleep.txt loaded-modules-after-sleep.txt
    

драйвер перезагрузки, не сбрасывая систему

После того как Вы знаете, что модуль загружается, просто используйте modprobe как корень

  • modprobe wifi_module_name

найдите текущую версию ядра через терминал

uname к спасению! uname должен сказать Вам, что Вы хотите знать.

  • uname -a
7
27.01.2020, 20:25
  • 1
    набора! Но я теперь новый вопрос возникаю. Что такое 'cfg80211', и это - цель? –  Joseph 07.02.2014, 05:06
  • 2
    , который быстрый поиск этого модуля, кажется, показывает ему, связан с коммуникацией WiFi между пользователем <-> пространство ядра. Я предложил бы перезагрузить этот модуль и видеть, работает ли WiFi или нет. можно также работать dmesg получить некоторую информацию об отладке о любых ошибках, которые могут возникнуть. –  Nathan McCoy 07.02.2014, 13:30
  • 3
    С другой стороны, Вы могли использовать readlink и разрешите цель/sys/class/net / <intf>/device/driver. Например, в моей системе (я все еще использую ethN моникер), readlink /sys/class/net/eth0/device/driver твердость к ../../../bus/pci/drivers/e1000e. Таким образом драйвер является e1000e.ko. Вы загрузились бы через modprobe e1000e. Необходимо было бы знать имя интерфейса для устройства WiFi. –  Andrew Falanga 27.11.2017, 17:27

Добавляю более короткий и конкретный ответ для моего удобства :)

Чтобы узнать модуль ядра, введите lspci -vvnn | grep -A 9 Сеть (из ubuntu WifiDocs ):

~$ lspci -vvnn | grep -A 9 Network 
03:00.0 Network controller [0280]: Broadcom Corporation BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
    Subsystem: Apple Inc. AirPort Extreme [106b:010f]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 256 bytes
    Interrupt: pin A routed to IRQ 17
    Region 0: Memory at a0500000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: wl
    Kernel modules: bcma, wl

Из этого видно, что используется wl .

Для перезагрузки по требованию выполните

sudo rmmod wl && sudo modprobe wl

Для перезагрузки в спящем / гибернационном режиме установите pm-utils и добавьте файл с любым именем в /etc/pm/config.d/ , например /etc/pm/config.d/suspend со следующим содержанием:

SUSPEND_MODULES="wl"

Это объясняется на Arch pm-utils wiki и странице руководства pm-action

2
27.01.2020, 20:25

Теги

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