手動でインストールしたドライバーを削除する (ワイヤレス USB)

手動でインストールしたドライバーを削除する (ワイヤレス USB)

ワイヤレスUSBドングルがLinux(KDE)で検出されなかったため、ドライバをダウンロードしてインストールしました。どのモデルかよく分かりませんでしたが、どうやらRalink RT2870(ブランド名IPTime N150UA)のようです。ドライバをダウンロードし、新しいカーネルバージョン(3以上)と互換性があるようにファイルをパッチしました。このページそして、ページに示されているようにインストールしました。すると、Wi-Fi ドングルが検出され、ネットワークに接続できました。問題は、SSH を実行したり、ルーターの Web ページを開いたりするとすぐに、コンピューター全体がフリーズし、シャットダウンしなければならないことです。今、このドライバーを削除したいのですが、インターネットで検索しましたが、役立つものは見つかりませんでした。lshw を実行すると、ワイヤレス ドライバーが表示されます。

説明: ワイヤレス インターフェイス
物理 ID: 1
論理名: ra0
シリアル: 64:e5:99:f6:33:60
機能: イーサネット 物理ワイヤレス
構成: ブロードキャスト = yes ドライバー = RALINK WLAN ip = 192.168.1.8 マルチキャスト = yes ワイヤレス = Ralink STA

真ん中にスペースがある非常に奇妙なドライバー名です。RALINK WLAN を入力すると、2 つの異なるドライバー名であると認識されるため、ドライバーに関する詳細情報を取得する方法に関するチュートリアルに従うことすらできません。どうすればよいでしょうか。

答え1

あなたのリンクドライバーのファイル名はmt7601Usta.ko(.koはカーネル モジュールの拡張子) である必要があります。

カーネル モジュールは通常 にインストールされる/lib/modules/$(uname -r)ため、正しいモジュールであることが確実な場合は を使用して削除します (または、find /lib/modules/$(uname -r) -name mt7601Usta.ko次回の起動時にロードされないようにモジュール ツリーから移動します)。sudo rmmv

ただし、おそらくその前にモジュールをアンロードする必要があります。

lsmodコマンドを使用すると、現在ロードされているモジュールを確認したり、現在のセッションのモジュールをアンロードしたりできますrmmod(次の起動時に再度ロードされます)。名前はlsmod必ずしもファイル名に対応するわけではありません。

lsmod結果を使用して、modinfoコマンドを使用してモジュールに関する情報を取得できます(例modinfo <modulename>:)

使用しているディストリビューションによっては、ブラックリスト/etc/modprobe.d/blacklist.conf起動時に読み込まれないように行を追加する

blacklist mt7601Usta

blacklist.conf存在しない場合は新しいファイルを追加します

sudo sh -c 'echo "blacklist mt7601Usta" >/etc/modprobe.d/no-mt7601Usta.conf'

あなたもすることができますブラックリストカーネルのコマンドラインから実行します(例:grub ブートローダー)

modprobe.blacklist=mt7601Usta

答え2

ダウンロードしたドライバー ソースの「Makefile」を見てください。そこには「install」という名前のブロックがあり、次のような内容になっています。

install: #dependencies
    #some stuff
    #some more stuff

ドライバーをインストールすると入力した場合はmake some_keyword、「install」ではなく「some_keyword」で始まるブロックを探します。

このブロック内のコマンドは、make installパスワードを入力してから入力したときに実行されました。このブロックには、ドライバー ファイルをコンパイル ディレクトリから他のディレクトリ (おそらく '/usr/lib' 内のどこか) に移動するコマンドがいくつか含まれています。これらのコマンドを見つけて、記載されているファイルをすべて削除してください。

を実行すると、これらのコマンドを簡単に見つけることができますgrep 'mv ' Makefile'。ただし、これは、makefile の名前が「makefile」などではなく「Makefile」であることを前提としています。

重要なのは、実際にシステムを変更するコマンドは、ルート権限を与える必要のある makefile のインストール ブロック内にあるということです。残りはすべてコンパイル命令です。

関連情報