与某些设备在挂起时经常无法运行的问题作斗争,我遇到了重新加载驱动程序的 SE U&L 问题。
就我而言,未检测到一些设备,我可以看到驱动程序 (displaylink-driver.service) 已加载但处于非活动/死状态。那么,是否可以重新启动驱动程序?
$ 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.
是的,
sudo rmmod driver-name && sudo modprobe driver-name
某些设备由多个驱动程序提供服务,例如蓝牙或音频,在这种情况下您需要
rmmod drv1 drv2 drv3
. 您需要重复它,直到它为指定命令的每个驱动程序显示“未加载”。如果由于某些原因 rmmod 失败,通常你只能重新启动来恢复它。当然有
rmmod -f
,但它经常导致系统崩溃。与 rmmod 不同,您一次只能对一个驱动程序进行 modprobe。在大多数情况下
modprobe drv-name
就足够了,因为该命令通常会处理依赖项并将自动加载所有必需的驱动程序。