Вопрос или проблема
Я использую CentOS 7. У меня есть D-link DWA-131 Wireless-N USB Nano Hardware revision E1 адаптер. Я скачал и скомпилировал его драйверы с ftp://files.dlink.com.au/products/DWA-131/REV_E/Drivers/DWA-131_Linux_driver_v4.3.1.1.zip. После установки и вставки модуля 8192eu.ko мое устройство определяется как USB Ethernet. Как я могу сделать так, чтобы оно было распознано как беспроводное устройство, чтобы я мог подключиться к беспроводной сети abc с паролем 12345678.
результат uname -a:
Linux linux-centos 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
результат ifconfig -a:
enp0s20u3: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 54:2a:a2:47:dd:f6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 7729 bytes 664831 (649.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7729 bytes 664831 (649.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
p4p2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether f8:ca:b8:06:55:c0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:1c:39:9e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:1c:39:9e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.22 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::374e:5cb2:ec50:9c4d prefixlen 64 scopeid 0x20<link>
ether 78:0c:b8:36:8e:31 txqueuelen 1000 (Ethernet)
RX packets 122333 bytes 155288565 (148.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84226 bytes 10510089 (10.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s20u3 — это мое USB устройство. Оно появляется только если я загружаю 8192eu.ko с помощью modprobe или insmod.
Устройство, отображаемое как Wi-Fi, является ‘внутренним Wi-Fi’, но USB устройство определяется как USB Ethernet.
Для меня это работает только сразу после перезагрузки модуля:
modprobe -r rtl8xxxu; sleep 2; modprobe rtl8xxxu
(соединение в NetworkManager предварительно настроено)
Кроме того, у меня есть дополнительные параметры для него:
cat /etc/modprobe.d/rtl8xxxu.conf
options rtl8xxxu ht40_2g=1 dma_aggregation=1 rtw_power_mgnt=0 rtw_enusbss=0
Ответ или решение
Для успешной настройки адаптера D-link DWA-131 Wireless-N Nano USB на системе CentOS 7, необходимо учесть некоторые важные аспекты, касающиеся его правильного распознавания как беспроводного устройства. В представленном вами описании проблема заключается в том, что устройство распознается как USB Ethernet, а не как беспроводной адаптер, что мешает подключению к сети Wi-Fi.
Теория
Для понимания процесса решения проблемы, важно осознать, что драйверы играют ключевую роль в определении и использовании устройства операционной системой. В случае с беспроводными адаптерами, неправильный или недостаточный драйвер может привести к тому, что система распознает устройство неправильно. Драйверы для Linux, особенно для конкретных аппаратных ревизий устройств, должны корректно поддерживать все функции оборудования, включая сетевые протоколы, характерные для Wi-Fi адаптеров.
Пример
В вашем случае, вы скомпилировали драйвер из архива DWA-131_Linux_driver_v4.3.1.1.zip
, после чего ваше устройство распознается как USB Ethernet
. Это говорит о том, что текущий драйвер не полностью или неправильно поддерживает функциональность вашего беспроводного адаптера. Другая важная деталь заключается в результатах команды ifconfig -a
, где адаптер enp0s20u3
распознается как Ethernet интерфейс.
Применение
-
Обновление системы и зависимостей: Прежде чем продолжить, убедитесь, что ваша система и все пакеты обновлены. Это можно сделать с помощью команд
sudo yum update
иsudo yum upgrade
. -
Удаление текущего драйвера: Если вы уже устанавливали драйвер, рекомендовано его полностью удалить, чтобы избежать конфликтов. Это можно сделать с помощью команд:
sudo rmmod 8192eu sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8192eu.ko
-
Установка необходимых зависимостей: Убедитесь, что у вас установлены все необходимые инструменты для компиляции драйверов. Используйте:
sudo yum groupinstall "Development Tools" sudo yum install kernel-devel kernel-headers
-
Скачивание и установка альтернативного драйвера: В некоторых случаях, драйвер
rtl8xxxu
, который является частью ядра Linux, может корректно поддерживать ваш адаптер. Попробуйте его использовать вместо8192eu
. Для этого выполните следующие команды:sudo modprobe -r rtl8192eu sudo modprobe rtl8xxxu
-
Проверка наличия и активации устройства: Используйте команды
ifconfig
иiwconfig
, чтобы проверить, распознается ли устройство как беспроводное (wlan0
или подобное). -
Настройка NetworkManager: Убедитесь, что NetworkManager активен и правильно настроен для управления беспроводными устройствами. Если требуется, создайте конфигурацию подключения для сети
abc
с паролем12345678
через интерфейс NetworkManager илиnmtui
. -
Создание файла конфигурации: Создайте или измените файл конфигурации
/etc/modprobe.d/rtl8xxxu.conf
с содержимым:options rtl8xxxu ht40_2g=1 dma_aggregation=1 rtw_power_mgnt=0 rtw_enusbss=0
Это задаст корректные параметры для драйвера, которые могут помочь адаптеру работать стабильно.
-
Проверка подключения: После применения изменений перезагрузите модуль и проверьте подключение с помощью команды:
nmcli device wifi connect abc password 12345678
Следуя этим шагам, вы сможете настроить адаптер D-link DWA-131 так, чтобы он распознавался как беспроводное устройство на CentOS 7. Важно помнить, что в Linux могут быть различия в поддержке оборудования, и если стандартные методы не помогают, возможно, потребуется поискать специализированные форумы или ресурсы сообщества Linux для специфичных решений и патчей драйверов.