Ovvero, come feci a sbarazzarmi degli ingombranti network-manager e wicd
Con questo articolo vorrei spiegare a codesto amabile pubblico come riuscire in modo "semplice" a connettersi alla rete senza utilizzare i pratici ma ingombranti network-manager e wicd.In breve lo scopo è quello di ottenere un sistema più leggero e reattivo senza rinunciare alla piena usabilità dei nostri netbooks.
I vantaggi che ho riscontrato da questo metodo sono:
- Caricamento del Desktop più rapido
- Minor memoria utilizzata
- Connessione alla rete più rapida
ATTENZIONE! PRIMA DI OPERARE IN QUALSIASI SENSO LEGGETE QUESTA GUIDA CON ATTENZIONE E IN OGNI SUA PARTE!
Bene, adesso penso proprio di potervi augurare buona lettura!!!
Ordunque gli esempi riportati qua fanno riferimento alla mia rete, ovvero:
Per iniziare qualche link alle guide che trattano ampiamente del tema e a cui mi sono ispirato:
Debian
Arrivati a questo punto si dovrà operare sul file di configurazione /etc/wpa_supplicant.conf, se non esiste createlo.
Se avete scelto di non far trasmettere l'ESSID al vostro router (cioè avete la rete nascosta), dovete togliere il commento (#) alla seguente voce:
Bene siamo arrivati al momento più godurioso e liberatorio della nostra esperienza minimal-rivoluzionaria
Debian
Probabilmente sarà necessario aggiungere il gruppo "network" al vostro username:
Ora ci siamo davvero, se tutto è configurato nella maniera corretta diamo in sequenza i seguenti comandi:
Debian
Arrivati a questo punto se la cosa vi convince possiamo procedere a far si che la connessione si effettui automaticamente all'avvio.
Ma prima di ciò volevo dirvi che tutto il processo che abbiamo fatto in precedenza per configurare wpa_supplicant.conf è molto più facile se procediamo in altro modo!!! :)
Dunque vediamo. In realtà la seguente procedura l'ho testata solo con ArchLinux, spero quindi di avere dei feedback da parte di temerari debianisti che per questo verranno meritevolmente citati nel seguente articolo!!! ;)
Il fatto è che tramite una comoda GUI (interfaccia grafica) si può editare automaticamente il wpa_supplicant.conf
Installiamola quindi:
Debian
Qua alcuni screenshots:
A titolo di esempio ecco qua il mio:
Vantaggio: non è necessario fare niente di più, è un metodo "pulito"
Svantaggio: il sistema si connette in fase di boot e questo si rallenta. (Se oltretutto la connessione è difficoltosa siamo costretti ad aspettare come fessi!!!)
Debian
ArchLinux
Dopodiche fate in modo che in autoavvio del vostre DE abbiate i seguenti comandi:
Debian
Ricordatevi che per riconnettersi bisogna killare il processo precedente, altrimenti vi da errore. Nell'esempio dell'alias ho fatto riferimento al cnetworkmanager, ma a seconda del metodo usato potrebbe essere anche: dhclient o dhcpcd, ecc...
A tutto il team di linux4netbook che mi ha sostenuto e assistito nella stesura del seguente articolo, la mia prima volta in html!
Grazissime cciovani!!! :)
Note: L'immagine in testa è la foto di una mitica radio a galena! ^^
premesse (dovute)
Dato che le casistiche sono moltissime, e non è scopo del presente articolo illustrare ciascuna di esse, mi limito a riportare solo la mia a titolo di esempio. Conseguentemente la configurazione ad-hoc sarà completamente opera e frutto della vostra ricerca e non di un copia-incolla. Fortunatamente i link da me segnalati sono molto esaustivi, specialmente le wiki di ArchLinux, quindi fate riferimento a quelle nel caso abbiate caratteristiche differenti.Bene, adesso penso proprio di potervi augurare buona lettura!!!
Ordunque gli esempi riportati qua fanno riferimento alla mia rete, ovvero:
- ESSID nascosto
- Sistema di criptazione WPA2
- IP dinamico
Per iniziare qualche link alle guide che trattano ampiamente del tema e a cui mi sono ispirato:
mettiamoci all'opera
Per prima cosa bisogna conoscere le caratteristiche della rete a cui vogliamo connetterci le quali saranno utili per le successive configurazioni, e quindi da terminale date:sudo iwlist scanDovrebbe apparire qualcosa del tipo:
lo Interface doesn't support scanning. eth0 Interface doesn't support scanning. wlan0 Scan completed : Cell 01 - Address:Procediamo adesso a installare i pacchetti necessari:Channel:1 Frequency:2.412 GHz (Channel 1) Quality=41/70 Signal level=-69 dBm Encryption key:on 24 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s Mode:Master Extra:tsf=0000000156a855a9 Extra: Last beacon: 24ms ago IE: Unknown: 0011566F6461666F6E652D3130333836363134 IE: Unknown: 010882848B962430486C IE: Unknown: 030106 IE: Unknown: 2A0100 IE: Unknown: 2F0100 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : CCMP TKIP Authentication Suites (1) : PSK IE: Unknown: 32040C121860 IE: Unknown: DD090010180201F4000000 IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00 ESSID:"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s Mode:Master Extra:tsf=00000003969f3008 Extra: Last beacon: 228ms ago IE: Unknown: 00110000000000000000000000000000000000 IE: Unknown: 010882848B962430486C IE: Unknown: 030101 IE: Unknown: 050400010000 IE: Unknown: 2A0104 IE: Unknown: 2F0104 IE: Unknown: 32040C121860 IE: Unknown: DD090010180201F4000000 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : CCMP TKIP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
Debian
sudo aptitude install wpasupplicant wireless-toolsArchLinux
sudo pacman -S wpa_supplicant wireless-toolsPrima di maneggiare le configurazioni chiudiamo l'interfaccia WIFI:
sudo ifconfig wlan0 down
Arrivati a questo punto si dovrà operare sul file di configurazione /etc/wpa_supplicant.conf, se non esiste createlo.
sudo nano /etc/wpa_supplicant.confRiporto qua l'esempio presente nella wiki di ArchLinux con una piccola modifica rigurdante le reti nascoste.
network={ ssid="mywireless" #scan_ssid=1 #decommentare in caso di ESSID nascosto proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk=7b271c9a7c8a6ac07d12403a1f0792d7d92b5957ff8dfd56481ced43ec6a6515 }Le voci da inserire in modo appropriato le trovate ovviamente nel risultato del comando che abbiamo lanciato all'inizio di quest'articolo (iwconfig).
Se avete scelto di non far trasmettere l'ESSID al vostro router (cioè avete la rete nascosta), dovete togliere il commento (#) alla seguente voce:
scan_ssid=1Mentre per ottenere la passphrase (quer popò di cifre in fondo al file) basta riportare il risultato del seguente comando:
sudo wpa_passphrase nome-rete "parola-d'ordine"
Bene siamo arrivati al momento più godurioso e liberatorio della nostra esperienza minimal-rivoluzionaria
LIBERIAMOCI DEL NETWORK-MANAGER!!!
ATTENZIONE!!! CONFIGURARE IN MODO CORRETTO IL WPA_SUPPLICANT POTREBBE NON ESSERE COSA FACILE E IMMEDIATA, QUINDI NON MI ASSUMO NESSUNA RESPONSABILITÀ NEL CASO NON RIUSCIATE PIÙ A STABILIRE UNA CONNESSIONE ALLA RETE!
Debian
sudo aptitude purge network-manager network-manager-gnomeArchLinux
sudo pacman -R networkmanagerOvviamente pensateci da voi alle dovute sostituzioni nel caso usiate wicd.
Orsù! Riconnettiamoci ora in modo nuovo!
Probabilmente sarà necessario aggiungere il gruppo "network" al vostro username:
sudo addgroup networkPer quanto riguarda gli arcieri prima di lanciare i comandi magici c'è ancora da aggiustare una cosetta. Dobbiamo infatti stoppare il vecchio demone networkmanager e avviare il nuovo network
sudo /etc/rc.d/networkmanager stop sudo /etc/rc.d/network startE nel caso questo diventi il vostro modo predefinito di connettervi sistemate a dovere il /etc/rc.conf :
DAEMONS=(... !networkmanager @network ...)
Ora ci siamo davvero, se tutto è configurato nella maniera corretta diamo in sequenza i seguenti comandi:
sudo ifconfig wlan0 up sudo wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd -BE dopo circa dieci seconducci:
Debian
sudo dhcp wlan0ArchLinux
sudo dhcpcd wlan0Ecco fatto!!! Siete connessi. :)
Arrivati a questo punto se la cosa vi convince possiamo procedere a far si che la connessione si effettui automaticamente all'avvio.
Ma prima di ciò volevo dirvi che tutto il processo che abbiamo fatto in precedenza per configurare wpa_supplicant.conf è molto più facile se procediamo in altro modo!!! :)
Tramite GUI è più facile!!!
E quindi, mandandomi a quel paese, mi domanderete: "Che ce l'hai raccontata a fare tutto 'sto popò di roba se c'è un metodo più facile?". Ebbene penso che sapere come configurare il wpa_supplicant sia estremamente educativo, e una volta che uno lo sa alla bisogna potrebbe permettere di togliersi dai guai !Dunque vediamo. In realtà la seguente procedura l'ho testata solo con ArchLinux, spero quindi di avere dei feedback da parte di temerari debianisti che per questo verranno meritevolmente citati nel seguente articolo!!! ;)
Il fatto è che tramite una comoda GUI (interfaccia grafica) si può editare automaticamente il wpa_supplicant.conf
Installiamola quindi:
Debian
sudo aptitude install wpaguiArchLinux
sudo pacman -S wpa_supplicant_guiEditiamo quindi il nostro /etc/wpa_supplicant.conf con queste semplici righe:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=network update_config=1Utilizzare la GUI è molto semplice e intuitivo, quindi non mi soffermerò su ulteriori precisazioni, dico solo che per vedere quali reti ci sono a disposizione bisogna prima schiacciare il tastino "scan", e possiamo cosi switchare comodamente fra le varie reti disponibili con qualche click.
Qua alcuni screenshots:
connettersi automaticamente all'avvio
METODO 1
Consta nell'editare il file /etc/network/interfaces come suggerito nei link da me riportati a inizio articolo.A titolo di esempio ecco qua il mio:
## This file describes the network interfaces available on your system ## and how to activate them. For more information, see interfaces(5). ## The loopback network interface auto lo iface lo inet loopback ## The primary network interface allow-hotplug eth0 iface eth0 inet dhcp hostname 192.168.1.1 ## Scheda wireless con DHCP auto wlan0 iface wlan0 inet dhcp wireless-essid ESSID wireless-mode manager wpa-driver wext wpa-conf /etc/wpa_supplicant.conf
METODO 2
sudo visudoAggiungere le seguenti righe immediatamente sotto a: proprio_username ALL=(ALL) ALL
Debian
proprio_username ALL=NOPASSWD: /sbin/wpa_supplicant proprio_username ALL=NOPASSWD: /sbin/dhclient
ArchLinux
proprio_username ALL=NOPASSWD: /usr/sbin/wpa_supplicant proprio_username ALL=NOPASSWD: /usr/sbin/dhcpcd
Dopodiche fate in modo che in autoavvio del vostre DE abbiate i seguenti comandi:
Debian
sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B & sleep 10 && sudo dhclient wlan0 &ArchLinux
sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B & sleep 10 && sudo dhcpcd wlan0 &
- Vantaggio: Il sistema si connetterà mentre carcica il Desktop, di conseguenza il tempo complessivo di avvio diminuisce.
- Svantaggio: Diciamo che l'abbiamo fatta un po "sporca", vah!
ALTRI METODI ALTERNATIVI
Leggendo questa guida, che oltre tutto sarebbe propedeutica al procedimento finora descritto, c'è da farsi una cultura sulle varie possibilità. Io ovviamente mi limito a segnalare quella derivante dalla mia esperienza personale.cnetworkmanager
Per chi non vuol fare a meno di Network-Manager esiste questa applicazione che permette di connettersi tramite comando a terminale, vantaggio non trascurabile nel caso in cui operiamo da TTY senza DE attivo.sudo aptitude install cnetworkmanager # per Arch si chiama allo stesso modoEssendo dipendente da network-manager non è necessario configurare alcunché, solo dare il comando di questo tipo nella shell:
cnetworkmanager -C ESSID "passphrase"Vedere il manuale per ulteriori delucidazioni
man cnetworkmanagerOvviamente va bene per quando ci si deve connettere a una rete nota. Si può pure inserire in autoavvio, in questo caso vedrete che il tempo di attesa per avere a disposizione la rete sarà più veloce (rispetto all'applet ovviamente).
wicd-curses
Il relativo comando per wicd dovrebbe essere:wicd-cursesE non dovrebbe essere necessario installare ulteriori pacchetti. In realtà non ho grande esperienza di wicd, quindi aspetto feedback in merito.
Consigli pratici
Dato che in caso di disconnessione accidentale il sistema non si riconnetterà automaticamente, vi consiglio di usare degli alias:$ nano .bash_aliasesE inserite due voci per disconnettere e connettere a seconda del metodo che avete scelto. Come esempio riporto il caso di cnetworkmanager:
alias connetti='cnetworkmanager -C ESSID --wpa-psk-hex=passphrase alias disconnetti='killall cnetworkmanager'
Ricordatevi che per riconnettersi bisogna killare il processo precedente, altrimenti vi da errore. Nell'esempio dell'alias ho fatto riferimento al cnetworkmanager, ma a seconda del metodo usato potrebbe essere anche: dhclient o dhcpcd, ecc...
Ringraziamenti:
Un ringraziamento speciale a Doc che a suo tempo mi dette l'input e i consigli per riuscire "nell'impresa".A tutto il team di linux4netbook che mi ha sostenuto e assistito nella stesura del seguente articolo, la mia prima volta in html!
Grazissime cciovani!!! :)
Note: L'immagine in testa è la foto di una mitica radio a galena! ^^
Ciao, bell'articolo. Solo un appunto: è meglio se levi il redirect alla generazione della passphrase di wpa_supplicant. Se qualcuno avesse già inserito delle configurazioni personali all'interno di wpa_supplicant.conf verrebbero sovrascritte. A mio parere sarebbe meglio dire semplicemente di eseguire il comando, ed utilizzare l'output coerentemente all'interno del .conf.
RispondiEliminaCiao
@Gianpiero
RispondiEliminaCiao!
Effettivamente quando scrivevo pensavo a una situazione "vergine".
Correggerò come da te suggerito.
Grazie mille!!!
ciao a tutti!
RispondiEliminaprima di tutto ottimo forum complimenti! Detto questo, è da poco che ho iniziato a muovere i primi passi con linux e distro varie. attualmente sul mio Acer D250 ho OpenSUSE 11.4 (installato seguendo la vostra guida XD) con gnome 2.3. Ho provato a seguire le istruzioni di questo topic optando per la soluzione GUI. Dopo aver modificato il file nel modo in cui avete descritto (con il comando mc edit giusto?) non riesco a far partire l'interfaccia grafica.
Che comandi devo dare da terminale? scusate ma mi serve perchè in università utilizzano una connessione con wpa-enterprise e, non so perché, il network manager non me la fa selezionare al momento della creazione della nuova rete.
scusate la noobità XD
@sbronzolo_89
RispondiEliminaCiao sbronzolo!
Benvenuto sul blog di Linux sui netbook!!! ;)
TI ricordo che questa guida è stata scritta per Debian e ArchLinux. Questo non significa che non possa essere valida pure per OpenSuse, ma io non ho esperienze diretta di quel sistema operativo.
Comunque sia avrai sicuramente letto che la procedura non è ne facile e ne immediata, questo significa che non è consigliata per chi è alle prime armi e da quel che mi dici mi sembra chiaro che invece tu lo sia. Quindi il mio consiglio è quello di lavorare a risolvere il problema con NetworkManager (NM) che molto probabilmente sarà roba alla portata di tutti.
Se invece sei sicuro di seguitare senza NM allora bisogna che tu sia più preciso.
Dimmi precisamente cosa hai fatto, quali file hai editato, postami il contenuto di tali file e quello che ti dice il comaNdo "sudo iwlist scan". Ma usa pastbin che altrimenti è un papiro di roba ;)
Se non sai cos'è pastbin sentiamoci in privato tramite e-mail netbookteam [at] gmail [dot] com.
Per quanto riguarda il comando per far partire wpa_gui lo devi dare con i privilegi di amministratore, cioè per Debian "sudo wpa_gui", per OpenSuse non ne ho idea!
Ho trovato questa wiki per OpenSuse http://en.opensuse.org/SDB:WiFi ci son tutte le informazioni che ti servono!!! ;) Fammi sapere come va a finire, ok?
Herr vecchio mio, la connessione via wpa_supplicant mi sta piacendo sempre più e mi ha salvato le chiappine in più di un'occasione oramai.
RispondiEliminaPurtroppo però wpa_gui mi pare un'applicazione un po' taroccata...a te funziona bene?
Tuttavia, pensavo avrei guadagnato molto di più, in termini di RAM, nel togliere NM.
@Milozzy
RispondiEliminaCiao giovane Milo... :/
Bene, vedo che hai colto lo spirito salva chiappe del wpa_supplicant! :)
Per quanto riguarda la leggerezza ora non ricordo in termini di ram, sicuramente però avrai apprezzato la rapidità della connessione all'avvio.
Cosa intendi per taroccato?
A me wpa-gui funziona bene si! Però ricordati che quell'interfaccia va a scrivere il wpa_supplicant e devi avergli dato l'abilitazione a farlo proprio editando lo stesso wpa_supplicant.
Rileggendo la guida forse non è troppo chiaro questo concetto, ma se ci fai caso dico che per usare l'interfaccia wpa-gui devi editare il file con queste istruzioni:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=network
update_config=1
Comunque per essere una GUI è piuttosto ostica.
@Herr Affe
RispondiEliminaGuarda adesso non ricordo di preciso, ma ad esempio, una delle cose che mi faceva storcere il naso era il fatto che la disconnessione e riconnessione da una rete non andava a buon fine, nel senso che non si riconnette!
@Milozzy
RispondiEliminaHo riprovato pure io, a me la riconnessione mi va a buon fine.
Però effettivamente la nuova connessione presenta un po' di instabilità.
Io ho risolto uccidendo e riavviando il processo wpa_supplicant prima di riconnettermi. Vedi se anche tu risolvi così e fammi sapere.
Non ci avevo mai fatto caso a questa instabilità, effettivamente è un po' noiosa, grazie della segnalazione!
Ciao!
@Herr Affe
RispondiEliminaHerruccio, alla fine mi sto trovando abbastanza bene anche con wpagui, lo lancio raramente poichè mi connetto quasi sempre in automatico alle solite due reti, ma quelle volte che ho avuto necessità di "scovare" nuove reti non ho avuto problemi.
Tuttavia, rimane sempre la necessità di dare a manina il dhclient xxx per completare la connessione alla rete configurata via wpagui.
Confermi? Qualcuno conosce qualche trucchetto per evitare?
GraziE!
@Milozzy
RispondiEliminaNon mi sembra, in questo momento non posso provare, ma a memoria wpagui è sufficiente.
Comunque poco male dai! Tiri giù il terminale di stjerm con [F12] e poi:
sudo dhc[TAB] w[TAB] [INVIO]. Fatta! :P
@Herr Affe
RispondiEliminaCerto, certo...non è sicuramente un problema insormontabile, ma visto che in guida non lo citi volevo capire se era problema solo mio. Ti confermo che da me è necessario il dhclient.
In wpa_supplicant.conf, tuttavia, io ho messo
ctrl_interface_group=0 e non =network , perchè altrimenti non mi partiva wpa_supplicant.
@Milozzy
RispondiEliminaUeh Milo!
Ho controllato il mio wpa_supplicant e ho scoperto che è differente da quello che ho messo in guida! Non saprei dire perchè, forse a causa di un aggiornamento?
In ogni caso adesso le prime tre righe sono così:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
provalo e dimmi se così non è più necessario dare dhclient xxx, perchè a me wpagui fa tutto da solo!
Per chiarezza riscrivo le DUE righe:
RispondiEliminactrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Grazie mille!
RispondiEliminaun bel sollievo wpa_supplicant :D
Bene, sono felice che ti sia stato utile!
RispondiElimina