Page 1 of 2

[Risolto] Conoscere driver wireless

Posted: 24/09/2009, 21:48
by okon3
Mi chiedevo quale fosse il comando che mi permette di sapere che driver per il wireless è caricato al momento, e magari come tramite Grep farmelo restituire direttamente, visto che stavo scrivendo uno script e mi serve il nome diretto del driver es ath5k

grazie :D

Re: Conoscere driver wireless

Posted: 26/09/2009, 12:16
by voria
Un modo sarebbe quello di prendere l'output di lsmod (cioè la lista di tutti i moduli caricati al momento) e controllare se in esso è presente 'ath5k' oppure 'ath_pci' e 'ath_hal' (madwifi?).

Re: Conoscere driver wireless

Posted: 26/09/2009, 12:43
by okon3
ma io usavo come esempio ath5k, e io so che è ath5k, ma se per esempio volessi rendere lo script "universale" da far girare su altre macchine, era questo che interessava a me.

Ma un modo ci deve essere perchè se clicco con il tasto destro sul network manager, poi "informazioni connessione" mi indica il driver in uso, solo che a me serve in uno script bash

Re: Conoscere driver wireless

Posted: 26/09/2009, 13:06
by voria
Ah, ora ho capito.
Beh, puoi utilizzare 'nm-tool'. Da' in output le informazioni che vedi anche nell'applet di networkmanager, tra cui c'è anche il modulo in uso. :)

Re: Conoscere driver wireless

Posted: 26/09/2009, 13:15
by okon3
questo è già più interessante, e nel caso qualcuno non usi il Network Manager di default, ma per esempio wicd?

Re: Conoscere driver wireless

Posted: 26/09/2009, 14:31
by voria
Allora ti conviene lavorare sull'output di lsmod, in modo da non dipendere da nessun network manager specifico.

Puoi ad esempio fare qualcosa del genere:

Code: Select all

1  #!/bin/bash
2  
3  ALL_MODULES=`lsmod | cut -d' ' -f 1`
4  WIRELESS_MODULES=""
5  
6  for MODULE in $ALL_MODULES; do
7  	if modprobe -l "$MODULE" | grep wireless > /dev/null; then
8  		WIRELESS_MODULES=`echo $WIRELESS_MODULES "$MODULE"`
9  	fi
10 done
11 
12 echo $WIRELESS_MODULES
Questo script di esempio alla linea 3 prende la lista di tutti i moduli caricati, nel ciclo for (linee 6-10) controlla il percorso su disco relativo ad ogni modulo (solitamente i moduli per le schede di rete wireless sono tutti in 'kernel/drivers/net/wireless/'); se il percorso contiene la stringa "wireless" allora aggiunge il modulo alla lista dei moduli trovati (WIRELESS_MODULES). Lista che poi puoi utilizzare come ti pare (lo script la stampa a video alla fine).

Probabilmente ci saranno altri modi per ottenere lo stesso risultato, magari migliori, forse è possibile anche utilizzare 'iwconfig' in qualche modo, ma questa è la prima soluzione che mi è venuta in mente.

Re: Conoscere driver wireless

Posted: 26/09/2009, 19:24
by thunder71
forse potresti giocare un po' col comando

Code: Select all

lshw
il comando è molto lungo, ma dovresti trovare quello che cercavi, magari aiutandoti con i classici cut e grep

Re: Conoscere driver wireless

Posted: 27/09/2009, 9:11
by okon3
wow, grandissimo Voria

Nemmeno quegli stolti del forum di ubuntu sono riusciti ad aiutarmi, adesso provo :D

Re: Conoscere driver wireless

Posted: 27/09/2009, 19:36
by pedrito_el_drito
Non so se può ancora servire, però questo

Code: Select all

lshw | grep wireless | grep driver | cut -d"=" -f3 | cut -d" " -f1
a me funziona. L'ho provato sia con l'ath5k che con i madwifi.
Mi rendo conto che non è molto elegante, ma in ogni caso...

Re: Conoscere driver wireless

Posted: 27/09/2009, 19:47
by okon3
è dannatamente lento quel lshw però li c'è scritto ciò che mi serve.

lo script di voria purtroppo listava tutti i moduli wireless, e non solo quello in uso

Grazie tante Pedrito ;)

Re: [Risolto] Conoscere driver wireless

Posted: 27/09/2009, 19:51
by pedrito_el_drito
Prego! :)

Re: [Risolto] Conoscere driver wireless

Posted: 27/09/2009, 19:56
by okon3
aaaaa problema..
come lo inglobo nello script?
per fare in modo che la mia variabile $driver assuma il valore "ath5k" (nel mio caso)?

io ho provato (per quel pochissimo che so di bash scripting)

Code: Select all

$driver=`e il comando`
ma mi da questo output

WARNING: you should run this program as super-user.
./.temp: 9: =ath5k: not found

se invece lo lancio da terminale funziona bene, quindi penso sia la prima riga che viene scritta che dia fastidio allo script

Re: [Risolto] Conoscere driver wireless

Posted: 27/09/2009, 20:32
by pedrito_el_drito
okon3 wrote:aaaaa problema..
come lo inglobo nello script?
per fare in modo che la mia variabile $driver assuma il valore "ath5k" (nel mio caso)?

io ho provato (per quel pochissimo che so di bash scripting)

Code: Select all

$driver=`e il comando`
ma mi da questo output

WARNING: you should run this program as super-user.
./.temp: 9: =ath5k: not found

se invece lo lancio da terminale funziona bene, quindi penso sia la prima riga che viene scritta che dia fastidio allo script
Se dichiari la variabile in questo modo

Code: Select all

driver=$(comando)
dovrebbe funzionare.

Re: [Risolto] Conoscere driver wireless

Posted: 27/09/2009, 20:54
by okon3
aaaaaaaaaaaaaaaa ti adorooooooooo

Re: Conoscere driver wireless

Posted: 27/09/2009, 21:34
by voria
okon3 wrote:lo script di voria purtroppo listava tutti i moduli wireless, e non solo quello in uso
Stampa solo i moduli wireless che sono inseriti nel kernel.
In altre parole, sul mio nc10 stampa semplicemente 'ath5k'.