web-dev-qa-db-ja.com

Wifi USBにusb_modeswitchを自動的に使用する

私は最近、Realtek rtl8811CUチップセットを含むWifiドングルを購入しました。 Ubuntu 18.04 LTSを使用しています。

幸いなことに、この Githubリポジトリ を見つけた後、問題なくコンパイルしてドライバーをインストールできました。

ただし、ドングルを接続するたびに、ディスクとして検出され、usb_modeswitchを実行して動作させる必要があります。

$ lsusb
 [...]
 Bus 001 Device 013: ID 0bda:1a2b Realtek Semiconductor Corp. 
$ Sudo usb_modeswitch -KW -v 0bda -p 1a2b
$ lsusb
 [...]
 Bus 001 Device 014: ID 0bda:c811 Realtek Semiconductor Corp.

デバイスIDが変更され、Wifiドングルを正しく使用できるようになりました。

/lib/udev/rules.d/40-usb_modeswitch.rulesにあるudevルールにこのエントリを追加しようとしましたが、デバイスが検出されるたびにコマンドを実行すると思われます。

 # Realtek 8211CU Wifi AC USB
 ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"

しかし、その後、私は推測し、何も起こりません。

これを行うにはおそらくサービスが必要であることを確認しましたが、アクティブ化できないようです。

$ systemctl --all | grep usb_modeswitch
● [email protected]    loaded    failed   failed    USB_ModeSwitch_1-4.1                                                            
system-usb_modeswitch.slice       loaded    active   active    system-usb_modeswitch.slice    

$ systemctl status [email protected][email protected] - USB_ModeSwitch_1-4.1
Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2018-10-04 11:49:17 CDT; 2min 5s ago
    Docs: man:usb_modeswitch_dispatcher(1)
Process: 32216 ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode 1-4.1 (code=exited, status=1/FAILURE)
Main PID: 32216 (code=exited, status=1/FAILURE)

oct 04 11:49:17  systemd[1]: Starting USB_ModeSwitch_1-4.1...
oct 04 11:49:17  usb_modeswitch_dispatcher[32216]: Could not read attribute: No such file or directory
oct 04 11:49:17  usb_modeswitch_dispatcher[32216]: Could not read attribute: No such file or directory
oct 04 11:49:17  systemd[1]: [email protected]: Main process exited, code=exited, status=1/FAILURE
oct 04 11:49:17  systemd[1]: [email protected]: Failed with result 'exit-code'.
oct 04 11:49:17  systemd[1]: Failed to start USB_ModeSwitch_1-4.1.

Ubuntuラッパーに問題があるようですが、私がさらに調査する方法を知っている人はいますか?私はsystemdとudevのルールに慣れていないので、どこでログを見つけたり機能をデバッグしたりできるのかよくわかりません。

2
Checo R

私はそれをする方法を見つけました。ファイルを修正しました/lib/udev/rules.d/40-usb_modeswitch.rules行の前にLABEL="modeswitch_rules_end"次を追加します:

# Realtek 8211CU Wifi AC USB
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"

その後、wifiドングルを接続するたびに、ディスクが表示されず、自動的にWifiが検出されます。たぶんそれは最もクリーンな方法ではありませんが、うまくいきます。

2
Checo R

Ubuntuのダウンロードに問題がある場合は、インストールせずにライブUSBを試してみましたか? XUbuntu 18.04のライブバージョンを試して、wifiがラップトップで動作するかどうかを確認することをお勧めします。こちらからダウンロードして試してみて、動作するか、ドングルを検出できないかを教えてください。XUbuntu18.04を使用しています。私のドングルusbは画面に2つのwifisアイコンが表示されますが(ドングルusb用と他のデフォルトwifi用の他)、それは私のために動作します:

https://xubuntu.org/download