Con gli ultimi kernel bisogna aggiornare i wireless-tools!
Inviato: lun 1 mar 2010, 15:38
L'altro giorno ho installato il 2.6.33 e ho così scoperto che la connessione wireless non partiva al boot; in pratica, /etc/rc.d/rc.wireless non riusciva a lanciare wpa_supplicant e quindi, il successivo comando dhcpcd -t 20 wlan0 produceva un errore di timeout dopo 20 secondi.
In ogni caso, la scheda wireless (Atheros Communications Inc. AR5413 802.11abg NIC) funziona perfettamente anche con il 2.6.33, ma richiede l'attivazione della connessione attraverso i soliti comandi manuali:
Dopo alcune verifiche ho potuto appurare che il problema risiede nella funzione is_wireless_device presente in rc.wireless; questa è la versione della Slackware 13:
Questa funzione con il 2.6.33 ritorna il valore 1 (# no wireless interface) provocando l'uscita da rc.wireless senza che venga avviato wpa_supplicant; con il 2.6.32, invece, il valore ritornato è 0.
Pat si è accorto del problema e nella Current ha già provveduto ad aggiornare i wireless-tools.
Questa è la nuova versione di is_wireless_device con la spiegazione di Pat:
In definitiva, chi sta usando il kernel 2.6.33 con la Slackware 13 e riscontra il mio stesso problema, non deve fare altro che aggiornare i wireless-tools (o almeno il file rc.wireless).
In ogni caso, la scheda wireless (Atheros Communications Inc. AR5413 802.11abg NIC) funziona perfettamente anche con il 2.6.33, ma richiede l'attivazione della connessione attraverso i soliti comandi manuali:
Codice: Seleziona tutto
/usr/sbin/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
/sbin/dhcpcd -t 20 wlan0
Codice: Seleziona tutto
is_wireless_device ()
{
#[ -x $IWPATH/iwconfig ] || return 1
#LC_ALL=C $IWPATH/iwconfig $1 2>&1 | \
# grep -Eiq "no wireless extensions|no such device" || return 0
#return 1
if ! grep `echo ${1}: | cut -f 1 -d :`: /proc/net/wireless 1> /dev/null ; then
# no wireless interface
return 1
else
# interface has wireless extensions
return 0
fi
}
Pat si è accorto del problema e nella Current ha già provveduto ad aggiornare i wireless-tools.
Questa è la nuova versione di is_wireless_device con la spiegazione di Pat:
Codice: Seleziona tutto
# 02/jan/2010 * Pat Volkerding * Look for /sys/class/net/$NETDEV/wireless rather
# than the contents of /proc/net/wireless to find
# if a network device is wireless. In newer
# kernels devices will not show up in
# /proc/net/wireless until active.
# ------------------------------------------------------------------------------
is_wireless_device ()
{
#[ -x $IWPATH/iwconfig ] || return 1
#LC_ALL=C $IWPATH/iwconfig $1 2>&1 | \
# grep -Eiq "no wireless extensions|no such device" || return 0
#return 1
if [ ! -d /sys/class/net/${1}/wireless ]; then
# no wireless interface
return 1
else
# interface has wireless extensions
return 0
fi
}