我最近购买了一个包含 Realtek rtl8811CU 芯片组的 Wifi 加密狗。我正在使用 Ubuntu 18.04 LTS。
幸运的是,在找到这个Github repo之后,我可以编译它并安装驱动程序而没有任何问题。
但是,每次我连接加密狗时,都会被检测为磁盘,我需要运行 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'"
但后来我recconect,没有任何反应。
我已经检查过,也许您需要一项服务来执行此操作,但似乎无法激活。
$ 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 规则的新手,所以我不确定在哪里可以找到更多日志或调试功能。