Вопрос или проблема
Я запускаю Ubuntu Server 20.04 на ODROID H2+. Я приобрел WiFi USB-адаптер на базе чипсета Realtek RTL8811AU.
Я не могу заставить его работать. Я пробовал три разных драйвера:
-
Драйвер здесь: https://wiki.odroid.com/odroid-h2/application_note/howto_wifi_driver_rtl8812au
-
Драйвер здесь: Realtek 0bda:a811 WiFi Driver rtl8812AU на Ubuntu 18.04
-
Драйвер от этого:
sudo apt install rtl8812au-dkms
На одном из ранних этапов я смог увидеть его в ip a
как enx200db03fa15e, но даже это сейчас исчезло.
Я прилагаю вывод следующих команд:
lsusb
uname -a
lsmod | grep 8812
modinfo rtl8812au
mokutil --sb-state
sudo dkms status
journalctl -b | grep 8812
journalctl -b | grep supplicant
plum@odroid:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:a811 Realtek Semiconductor Corp. RTL8811AU 802.11a/b/g/n/ac WLAN Adapter
Bus 001 Device 005: ID 413c:3012 Dell Computer Corp. Optical Wheel Mouse
Bus 001 Device 004: ID 05d5:0624 Super Gate Technology Co., Ltd USB2.1 Hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ uname -a
Linux odroid 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ lsmod | grep 8812
rtl8812au 1347584 0
cfg80211 704512 1 rtl8812au
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ modinfo rtl8812au
filename: /lib/modules/5.4.0-48-generic/updates/dkms/rtl8812au.ko
version: v4.3.14_13455.20150212_BTCOEX20150128-51
author: Realtek Semiconductor Corp.
description: Драйвер беспроводной сети Realtek
license: GPL
srcversion: 563D0DCC21D421BB16893BF
alias: usb:v2357p011Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v3823p6249d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDApA811d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v056Ep400Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v056Ep4007d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0411p029Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0411p025Dd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0411p0242d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2019pAB32d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0846p9052d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0E66p0023d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3318d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3314d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04BBp0953d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDApA811d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v7392pA813d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v7392pA812d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v7392pA811d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp0823d*dc*dsc*dp*icFFiscFFipFFin*
alias: usb:v0BDAp0820d*dc*dsc*dp*icFFiscFFipFFin*
alias: usb:v0BDAp8822d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp0821d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp0811d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v148Fp9097d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p0122d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p010Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p0103d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p010Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p0115d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p010Dd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p0101d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v20F4p805Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3316d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3315d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07B8p8812d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2019pAB30d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v1740p0100d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v13B1p003Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v1058p0632d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3313d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0586p3426d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0E66p0022d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0B05p17D2d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0409p0408d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0789p016Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04BBp0952d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0DF6p0074d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v7392pA822d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2604p0012d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p330Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v050Dp1109d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v050Dp1106d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp881Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp881Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp881Ad*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8812d*dc*dsc*dp*ic*isc*ip*in*
depends: cfg80211
retpoline: Y
name: rtl8812au
vermagic: 5.4.0-48-generic SMP mod_unload
sig_id: PKCS#7
signer: odroid Secure Boot Module Signature key
sig_key: 64:9F:85:82:2B:66:F7:D6:82:0C:3D:59:F7:65:DF:6D:95:00:FE:B0
sig_hashalgo: sha512
signature: 62:15:BE:12:E1:41:0F:65:31:57:C2:6D:C0:F1:81:C6:31:A0:10:F7:
B6:75:16:26:97:E7:1F:58:58:85:89:1D:25:33:0C:DA:83:11:71:37:
57:79:0D:80:FD:DD:F4:ED:CF:47:2F:9A:75:C3:DA:69:5B:19:A3:34:
6C:94:BB:B8:34:B7:18:CD:31:CB:48:8B:CF:7A:00:A5:AF:8D:EE:5C:
3D:79:8A:21:FD:D0:19:A2:79:63:EA:88:F2:BC:D7:B6:60:44:E9:68:
C8:8E:BB:EC:10:8D:98:CC:A6:C9:B2:43:28:3A:56:33:A1:79:A4:0C:
BA:20:09:FB:F9:89:D9:AD:F3:7B:14:A0:14:D9:E0:FD:07:1C:6B:E5:
2E:62:B7:19:45:55:C9:44:42:C4:7E:1B:7F:D5:DC:94:32:A4:B0:8E:
BA:C3:74:AB:57:9E:7A:85:6D:44:0C:33:BE:68:E6:F9:4A:98:F0:FD:
FB:E4:5F:96:18:2A:A1:E1:63:EC:19:22:C0:4C:3B:28:2C:47:B0:D9:
D0:BB:CF:C1:51:BA:11:EA:F9:51:A6:9C:91:90:11:A6:E1:A6:E5:3B:
1C:EA:00:94:49:31:31:92:FF:92:3D:96:BA:34:60:A6:67:B6:71:FC:
6A:DB:32:EB:0F:17:70:89:92:BD:99:6E:0D:79:09:14
parm: rtw_ips_mode:Режим IPS по умолчанию (int)
parm: rtw_usb_rxagg_mode:int
parm: rtw_qos_opt_enable:int
parm: ifname:Имя по умолчанию для первой интерфейса (charp)
parm: if2name:Имя по умолчанию для второго интерфейса (charp)
parm: rtw_initmac:charp
parm: rtw_channel_plan:int
parm: rtw_special_rf_path:int
parm: rtw_chip_version:int
parm: rtw_rfintfs:int
parm: rtw_lbkmode:int
parm: rtw_network_mode:int
parm: rtw_channel:int
parm: rtw_mp_mode:int
parm: rtw_wmm_enable:int
parm: rtw_vrtl_carrier_sense:int
parm: rtw_vcs_type:int
parm: rtw_busy_thresh:int
parm: rtw_ht_enable:int
parm: rtw_bw_mode:int
parm: rtw_ampdu_enable:int
parm: rtw_rx_stbc:int
parm: rtw_ampdu_amsdu:int
parm: rtw_vht_enable:int
parm: rtw_lowrate_two_xmit:int
parm: rtw_rf_config:int
parm: rtw_power_mgnt:int
parm: rtw_smart_ps:int
parm: rtw_low_power:int
parm: rtw_wifi_spec:int
parm: rtw_antdiv_cfg:int
parm: rtw_antdiv_type:int
parm: rtw_enusbss:int
parm: rtw_hwpdn_mode:int
parm: rtw_hwpwrp_detect:int
parm: rtw_hw_wps_pbc:int
parm: rtw_max_roaming_times:Максимальное количество попыток роуминга (uint)
parm: rtw_mc2u_disable:int
parm: rtw_80211d:Включить механизм 802.11d (int)
parm: rtw_notch_filter:0:Отключить, 1:Включить, 2:Включить только для P2P (uint)
parm: rtw_led_enable:Включить индикатор состояния (int)
parm: rtw_hiq_filter:0:разрешить все, 1:разрешить специальное, 2:запретить все (uint)
parm: rtw_adaptivity_en:0:отключить, 1:включить (uint)
parm: rtw_adaptivity_mode:0:нормальный, 1:ресурс (uint)
parm: rtw_adaptivity_dml:0:отключить, 1:включить (uint)
parm: rtw_amplifier_type_2g:BIT3:2G ext-PA, BIT4:2G ext-LNA (uint)
parm: rtw_amplifier_type_5g:BIT6:5G ext-PA, BIT7:5G ext-LNA (uint)
parm: rtw_RFE_type:начальное значение по умолчанию:64 (uint)
parm: rtw_TxBBSwing_2G:значение инициализации по умолчанию:0xFF (uint)
parm: rtw_TxBBSwing_5G:значение инициализации по умолчанию:0xFF (uint)
parm: rtw_OffEfuseMask:значение маски Efuse по умолчанию:0 (uint)
parm: rtw_FileMaskEfuse:значение маски Efuse драйвера по умолчанию:0 (uint)
parm: rtw_tx_pwr_lmt_enable:0:Отключить, 1:Включить, 2:Зависит от efuse (int)
parm: rtw_tx_pwr_by_rate:0:Отключить, 1:Включить, 2:Зависит от efuse (int)
parm: rtw_phy_file_path:Путь к параметрам phy (charp)
parm: rtw_load_phy_file:Битовая карта файла PHY (int)
parm: rtw_decrypt_phy_file:Включить расшифровку файла PHY (int)
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ mokutil --sb-state
SecureBoot отключен
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ sudo dkms status
[sudo] пароль для plum:
realtek-r8125, 9.003.05, 5.4.0-47-generic, x86_64: установлен
realtek-r8125, 9.003.05, 5.4.0-48-generic, x86_64: установлен
rtl8812au, 4.3.14, 5.4.0-48-generic, x86_64: собран
rtl8812au, 4.3.8.12175.20140902+dfsg, 5.4.0-48-generic, x86_64: установлен
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ journalctl -b | grep 8812
Oct 01 14:08:13 odroid kernel: RTL871X: rtl8812au v4.3.14_13455.20150212_BTCOEX20150128-51
Oct 01 14:08:13 odroid kernel: RTL871X: rtl8812au BT-Coex версия = BTCOEX20150128-51
Oct 01 14:08:13 odroid kernel: Подключенные модули: rapl rtl8812au(OE+) snd_sof_pci snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda snd_sof_intel_byt snd_sof_intel_ipc snd_sof snd_sof_xtensa_dsp snd_hda_ext_core intel_cstate snd_soc_acpi_intel_match snd_soc_acpi snd_soc_core snd_compress ac97_bus snd_hda_codec_hdmi snd_pcm_dmaengine snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio cfg80211 snd_hda_intel snd_intel_dspcfg joydev snd_hda_codec snd_hda_core snd_hwdep input_leds snd_pcm snd_timer snd r8125(OE+) ucsi_acpi mei_me typec_ucsi soundcore mei typec mac_hid sch_fq_codel emc2103 coretemp ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic usbhid hid crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel i915 crypto_simd sdhci_pci i2c_algo_bit nvme cqhci drm_kms_helper cryptd glue_helper sdhci nvme_core i2c_i801 syscopyarea sysfillrect r8169
Oct 01 14:08:13 odroid kernel: ? _rtw_malloc+0x2d/0x2f [rtl8812au]
Oct 01 14:08:13 odroid kernel: ? _rtw_memcpy+0x10/0x12 [rtl8812au]
Oct 01 14:08:13 odroid kernel: ? rtw_5g_rates_init+0x1a/0x1c [rtl8812au]
Oct 01 14:08:13 odroid kernel: ? rtw_spt_band_alloc+0xb0/0xb2 [rtl8812au]
Oct 01 14:08:13 odroid kernel: rtw_wdev_alloc+0x107/0x2ad [rtl8812au]
Oct 01 14:08:13 odroid kernel: rtw_usb_if1_init+0x138/0x205 [rtl8812au]
Oct 01 14:08:13 odroid kernel: rtw_drv_init+0x23a/0x2c5 [rtl8812au]
Oct 01 14:08:13 odroid kernel: rtw_drv_entry+0x86/0x1000 [rtl8812au]
Oct 01 14:08:13 odroid kernel: usbcore: зарегистрирован новый интерфейсный драйвер rtl8812au
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$ journalctl -b | grep supplicant
Oct 01 14:09:42 odroid systemd[1]: Ошибка зависимости для WPA supplicant для netplan enx200db03fa15e.
Oct 01 14:10:17 odroid systemd[1]: Запуск WPA supplicant...
Oct 01 14:10:17 odroid wpa_supplicant[752]: WPA supplicant успешно инициализирован
Oct 01 14:10:17 odroid systemd[1]: WPA supplicant запущен.
plum@odroid:~$
plum@odroid:~$
plum@odroid:~$
Понял! Этот драйвер работает прекрасно. Это версия 5.6.4.2, на одно поколение новее, чем драйверы, упомянутые в оригинальном посте.
Ответ или решение
Для успешной работы USB WiFi адаптера на базе чипсета Realtek RTL8811AU в операционной системе Ubuntu Server 20.04 на ODROID H2+ вам потребуется корректно установить драйвер.
1. Выбор драйвера
Ваша попытка установить драйверы из различных источников не дала результата. Однако, информация о том, что в конечном итоге вы нашли рабочий драйвер версии 5.6.4.2 из репозитория Aircrack-ng, указывает на поступательное движение к решению. Это важно, так как версия драйвера часто влияет на стабильность и функциональность подключения.
Ссылка на проект драйвера: aircrack-ng/rtl8812au.
2. Установка драйвера
-
Установите необходимые пакеты:
Убедитесь, что у вас установлены пакеты для сборки. Введите в терминале:sudo apt update sudo apt install build-essential dkms git
-
Клонируйте репозиторий драйвера:
Используйтеgit
для клонирования последней версии драйвера:git clone https://github.com/aircrack-ng/rtl8812au.git
-
Перейдите в каталог драйвера:
cd rtl8812au
-
Установите драйвер с помощью DKMS:
Это обеспечит автоматическую загрузку драйвера при каждом обновлении ядра:sudo dkms add . sudo dkms build 8812au/5.6.4.2 sudo dkms install 8812au/5.6.4.2
-
Перезагрузите систему:
После завершения установки перезагрузите ODROID H2+:sudo reboot
3. Проверка корректной установки
После перезагрузки проверьте, появился ли интерфейс вашего WiFi адаптера, используя команду:
ip a
Вы должны увидеть новый интерфейс (например, enx200db03fa15e
или что-то похожее).
4. Настройка системного интерфейса
Для настройки сетевого интерфейса можно использовать Netplan, который является инструментом для управления сетевой конфигурацией в Ubuntu:
-
Откройте файл конфигурации Netplan:
sudo nano /etc/netplan/01-netcfg.yaml
-
Добавьте или измените конфигурацию так, чтобы она соответствовала вашим требованиям. Пример конфигурации может выглядеть следующим образом:
network: version: 2 renderer: networkd wifis: enx200db03fa15e: dhcp4: true access-points: "Your_SSID": password: "Your_Password"
-
Примените изменения:
sudo netplan apply
5. Проверка подключения к сети
После применения конфигурации проверьте состояние подключения:
ping -c 4 google.com
Если вы получаете ответы, значит, подключение установлено удачно.
Заключение
Следуя приведенным шагам, вы сможете установить дравер для вашего USB WiFi адаптера с чипсетом Realtek RTL8811AU на Ubuntu Server 20.04 и успешно подключиться к сети. Обратите внимание на обновления драйвера в репозитории Aircrack-ng для получения новых функций и исправлений.