25 giugno 2008

Noi togliamo il fumo della vostra cucina a gasse

Esempio estremo di connessione wirelessLa vostra webcam non funziona? È colpa di linux. La vostra banca non vi fa accedere online? È colpa di linux. Il vostro sito web p0rn0 preferito non si vede bene? È colpa di linux.

La vostra connessione wireless non si connette? È colpa di NetworkManager e fate meglio a usare Wicd.

A parte che, salvo decisioni future dell'attuale Ministro del MIUR, il condizionale non è estinto; a parte che, per logica e coerenza, dovreste continuare a dire "è colpa di linux"; a parte tutte le limitazioni del caso e i problemi che effettivamente attanagliano l'attuale versione stabile (0.6.x); a parte tutto ciò, dunque, prima di esaltare wicd e proporlo per il Premio Nobel, avete riflettuto sul fatto che NetworkManager non è che non funziona, ma è diversamente funzionante?

Andiamo per un momento alle relative pagine web prima linkate e leggiamo:
  • wicd è un gestore di connessioni con e senza filo che fornisce un'interfaccia per connettersi alle reti fornendo una pletora di impostazioni;
  • NetworkManager è ... uh... beh... ecco... OK, non c'è scritto a chiare lettere, ve lo riassumo io: è un framework per la gestione semplificata delle connessioni, principalmente senza filo.
NetworkManager è sì un gestore di connessioni, ma è anche una infrastruttura che permette agli sviluppatori di software di far sapere alla propria applicazione se in un determinato momento il sistema ha una connessione di rete oppure no e agire di conseguenza. Il tutto anche tramite una comoda e agnostica (dal punto di vista dell'ambiente grafico e toolkit) interfaccia DBUS.

Se proprio volete un colpevole, e se usate Ubuntu, magari dovreste rivolgere il vostro speranzoso sguardo ai pacchettizzatori del kernel della appena citata distribuzione, i quali includono driver per schede wireless non supportate da NetworkManager 0.6 (driver che non implementano WEXT in modo corretto, quindi che non funzionano con wpa_supplicant, quindi con NM): il compito di un distributore sarebbe assemblare i pezzi con un minimo di raziocinio... Ah, pare che anche questa patch abbia le sue belle colpe. E non lo dico io, lo dice chi NetmorkManager lo sviluppa.

Ma torniamo a bomba. NetworkManager è stato pensato come "trasparente". Basandosi su HAL e DBUS, la speranza era fare in modo che la connessione alle reti disponibili fosse del tutto indolore per l'utente, fatto salvo scegliere quale tra le varie disponibili. Una volta fatta la scelta, NM si sarebbe gentilmente occupato di segnalare alle applicazioni che era disponibile una connessione di rete e comportarsi di conseguenza. Evolution, Epiphany e Liferea per esempio passano automaticamente in modalità "fuori rete" quando NM li avvisa che non c'è rete. E viceversa quando la rete diventa disponibile.

Al momento io non ho un portatile, ma nel caso mi piacerebbe assai se il comportamento fosse questo.

Al momento io non sto sviluppando software che richieda una connessione di rete, ma nel caso mi piacerebbe molto se potessi semplicemente monitorare i messaggi DBUS per sapere se la rete c'è oppure no o se debbo cambiare indirizzo senza che l'utente abbia una "interruzione di flusso".

Al momento io non sto amministrando un sistema, ma nel caso mi piacerebbe tanto se potessi gestire il tutto anche traminte PolicyKit e GConf (con i loro bei rispettivi sistemi di policy e lockdown).

Nel frattempo continuo a credere che NetworkManager sia pensato meglio, a sperare che possa al più presto funzionare in modo completo, a pregare che i pacchettizzatori di Ubuntu non inseriscano patch e modifiche a ca##o di cane senza rispettare la filosofia del progetto.

PS voi fate come volete, per carità, ma se aggiungete un commento a questo post dicendo "eh, sì, però pensa al povero utente non smaliziato che ha una scheda wireless non supportata..." e simili, li cancello.

7 commenti:

disconnesso ha detto...

La cosa divertente è che NetworkManager è l'unica infrastruttura/gestore di reti che abbia funzionato sul mio portatile, sia su Ubuntu che su Archlinux... :)

Anonimo ha detto...

eh, sì, però pensa al povero utente non smaliziato che ha una scheda wireless non supportata...

:P

Anonimo ha detto...

tutte le volte che installo una ubuntu nuova lo lascio installato
poi appena devo fare una tra le seguenti cose gli do una chance dopodichè lo cavo dal nervoso.
seguenti cose:
1- usare il cavo per scambiare dati mentre sono connesso alla wireless ( nm decide che il cavo e' + importante della wireless e che se l'ho attaccato e il dhcp non c'e' allora vorra' dire che voglio usare avahi e perdere la connessione )
2- gestire 2 wireless una con dhcp e una senza.
3- condividere una connessione (conseguenza punto 1)

quindi poi lo cavo e faccio vim /etc/network/interfaces
wicd l'ho provato ma + che imballarsi e crashare non faceva nulla

depaloan ha detto...

Paradossalmente (rispetto a quello che si legge in giro) wicd mi ha dato problemi con reti wi-fi WPA e WPA2 enterprise.

NM, al contrario, ha funzionato semplicemente.

Anonimo ha detto...

te lo appoggio in pieno! (asd :D)

inoltre continuo a pensare che se gli sviluppatori lo includono di default nella mia distro, e non lo sostituiscono con wicd, un motivo ci sarà no?

poi scommetto che molti di quelli che criticano NM nemmeno ne conoscono l'estrema versatilità, data dalla possibilità di inserire script in /etc/NetworkManager/dispatcher.d/


viva NetworkManager!

Alessandro Grechi ha detto...

Ciao Luca,
sono in buona sostanza d'accordo con quanto hai scritto... NM è progettato in maniera molto diversa da Wicd, e sicuramente migliora dal punto di vista dell'integrazione col sistema.
Certo però che le manchevolezze della versione 0.6 in Ubuntu, hanno contribuito a creare un odio ed un disprezzo vestro questo pezzettino di Gnome :)
In fondo all'utente finale non importa quando e come un programma è integrato, se poi questo non funziona e non fa il suo dovere! In questo caso la gestione wireless... direi un punto cruciale. Molti si aspettano che la connessione funzioni subito, e quando si accorgono che non è cosi... maledicono ubuntu, linux e tutti i pinguini dell'antartide! :P
In questo contesto Wicd si è presentato come un'ancora di salvezza temporanea, in attesa che NM maturasse...
E da quello che ho visto nella 0.7 (si trovano gia in giro i pacchetti per provarlo) la situazione cambierà drasticamente. NM 0.7 è un programma COMPLETAMENTE diverso... e con miriadi di funzioni e personalizzazioni in più. Se poi sarà anche stabile, allora si... sarà la chiave di volta delle connessioni, wired, wireless, dial-up e perfino cellulari !
Intanto abbiamo la possibilità di scelta... il bello di GNU/Linux è anche questo no?
Un saluto..
AleXit

Luca Ferretti ha detto...

mystia, te la sei cavata solo perché finora mi era sfuggito