In this post I will show you some solutions to a problem I had at one point with my wireless card on Debian Linux.

In questo post vi mostrerò alcune soluzioni ad un problema che ho avuto ad un certo punto con la mia scheda wireless su Debian Linux.

Tip: Linux, the wireless card can't find access points after reactivation

Hi to everyone and welcome to this new post!
I've had a weird problem lately, if I decided to deactivate and reactivate the wi-fi switch, I would not be able to find any access point.
Unfortunately there seems not to be an unique solution to the problem, please continue reading, and see if these tips work for you.

Before starting to discuss the tips, it's technical explanation time!
Searching on the web, it seems that there are different types of hardware that handle wi-fi functionalities.
In fact, computers (most of them are laptops probably) have two different devices that handle wi-fi:

  • A device that handles the switch:
    It just reports if the wireless card is on or off.
  • A device that handles the connectivity:
    The wireless card itself.

The technical explanation is over, now with some practice.
One solution consist in using the rfkill utility, a command line tool that enables and disables wireless interfaces.
If you are under a Debian Linux distribution, you can install it by invoking the usual terminal window and type:

sudo apt-get install rfkill

Use the following command to show your available wireless interfaces:

rfkill list

If I use this command, I get the following output:

0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes

I have two wireless interfaces, in reality, that's two because one of them is the switch I was talking about (in this case hp-wifi is the switch and phy0 is the wireless card).
You can see from the output that hp-wifi is hard blocked (that is, the switch is turned off, at hardware level), as a consequence even phy0 is hard blocked (the wireless card is turned off, at hardware level), in this moment I can't connect to an access point and that's the correct behaviour.
I press the switch and I give that command again:

0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes

Now hp-wifi (the switch) is not hard blocked, but phy0 still is.
This means that I turned the switch on, but the wireless card is still off!
I cannot connect because the wireless card itself is still hard blocked.

It's time to see if rfkill can solve the problem.
Try to reset the interface by using the command:

rfkill unblock interface_id

where interface_id is the number to the left of the interface's name in the output.

Unfortunately this solution didn't work for me, I solved by manually removing and reloading the wireless card kernel driver.
To do this, turn your wireless switch on (if it's not).
You need to know what's the driver Linux is using to handle the wireless card.
On a terminal window, type the following command:

lspci -v

You may have to search for a while, for simplicity I reported the useful part of that command's output on my computer:

03:00.0 Ethernet controller: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)
Subsystem: Hewlett-Packard Company Device 137b
Physical Slot: 1-1
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at d5100000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: ath5k

As you can see, my Linux kernel uses the ath5k driver (please notice that your driver may be different).
On a terminal window, type the following commands:

sudo modprobe -r driver_name
sudo modprobe driver_name

where driver_name is the name of your wireless card driver.
In my case I would type:

sudo modprobe -r ath5k
sudo modprobe ath5k

If everything went ok, you should be able to connect now.
Unfortunately that's all for today, I hope these tips will help you to solve this weird problem (bug perhaps?).
See you another time, in another post!

Go back to the top, Share, Look at the comments or Comment yourself!

Dritta: Linux, la scheda di rete non trova punti d'accesso dopo la riattivazione

Salve e benvenuti in questo nuovo post!
Ho avuto uno strano problema di recente, se decidevo di disattivare e riattivare il pulsante del wi-fi, non sarei riuscito a trovare alcun punto d'accesso.
Sfortunatamente non sembra esserci una soluzione unica al problema, vi prego di continuare a leggere, per capire se queste dritte possano aiutarvi.

Prima di iniziare a discutere delle dritte, è il momento della spiegazione tecnica!
Cercando su Internet, pare che ci siano diversi tipi di hardware che gestiscono le funzionalità wi-fi.
Infatti, i computer (gran parte di essi probabilmente portatili) hanno due diversi dispositivi che gestiscono tali funzionalità:

  • Un dispositivo che gestisce il pulsante:
    Riporta semplicemente se la scheda è attiva o no.
  • Un dispositivo che gestisce la connettività:
    La scheda di rete senza fili stessa.

La spiegazione tecnica è finita, è il momento della pratica.
Una soluzione consiste nell'usare il programma rfkill, un programma a riga di comando che abilita e disabilita le interfacce di rete senza fili.
Se siete su una distribuzione Debian Linux, potete installarlo invocando la solita finestra di terminale e digitando:

sudo apt-get install rfkill

Usate il comando seguente per mostrare le interfacce di rete senza fili disponibili:

rfkill list

Se uso questo comando, io ottengo l'output seguente:

0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes

Ho due interfacce di rete, in realtà, sono due perché una di esse è il pulsante di cui parlavo (in questo caso hp-wifi è il pulsante e phy0 è la scheda di rete).
Potete vedere da questo output che hp-wifi è bloccato (cioé, il pulsante è spento, a livello hardware), di conseguenza anche phy0 è bloccato (la scheda di rete senza fili è spenta, a livello hardware), in questo momento non posso collegarmi ad alcun punto d'accesso, e questo è un comportamento corretto.
Premo il pulsante e rieseguo il comando:

0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes

Ora hp-wifi (il pulsante) non è bloccato, ma phy0 lo è ancora.
Questo significa che ho acceso il pulsante, ma la scheda di rete è ancora spenta!
Non posso collegarmi perché la scheda di rete stessa è ancora bloccata a livello hardware.

È il momento di vedere se rfkill può risolvere il problema.
Provate a reimpostare l'interfaccia usando il comando:

rfkill unblock id_interfaccia

dove id_interfaccia è il numero alla sinistra del nome dell'interfaccia nell'output.

Sfortunatamente questa soluzione non mi ha aiutato, ho risolto rimuovendo e ricaricando il driver (a livello kernel) della scheda di rete.
Per far ciò, accendete il pulsante wi-fi (se non lo è già).
Dovete sapere qual'è il driver che Linux utilizza per gestire per la scheda di rete senza fili.
In una finestra di terminale, digitate il comando seguente:

lspci -v

Forse cercherete per un po', per semplicità vi ho riportato la parte utile dell'output di quel comando sul mio computer:

03:00.0 Ethernet controller: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)
Subsystem: Hewlett-Packard Company Device 137b
Physical Slot: 1-1
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at d5100000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: ath5k

Come potete vedere, il mio kernel Linux utilizza il driver ath5k (vi faccio notare che il vostro driver potrebbe essere diverso).
In una finestra di terminale, digitate i comandi seguenti:

sudo modprobe -r nome_driver
sudo modprobe nome_driver

dove nome_driver è il nome del driver della vostra scheda di rete senza fili.
Nel mio caso digiterei:

sudo modprobe -r ath5k
sudo modprobe ath5k

Se tutto è andato correttamente, dovreste riuscire a connettervi adesso.
Sfortunatamente è tutto per oggi, spero che questi suggerimenti vi aiuteranno a risolvere questo strano problema (errore magari?).
Ci si vede un'altra volta, in un altro post!

Torna in cima, Condividi, Guarda i commenti o Commenta tu stesso!