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.