Установка драйвера USB WiFi адаптера в Linux (на примере DEXP WFA-601)
В связи с переездом и нежеланием захламлять дом проводами повесил в прихожей роутер, а для компьютера купил Wi-Fi адаптер DEXP WFA-601.
Пока работал в Windows 10 проблем не было. Однако сгоревший жесткий диск подтолкнул меня к установке Linux (конкретно Kubuntu).
Адаптер не определился.
Путь веры
Захожу на официальный сайт производителя и скачиваю драйвер для любой ОС. Результат предсказуем: Linux != «любая ОС».
Роюсь в коробочках и нахожу родной CD-диск от адаптера. Скачиваю драйвер, нахожу «install.sh»:
$ chmod a+x install.sh $ sudo ./install.sh
Драйвер не компилируется, вылетает с ошибкой.
cc1: error: code model kernel does not support PIC mode
Не буду тратить время на описание, боя с ней. В гугле нашел советы персобирать ядро, пересобирать gcc… В общем мой уровень не позволяет такие сложности.
Путь разума
Первым делом решил проверить видит ли железку ядро. Вытаскиваю адаптер и втыкаю его в соседний разъем.
$ sudo dmesg
В результате выдает:
. [ 1498.558445] usb 1-1.1: new high-speed USB device number 6 using ehci-pci [ 1498.667540] usb 1-1.1: New USB device found, idVendor=0bda, idProduct=a811 [ 1498.667544] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1498.667546] usb 1-1.1: Product: 802.11ac WLAN Adapter [ 1498.667548] usb 1-1.1: Manufacturer: Realtek [ 1498.667550] usb 1-1.1: SerialNumber: 00e04c000001
Ищу название драйвера на лазерном диске от производителя, вот оно: RTL8821AU_Linux_v5.2.6.3_25025_COEX20171103-6c6d.20171106.
Подключаю смартфон в режиме модема и пробую в лоб:
sk@ds:~$ sudo apt install realtek-88xxau-dkms [sudo] password fоr sk: Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово E: Невозможно найти пакет realtek-88xxau-dkms
Видимо репозиторий моего дистрибутива к такому не готов. Захожу на гитхаб и качаю исправленную версию драйвера.
Распаковываю, нахожу dkms-install.sh, запускаю его. Драйвер установлен.
Не будучи гуру linux не стал разбираться с остановкой и запуском адаптера, ввел:
reboot now
Лучший Wi-Fi-адаптер для Kali Linux
Хочешь взломать или проверить безопасность своего Wi-Fi? Тебе понадобится сам пк с установленной kali и USB-адаптер беспроводной сети с Wi-Fi-картой (набором микросхем), который поддерживает внедрение пакетов и режим монитора
Проблема: не все адаптеры Wi-Fi поддерживают внедрение пакетов и режим монитора; обе эти возможности необходимы вам при взломе сетей Wi-Fi.
Так что же такое режим монитора и внедрение пакетов и зачем они вам нужны?
Что такое режим монитора?
Режим монитора в сетевом адаптере — это режим, который позволяет перехватывать и перехватывать сетевые пакеты, передаваемые близлежащими беспроводными устройствами и сетями.
Что такое внедрение пакетов?
Внедрение пакетов — это способ нарушить сетевую связь и манипулировать ею, позволяя создавать и внедрять вредоносные пакеты, которые выглядят в сети как обычные пакеты.
Проще говоря, режим мониторинга используется для перехвата, а внедрение пакетов используется для связи/атаки.
Лучшие адаптеры Wi-Fi для Kali Linux
Panda PAU09 N600
Как выбрать лучший беспроводной адаптер для Kali Linux
Какие адаптеры Wi-Fi лучше всего подходит для Kali Linux. Есть некоторые требования к быть беспроводным адаптером для тестирования на проникновение Wi-Fi.
- Должен поддерживать режим монитора.
- Возможность одновременного внедрения и захвата пакетов.
Нужно тщательно выбирать адаптер чтобы не потратить деньги в пустую. Нужно смотреть на просторах интернета.
Почему мы используем внешние USB-адаптеры Wi-Fi в Kali Linux?
Адаптер Wi-Fi — это устройство, которое можно подключить к нашей системе и которое позволяет нам обмениваться данными с другими устройствами через беспроводную сеть. Это набор микросхем Wi-Fi, который позволяет нашему мобильному телефону, ноутбуку или другим устройствам подключаться к нашей сети Wi-Fi и получать доступ к Интернету или близлежащим устройствам.
Но большинство ноутбуков и мобильных телефонов оснащены встроенным чипсетом Wi-Fi, так зачем нам подключать внешний адаптер Wi-Fi к нашей системе? Ну, простой ответ: наше встроенное оборудование Wi-Fi не очень способно выполнять тестирование безопасности в сетях Wi-Fi . Обычно встроенные адаптеры Wi-Fi малобюджетны и не предназначены для взлома Wi-Fi, они не поддерживают режим мониторинга или внедрение пакетов.
Если мы запускаем Kali Linux на виртуальной машине, то встроенный адаптер Wi-Fi нам не подойдет. Даже в режиме моста. В этом случае нам также понадобится внешний адаптер Wi-Fi для работы с сетями Wi-Fi. Хороший внешний адаптер Wi-Fi — обязательный инструмент для каждого, кто интересуется областью кибербезопасности.
Поддерживаемые Kali Linux Wi-Fi-адаптеры
Технически почти каждый адаптер Wi-Fi поддерживает Kali Linux , но они бесполезны для взлома Wi-Fi, если не поддерживают режим монитора и внедрение пакетов . Предположим, мы покупаем дешевый адаптер Wi-Fi стоимостью менее 15 долларов и используем его для подключения Wi-Fi в Kali Linux. Это будет работать для подключения к беспроводным сетям, но мы не можем играть с сетями.
Как настроить TP-Link WN722N (v2/v3)
На просторах интернета появляется проблема с этим адаптером, ну и я столкнулся с такой проблемой. Я покажу настройку адаптера с кали только с этим адаптером т.к он у меня один(. Настройка не возникнет сложности,я буду настраивать все через virtualbox. Начнем!
sudo apt update
sudo dpkg —configure -a
sudo apt install hcxdumptool
sudo apt install hcxtools
apt install -y realtek-rtl8188eus-dkms
sudo shutdown -r now
После перезагрузки системы вводим команду
sudo wifite —kill
После команды производится сканирование сетей
Как видите все работает. Тут все легко и проблем не должно возникнуть.
Wi-Fi
Эта статья описывает настройку беспроводных сетевых устройств WiFi.
- 1 WiFi во время установки
- 2 Определение аппаратного обеспечения
- 3 Ядро
- 3.1 IEEE 802.11
- 3.2 WEXT
- 3.3 Драйвера устройств
- 3.4 Поддержка LED
- 7.1 Файловая система /sys
- 7.2 Команда ip
- 7.3 Команда ifconfig
- 7.4 Команда iw
- 7.5 dmesg
- 8.1 Обнаружение недостающей прошивки
- 8.2 Адаптер Wi-Fi не может найти и подключиться к сети 5 GHz
- 8.3 Темы на форуме
WiFi во время установки
Тем, кому требуется соединение WiFi во время установки Gentoo, следует иметь в виду, что минимальный установочный компакт-диск Gentoo содержит только некоторые драйвера и предоставляет только wpa_cli (не wpa_gui ) для настройки соединений WPA/WPA2/Enterprise.
Если минимальный установочный компакт-диск не содержит требуемые драйвера или желательно использование графического интерфейса вместо wpa_supplicant , выберите другой live CD, например, System Rescue CD. Имейте в виду, что в случае использования не-Gentoo live CD могут понадобиться дополнительные действия.
Определение аппаратного обеспечения
Прежде всего, определите устройства WiFi. Для этого можно воспользоваться командами lspci или lsusb .
Если в загруженной Linux-системе (LiveCD/USB) присутствует соединение WiFi:
root # lspci -k
Драйвер можно увидеть в строке, которая начинается с Kernel driver in use: .
Если в загруженной системе отсутствует соединение WiFi, выведите весь список идентификаторов устройств, присутствующих в системе. Впоследствии этим списком можно воспользоваться для определения нужного драйвера:
root # lspci -n
Скопируйте список идентификаторов PCIID из вывода этой команды.
Устройства USB можно определить похожим образом. Сначала выведите список устройств:
user $ lsusb
Эта команда выводит идентификатор PCI ID, производителя, марку, модель и/или чипсет каждого устройства USB, присоединенного к системе. Из всех этих данных чипсет может дать наиболее важную информацию. Поиск в интернете по запросу linuxwireless.org часто является наиболее быстрым способом найти драйвер USB NIC и название прошивки.
Также можно воспользоваться командой lshw :
root # lshw | grep -i driver | perl -pe ‘s/^.*driver=(\S+).*$/$1/g;’ | sort -u
Эта команда выводит список драйверов всех устройств, как PCI, так и USB.
Ядро
Теперь, когда драйвера определены, можно приступить к настройке ядра Linux.
IEEE 802.11
Включите по крайней мере cfg80211 ( CONFIG_CFG80211 ) и mac80211 ( CONFIG_MAC80211 ).
ЯДРО Пример для Linux 4.19
[*] Networking support ---> [*] Wireless ---> cfg80211 - wireless configuration API [ ] nl80211 testmode command [ ] enable developer warnings [ ] cfg80211 certification onus [*] enable powersave by default [ ] cfg80211 DebugFS entries [ ] support CRDA [ ] cfg80211 wireless extensions compatibility Generic IEEE 802.11 Networking Stack (mac80211) [*] Minstrel [*] Minstrel 802.11n support [ ] Minstrel 802.11ac support Default rate control algorithm (Minstrel) ---> [ ] Enable mac80211 mesh networking (pre-802.11s) support -*- Enable LED triggers [ ] Export mac80211 internals in DebugFS [ ] Trace all mac80211 debug messages [ ] Select mac80211 debugging features ----
Minstrel с его поддержкой 802.11n является алгоритмом управления скоростью. Некоторым беспроводным драйверам может понадобится его поддержка.
Важно
В случае, если wireless configuration API ( CONFIG_CFG80211 ) скомпилирована в качестве части ядра ( ), а не в виде модуля ( ), драйвер не сможет загрузить regulatory.db из /lib/firmware , вследствие чего будет нарушена поддержка специфичных для отдельных стран особенностей. Установите CONFIG_CFG80211=m или добавьте regulatory.db и regulatory.db.p7s (из net-wireless/wireless-regdb) в CONFIG_EXTRA_FIRMWARE .WEXT
Параметр «cfg80211 wireless extensions compatibility», также известный как WEXT, поддерживает устаревшие wireless-tools и iwconfig .
[*] Networking support ---> [*] Wireless ---> [*] cfg80211 wireless extensions compatibility
Драйвера устройств
Далее необходимо включить соответствующие параметры ядра, в зависимости от драйверов и устройств, определенных ранее. Рекомендуется собирать драйвера в виде модулей. Не забудьте включить поддержку алгоритма шифрования AES, если беспроводная сеть использует шифрование WPA или WPA2.
Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> Select the driver for your Wifi network device, e.g.: Broadcom 43xx wireless support (mac80211 stack) (b43) [M] Support for 802.11n (N-PHY) devices [M] Support for low-power (LP-PHY) devices [M] Support for HT-PHY (high throughput) devices Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) Intel Wireless WiFi DVM Firmware support Intel Wireless WiFi MVM Firmware support Intel Wireless WiFi 4965AGN (iwl4965) Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945) Ralink driver support ---> Ralink rt27xx/rt28xx/rt30xx (USB) support (rt2800usb) -*- Cryptographic API ---> Accelerated Cryptographic Algorithms for CPU (x86) ---> Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTR, XTS, GCM (AES-NI)
Важно
Если драйвер собран не в виде модуля ( ), а встроен в ядро ( ), прошивку необходимо также встроить в ядро. Не забудьте пересобрать ядро после изменения его конфигурации.Поддержка LED
Для того, чтобы включить LED triggers для различных событий приема и передачи пакетов, соберите ядро со следующими параметрами:
Device Drivers ---> [*] LED Support ---> LED Class Support [*] Networking support ---> [*] Wireless ---> [*] Enable LED triggers
Прошивка
Помимо драйвера ядра, некоторым чипсетам (особенно современным) также требуется прошивка. Если она нужна, найдите ее в следующем списке и установите:
root # emerge —ask sys-kernel/linux-firmware
Устройство WiFi Драйвер Прошивка Примечания Atheros AR9271 и AR7010 ath9k_htc sys-kernel/linux-firmware Broadcom 43xx wireless support b43 / b43legacy sys-firmware/b43-firmware Совместим с aircrack-ng, вероятно, самый лучший выбор when a bcm43xx device is supported Broadcom PCIe и SDIO/USB устройства brcmsmac / brcmfmac sys-kernel/linux-firmware Отсутствует поддержка энергосбережения, LED и других возможностей Broadcom 43xx wireless support wl net-wireless/broadcom-sta Пропиетарный код, нет режимов AP и Monitor, Сравнение драйверов bcm43xx Intel PRO/Wireless 2200BG ipw2200 sys-firmware/ipw2200-firmware Intel PRO/Wireless 3945ABG/BG iwlegacy sys-kernel/linux-firmware Intel Wireless WiFi 4965AGN iwl4965 sys-kernel/linux-firmware Остальные беспроводные устройства Intel iwlwifi sys-kernel/linux-firmware См. статью iwlwifi для дальнейшей информации. Qualcomm Atheros QCA6174 ath10k_pci ath10k-firmware См. Qualcomm Atheros QCA6174 Ralink/MediaTek USB-устройства Например, rt2800usb sys-kernel/linux-firmware Realtek RTL8191SE & RTL8192SE rtl8192se sys-kernel/linux-firmware Realtek 8723AU/8723BU/8191EU/8192EU/8188EU/8188RU rtl8xxxu sys-kernel/linux-firmware Может потребоваться параметр ядра CONFIG_RTL8XXXU_UNTESTED для отображения всех устройств. Только проверенные разработчиками ядра устройства включены по умолчанию. Если драйверу требуется прошивка, но ее нет в списке, ее понадобится скачать вручную и поместить в /lib/firmware .
Имена сетевых устройств
Предупреждение
This section is obsolete. See Udev#Optional: Disable_or_override_predictable_network_interface_naming for updated instructions.Имена сетевых устройств, такие как eth0 или wlan0 и так далее, как предусмотрено ядром, обычно меняются во время загрузки системы (смотрите dmesg ) с помощью /lib/udev/rules.d/80-net-name-slot.rules правила udev.
Чтобы сохранить классическое именование это правило может быть перезаписано пустым файлом с таким же именем в каталоге /etc/udev/rules.d :
root # touch /etc/udev/rules.d/80-net-name-slot.rules
Беспроводной supplicant
Если в беспроводной сети установлены WPA или WPA2, то необходимо использовать wireless supplicant, например wpa_supplicant или iwd. Больше информации по настройке беспроводной сети в Gentoo Linux можно прочитать в разделе беспроводная сеть в Руководстве пользователя Gentoo.
Тестирование
После обновления ядра и перезагрузки или после загрузки модулей, устройства можно проверить на доступность с помощью следующих методов:
- используя файловую систему /sys
- используя команду ip
- используя команду ifconfig
- используя команду iw
Файловая система /sys
Узнать имя устройства можно с помощью просмотра каталога /sys/class/net используя ls -al или команду tree (из пакета app-text/tree):
user $ tree /sys/class/net
/sys/class/net/ ├── enp2s14 -> ../../devices/pci0000:00/0000:00:1e.0/0000:02:0e.0/net/enp2s14 ├── lo -> ../../devices/virtual/net/lo ├── sit0 -> ../../devices/virtual/net/sit0 └── wlp8s0 -> ../../devices/pci0000:00/0000:00:1c.0/0000:08:00.0/net/wlp8s0
Команда ip
Чтобы убедится, что беспроводная карта обнаружена, а также чтобы узнать имя карты, выполните следующую команду ip :
user $ ip addr
3: wlan0: .
Команда ifconfig
Команда ifconfig предоставляется пакетом sys-apps/net-tools. Используйте ifconfig -a , чтобы вывести список всех обнаруженных сетевых карт, даже если они не включены/активированы:
user $ ifconfig -a
wlan0 .
Сетевая карта может быть активирована так:
root # ifconfig -v wlan0 up
SIOCSIFFLAGS: Operation not possible due to RF-kill WARNING: at least one error occurred. (-1)
В этом примере включить беспроводную карту не удалось, поскольку был установлен radio frequency kill state (RF-kill). Как правило, он устанавливается в целях энергосбережения и избежания случайного соединения с беспроводными сетями.
Команда iw
Если драйвер беспроводной сетевой карты поддерживает стэк nl80211, команда iw , которая есть в паете net-wireless/iw, может отобразить обнаруженную беспроводную сетевую карту:
root # iw dev
phy#0 Interface wlan0 ifindex 4 type managed
dmesg
Проверьте вывод команды dmesg .
user $ dmesg | grep -i -E ‘xx:xx.x|wlan|iwl|80211’
Не забудьте заменить
- xx:xx.x на идентификатор (PCIID) из lspci,
- wlan на имя сетевого устройства
- iwl на имя Kernel driver in use(используемого драйвера ядра).
Устранение проблем
Обнаружение недостающей прошивки
При загрузке системы ядро попытается опробовать прошивки, подходящие для каждой карты. Это можно обнаружить, просмотрев вывод dmesg или journalctl (systemd) для текущей загрузки.
user $ journalctl -b 0 —dmesg | grep -i firmware
Oct 05 14:51:09 maffbook kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls Oct 05 14:51:09 maffbook kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored Oct 05 14:51:09 maffbook kernel: sgx: [Firmware Bug]: Unable to map EPC section to online node. Fallback to the NUMA node 0. Oct 05 14:51:09 maffbook kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) Oct 05 14:51:09 maffbook kernel: ACPI: video: [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS Oct 05 14:51:09 maffbook kernel: iwlwifi 0000:00:14.3: loaded firmware version 46.6b541b68.0 9000-pu-b0-jf-b0-46.ucode op_mode iwlmvm Oct 05 14:51:09 maffbook kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001) Oct 05 14:51:09 maffbook kernel: Bluetooth: hci0: Firmware revision 0.1 build 6 week 12 2021 Oct 06 17:26:26 maffbook kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014 Oct 06 17:26:26 maffbook kernel: Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Waiting for firmware download to complete Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Firmware loaded in 1484394 usecs Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Firmware revision 0.1 build 6 week 12 2021
Адаптер Wi-Fi не может найти и подключиться к сети 5 GHz
Некоторые сети с WPA или WPA2 до сих пор могут использовать для подключения устаревший протокол TKIP вместо AES. Попробуйте установить net-wireless/wpa_supplicant вместе с USE=tkip и перезагрузите систему.
Темы на форуме
- Forum thread: wireless lan can’t get ip from access point объясняет, почему 169.254.x.x ((link local address)) является неправильным IP-адресом
- Forum thread: iwlwifi fails to load after upgrade to 3.17.0
- Forum thread: Where is my network !?
- Forum thread: broadcom-sta with BCM4331 issue after world update
- Forum thread: USB nano 0bda:b812 RTL88x2bu [AC1200] driver needed
Смотрите также
- Handbook:AMD64/Networking/Wireless
- AC1200 Wireless Adapters
- Iproute2 — a tool developed to unify network interface configuration, routing, and tunneling for Linux systems.
- Iwlwifi — драйвер для современных беспроводных чипов Intel.
- Qualcomm Atheros QCA6174 — a 802.11ac Wireless Network Adapter which is used in some laptops.
Как узнать сетевую карту в Linux
Иногда нужно посмотреть сетевые карты в Linux, подключенные к компьютеру, узнать имя продукта или технические характеристики карты, а также скорость передачи данных. Например, когда вы хотите проверить совместимость сетевого драйвера или модуля ядра с Ethernet адаптером необходимо знать его аппаратные спецификации, такие как: номер модели и производитель, (например: Broadcom NetXtreme, Intel I350), скорость (например: (1 Гбит/сек, 10 Гбит/сек), режим соединения (full/half duplex) и т д.
Также эта информация вам понадобится, если вы хотите подобрать драйвер для своего wifi адаптера. В этой инструкции я расскажу как узнать сетевую карту Linux и посмотреть все доступные ее характеристики.
Информация о сетевой карте с помощью Ethtool
Если вас интересует информация о проводной сетевой карте Ehternet, то вы можете воспользоваться утилитой Ethtool. Это инструмент командной строки для проверки и изменения настроек PCI Ethernet карт. Для установки Ethtool в Ubuntu или Debian используйте команду:
sudo apt install ethtool
В других дистрибутивах установка производится аналогичным образом, только нужно использовать подходящий пакетный менеджер.
Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера. Права суперпользователя здесь нужны для того, чтобы утилита могла получить информацию о настройках локальной сети и статусе соединения.
sudo ethtool eth0

Здесь вы можете посмотреть поддерживаемые режимы работы Supported link modes, скорость Speed и тип коннектора Port, а также состояние подключения. Для просмотра информации о сетевом драйвере и прошивке используйте опцию i:
sudo ethtool -i eth0

Здесь вы можете видеть какие режимы поддерживает прошивка, а также ее версию. Если вас интересует MAC адрес выполните:
sudo ethtool -P eth0

Информация о сетевой карте в lshw
Во втором способе мы воспользуемся утилитой для отображения подробной информации об аппаратуре Linux — lshw. С помощью нее вы можете посмотреть информацию не только о карте Ethernet, но и о Wifi адаптере, а также посмотреть список сетевых карт.
Для установки lshw на Ubuntu или Debian наберите:
sudo apt install lshw
Чтобы посмотреть узнать сетевую карту linux и просмотреть подробные сведения о ней, запустите утилиту со следующими параметрами:
sudo lshw -class network

В выводе команды вы увидите все подключенные к системе сетевые интерфейсы, кроме того, тут показывается более подробная информация, чем в выводе предыдущей утилиты. В самом начале вы видите производителя — vendor и имя продукта — product, скорость передачи данных size, а также в разделе configuration можно найти поле driver, где указан используемый драйвер.
Список сетевых карт в lspci
Если вам нужно узнать только продукт и имя производителя вашей сетевой карты можно использовать lspci. Обычно lscpi уже предустановлена в системе, но если нет ее можно установить командой:
sudo apt install pciutils
Теперь для просмотра доступных сетевых карт используйте:
lspci | grep -i ‘net’

Тут вы можете видеть, что к системе подключены две сетевые карты linux, для проводного интернета и беспроводная, обе от Broadcom.
Информация о сетевой карте с помощью ip
Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:

На снимке экрана вы видите две физические сетевые карты linux — wlan0 и eth0, а также два виртуальных устройства. Для каждой из карт можно узнать состояние и MAC адрес.
Выводы
В этой статье мы рассмотрели несколько способов узнать сетевую карту Linux. Вы можете посмотреть не только производителя и название устройства, но и его характеристики, такие как скорость сетевой карты linux, используемый драйвер и MAC адрес. Если у вас остались вопросы, спрашивайте в комментариях!
