Dimensione: 19147
Commento:
|
Dimensione: 19354
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 56: | Linea 56: |
/!\ '''Importante''' - ''pare che su Edgy Eft il comando inserito nella path non funzioni. Dobbiamo quindi cercare la cartella che identifica il kernel in {{{/lib/firmware}}} e inserire il nome a mano.'' |
IndiceBRTableOfContents |
Premessa
Questa guida si rivolge a chi
- possiede un modem Digicom Michelangelo USB CX, un modem Atlantis Land AU1-A01 oppure qualsiasi altro modem con chipset Conexant-Access Runner;
- si può connettere ad internet solo riuscendo a far funzionare questo modem, cioè non ha una connessione ad internet alternativa attiva in Ubuntu (perchè chi ha una connessione alternativa potrebbe usare comandi specifici per scaricare file e pacchetti).
Introduzione
I modem adsl usb, come molti altri dispositivi hardware, funzionano grazie ad un piccolo programma, detto firmware, che li gestisce. Spesso un modem adsl usb non possiede una memoria permanente contenente il firmware, ma è invece equipaggiato con una memoria volatile, che perde il suo contenuto con lo spegnimento del modem. Per questo il firmware va scritto nella memoria ad ogni accensione del pc. Il problema sta proprio nel caricamento del firmware perchè:
- sono i driver che si occupano di fare questo, e spessissimo col modem vengono forniti solo driver per sistemi operativi Windows;
- il produttore spesso non rilascia il codice sorgente che renderebbe possibile la scrittura dei driver per altri sistemi operativi.
Fortunatamente da questo [http://sourceforge.net/projects/accessrunner sito] si possono scaricare dei driver che sono idonei al funzionamento dei modem con chipset Conexant-Access Runner. A questo punto dobbiamo solo imparare ad installare questi driver.
Guida per Ubuntu Dapper o kernel 2.6.15 e successivi
Per chi ha Ubuntu Dapper e versioni del kernel uguali o superiori alla 2.6.15 non è necessaria la ricompilazione poichè i driver che vogliamo sono già contenuti nel nostro kernel. L'installazione quindi si riduce a queste poche semplici azioni:
Per prima cosa scarichiamo l'estrattore del firmware da [http://pmarchet.web.cs.unibo.it/cxacru-fw qui] e lo salviamo in /home/vostronomeutente/
Nota: se per qualsiasi motivo non possiamo usare il file contenuto nel link qui sopra seguiamo in alternativa la seguente procedura:
Apriamo http://cvs.sourceforge.net/viewcvs.py/accessrunner e clicchiamo sulla cartella utils, dopodichè scarichiamo il file makefile e il file cxacru-fw.c nella nostra cartella privata.
Apriamo una finestra di terminale da Applicazioni--> Accessori--> Terminale e inseriamo:
sudo make
per compilare il programma e renderlo eseguibile.
Ora dovremmo avere nella cartella /home/vostronomeutente un file chiamato cxacru-fw
Adesso dobbiamo copiare il file CnxEtU.sys che possiamo trovare sul cd di installazione per Windows nella nostra cartella privata:
sudo cp /media/cdrom0/DRIVER/WINDOWS/WAN/CNXETU.SYS /home/vostronomeutente/
ed estraiamo il firmware con il comando
sudo ./cxacru-fw CnxEtU.sys cxacru-fw.bin
Copiamo ora il firmware nella cartella /lib/firmware/versione_del_kernel
sudo cp /home/vostronomeutente/cxacru-fw.bin /lib/firmware/'uname -r'
Nota: "uname -r" è in realtà un comando che usiamo per identificare la versione del kernel. Sarebbe analogo inserire in terminale uname -r e poi scrivere ciò che abbiamo ricevuto come risposta dopo "/firmware/" nell'istruzione precedente. In questa maniera però snelliamo molto il nostro lavoro.
Importante - pare che su Edgy Eft il comando inserito nella path non funzioni. Dobbiamo quindi cercare la cartella che identifica il kernel in /lib/firmware e inserire il nome a mano.
A questo punto possiamo riavviare e se sul modem si accende anche una seconda lucina (sono due o più, una dovrebbe essere già accesa) vuol dire che il modem è collegato!
Da questo punto in avanti possiamo passare alla sezione [Impostazione della connessione] poichè la procedura è comune.
Guida per Ubuntu Breezy e versioni del kernel precedenti alla 2.6.15
Pacchetti necessari e file da scaricare
Abbiamo ipotizzato di non avere una connessione ad internet in Ubuntu, per cui dovremo collegarci ad internet con un secondo sistema operativo o addirittura da un altro pc, per effettuare i download di cui parleremo tra poco. I pacchetti sono una raccolta di file che danno alcune funzionalità al nostro sistema operativo e quindi è fondamentale aver installato tutti i pacchetti che poi sfrutteremo attraverso dei comandi: se non li abbiamo incapperemo in una sfilza di errori!BR Pacchetti di cui avremo bisogno:
libncurses5-dev_5.4-9ubuntu4_i386.deb, lo trovate [http://packages.ubuntu.com/breezy/libdevel/libncurses5-dev qui]
kernel-package_9.001ubuntu5_all.deb, lo trovate [http://archive.ubuntu.com/ubuntu/pool/main/k/kernel-package/ qui]
linux-2.6.12.tar.bz2, lo trovate [http://kernel.org/pub/linux/kernel/v2.6/ qui] (nota: è possibile anche scaricare da http://packages.ubuntu.com/ il [http://packages.ubuntu.com/breezy/devel/linux-source-2.6.12 pacchetto .deb] - scelta forse più consigliabile)
usbatm-20050216.tar.bz2, lo tovate [http://sourceforge.net/projects/accessrunner qui]
Scarichiamo da http://pmarchet.web.cs.unibo.it/cxacru-fw l'estrattore del firmware (clic destro e salva con nome)
Ovviamente i numeri inclusi nel nome dei file indicano le versioni, e potete scaricare file più aggiornati di quelli indicati qui.
[questa parte non è necessaria se usate l'estrattore del firmware sopra indicato] Apriamo http://cvs.sourceforge.net/viewcvs.py/accessrunner e clicchiamo sulla cartella utils, dopodichè scarichiamo il file makefile e il file cxacru-fw.c.
Poi prendiamo il cd con i driver del nostro modem e lo apriamo. Dobbiamo procurarci il file CnxEtU.sys; personalmente ho trovato questo file nell'archivio Drivers/Michelangelo USB Cx/CnxDslCb.cab. Se il nostro modem non dispone di archivi facilmente accessibili (ad esempio dei setup autoeseguibili), in ubuntu digitiamo da console
sudo lsusb
e cerchiamo una voce relativa al nostro modem; segnamoci la coppia di valori NNNN:NNNN che troveremo, dopodiché cerchiamo su internet alla pagina http://accessrunner.sourceforge.net/modems.shtml quali altri modem hanno gli stessi codici. Per esempio il Trust MD-3100 ha codice 0572:cb06, lo stesso dell'Atlantis I-Storm USB (A01-AU1). Se avete un modem come questo, usate il driver Atlantis, scaricabile da [http://www.atlantis-land.com/firmware/2895_A01-AU2(099-85).zip qui (da www.atlantis-land.com)] nell'archivio compresso potete usare il file CnxEtU.sys all'interno della directory "wan".
Installazione driver
Mettiamo i file scaricati su una memoria usb oppure in una cartella del sistema operativo Windows. Nel primo caso abbiamo un facile e veloce accesso ai file in quanto la nostra chiavetta usb dovrebbe essere riconosciuta e funzionare senza problemi, nel secondo caso dobbiamo montare la partizione su cui è installato Windows per potervi accedere, e per questo seguiamo la guida sulle [http://help.ubuntu-it.org/guidabreezy/ch05.html partizioni Windows]BR Copiamo i file scaricati in /home/vostronomeutente/ con il solito copia e incolla. Ora iniziamo ad usare comandi nel terminale, per cui clicchiamo su Applicazioni nella barra, poi su Accessori e quindi Terminale. Appena avviato il terminale, la directory di lavoro è la nostra cartella home, quella in cui abbiamo appena copiato i file.BR
Nota: in questa pagina viene indicato spesso di usare il comando sudo. Ricordiamo che è possibile evitare di ripetere molte volte questo comando usando un'unica volta
sudo -s
oppure
sudo bash
in questo modo avrete a disposizione una console con privilegi di root. Premettere sudo non sarà più necessario
Diamo il comando per cambiare directory
cd /usr/src
e scompattiamo i file sorgenti del kernel col comando
sudo tar xfj /home/vostronomeutente/linux-2.6.12.tar.bz2
che ci richiede la password, quella usata in fase di installazione.
nota: se avete scaricato invece il pacchetto .deb usate
sudo dpkg -i linux-source*.deb
e, al solito, digitate la password
Ora ci spostiamo nella directory con i file appena estratti
cd linux-2.6.12
e scompattiamo il driver
sudo tar xfj /home/dany/usbatm-20050216.tar.bz2
Abbiamo bisogno di configurare il kernel, ma prima di poterlo fare dobbiamo eseguire qualche altro passaggio. Clicchiamo su Sistema nella barra, poi su Ammistrazione e quindi Gestore pacchetti Synaptic. Ci viene richiesta la password, la digitiamo e ci troviamo aperto il programma di gestione dei pacchetti. Clicchiamo su un pacchetto qualsiasi e digitiamo "build-essential" con la tastiera per portarci sul pacchetto d'interesse. Clicchiamo sul quadratino e marchiamo il pacchetto per l'installazione. Ora digitiamo "make" e marchiamo per l'installazione anche questo pacchetto. Clicchiamo sul pulsante Applica, attendiamo la fine delle operazioni e chiudiamo Synaptic per proseguire con l'installazione manuale dell'ultimo pacchetto necessario. Torniamo al terminale e digitiamo
cd /home/vostronomeutente
Ora diamo il comando per l'installazione del pacchetto
sudo dpkg -i libncurses5-dev*.deb
Spostiamoci nella directory del kernel
cd /usr/src/linux-2.6.12
e copiamo la configurazione attuale del kernel, in modo tale da crearne poi una simile apportando solo le modifiche di nostro interesse
cp /boot/config-2.6.12-9-386 .config
Se avete installato la versione di Ubuntu indicata all'inizio della guida questo è il comando corretto, altrimenti controllate il nome del vostro file config nella directory /boot. Ora modifichiamo la configurazione
sudo make menuconfig
Portiamoci, con la freccia giù, alla voce Device Drivers e diamo Invio. Poi scendiamo, con la freccia giù, fino a trovare la voce Networking Support e battiamo Invio. Scendiamo fino a trovare le voci:
- PPP (point-to-point protocol) support
- PPP support for async serial ports
- PPP support for sync tty ports
- PPP support for sync tty ports
- PPP Deflate compression
- PPP BSD-Compress compression
- PPP over ATM
e controlliamo che a fianco di queste voci compaia <M>. Se non compare ci posizioniamo sulle voci d'interesse e premiamo M sulla tastiera. Personalmente ho trovato queste impostazioni corrette, ma ce ne sono altre da controllare. Ora usiamo la freccia su e torniamo alla voce Networking options e diamo Invio. Scendiamo, con la freccia giù, e controlliamo che di fianco alle voci
- Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
- Classical IP over ATM (EXPERIMENTAL)
compaia <M>, altrimenti modifichiamo le impostazioni come scritto poco fa. Poi controlliamo che a fianco alla voce
- Do NOT send ICMP if no neighbour (EXPERIMENTAL)
ci sia [*]. Se non è così, posizionati su questa voce, premiamo Y sulla tastiera. Col tasto TAB a fianco alla Q della tastiera italiana, oppure con la freccia destra o sinistra ci posizionamo su Exit e diamo Invio e continuiamo a ripetere questo passaggio sino a tornare alla schermata principale.
Torniamo in Device Drivers USB DSL modem support (USB_ATM) mettiamo una M accanto a
Conexant AccessRunner USB support (USB_CXACRU)
Torniamo al menu principale.
Diamo ancora un invio posizionati su Exit e alla domanda Do you wish to save your new kernel configuration? rispondiamo Yes.
Ora torniamo alla nostra directory home digitando nel terminale
cd /home/vostronomeutente
e installiamo l'ultimo pacchetto necessario col comando
sudo dpkg -i kernel-package_9.001ubuntu5_all.deb
Ovviamente le installazioni dei pacchetti potevano essere fatte tutte insieme, ma ho preferito dividerle installando i pacchetti prima di ogni operazione che necessitava dei pacchetti installati poco prima, in modo tale da isolare il più possibile gli eventuali problemi.
Torniamo alla directory del kernel
cd /usr/src/linux-2.6.12
e creiamo un pacchetto con i comandi
sudo make-kpkg clean sudo make-kpkg -initrd --revision=ck1 kernel_image
che sarà di esecuzione piuttosto lunga; in questo modo però otteniamo, nella directory /usr/src, un pacchetto contenente il kernel modificato, pronto all'installazione. Possiamo conservare questo file in caso di reinstallazione del sistema operativo, senza dover ripetere questi passaggi.
Prima di vedere la nostra connessione attiva dobbiamo eseguire le ultime operazioni. Innanzitutto torniamo alla nostra home
cd /home/vostronomeutente
poi diamo il comando per creare il programma di estrazione del firmware (se avete scaricato la versione compilata non è necessario)
make
e poi spostiamo questo file nell'opportuna cartella
sudo mv cxacru-fw /bin/
e infine estraiamo il firmware dal driver per Windows col comando
cxacru-fw CnxEtU.sys cxacru-fw.bin
A questo punto abbiamo il file cxacru-fw.bin contenente il firmware nella directory /home e lo spostiamo nella cartella corretta
sudo mv cxacru-fw.bin /lib/hotplug/firmware/
Ora installiamo il kernel modificato tornando alla directory dov'è presente
cd /usr/src
e dando il comando
dpkg -i kernel-image-*.deb
che può variare leggermente a seconda del nome del vostro file. Dopo l'installazione, se abbiamo il bootloader Grub, le sue impostazioni verranno aggiornate automaticamente.
Impostazione della connessione
L'ultimo passo per la connessione ad internet è l'impostazione della connessione. Nel terminale digitiamo
cd /etc/ppp sudo gedit options
e scriviamo queste righe in fondo al file:
lock debug kdebug 1 noauth maxfail 3 ipparam ppp0 noipdefault usepeerdns defaultroute noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp persist plugin /usr/lib/pppd/2.4.4b1/pppoatm.so 8.35 user vostronomeutente
Ora prestiamo attenzione alla riga "user", dopo la quali dobbiamo scrivere il nostro username che usiamo per la connessione (solamente la parte precedente la @). Alla riga "plugin" dobbiamo inserire il percorso del plugin pppoatm.so, se non siamo sicuri della sua locazione digitiamo
locate pppoatm.so
nel terminale.
Dopo aver salvato il file diamo il comando
sudo gedit chap-secrets
e scriviamo questa riga in fondo al file
vostrousername * vostrapassword
cambiando i dati nell'esempio con i nostri username (sempre la parte prima della @) e password di connessione, stando attenti a lasciare degli spazi, poi un asterisco, e poi altri spazi fra i due dati.
La stessa riga va ora scritta in fondo ad un altro file, che apriamo col comando
sudo gedit pap-secrets
Dopo aver modificato e salvato anche questo file diamo il comando
sudo gedit resolv.conf
e scriviamo le seguenti righe
domain libero.it nameserver 193.70.152.15 nameserver 193.70.152.25
A fianco alla parola domain nella prima riga dobbiamo indicare il nostro dominio (che puo essere tiscali.it, alice.it ecc in base alla nostra connessione). Nella seconda a riga vicino nameserver dobbiamo inserire il DNS primario del nostro provider; nella terza riga mettiamo invece il DNS secondario. L'esempio si riferisce alle impostazioni valide per Libero, in ogni caso con una veloce ricerca in internet saremo in grado di trovare i dati che fanno al caso
vostrousername@vostrodominioseserve * vostrapassword
cambiando i dati nell'esempio con i nostri username e password di connessione, stando attenti a lasciare degli spazi, poi un asterisco, e poi altri spazi fra i due dati.
La stessa riga va ora scritta in fondo ad un altro file, che apriamo col comando
sudo gedit pap-secrets
Dopo aver modificato e salvato anche questo file diamo il comando
sudo gedit resolv.conf
e scriviamo le seguenti righe
nameserver 193.70.152.15 nameserver 193.70.152.25
A fianco alla parola nameserver nella prima riga dobbiamo indicare il DNS primario del nostro provider; nella seconda riga mettiamo invece il DNS secondario. L'esempio si riferisce alle impostazioni valide per Libero, in ogni caso con una veloce ricerca in internet saremo in grado di trovare i dati che fanno al caso nostro.
Connessione
Finalmente abbiamo sistemato tutto quello che c'era da sistemare per creare un'efficace connessione ad internet col nostro modem; ora non ci resta nient'altro da fare che riavviare il pc e far partire il sistema operativo col kernel modificato, e avviare la connessione. Vi consiglio di verificare che all'avvio il led rosso del modem lampeggi e poi rimanga stabilmente acceso: questo significa che il modem s'è agganciato alla portante ed è sincronizzato con la centrale telefonica; in altre parole significa che è pronto per la connessione, e questo lo si può verificare anche col comando cat /proc/net/atm/cxacru\:0 da dare una volta che il led è fisso e che deve restituire qualcosa del tipo
ADSL USB MODEM (usb-0000:00:07.2-2) MAC: 00:06:4f:17:1c:7a AAL5: tx 3865 ( 0 err ), rx 4467 ( 1 err, 0 drop ) Line up
A questo punto avviamo la connessione col comando
pppd
nel terminale e... SIAMO IN RETE! Per terminare la connessione dovrebbe bastare il comando
killall pppd
ma consiglio di verificare l'effettiva disconnessione a chi non ha una connessione flat ma a pagamento.
Infine, ecco un pratico script che fa tutto questo per noi, con simpatici messaggi. Dovrebbe dirvi anche il tempo di connessione
# CONNESSIONE CON ZENITY BY NoWhereMan :) pppd ---- /!\ '''Edit conflict - other version:''' ---- %0 ---- /!\ '''Edit conflict - your version:''' ---- disc=1 start=`date +%s` while [[ $disc != 0 ]]; do zenity --notification --text "Connesso." end=`date +%s` elapsed=`expr $end - $start` mins=`expr $elapsed / 60` secs=`expr $elapsed % 60` zenity --question --text "Connesso da $mins Minuti e $secs Secondi. Disconnettere ? "; disc=$? done; killall pppd
Copiate il testo, salvatelo in un file, per esempio "connect". Dategli permessi di esecuzione con
chmod +x connect
ora potete per esempio creare un'icona di avvio per il desktop. Fate doppio clic su questo script, e apparirà una piccola "(i)" accanto all'orologio: siete connessi. Un clic su di essa, e un messaggio vi chiederà se volete disconnettervi, informandovi di quanto tempo è passato da quando vi siete connessi.
Il consiglio di verificare la disconnesione rimane. Se ciò non fosse avvenuto, al solito,
killall pppd
Un sentito ringraziamento a Melchiorre per il suo how-to da cui è stato tratto questo wiki
End of edit conflict