Modem SmartLink en Ubuntu

De GALPon WiKi

Documento creado por capri99 (Carlos Rodríguez). Cualquier aportación será bienvenida.

Información previa

Este tipo de módem es muy común entre las tarjetas PCI.

El mío lo identifico mediante el comando lspci -v como superusuario y aparece:

0000:00:0b.0 Modem: Philips Semiconductors SmartPCI56(UCB1500) 56K Modem (rev 01) (prog-if 00 [Generic])
       Subsystem: Philips Semiconductors SmartPCI56(UCB1500) 56K Modem
       Flags: bus master, medium devsel, latency 64, IRQ 11
       I/O ports at e800 [size=16]
       Capabilities: [80] Power Management version 1

Este módem tiene unos drivers de los que se dispone el código fuente aunque su licencia no es libre del todo. Es por ello por lo que debemos activar el repositorio multiverse de nuestra distribución.

Esta instalación se realizó en una Ubuntu Dapper, pero debería ser válida para otras versiones de (X-,K-,Ed-)Ubuntu.

NOTA: Para Feisty hay un pequeño problema que he encontrado al actualizar el sistema, pero está resuelto en la discusión de este artículo.

Requisitos

Activar el repositorio multiverse

Esto se realiza añadiendo multiverse en el archivo de repositorios /etc/apt/sources.list. Lógicamente dependerá de la versión de la distribución que tengamos (dapper, edgy, feisty...)

En general debería quedar:

...
deb http://fi.archive.ubuntu.com/ubuntu/ dapper main restricted multiverse
deb-src http://fi.archive.ubuntu.com/ubuntu/ dapper main restricted multiverse
...

Actualizamos los índices:

sudo apt-get update

Instalación de lo necesario

Necesitamos el asistente de módulos (gran creación) y el gcc-4.0 (el compilador), además del código fuente del driver del módem sl-modem-source. El resto de las dependencias las seleccionará automáticamente incluido el código fuente del kernel que tengamos.

sudo apt-get install module-assistant gcc-4.0 sl-modem-source

Compilando el módulo e instalándolo

Si todo ha ido correctamente, ahora procederemos a ejecutar el module-assistant

sudo module-assistant

Siguiendo los pasos poco a poco, veremos que es muy fácil compilar el driver sl-modem. TAN SÓLO HAY QUE LEER :-) Para prepararlo podemos seguir estos pasos:

  1. UPDATE
  2. PREPARE
  3. SELECT (seleccionamos el sl-modem con la barra espaciadora)
  4. GET (una vez seleccionado el módulo, procederemos a hacer un GET por si hubiera alguna versión actualizada diferente a la que nos hemos descargado)
  5. BUILD, ya podemos compilarlo e instalarlo

Finalmente salimos del asistente con la tecla Esc.

La primera vez que quería compilarlo (BUILD), me había salido un error indicándome que necesitaba el gcc-4.0, por eso lo he instalado antes, para que no me salga el error ahora.

Suponiendo que todo ha ido correctamente, procederemos a actualizar la dependencias de los módulos del kernel:

sudo depmod -ae

Demonio que activa el módem

Bien, ahora toca instalar el demonio (qué mal suena) que activará nuestro módem con el inicio del sistema y hará un enlace simbólico /dev/modem --> /dev/ttySL0:

sudo apt-get install sl-modem-daemon

Dando como resultado:

Starting SmartLink Modem driver for: slamr0.
Creating /dev/modem symlink, pointing to: /dev/ttySL0.

Finalmente podemos comprobar que se ha instalado correctamente el driver haciendo un dmesg y veremos:

slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
slamr: probe 1131:3400 SL1500 card...
slamr: mc97 codec is SIL22
slamr: slamr0 is SL1500 card.

Además podemos comprobar el enlace ls -la /dev/modem:

lrwxrwxrwx 1 root root 6 2007-07-19 14:40 /dev/modem -> ttySL0

Ahora editaremos el fichero que alberga la configuración del demonio para ponerle el país en el que estemos (por defecto pone USA). El archivo en cuestión es el /etc/default/sl-modem-daemon y buscaremos:

SLMODEMD_COUNTRY=USA

para ponerle nuestro país:

SLMODEMD_COUNTRY=SPAIN

Luego podemos reiniciar el demonio:

sudo /etc/init.d/sl-modem-daemon restart

Bueno, ya está, a disfrutarlo. Cualquier sugerencia, podéis hacerlo a través de la página de "discusión" en este wiki :-)

Acerca del módulo sl-modem

Package: sl-modem-source
New: yes
State: installed
Automatically installed: no
Version: 2.9.10+2.9.9d+e-pre2-5build1
Priority: opcional
Section: multiverse/misc
Maintainer: Eduard Bloch <blade@debian.org>
Uncompressed Size: 274k
Depends: module-assistant, debhelper, bzip2
Recommends: kernel-package
Description: SmartLink software modem driver - module building source
 This package contains source code for the low-level drivers for the software modems produced by Smart Link Ltd. It supports PCI and USB models.
 In addition to this package, you will need the package sl-modem-daemon which implements the application part of the driver.
 Module packages can be built for the custom kernel package either by hand or using the module-assistant tool.