Lutando com alguns dispositivos que muitas vezes não funcionam durante a suspensão , me deparei com a questão SE U&L de recarregar os drivers .
No meu caso, alguns dispositivos não são detectados e posso ver que o driver (displaylink-driver.service) está carregado, mas inativo/morto. Então, é possível iniciar os drivers novamente?
$ lsusb
# missing usb devices (detected by $ lsusb before the issue)
Bus 004 Device 005: ID 17ef:a357 Lenovo USB3.1 Hub
Bus 004 Device 004: ID 17ef:a359 Lenovo ThinkPad Lan
Bus 004 Device 003: ID 17e9:6015 DisplayLink ThinkPad Hybrid USB-C with USB-A Dock
Bus 004 Device 002: ID 17ef:a356 Lenovo USB3.1 Hub
$ sudo systemctl status displaylink-driver.service
● displaylink-driver.service - DisplayLink Driver Service
Loaded: loaded (/lib/systemd/system/displaylink-driver.service; static)
Active: inactive (dead)
May 26 14:50:56 debija systemd[1]: Starting DisplayLink Driver Service...
May 26 14:50:56 debija systemd[1]: Started DisplayLink Driver Service.
May 26 18:03:21 debija systemd[1]: Stopping DisplayLink Driver Service...
May 26 18:03:22 debija systemd[1]: displaylink-driver.service: Succeeded.
May 26 18:03:22 debija systemd[1]: Stopped DisplayLink Driver Service.
May 26 18:03:22 debija systemd[1]: displaylink-driver.service: Consumed 41min 25.761s CPU time.
Sim,
sudo rmmod driver-name && sudo modprobe driver-name
Alguns dispositivos são servidos por vários drivers, por exemplo, bluetooth ou áudio, neste caso você precisa
rmmod drv1 drv2 drv3
. Você precisará repeti-lo até que diga "não carregado" para cada driver do comando especificado.Se o rmmod falhar por algum motivo, normalmente você só pode reiniciar para revivê-lo. É claro que existe
rmmod -f
, mas geralmente leva a uma falha do sistema.Ao contrário do rmmod, você pode modprobe apenas um driver por vez. Na maioria dos casos
modprobe drv-name
é suficiente, pois o comando normalmente lida com as dependências e carrega todos os drivers necessários automaticamente.