- Установка драйвера USB WiFi адаптера в Linux (на примере DEXP WFA-601)
- Путь веры
- Путь разума
- Install USB Wifi dongle on Ubuntu 18.04
- Steps only
- Install driver
- Configure netplan
- wpasupplicant
- Reboot and check
- Logging in remotely
- 1. Assign a static IP address to your home network
- 2. The DL machine should be DHCP registered to an IP address
- 3. Add port forwarding
- 4. Test
- Some interesting points
- ifconfig
- lshw
- Commands used
- Подключаем WiFi-адаптер WN727N к Ubuntu/Mint
- Инструкция для Ralink RT5370
- Инструкция для Ralink RT7601
Установка драйвера 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… В общем мой уровень не позволяет такие сложности.
Путь разума
Первым делом решил проверить видит ли железку ядро. Вытаскиваю адаптер и втыкаю его в соседний разъем.
. [ 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 не стал разбираться с остановкой и запуском адаптера, ввел:
Install USB Wifi dongle on Ubuntu 18.04
To my benefit or downfall, whichever way you look at it, I bought the Comfast CF-915AC USB Wifi Adapter from Amazon. This proved to be super difficult to install. Me being a noob in Wifi networking in Linux. After 3 part time days of fiddling with it, it is now work. Here’s my steps and how I got it working.
Firstly, the USB Wifi Adapter came with a CD Rom to install the driver. I don’t have a CD Rom drive, so I hit Google, and started looking for what driver to use and how to install.
Under the COMFAST Wiki it’s listed as using the RTL8811AU Realtek chipset.
I tried looking for RTL8811AU drivers via Google, since the product only came with a disk for installation and couldn’t find any drivers that matched. The Comfast official driver download links returned 404 page not found errors in Chinese!
I then found this Ubuntu formus blog and it said that the RTL8812AU driver could be used.
I then followed this StackExchange answer to get the USB driver RTL8812AU correctly installed:
Using ifconfig , the interface was present, but it didn’t have an IP address.
I am using netplan and my /etc/netplan/01-netcfg.yml currently looks like this:
network: version: 2 renderer: networkd ethernets: enp6s0: dhcp4: true nameservers: addresses: [8.8.8.8,8.8.4.4] wifis: wlx40a5ef40734c: dhcp4: true nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "my-wifi-router-name": password: "my-password"
This is becasue I have WPA security enabled, so the netplan yaml wasn’t work.
I then followed this StackExchange answer:
Using the wpasupplicant package, I generated a wpa.conf file as suggested, and using these commands could connect to the Wifi Router
# install package sudo apt install wpa_supplicant # generates a file wpa_passphrase SSID PASSWORD > wpa.conf # command uses the file to connect, and runs as a daemon sudo wpa_supplicant -i wlx40a5ef40734c -c wpa.conf -D wext -B
Everything is now working. After a reboot, the Wifi still connects. I am smiling!
Steps only
Here are the commands / steps only extracted from the above blogs.
Install driver
First remove any old drivers in /usr/src
sudo apt purge rtl8812au-dkms sudo apt install git git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git cd rtl8812AU_8821AU_linux sudo make -f Makefile.dkms install sudo modprobe rtl8812au
Can view that driver is covered:
modinfo rtl8812au | grep A811
Run ifconfig -a and the Wifi interface should be up.
Configure netplan
Configure netplan yaml file, /etc/netplan/01-netcfg.yml as shown above
Run sudo netplan apply to apply changes.
wpasupplicant
Install this package for WPA security support
sudo apt install wpasupplicant
Reboot and check
Reboot computer and check
reboot # should show the wifi interface now with an IP address if working ifconfig -a
Logging in remotely
There are 3 steps to do this
1. Assign a static IP address to your home network
This can be done from logging into your Wifi router. The URL to login will be on the bottom of your Wifi router.
I have a Netgear router, so I
2. The DL machine should be DHCP registered to an IP address
For me, this was already done in the previous step using netplan
3. Add port forwarding
This is configurable when logged in to the Router config. For me, this Netgear guide helped me setup port forwarding.
4. Test
I tested by connecting to my phone Wifi hotspot with my laptop then tested that I could ssh to the DL machine
ssh -i ~/.ssh/my.pem username@hostname
Some interesting points
ifconfig
ifconfig will show internet interfaces that are up
ifconfig -a will show all internet interfaces whether they are up or down
ifconfig was showing the Wifi interface as up, but with no IP. This meant that the USB Wifi adapter driver (driver) installation worked and it was registered as an interface in netplan but couldn’t connect to the network. It was the WPA security blocking it at this point.
lshw
lshw -C network will show hardware. -C network to only show “network” class of hardware.
After successfully installing the driver, I could see the wifi network as DISABLED. Then running netplan apply this show the network as enabled.
Commands used
# list usb ports and connected devices lsusb # configure network interfaces ifconfig # configure wifi network interfaces iwconfig # get detailed wifi info iwlist s # dynamic kernal support module dkms # ip show an manipulate routing, network devices, interfaces ip link set up/down # list hardware lshw -C network netplan apply netplan --debug generate # check if there's internet ping -c3 www.ubuntu.com
Подключаем WiFi-адаптер WN727N к Ubuntu/Mint
У меня возникла проблема с подключение WiFi-адаптера wn727n к ubuntu/mint. Я долго гуглил, но решения так и не нашел. Решив проблему, решил написать его сам. Все, что написано ниже, рассчитано на новичков.
ВНИМАНИЕ! АВТОР СТАТЬИ НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПРИЧИНЕННЫЙ УЩЕРБ!
Но, если вы сделаете все правильно, последствий не будет. Даже если что-то пойдет не так, ничего страшного не произойдет. Начнем.
Первым делом открываем терминал при помощи клавиш Ctrl+Alt+T и вводим такую команду:
Видим наш адаптер Ralink RT7601(выделено). У вас может быть адаптер Ralink RT5370. Драйвера на разные адаптеры устанавливаются по-разному. Я опишу как это сделать для для двух случаев.
Инструкция для Ralink RT5370
Переходим по ссылке и выбираем RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB USB. Скачиваем архив с драйвером.
Открываем папку, в которую сохранили драйвер, и распакуем архив bz2. Для этого кликаем правой кнопкой мыши по файлу и нажимаем “Распаковать сюда” (“Extract here”).
После этого появится архив tar. Еще раз его распаковываем. Нажимаем правой кнопкой мыши по файлу и нажимаем “Распаковать сюда” (“Extract here”).
Далее меняем название папки на что то более короткое, так как нам еще предстоит писать ее путь в консоль. Например я назвал ее Driver.
Заходим в распакованную папку и открываем в текстовом редакторе файл /os/linux/config.mk
Находим следующие строки и изменяем букву n на y:
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
После этого сохраняем файл. Открываем терминал и переходим в распакованную папку. Внимание! У меня имя пользователя sergey. Вы же вводите свое имя пользователя! В дальнейшем меняйте sergey на имя своего пользователя.
cd /home/sergey/загрузки/driver/
sudo make sudo make install sudo modprobe rt5370sta
И все! О, чудо! WIFI работает, пользуйтсь на здоровье.
Инструкция для Ralink RT7601
Для того, чтобы завести этот адаптер(Ralink RT7601), вам необходимо иметь ядро версии 3.19 или выше. если необходимо — обновите ядро (если не знаете как — google поможет).
Далее идем по ссылке и скачиваем драйвер:
Далее скачанный архив перемещаем в домашнюю папку и распаковываем (клик правой клавишей мыши, «извлечь сюда»). Переименуем получивщуюся папку mt7601-master просто в mt7601.
После этого вводим команду:
Теперь мы в нужном каталоге. Можно произвести сборку драйвера, выполняем команду:
Система запросит пароль — вводим (пароль не отображается).
sudo mkdir -p /etc/Wireless/RT2870STA/ cp RT2870STA.dat /etc/Wireless/RT2870STA/
И последняя команда, которая включит наш адаптер:
insmod os/linux/mt7601Usta.ko
Все. Теперь ubuntu видит wifi.
Но это еще не все! Теперь после каждой перезагрузки необходимо вводить последнюю команду, иначе система не увидит адаптер (именно для Ralink RT7601). Но есть выход! Можно создать скрипт и добавить его в автозагрузку. Ниже написано как это сделать.
Первым делом нам надо сделать так, чтобы система не запрашивала пароль при использовании sudo. Для этого вводим команду:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Сохраняем изменения — нажимаем «Сохранить».
sudo cp -R mt7601 /etc/Wireless/RT2870STA/
После этого вводим команду:
sudo gedit /etc/Wireless/RT2870STA/autowifi.sh
Открывается пустой текстовый редактор. В нем пишем или копируем:
#!/bin/bash
insmod /etc/Wireless/RT2870STA/mt7601/src/os/linux/mt7601Usta.ko
Нажимаем «Сохранить» и закрываем.
cd /etc/Wireless/RT2870STA/ sudo chmod +x autowifi.sh
Далее идем в меню Dash и ищем программу как на картинке ниже:
Открываем ее. Нажимаем «Добавить».
Откроется окно. Напротив поля «Имя» пишем:
Напротив поля «Команда» пишем:
sudo sh /etc/Wireless/RT2870STA/autowifi.sh
Нажимаем кнопку «Добавить» и закрываем программу. Перезагружаемся. После перезагрузки все работает. Теперь можно выбрать сеть в трее.
На этом «небольшая» инструкция для адаптера Ralink RT7601 закончена.
Приятного времяпровождения в сети!