Anche in vacanza mi fanno lavorare!
“Tutta colpa” di mio fratello che ha comprato un Eeepc 901Go e dopo averci messo kubuntu/ubuntu ha notato il non funzionamento della shortcut Fn+F2 che permette lo spegnimento/accensione della scheda wireless e dell’annesso led in basso.
Son fin da subito riuscito a disattivare il led e la scheda ma il problema era la riaccensione infatti non funzionava se non riavviando il sistema… poi ieri sera finalmente ecco la soluzione!
Bisogna modificare il file /boot/grub/menu.lst per impostare alcuni parametri al caricamento del kernel (infatti il modulo incriminato di questo “malfunzionamento” è pciehp che è compilato staticamente), queste sono le modifiche da effettuare; si devono aggiungere alla linea kernel del file le stringhe “pciehp.pciehp_force=1 pciehp.pciehp_poll_mode=1” in modo da avere alla fine questo risultato:
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=3ddd8611-ec14-4c47-8812-d76a58ffe048 ro quiet splash pciehp.pciehp_force=1 pciehp.pciehp_poll_mode=1
Dopo aver riavviato il sistema passiamo a testare il corretto funzionamento di tutto, prima di tutto disattiviamo la scheda:
ifdown wlan0
ifconfig wlan0 down
echo 0 > /sys/class/rfkill/rfkill0/state
modprobe -r ath5k
Ora proviamo a riattivarla:
echo 1 > /sys/class/rfkill/rfkill0/state
modprobe ath5k
ifconfig wlan0 up
ifup wlan0
A questo punto connettiamoci come solitamente facciamo (dall’applet nella systray da pppoeconf o da qualsiasi altro programma), la scheda è nuovamente attiva!
Ora scriviamo un piccolo script da associare alla combinazione di tasti Fn+F2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #!/bin/bash
TMP='/tmp/wireswitch'
if [[ -f $TMP ]]; then
rm $TMP
echo 1 > /sys/class/rfkill/rfkill0/state
modprobe ath5k
ifconfig wlan0 up
ifup wlan0
else
touch $TMP
ifdown wlan0
ifconfig wlan0 down
echo 0 > /sys/class/rfkill/rfkill0/state
modprobe -r ath5k
fi |
Ora non vi resta che copiare lo script in /usr/sbin e associarlo al vostro gestore delle shortcut.
Ricordatevi solo che tutti i comandi vanno eseguiti come root quindi, in fase di associazione del comando alla combinazione, ricordatevi di premettere kdesudo o gtksudo al nome dello script.
Francesco Apollonio codice, guide bash, debian, eeepc, guide, kde, kernel, linux, utility, wireless