USB WiFi на CentOS7

У меня есть чистая установка CentOS 7 на настольном ПК и USB-адаптере Wii (RTL8191SU 802.11n). Подключение через USB-кабель показывает «USB-Ethernet: подключение» в строке состояния сети Gnome3.

lsusb говорит:

Bus 003 Устройство 004: ID 0bda: 8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter

grep -e "usb" /var/log/messages:


Jun 15 08:01:01 localhost kernel: usb 3-12: новое высокоскоростное USB-устройство номер 4 с помощью xhci_hcd
Jun 15 08:01:01 localhost kernel: usb 3-12: найдено новое USB-устройство, idVendor = 0bda, idProduct = 8172
Jun 15 08:01:01 localhost kernel: usb 3-12: Новые строки устройства USB: Mfr = 1, Product = 2, SerialNumber = 3
Jun 15 08:01:01 localhost kernel: usb 3-12: Продукт: адаптер RTL8191S WLAN
Jun 15 08:01:01 localhost kernel: usb 3-12: Производитель: Производитель Realtek
Jun 15 08:01:01 localhost kernel: usb 3-12: SerialNumber: 00e04c000001
Jun 15 08:01:01 localhost mtp-probe: проверка шины 3, устройство 4: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-12"
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: USB_SPEED_HIGH с 4 конечными точками
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: загрузка с EFUSE: автозагрузка OK
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: CustomerID = 0x000a
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: MAC-адрес от efuse = 24: 05: 0f: 36: 27: cd
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: Загрузка прошивки из «rtlwifi / rtl8712u.bin»
Jun 15 08:01:02 localhost kernel: usbcore: зарегистрирован новый драйвер интерфейса r8712u

grep -e "r8712u" /var/log/messages:

Jun 15 08:01:01 localhost kernel: r8712u: модуль из промежуточного каталога, качество неизвестно, вы были предупреждены.
Jun 15 08:01:01 localhost kernel: r8712u: промежуточная версия
Jun 15 08:01:01 localhost kernel: r8712u: зарегистрировать rtl8712_netdev_ops в netdev_ops
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: USB_SPEED_HIGH с 4 конечными точками
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: загрузка с EFUSE: автозагрузка OK
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: CustomerID = 0x000a
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: MAC-адрес от efuse = 24: 05: 0f: 36: 27: cd
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: Загрузка прошивки из «rtlwifi / rtl8712u.bin»
Jun 15 08:01:02 localhost kernel: usbcore: зарегистрирован новый драйвер интерфейса r8712u
Jun 15 08:01:02 localhost NetworkManager [895]: (enp0s20u12): драйвер 'r8712u' не поддерживает обнаружение несущей.
Jun 15 08:01:02 localhost NetworkManager [895]: (enp0s20u12): новое устройство Ethernet (драйвер: «r8712u» ifindex: 3)
Jun 15 08:01:02 localhost kernel: r8712u 3-12: 1.0 enp0s20u12: 1 RCR = 0x153f00e
Jun 15 08:01:02 localhost kernel: r8712u 3-12: 1.0 enp0s20u12: 2 RCR = 0x553f00e

Очевидно, он загружает драйвер r8712u, но как узнать, является ли он правильным, и если это так – как я могу просмотреть его журналы или отладить его?

Изменить: Ubuntu 14.04 LiveUSB загружает один и тот же драйвер, и WiFi работает из коробки. dmesg в CentOS показывает:

IPv6: ADDRCONF (NETDEV_UP): enp0s20u12: ссылка не готова
IPv6: ADDRCONF (NETDEV_UP): enp0s20u12: ссылка не готова
IPv6: ADDRCONF (NETDEV_UP): enp0s20u12: ссылка не готова

в то время как в Ubuntu соединение становится готовым в конце концов:

IPv6: ADDRCONF (NETDEV_UP): wlan0: ссылка не готова
..
IPv6: ADDRCONF (NETDEV_CHANGE): wlan0: ссылка будет готова

Что дает?

nmcli c sh на отпечатках CentOS:

Проводное соединение 1 e6c22a72-98c3-4e6e-ad31-5a6ace6db913 802-3-ethernet –
Проводное соединение 2 950c52f5-fb7a-4349-900e-14a28fa9e688 802-3-ethernet –

В то время как в Ubuntu, после подключения к WiFi nmcli c показывает:

mywifi 8d0af4ff-370d-42bd-b824-425571128df1 802-11-wireless Mon 15 Jun 2015 01:08:42 PM UTC
Проводное соединение 1 e466d3b5-dc88-4438-909f-7e7f56588897 802-3-ethernet Пн 15 Июн 2015 01:06:23 PM UTC

Это, очевидно, означает, что CentOS распознает ключ как проводное соединение. Я установил последнее ядро ​​(4.0.5-1) из elrepo, и теперь соединение отображается как «Неизвестный USB, неуправляемый» в Network Manager. Та же самая прошивка по-прежнему загружается, но больше ничего не происходит. Куда я могу пойти отсюда? PS: На сайте Realtek есть официальный драйвер, но я не могу его скомпилировать (кажется, что он слишком стар )

Я думаю, вы должны использовать wpa_supplicant вместо NetworkManager.

Есть несколько сообщений, описывающих эту ошибку, как здесь . Некоторые должности заключили его как решаемые, а некоторые – как нерешенные. Я просто не понял, как настроить NetworkManager для работы с моей usb wifi stick.

Я использую CentOS7 3.10.0-514.10.2.el7.x86_64 и TP-Link TL-WDN5200 usb wifi stick с mt7610u внутри.

  1. После того, как я установил драйвер, я подключил его к Wi-Fi: sudo wpa_passphrase xdhtc >> /etc/wpa_supplicant.conf # type in the passphrase and hit enter sudo wpa_supplicant -B -Dwext -ira0 -c/etc/wpa_supplicant.conf # -B background sudo dhclient ra0

Вы также можете попробовать iw вместо wpa_supplicant, если ваш чип wifi поддерживает nl80211.

  1. Вы также можете убедиться, что NetworkManager не управляет этой беспроводной сетью. Я попытался позволить NetworkManager и wpa_supplicant работать параллельно. Они будут работать без больших проблем, но статус интерфейса, очевидно, не синхронизирован. Поэтому я добавляю эти строки в /etc/NetworkManager/NetworkManager.conf чтобы настроить NM игнорировать мое соединение wifi:

    [главный]
    плагинов = файл_ключа
    [Файл_ключа]
    неуправляемое-устройство = имя-интерфейс: RA0

  2. Я поместил этот скрипт в ~/.config/autostart/ чтобы Wi-Fi начал работать с ОС, и настроил только один ip через это беспроводное соединение.

    sudo wpa_supplicant -B -Dwext -ira0 -c / etc / wpa_supplicant.conf
    sudo dhclient ra0
    sudo ip r добавить xx.xx.xx.xx через 192.168.2.1 dev ra0
    sudo ip r del default через 192.168.2.1 dev ra0

Пожалуйста, скажите мне, есть ли элегантный способ решить эту проблему.