実行中のカーネルでドライバを再度有効にする(再ロードする代わりに)できますか?

実行中のカーネルでドライバを再度有効にする(再ロードする代わりに)できますか?

頻繁に動作しない特定のデバイスによる困難停止する、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.

ベストアンサー1

はい、sudo rmmod driver-name && sudo modprobe driver-name。これにより、ドライバ(モジュールまたはモジュールコレクションとも呼ばれる)が削除され、再ロードされます。

一部のデバイスはBluetoothやオーディオなどのいくつかのドライバによって提供されていますrmmod drv1 drv2 drv3。指定されたコマンドの各ドライバが「ロードされていません」と表示されるまで、この操作を繰り返す必要があります。

rmmod何らかの理由で失敗した場合は、通常は再起動しなければ復元できません。もちろん、rmmod -fシステムの競合を引き起こすことがよくあります。

とは異なり、一度に1つのドライバしか使用できませんrmmod。コマンドは通常依存関係を処理し、必要なすべてのドライバを自動的にロードするため、modprobeほとんどの場合これで十分です。modprobe drv-name

lsmodロードして実行中のモジュールを確認するために使用されます。

どのドライバがデバイスを提供しているかを調べるには、sudo lspci -vvvどのPCI / PCIeデバイスがどのドライバを使用しているかを表示します。 USB デバイスの場合は lshw cf を使用できます。USBデバイスに接続されているモジュールをお探しですか?

displaylink-driver.serviceそれはいいえドライバー。これはサービスです。そしてsystemctlいいえデバイスドライバで使用するためのものです。サービスマネージャです。通常、rmmod smth最初に実行すると、現在ロードされていないとマークされます。これは、指定されたドライバが使用されたことがないことを意味できます。サービスとドライバは一般的にそうではないので、どのように関連しているのかわかりません。ドライバをロードする非常に特定のサービスがあります。たとえば、vboxdrvVirtualBoxの一部ですが、それはすべてです。名前には「drv」も含まれています。 Linuxのサービスは、さまざまなバックグラウンドタスク(コンソールアプリケーション、デーモン、サーバーなど)を開始するように設計されています。systemd-modules-load.service自動的にロードされない追加のモジュールをロードするサービスがあります。

おすすめ記事