USB WiFi no CentOS7

2

Eu tenho uma instalação limpa do CentOS 7 em um PC de mesa e um adaptador Wi-Fi USB (RTL8191SU 802.11n). A conexão através de cabos USB mostra "Ethernet USB: conectando" na barra de status de rede do Gnome3.

lsusb diz:

Bus 003 Device 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: new high-speed USB device number 4 using xhci_hcd
Jun 15 08:01:01 localhost kernel: usb 3-12: New USB device found, idVendor=0bda, idProduct=8172
Jun 15 08:01:01 localhost kernel: usb 3-12: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 15 08:01:01 localhost kernel: usb 3-12: Product: RTL8191S WLAN Adapter
Jun 15 08:01:01 localhost kernel: usb 3-12: Manufacturer: Manufacturer Realtek
Jun 15 08:01:01 localhost kernel: usb 3-12: SerialNumber: 00e04c000001
Jun 15 08:01:01 localhost mtp-probe: checking bus 3, device 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 with 4 endpoints
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: Boot from EFUSE: Autoload 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 Address from efuse = 24:05:0f:36:27:cd
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
Jun 15 08:01:02 localhost kernel: usbcore: registered new interface driver r8712u

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

Jun 15 08:01:01 localhost kernel: r8712u: module is from the staging directory, the quality is unknown, you have been warned.
Jun 15 08:01:01 localhost kernel: r8712u: Staging version
Jun 15 08:01:01 localhost kernel: r8712u: register rtl8712_netdev_ops to netdev_ops
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: USB_SPEED_HIGH with 4 endpoints
Jun 15 08:01:01 localhost kernel: usb 3-12: r8712u: Boot from EFUSE: Autoload 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 Address from efuse = 24:05:0f:36:27:cd
Jun 15 08:01:02 localhost kernel: usb 3-12: r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
Jun 15 08:01:02 localhost kernel: usbcore: registered new interface driver r8712u
Jun 15 08:01:02 localhost NetworkManager[895]: (enp0s20u12): driver 'r8712u' does not support carrier detection.
Jun 15 08:01:02 localhost NetworkManager[895]: (enp0s20u12): new Ethernet device (driver: '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

Obviamente, ele carrega o driver r8712u, mas como eu sei se é o caminho certo e se é - como posso ver seus logs ou depurá-lo?

Edit: Ubuntu 14.04 LiveUSB carrega o mesmo driver e WiFi funciona fora da caixa. dmesg no CentOS mostra:

IPv6: ADDRCONF(NETDEV_UP): enp0s20u12: link is not ready
IPv6: ADDRCONF(NETDEV_UP): enp0s20u12: link is not ready
IPv6: ADDRCONF(NETDEV_UP): enp0s20u12: link is not ready

enquanto no Ubuntu o link fica pronto eventualmente:

IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
..
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

O que dá?

nmcli c sh nas impressões do CentOS:

Wired connection 1 e6c22a72-98c3-4e6e-ad31-5a6ace6db913 802-3-ethernet --
Wired connection 2 950c52f5-fb7a-4349-900e-14a28fa9e688 802-3-ethernet --

Enquanto no Ubuntu, após conectar-se ao WiFi nmcli c mostra:

mywifi 8d0af4ff-370d-42bd-b824-425571128df1 802-11-wireless Mon 15 Jun 2015 01:08:42 PM UTC
Wired connection 1 e466d3b5-dc88-4438-909f-7e7f56588897 802-3-ethernet Mon 15 Jun 2015 01:06:23 PM UTC

O que obviamente significa que o CentOS reconhece o dongle como conexão com fio. Eu instalei o kernel mais recente (4.0.5-1) da elrepo e agora a conexão aparece como "USB desconhecido, não gerenciado" no Network Manager. O mesmo firmware ainda está sendo carregado, mas nada mais acontece. Onde eu posso ir daqui? PS: Existe um driver oficial no Realtek's website , mas não consigo compilá-lo (parece que é muito antigo )

    
por tesseract 15.06.2015 / 08:26

1 resposta

1

Acho que você deveria usar o wpa_supplicant em vez do NetworkManager.

Existem algumas postagens descrevendo esse bug, como aqui . Alguns post concluíram como resolvido e alguns como não resolvidos. Eu só não consegui descobrir como configurar o NetworkManager para trabalhar com meu stick usb wifi.

Eu uso o CentOS7 3.10.0-514.10.2.el7.x86_64, e um stick wifi usb TP-link TL-WDN5200 com um mt7610u dentro.

  1. Depois de instalar o driver, conectei-o ao meu wifi por: %código%

Você também pode tentar o iw ao invés do wpa_supplicant se o seu chip wifi suportar nl80211.

  1. Você também pode querer ter certeza de que o NetworkManager não gerencia esta rede sem fio. Eu tentei deixar o NetworkManager e o wpa_supplicant funcionarem em paralelo. Eles funcionarão sem grandes problemas, mas o status da interface obviamente não é sincronizado. Então eu adiciono essas linhas em 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 para configurar NM ignorar minha conexão wifi:

    [main]
    plugins=keyfile
    [keyfile]
    unmanaged-devices=interface-name:ra0

  2. Eu coloquei este script em /etc/NetworkManager/NetworkManager.conf para fazer o wifi iniciar com o SO, e configurei apenas um ip através desta conexão sem fio.

    sudo wpa_supplicant -B -Dwext -ira0 -c/etc/wpa_supplicant.conf
    sudo dhclient ra0
    sudo ip r add xx.xx.xx.xx via 192.168.2.1 dev ra0
    sudo ip r del default via 192.168.2.1 dev ra0

Por favor, diga-me se existe alguma maneira elegante de resolver este problema.

    
por 25.09.2017 / 08:37

Tags