De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Adaptador de Rede sem fio USB Intelbrás WBN 240 no Debian Squeeze

Colaboração: Bruno Buys

Data de Publicação: 31 de agosto de 2011

Comprei esse adaptador para conectar um desktop que ficava muito longe do roteador. Estava muito complicado de fazer chegar um cabo de rede até ele, então rede sem fio foi opção natural. Aqui relato o que foi necessário para fazê-lo funcionar no Squeeze. O Intelbrás WBN240 não é muito caro e tem um desempenho satisfatório. É uma boa opção de custo-benefício. Pelo menos aqui em São Paulo ele é facilmente encontrável.

O driver que pilota esse adaptador é o ath9k_htc. Se você plugar o adaptador numa máquina com o driver ath9k, verá que ele pode criar o dispositivo usb0. À primeira vista pode parecer que estamos no caminho correto, já que não aparece nada explicitamente errado no dmesg, mas não vai funcionar. O ath9k_htc é realmente necessário. Nos kernels mais recentes ele já está disponível, mas no kernel padrão do Squeeze, o 2.6.32, o driver presente é o ath9k.

Minha opção foi por inserir os backports nos meus repositórios e instalar um kernel mais recente a partir de lá. Se você não puder ou não quiser fazer isso, terá que compilar o ath9k_htc para seu kernel atual. Um bom começo pra isso pode estar aqui: http://linuxwireless.org/en/users/Drivers/ath9k_htc

Além disso, é necessário também copiar um firmware para o local correto, para que o driver o carregue no dispositivo antes do uso.

Então fica assim:

  1. Linha a ser inserida em /etc/apt/sources.list:
      deb http://backports.debian.org/debian-backports squeeze-backports main
    

  2. Atualizando e instalando:
      sudo apt-get update
      sudo apt-get -t squeeze-backports install linux-base linux-image-2.6.38-bpo.2-686-bigmem
    
    Eu uso a versão bigmem porque o desktop tem 4GB de memória. Se você não precisar disso, pode optar até pela versão 2.6.39, que estará disponível, também a partir dos backports. Para procurar as imagens do kernel instaláveis a partir dos backports, faça:

      apt-cache search linux-image | grep linux-image-2.6.3.-bpo
    

  3. Copiando o firmware:

      wget -c http://wireless.kernel.org/download/htc_fw/1.3/htc_9271.fw
      cp htc_9271.fw /lib/firmware/ar9271.fw
    
    Repare que o firmware tem que ser renomeado.

    Feito isso, reinicie a máquina no novo kernel, plugue o adaptador.

    Você deverá ver que o dispositivo wlan0 foi criado:

      sudo ifconfig wlan0
    

    Se deu tudo certo, a seguir resta configurar a maneira de conectar seu computador à rede sem fio. Uma dica: o network-manager faz uma tarefa legal em gerenciar suas conexões de rede. Para instalá-lo, faça:

      sudo apt-get install network-manager network-manager-gnome
    

    Ou, se for usuário do kde, mude o último pacote acima para network-manager-kde, para ter uma integração com o desktop. Assim, tanto no gnome quanto no kde você tem um ícone próximo ao relógio de onde pode configurar tudo de sua rede.

    E é isso aí. O resto é aproveitar sua placa nova!

    Abaixo, se necessário, mais algumas infos adicionais e saídas de comandos.

    Observação 1: em nenhum lugar da embalagem do produto menciona suporte à GNU/Linux. A documentação só cita win e mac. Quando o fabricante não dá suporte ele mesmo, nem menciona onde o usuário pode obter suporte. Não é estranho?

    Observação 2: O adaptador precisa de uma porta usb 2.0. Não vai funcionar em usb 1.1. A boa e velha tentativa e erro pode ajudar nessa hora.

    Página do produto: http://www.intelbras.com.br/Produtos/Redes/Redes-outdoor-WISP/WBN-240-Adaptador-USB-wireless-de-alto-ganho

    O WBN 240 no lsusb:

      Bus 001 Device 005: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
    

    Ele é baseado no chipset Atheros 9271.

    Plugando o WBN240 no kernel 2.6.32-5-686:
      [   37.976009] usb 1-8: new high speed USB device using ehci_hcd and address 5
      [   38.124829] usb 1-8: New USB device found, idVendor=0cf3, idProduct=9271
      [   38.124833] usb 1-8: New USB device strings: Mfr=16, Product=32, SerialNumber=48
      [   38.124835] usb 1-8: Product: USB2.0 WLAN
      [   38.124837] usb 1-8: Manufacturer: ATHEROS
      [   38.124839] usb 1-8: SerialNumber: 12345
      [   38.124926] usb 1-8: configuration #1 chosen from 1 choice
    
    Esse kernel não carrega o ath9k automaticamente. Fazendo manualmente:
      sudo modprobe -v ath9k
      
      insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
      insmod /lib/modules/2.6.32-5-686/kernel/net/wireless/cfg80211.ko
      insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/wireless/ath/ath.ko
      insmod /lib/modules/2.6.32-5-686/kernel/net/mac80211/mac80211.ko
      insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
    
    e no dmesg aparece:
      [  222.331940] cfg80211: Using static regulatory domain info
      [  222.331942] cfg80211: Regulatory domain: US
      [  222.331943]         (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
      [  222.331945]         (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
      [  222.331947]         (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      [  222.331949]         (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      [  222.331951]         (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      [  222.331953]         (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      [  222.331955]         (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
      [  222.331960] cfg80211: Calling CRDA for country: US
    
    Parece bom, né? Mas ainda não há nenhum dispositivo sem fio:
      $ sudo ifconfig
      eth0    Link encap:Ethernet  HWaddr 90:e6:ba:8a:bb:d8
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:27 Base address:0x8000
      
      lo      Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:12 errors:0 dropped:0 overruns:0 frame:0
              TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:800 (800.0 B)  TX bytes:800 (800.0 B)
    

    E o ath9k_htc não existe no 2.6.32:
      sudo modprobe -v ath9k_htc
      FATAL: Module ath9k_htc not found.
    

    Agora, no 2.6.38 com o ath9k_htc e o firmware correto:
      [  168.740017] usb 1-8: new high speed USB device using ehci_hcd and address 5
      [  168.888827] usb 1-8: New USB device found, idVendor=0cf3, idProduct=9271
      [  168.888831] usb 1-8: New USB device strings: Mfr=16, Product=32, SerialNumber=48
      [  168.888834] usb 1-8: Product: USB2.0 WLAN
      [  168.888836] usb 1-8: Manufacturer: ATHEROS
      [  168.888837] usb 1-8: SerialNumber: 12345
      [  169.467153] cfg80211: Calling CRDA to update world regulatory domain
      [  171.438159] usb 1-8: ath9k_htc: Transferred FW: ar9271.fw, size: 51312
      [  171.704424] usb 1-8: ath9k_htc: HTC initialized with 33 credits
      [  172.271691] ath: EEPROM regdomain: 0x809c
      [  172.271693] ath: EEPROM indicates we should expect a country code
      [  172.271695] ath: doing EEPROM country->regdmn map search
      [  172.271696] ath: country maps to regdmn code: 0x52
      [  172.271698] ath: Country alpha2 being used: CN
      [  172.271699] ath: Regpair used: 0x52
      [  172.894757] Registered led device: ath9k-phy0::radio
      [  172.894779] Registered led device: ath9k-phy0::assoc
      [  172.894803] Registered led device: ath9k-phy0::tx
      [  172.894825] Registered led device: ath9k-phy0::rx
      [  172.894828] usb 1-8: ath9k_htc: USB layer initialized
      [  172.894845] usbcore: registered new interface driver ath9k_hif_usb
      [  173.189870] ADDRCONF(NETDEV_UP): wlan0: link is not ready
      [  184.688842] wlan0: authenticate with 00:11:22:33:44:55 (try 1)
      [  184.691094] wlan0: authenticated
      [  184.691114] wlan0: associate with 00:11:22:33:44:55 (try 1)
      [  184.694855] wlan0: RX AssocResp from 00:11:22:33:44:55 (capab=0x451 status=0 aid=1)
      [  184.694858] wlan0: associated
      [  184.699369] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    
    E agora o dispositivo wlan0, já autenticado e conectado:
      sudo ifconfig
      eth0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:43
      
      lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:12 errors:0 dropped:0 overruns:0 frame:0
              TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:800 (800.0 B)  TX bytes:800 (800.0 B)
      
      wlan0     Link encap:Ethernet  HWaddr 00:11:22:33:44:55
              inet addr:192.1.1.1  Bcast:192.168.15.255  Mask:255.255.255.0
              inet6 addr: fe80::21a:3fff:fe6b:bf22/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:100 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:35988 (35.1 KiB)  TX bytes:1353 (1.3 KiB)
    
    (mac's e ip's foram substituídos)

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Bruno Buys