Como posso encontrar o adaptador sem fio USB no arquivo de log do dmesg?

1

Sou muito novo no Linux (RaspBian para RaspBerry Pi mas acho que não há diferença) e tenho que instalar um adaptador de rede sem fio USB (o produto é o TP-Link TL-WN725N , este: link )

Agora, Eu acho que isso não é reconhecido automaticamente pelo meu sistema, porque se eu executar o comando ifconfig eu obtenho a seguinte saída:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:2a:9f:b0  
          inet addr:192.168.1.8  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:475 errors:0 dropped:0 overruns:0 frame:0
          TX packets:424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:34195 (33.3 KiB)  TX bytes:89578 (87.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  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:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Agora, só vejo a minha interface de rede ethernet e não a wireless.

Então eu estava pensando em tentar ver o dmesg , mas eu não sei o que tenho para ver e como selecioná-lo na saída do dmesg.

Por exemplo, pelo seguinte comando, posso ver a linha do arquivo de log do dmesg relacionada à minha porta ethernet:

pi@raspberrypi ~ $ cat /var/log/dmesg |grep -i eth
[    3.177620] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:2a:9f:b0
[   18.030389] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   19.642167] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

Mas o que eu posso tentar procurar pelo adaptador sem fio USB?

Tnx

    
por AndreaNobili 29.05.2014 / 23:59

1 resposta

5

Existem muitos comandos úteis. Primeiro é lsusb , que lista todos os dispositivos usb conectados. Você deve ver o seu adaptador USB.

O segundo é o lspci, mostrando todos os dispositivos conectados ao barramento PCI. No meu caso, por exemplo, eu obtenho (restringindo a saída apenas para dispositivos de rede):

 $ lspci -vnn | grep -i net
 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
 04:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24)

Isso mostra o código importantíssimo da sua placa wifi, [8086: 088e] no meu caso.

Então você procura por este código no Wikidevi : a página que ele encontra diz que o driver da minha placa wireless é iwlwifi no meu caso. É importante que você use o código em parênteses quadrados acima, porque os produtores geralmente têm várias versões de um adaptador wi-fi com chips diferentes, às vezes até de fabricantes diferentes (!!!) que exigem drivers diferentes. Assim, a única maneira certa de identificar seu driver não não envolve o nome do adaptador, mas seu código.

Agora que sabemos o nome do motorista, primeiro verificamos se o temos,

  modinfo iwlwifi

Se houver alguma saída, nós a temos. Em seguida, verificamos se realmente é adequado ao meu cartão, da seguinte maneira:

 $ modinfo iwlwifi | grep 8086 | grep 088E
 alias:          pci:v00008086d0000088Esv*sd00004860bc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd0000446Abc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd00004460bc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd0000406Abc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd00004060bc*sc*i*

Isso mostra que meu driver tem várias linhas (correspondentes a várias versões diferentes do meu adaptador wifi) para o código de fornecedor V8086 do meu cartão e o código do dispositivo d088E. Observe que neste caso você deve usar letras maiúsculas, E no meu caso. Portanto, este driver é realmente adequado ao meu adaptador.

Em seguida, verificamos se ele está montado corretamente:

  sudo lshw -C network

A saída é longa (envolve placa ethernet, cartão 3G, ...) mas a parte relevante é:

 *-network
   description: Wireless interface
   product: Centrino Advanced-N 6235
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:04:00.0
   logical name: wlan0
   version: 24
   serial: c8:f7:33:4c:cc:e1
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwlwifi driverversion=3.13.0-27-generic firmware=18.168.6.1 latency=0 link=no multicast=yes wireless=IEEE 802.11abgn
   resources: irq:47 memory:e2500000-e2501fff

Aqui você vê que ele diz driver = iwlwifi e firmware = ... . Assim, o driver e o firmware corretos foram carregados no kernel. Tudo funciona bem, no meu caso.

Por fim, podemos verificar se o adaptador está para cima ou para baixo : da saída anterior você vê que meu cartão wifi recebe o nome físico 0 (correspondente a phy0 ) e nome lógico wlan0 . Eu posso procurar seu status atual por meio de

 $ ip  link list dev wlan0
 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000 
 link/ether c8:f7:33:4c:cc:e1 brd ff:ff:ff:ff:ff:ff

que afirma claramente que é UP. Se não, este comando

  sudo ip link set dev wlan0 up 

traria isso.

Se tudo isso foi verificado e está ok, mas seu wifi ainda não funciona, você pode obter informações úteis a partir do comando:

  dmesg | grep wlan0

ou wlan1 ou qualquer que seja o nome da sua placa wifi.

Você pode seguir as mesmas etapas e ver o que está faltando no seu caso.

    
por 30.05.2014 / 03:45