Как заставить работать D-link DWA-131 Wireless-N Nano USB адаптер на CentOS 7?

Вопрос или проблема

Я использую 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.

Устройство обнаружено как USB Ethernet, а не как Wireless

Устройство, отображаемое как 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 интерфейс.

Применение

  1. Обновление системы и зависимостей: Прежде чем продолжить, убедитесь, что ваша система и все пакеты обновлены. Это можно сделать с помощью команд sudo yum update и sudo yum upgrade.

  2. Удаление текущего драйвера: Если вы уже устанавливали драйвер, рекомендовано его полностью удалить, чтобы избежать конфликтов. Это можно сделать с помощью команд:

    sudo rmmod 8192eu
    sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8192eu.ko
  3. Установка необходимых зависимостей: Убедитесь, что у вас установлены все необходимые инструменты для компиляции драйверов. Используйте:

    sudo yum groupinstall "Development Tools"
    sudo yum install kernel-devel kernel-headers
  4. Скачивание и установка альтернативного драйвера: В некоторых случаях, драйвер rtl8xxxu, который является частью ядра Linux, может корректно поддерживать ваш адаптер. Попробуйте его использовать вместо 8192eu. Для этого выполните следующие команды:

    sudo modprobe -r rtl8192eu
    sudo modprobe rtl8xxxu
  5. Проверка наличия и активации устройства: Используйте команды ifconfig и iwconfig, чтобы проверить, распознается ли устройство как беспроводное (wlan0 или подобное).

  6. Настройка NetworkManager: Убедитесь, что NetworkManager активен и правильно настроен для управления беспроводными устройствами. Если требуется, создайте конфигурацию подключения для сети abc с паролем 12345678 через интерфейс NetworkManager или nmtui.

  7. Создание файла конфигурации: Создайте или измените файл конфигурации /etc/modprobe.d/rtl8xxxu.conf с содержимым:

    options rtl8xxxu ht40_2g=1 dma_aggregation=1 rtw_power_mgnt=0 rtw_enusbss=0

    Это задаст корректные параметры для драйвера, которые могут помочь адаптеру работать стабильно.

  8. Проверка подключения: После применения изменений перезагрузите модуль и проверьте подключение с помощью команды:

    nmcli device wifi connect abc password 12345678

Следуя этим шагам, вы сможете настроить адаптер D-link DWA-131 так, чтобы он распознавался как беспроводное устройство на CentOS 7. Важно помнить, что в Linux могут быть различия в поддержке оборудования, и если стандартные методы не помогают, возможно, потребуется поискать специализированные форумы или ресурсы сообщества Linux для специфичных решений и патчей драйверов.

Оцените материал
Добавить комментарий

Капча загружается...