Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Hardware/Modem/Adsl/DigicomMichelangeloUsbCx"
Differenze tra le versioni 34 e 35
Versione 34 del 06/12/2006 19.18.36
Dimensione: 19890
Autore: TomKravanja
Commento:
Versione 35 del 06/12/2006 19.23.09
Dimensione: 19156
Autore: TomKravanja
Commento: Release candidate
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 249: Linea 249:
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.3/pppoatm.so 8.35
user utente_connessione (qui dovete scrivere il nome utente della connessione)
}}}
Ora prestiamo attenzione alla riga {{{user}}}, dopo la quali dobbiamo scrivere il nostro username che usiamo per la connessione (completo di dominio se necessario, ad esempio per gli utenti Libero 4 Megabit flat sarà del tipo {{{user@adslfast}}}). Dopo la riga plugin dobbiamo inserire il percorso del plugin pppoatm.so, se non siamo sicuri della sua locazione digitiamo {{{locate pppoatm.so}}} nel terminale. Nell'ultima riga il numero prima del punto indica il VPI e il numero dopo il punto indica il VCI della nostra connessione; questi valori spesso coincidono con quelli nell'esempio qui sopra, comunque vi consiglio di fare una breve ricerca in internet che vi fornirà subito questi dati.

Dopo aver salvato il file diamo il comando

{{{
sudo gedit chap-secrets
}}}
e scriviamo questa riga in fondo al file

{{{
cd /etc/ppp
sudo gedit options= Impostazione della connessione (Modem Atlantis Land AU1-A01) =
Linea 401: Linea 360:
        elapsed=`expr $end - $start`= Impostazione della connessione (Modem Atlantis Land AU1-A01) =         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".

BR

ATTENZIONE: Questa pagina è in fase di lavorazione

BR

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 salvate 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:

ls

per assicurarci che i file appena scaricati siano nella cartella privata

Digitiamo quindi:

sudo make

per compilare il programma per renderlo eseguibile.

Ora dovremmo avere nella cartella /home/vostronomeutente un file chiamato cxacru-fw

Ora 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 al posto di 'uname -r' nell'istruzione precedente. In questa maniera però snelliamo molto il nostro lavoro.

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 potete 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:

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 rosporospo

Ora prestiamo attenzione alla riga "user", dopo la quali dobbiamo scrivere il nostro username che usiamo per la connessione (solamente la parte precedente la @, nell'esempio rosporospo). 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
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".