Installare modem Smartlink su Ubuntu Feisty 7.04
19 Aprile 2007 — AleXit
Oggi è il giorno del rilascio ufficiale di Ubuntu Feisty Fawn 7.04, ma io sono già passato alla nuova release già da qualche giorno. Ho avuto quindi già modo di guardare un po’ le nuove impostazioni… e devo dire che non ho avuto dei grossi problemi.
Uno dei questi però è il riconoscimento del modem analogico 56k interno del mio notebook, che essendo un winmodem (purtroppo) ha bisogno dei driver Smartlink.
Nei repository di Ubuntu è già presente il pacchetto sl-modem-daemon che installa il demone “slmodemd” e gli script di avvio/chiusura. Purtroppo per far partire tale demone, abbiamo bisogno di due moduli aggiuntivi caricati nel kernel: slamr e ungrab_winmodem, che non sono installati automaticamente.
Vediamo come installarli e configurare il modem.
Edit 28/04/2007: aggiunto archivio precompilato per il kernel 2.6.20-15-generic (Feisty)
Edit 2/05/ 2007: con gli ultimi aggiornamenti degli archivi smartlink, i problemi sono stati risolti. Potete trovarli qui, come sempre.
Installiamo per prima cosa il pacchetto dai repository di Feisty:
sudo apt-get install sl-modem-daemon
dal sito http://linmodems.technion.ac.il/packages/smartlink/ scarichiamo i pacchetti
ungrab-winmodem.tar.gz e slmodem-2.9.11-20070204.tar.gz.
Estraiamo quindi entrambi i pacchetti in una cartella di appoggio, una per ciascuno.
Entriamo in quella in cui abbiamo scompattato ungrab-winmodem.tar.gz e prepariamoci per la compilazione.
Ricordo che per compilare dei sorgenti in Ubuntu dobbiamo aver installato nel sistema il pacchetto build-essential e gli header del kernel. Per essere sicuri di averli installati, provare
sudo apt-get install build-essential linux-headers-`uname -r`
Prima di passare alla compilazione con i consueti comandi make, dobbiamo fare una piccola modifica nel file ungrab-winmodem.c altrimenti ricevermo un errore.
Nel file ungrab-winmodem.c sostituire la riga
#include <linux/config.h>
con
#include <linux/tipc_config.h>
adesso si che possiamo compilare con i consueti
make
sudo make install
Una volta terminata la compilazione, possiamo caricare i due moduli nel kernel:
sudo modprobe ungrab_winmodem
Adesso passiamo all’altro archivio, slmodem-2.9.11-20070204.tar.gz. Entriamo nella directory in cui l’abbiamo scompattato, e digitiamo come sempre
make
sudo make install
Adesso carichiamo nel kernel anche il modulo slamr:
sudo modprobe slamr
Ricordarsi di inserire il nome di questi due moduli (ungrab_winmodem e slamr) nel file /etc/modules se vogliamo caricarli automaticamente all’avvio.
Adesso avviamo il demone slmodemd con il suo script di avvio:
sudo /etc/init.d/sl-modem-daemon restart
Fatto! A questo punto il vostro modem dovrebbe essere riconosciuto dal sistema e individuato da programmi come Wvdial, Gnome-PPP, KPPP.
Buona connessione…
Edit:
Aggiungo uno archivio precompilato che dovrebbe automatizzare l’installazione (solo per il kernel 2.6.20-15-generic)
slamr-2.6.20-15-generic.tar.gz
Per installare il tutto, basta scompattare l’archivio in una cartella, ed eseguire l’installazione con:
./setup
(grazie a Cristiano Nunes per il pacchetto)





27 Aprile 2007 alle 2:07 pm
Thanks for this tutorial! Very good!
27 Aprile 2007 alle 6:09 pm
The driver not load in the startup!
28 Aprile 2007 alle 1:23 pm
I’ve inserted the precompiled archive for kernel 2.6.20-15-generic.
Thanks to Cristiano!
28 Aprile 2007 alle 2:04 pm
Ciao sono Andrea,
il webmaster del sito Free Penguin, ho visto il tuo spazio e mi è molto piaciuto,
se vuoi potremo linkarci.
Questo è il mio sito http://www.freepenguin.altervista.org , e tratta di GNU/Linux e del software libero.
Saluti
Andrea
28 Aprile 2007 alle 2:20 pm
Ciao Andrea,
Ho già aggiunto il tuo sito al mio blogroll
29 Aprile 2007 alle 8:23 am
Ciao Alex, complimenti e grazie per le guide che metti prontamente a disposizione
Io ho kubuntu feisty, il modem me l’ha riconosciuto, ma continua a darmi la scritta NO CARRIER (ho teleconomy …ho seguito la guida nel blog di trevino, ho provato con ppp, kppp e wvdial, inserendo carrier check=no e stupid mode=yes, oltre alle stringhe di inizializzazione suggerite, ma con tutti mi dà sempre il problema del carrier :S )
Come posso risolvere? Grazie!!
29 Aprile 2007 alle 11:49 am
Ciao Roby,
anche io utilizzavo Teleconomy Internet prima di passare ad Eutelia, e non ti nego che ho avuto molti iniziali problemi a far andare la connessione.
A suo tempo risolsi aggiornando i driver smartlink (scaricabili proprio dal sito che ho indicato nella guida… e configurandolo per bene).
Inoltre la svolta fu utilizzare una stringa di inizializzazione come questa:
ATQ0 V1 E1 X3 S0=0 +MS=90
oppure questa:
ATQ0 V1 E1 X3 S0=0 +MS=34
Fammi sapere!
29 Aprile 2007 alle 12:27 pm
Avevo istallato i driver seguendo la tua guida, poi configurato wvdial.conf seguendo quanto detto nel blog di trevino… le ho provate entrambe quelle stringhe (ho fatto anche molte prove con i comandi AT dal terminale di kppp) ma la risposta è sempre stata no carrier…
boh, non so più cosa provare, ho anche pensato di formattare tutto per ripetere tutta la procedura dall’inizio.. ma se riuscissi a evitarlo sarei più contenta
30 Aprile 2007 alle 4:31 pm
Grande!!
e poi ho trovato la tua guida.
Sono passato dalla 6.10 alla 7.04 e non riuscivo in nessun modo a far funzionare il modem AC97. Avevo pensato anch’io ormai di formattare il pc (e non è detto che non lo faccia xé ho pasticciato così tanto da non sapere + cosa ho combinato …
Un’ultima domanda, se eseguo ’sudo gnome-ppp’ funziona tutto, ma se eseguo gnome-ppp come utente normale non rileva neanche il modem: come posso fare?
Grazie
30 Aprile 2007 alle 7:56 pm
Probabilmente sono stati settati dei permessi sbagliati al demone slmodemd. Non è che hai compilato il pacchetto col “sudo make” ?
Comunque prova ad impostare i permessi utente al file /usr/bin/slmodemd…
1 Maggio 2007 alle 8:32 pm
Ho utilizzato le tue indicazioni, ma non è detto che non abbia fatto casini prima … come ti dicevo ho provato di tutto ..
Cmq, non ho trovato il file /usr/bin/slmodemd , ma il seguente:
~$ ls -l /usr/sbin/slmodemd
-rwxr-xr-x 1 root root 1304487 2007-04-30 16:55 /usr/sbin/slmodemd
Va bene così?
P.S. Chiedo venia, ma si sono nuovo
1 Maggio 2007 alle 9:51 pm
Mi rispondo da solo!
Sono andato a modificare le permission di /dev/pts/0 come segue:
root@~$ ls -l /dev/ttySL0
lrwxrwxrwx 1 root root 10 2007-05-01 22:24 /dev/ttySL0 -> /dev/pts/0
root@~# ls -l /dev/pts/0
crw-rw—- 1 root uucp 136, 0 2007-05-01 22:24 /dev/pts/0
root@~# chmod 666 /dev/pts/0
root@~# ls -l /dev/pts/0
crw-rw-rw- 1 root uucp 136, 0 2007-05-01 22:24 /dev/pts/0
Inoltre, ho notato che in /root/.wvdial.conf “Init = ATZ” mentre nel mio /home/’user’/.wvdial.conf “Init = ATX3″ e l’ho cambiato con ATZ.
Ora funziona tutto anche come user.
1 Maggio 2007 alle 10:49 pm
Ottimo Dave… immaginavo che il problema fosse di questo tipo!
26 Maggio 2007 alle 2:51 pm
ragazzi scusate ma io ho seguito tutte le possibili discussioni riguardanti i winmodem,ma non sono riuscito a risolvere il mio problema….NO CARRRIER la risposta per la tentata connessione…a chiunque volesse aiutarmi farò sapere tutta la procedura da me seguita….Ciao e grazie anticipatamente!!!!
26 Maggio 2007 alle 3:22 pm
@Franceso
Che stringa di connessione utilizzi?
26 Maggio 2007 alle 7:55 pm
Ho provato tutte le stringhe di connessione postate nella discussione, come versione di Ubuntu utilizzo la 7.04…ma non trovo soluzioni al problema!
29 Maggio 2007 alle 6:27 pm
Ragazzi ma questa procedura va bene per qualsiasi smartlink?? oppure ogni modem ha dei drivers differenti??io ho un modem esterno 56kb v92 trust usb modem
29 Maggio 2007 alle 7:47 pm
Ho usato l’archivio precompilato ma devo impostare il modulo slusb e italia invece di usa come devo fare??? cio che ottendo dopo il comando ./setup e’:
driver=slamr
Your country: USA
Installing the Debian packages supporting autoloading
(Lettura del database … 88014 file e directory attualmente installati.)
Mi preparo a sostituire sl-modem-daemon 2.9.10+2.9.9d+e-pre2-5build1 (con sl-modem-daemon_2.9.10+2.9.9d+e-pre2-5build1_i386.deb) …
Shutting down SmartLink Modem driver normally … no slmodemd daemon running.
Unloading modem driver from kernel … slamr.
Spacchetto il sostituto di sl-modem-daemon …
Configuro sl-modem-daemon (2.9.10+2.9.9d+e-pre2-5build1) …
Starting SmartLink Modem driver for: slamr0.
Creating /dev/modem symlink, pointing to: /dev/ttySL0.
Making folder /lib/modules/2.6.20-15-generic/extra
Copying drivers to /lib/modules/2.6.20-15-generic/extra
Checking driver install
slamr.ko slusb.ko ungrab-winmodem.ko
Finished installs.
Informing the System
Starting function tests, loading drivers:
Running diagnostic:
[ 1130.080000] slamr: module license ‘Smart Link Ltd.’ taints kernel.
[ 1130.264000] slamr: SmartLink AMRMO modem.
[ 1800.228000] slamr: SmartLink AMRMO modem.
[ 3640.900000] slamr: SmartLink AMRMO modem.
ports should be created by:
slmodemd -c USA /dev/slamr0
error: mdm setup: cannot open dev `/dev/slamr0′: No such device
error: cannot setup device `/dev/slamr0′
Checking for success
Port creation with slmodemd failed.
Read the Slamr.txt record, other 1st_Read.txt CountryList.txt wvdial.txt files and the sample wvdial.conf.
COME DEVO FARE??? HELP
11 Giugno 2007 alle 9:52 am
Ciao,
sono un neofita di Ubuntu Feisty 7.04. Ho un pentium 3 con un modem Motorola SM56 PCI e non riesco a farlo funzionare anche seguendo le vostre istruzioni. Ho usato anche l’archivio precompilato di Cristiano Nunes ma senza risultati. Chi se la sente di spiegarmi passo passo come si fa?
Grazie!
8 Luglio 2007 alle 8:43 am
Hi
I can’t be bothered with anything these days, but shrug. I just don’t have anything to say recently.
Bye
9 Luglio 2007 alle 8:46 pm
Ciao ragazzi.
Ieri sera ho fatto degli aggiornamenti di ubuntu feisty 7.04.
Da quando gli ho fatti non mi compare più l’opzione wireless tra i vari tipi di connessione.
Sapete darmi qualche indicazione in proposito?
Grazie infinite.
Fabio
10 Luglio 2007 alle 12:18 pm
Premesso che questa non è la sezione giusta per questa domanda…
probabilmente con gli aggiornamenti recenti hai aggiornato anche il kernel, per cui ti devi ricompilare il modulo del driver wireless per il nuovo kernel..
Ciao.
3 Agosto 2007 alle 11:38 am
Ciao Alexit, ottima guida, come sempre!
E’ proprio quello che mi serve e mi permetto di fare un’aggiunta riguardo ai modem con chipset Motorola SM56 PCI e device id 1057:3052 (0×1057 è Motorola). Il device ID è specifico del produttore (nel senso che un altro produttore può usare il device id 3052 per un device che nulla ha a che fare con il modem Motorola SM56). Tuttavia, ho notato che altre volte Motorola ha usato chipsets non suoi mantenendo il device Id di chi glieli aveva forniti. Googolando ho trovato che il device id 3052 è usato per un vecchio winmodem smartlink supportato da slmodemd.
Seguendo un post che ho trovato mi sono scaricato i sorgenti di slmodemd e cercando un pò in giro nel file drivers/amrmo_init.c ho trovato l’elenco dei device supportati. Ho aggiunto l’id hardware del mio modem Trust Motorola SM56 MD-1100:
/* Motorola */
#define PCI_VENDOR_ID_MOTOROLA 0×1057
…
{PCI_VENDOR_ID_MOTOROLA, PCI_DEVICE_ID_SL1900, /* 1057:3052 */
PCI_ANY_ID, PCI_ANY_ID, 0, 0, SL1900_CARD},
(di fatto il motorola sm56 è assimilato allo smartlink che vi dicevo prima).
Beh, sapete una cosa? Ha funzionato.
Siccome questa guida l’ho trovata dopo, suppongo che usando direttamente i driver consigliati qui si possa ottenere il risultato sperato.
Per maggiore comodità ho già modificato il pacchetto slmodem-2.9.11-20070204 introducendo le specifiche esposte. E’ scaricabile da qui: http://www.esnips.com/doc/96d6dea2-fe44-4239-b231-0b134171053e/slmodem-2.9.11-20070803
Ciao
4 Agosto 2007 alle 12:11 pm
Addenda:
Attenzione: con i Motorola Soft Modem 56k utilizzare solo il pacchetto slmodem-2.9.11-20070803 che ho linkato nel post precedente e il pacchetto ungrab-winmodem-20070505 o successivo reperibile qui: http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem-20070505.tar.gz
I pacchetti precedenti non contengono gli ID hardware necessari al corretto funzionamento. La modifica al file ungrab-winmodem.c è ancora necessaria. Al termine sarà necessario riavviare.
Ciao
17 Agosto 2007 alle 3:00 pm
ciao!
grande alex!
ma il modem non mi viene ancora rilevato
appare però nella lista dei “Restricted driver manager”.
cosa significa?
e perchè a me non parte?
insomma un passo avanti c’è stato
ma non lo rileva ancora!
cosa mi suggerite di fare?
(il suidicio non è compreso :D)
26 Agosto 2007 alle 1:26 am
niente da fare: non riesco ad istallare questo dannatissimo modem!!!!
4 Ottobre 2007 alle 11:41 am
Complimenti per la guida AleXit! …ed ringrazio anche il contributo di C@rciofone perché anch’io possiedo di un modem Trust Motorola SM56 MD-1100 nel mio vecchio PC ringiovanito grazie ad UBUNTU ALTERNATE 7.04!
6 Ottobre 2007 alle 12:55 pm
Kubuntu Feisty con kernel 2.6.20-15-generic
Modem Trust MD-1100 56k V92 PCI
(Chip Motorola Unknown device 3052)
spulciando qua e là ho letto che il driver smartlink è compatibile con questa periferica. quindi ci ho provato..
Come dalla tua guida ho installato da sorgenti l’ultima versione di sponibile di slamr e ungrab_winmodem (apportando la modifica in ungrab-winmodem.c).
su KPPP ho modificato :
stringa di inizializzazione 2 impostandola su ATX3+MS=90
stringa di chiamata impostandola su ATX3DT
ora navigo a 56k.
grazie a tutti.
spero che questo serva anche ad altri
6 Ottobre 2007 alle 12:59 pm
ps. i pacchetti da me usati sono :
ungrab-winmodem-20070505.tar.gz
slmodem-2.9.11-20070813.tar.gz
13 Gennaio 2008 alle 6:17 pm
Ciao AleXit,
complimenti per l’articolo! La configurazione del mio softmodem Smartlink-compatibile Netodragon MDV92XP (ScanModem lo identifica come 10b9:5459) è andata a buon fine per i driver, ma mi sta facendo penare moltissimo per far partire il collegamento di rete con wvdial. Mi chiedevo se potevi darmi una mano dal momento che sono alle prime armi con Linux (Ubuntu Gutsy 7.10).
Questo è ciò che ottengo:
emanuele@emanuele-desktop:~$ wvdial
WvDial: WvDial: Internet dialer version 1.56
WvModem: Cannot get information for serial port.
WvDial: Initializing modem.
WvDial: Sending: ATZ
WvDial Modem: ATZ
WvDial Modem: OK
WvDial: Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 X3
WvDial Modem: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 X3
WvDial Modem: OK
WvDial: Modem initialized.
WvDial: Sending: ATDT0802201400
WvDial: Waiting for carrier.
WvDial Modem: ATDT0802201400
il server (dopo la composizione) risponde con i tipici segnali acustici che non saprei come descrivere ma (suppongo) siano quelli con cui comunica il modem col server (passami la grossolaneria!). Purtroppo dopo circa 44-45 secondi, da quando ho udito il primo “fischio” di risposta del server, sul terminale appare (subito sotto quanto riportato prima):
WvDial: Timed out while dialing. Trying again.
WvDial: Sending: ATDT0802201400
WvDial: Waiting for carrier.
WvDial Modem: NO CARRIER
WvDial Modem: ATDT0802201400
WvDial: No Carrier! Trying again.
WvDial: Sending: ATDT0802201400
WvDial: Waiting for carrier.
WvDial Modem: NO CARRIER
WvDial Modem: ATDT0802201400
WvDial: No Carrier! Trying again.
La sequenza di queste stesse scritte è un loop senza fine. Quindi sono costretto a forzare l’interruzione del programma con Ctrl-c.
wvdial.conf è questo:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 X3
Modem Type = Analog Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttySL0
ISDN = 0
Carrier Check = no
Stupid Mode = yes
Phone = 0802201400
Password = *******************************
Username = *******************************
il collegamento è tramite provider Infinito, ma ho fatto delle prove anche con Libero (sempre da POP locale 080) con i medesimi risultati.
Ho provato tantissime combinazioni della stringa Init2 utilizzando +MS=34 o +MS=90, sostituendo &D0 con &D2, eliminando &C1, &D2 e/o +FCLASS=0 (in tutte le combinazioni possibili), usando ATS11=40 o addirittura ricopiando la stringa di Init del file .inf dei miei driver Windows con cui il modem sta funzionando in questo momento:
AT &F E0 X3 V1 &A3 &D2 &C1 S0=0
Nulla da fare: il risultato è sempre quello descritto prima.
Mi sapresti consigliare qualcosa?
Grazie e scusa per il “papiro”!
Emanuele
13 Gennaio 2008 alle 6:20 pm
AGGIUNTA. Dimenticavo: se ti va, puoi leggere di più sul mio problema all’indirizzo:
http://forum.ubuntu-it.org/index.php/topic,152507.0.html
Emanuele
9 Febbraio 2008 alle 2:00 pm
ciao a tt!!!!! sapete dirmi cm si fa a mettere la lingua italiana in linux 7.04??? rx grazie infinite!!!
9 Febbraio 2008 alle 2:04 pm
@francesco
sudo apt-get install language-support-it