あまり一般的ではないUSB WiFiデバイス(私の場合は Hawking HWDN1 )を持っています。これは、次の操作を行った後、カーネル内のrt2800usb
ドライバーで動作します。
Sudo modprobe rt2800usb
Sudo bash -c "echo 0e66 0004 > /sys/bus/usb/drivers/rt2800/new_id"
ドライバー(modprobe
)を手動でロードしてから、デバイスに「バインド」します。つまり、特定のデバイスを実際にサポートしていることを(デバイスIDによって)伝えます
残念ながら、これは再起動を超えて持続しません。それを永続的にするためのきちんとした方法(つまり、ブート時にスクリプトを実行する以外の方法で)はありますか?
または、rt2800usb
ドライバのメンテナにUSBデバイスIDを送信して、「ちょうど同じデバイスを持つすべての人のために機能しますか? ドライバーソース をざっと見て、デバイスがデバイステーブルにないことを確認します(ファイルの中央に向かって)が、非常にシマーなもの(同様のデバイスID)があることを確認します。デバイスIDを追加するだけで、すべてのユーザーに「機能する」ことをお勧めしますが、よくわかりません。
新しいusb.idを含める通常の方法は、バグレポートを提出することです。 https://bugs.launchpad.net/ リリースされるまでに時間がかかる場合があります。
このメソッドは、usb.idをドライバーの通常のnew_id部分に追加することをお勧めします。
デバイスを取り外し、ターミナルで次の操作を行います:
Sudo nano /etc/udev/rules.d/network_drivers.rules
長い行を1行追加します。
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0e66", ATTR{idProduct}=="0004", RUN+="/sbin/modprobe -qba rt2800usb"
大文字、括弧、句読点などが重要です。 2回校正し、nanoを保存して閉じます。次:
Sudo nano /etc/modprobe.d/network_drivers.conf
長い1行を追加します。
install rt2800usb /sbin/modprobe --ignore-install rt2800usb $CMDLINE_OPTS; /bin/echo "0e66 0004" > /sys/bus/usb/drivers/rt2800usb/new_id
2回校正し、nanoを保存して閉じます。デバイスを挿入します。すぐに開始しない場合は、次の手順を実行する必要があります。
Sudo modprobe rt2800usb
ドライバーソースをざっと見て、デバイスがデバイステーブルにないことを確認します
現在インストールされているカーネルバージョンに含まれているドライバーのデバイステーブルにある場合、ドライバーはデバイスを認識し、ユーザーからの入力なしでデバイスを駆動します。
以下で確認できます:
modinfo rt2800usb | grep 0004
Usb.idはまだドライバーにないため、何も生成されません。