Я недавно купил Аппаратный ключ Wi-Fi, содержащий чипсет Realtek rtl8811CU. Я использую 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.
Идентификатор устройства изменяется, и теперь я могу правильно использовать свой аппаратный ключ Wi-Fi.
Я попытался добавить эту запись, к правилам udev, расположенным в/lib/udev/rules.d/40-usb_modeswitch.rules, предположительно, выполнить команду каждый раз, когда устройство обнаруживается:
# Realtek 8211CU Wifi AC USB
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"
Но затем я recconect, и ничего не происходит.
Я проверил, что, возможно, Вам нужен сервис, чтобы сделать это, но кажется, что это не может быть активировано.
$ systemctl --all | grep usb_modeswitch
● usb_modeswitch@1-4.1.service loaded failed failed USB_ModeSwitch_1-4.1
system-usb_modeswitch.slice loaded active active system-usb_modeswitch.slice
$ systemctl status usb_modeswitch@1-4.1.service
● usb_modeswitch@1-4.1.service - USB_ModeSwitch_1-4.1
Loaded: loaded (/lib/systemd/system/usb_modeswitch@.service; 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]: usb_modeswitch@1-4.1.service: Main process exited, code=exited, status=1/FAILURE
oct 04 11:49:17 systemd[1]: usb_modeswitch@1-4.1.service: Failed with result 'exit-code'.
oct 04 11:49:17 systemd[1]: Failed to start USB_ModeSwitch_1-4.1.
Кажется, что существует проблема с оберткой Ubuntu, кто-либо знает, как я могу заняться расследованиями далее? Я плохо знаком с systemd и правилами udev, таким образом, я не действительно уверен, где найти больше журналов или функций отладки.
Я нашел способ сделать это. Я изменил файл /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"
После этого, каждый раз, когда я соединил аппаратный ключ Wi-Fi, диск не появляется, и автоматически Wi-Fi обнаруживается. Возможно, это не самый чистый метод, но это работает.
Вы попробовали живой usb без установки на попытке, если это - проблема с Вашей загруженной Ubuntu? Я рекомендую попробовать активную версию XUbuntu 18.04, чтобы подтвердить, работает ли Wi-Fi в ноутбуке, можно загрузить отсюда и попробовать его и сказать нам, если это работает, или все еще не можете, обнаружил аппаратный ключ, я использую XUbuntu 18.04, это reconigzes мой usb аппаратного ключа, хотя на экране появляется два wifis значка (1 для usb аппаратного ключа и другого для моего другого Wi-Fi по умолчанию), но это работает на меня: