02 junio 2004

Mi primer envío

Después de más de dos años durmiendo en el disco duro de un servidor olvidado [concretamente desde que lo creé el miércoles 2 de junio de 2004], por fin me decido a abrir públicamente este blog [quizás sea más adecuado llamarle bitácora, término acuñado por numerosos usuarios de este servicio dentro del mundo hispano]. Y antes de entrar en faena, una pequeña aclaración sobre el porqué del nombre: una sencilla ecuación que puede resumirse en la siguiente expresión, ambiente + linux = ambientix

Este primer artículo quiero iniciarlo con una receta [la primera que elaboré al poco de llegar al mundo de Linux en la primavera de 2004].

Acababa de instalar Guadalinex en un ordenador portátil Airis Gea 620 pero no lograba hacer funcionar el módem interno, lo que me produjo serios dolores de cabeza, pero al final me reportó la satisfacción de conectar a Internet desde Linux, algo que para un recién llegado como yo supuso una inmensa alegría. Ya no era un usuario cualquiera: podía conectar con la red y descargar paquetes de los repositorios con un simple clic. Esta que sigue es, a grandes rasgos, la receta elaborada por aquellas fechas.

Mi portátil tiene un chip que emula al módem Smartlink 56K y me he propuesto instalarlo bajo Guadalinex en su versión 1.0 conocida como "Ciudadano" y estoy muy cerca de conseguirlo. Si tu equipo monta un módem interno, habitualmente conocido como "winmodem" y quieres instalarlo bajo Linux, te recomiendo sigas los siguientes pasos:

1) Entra en la web http://linmodems.org y
bájate la herramienta scanModem, la instalas en tu equipo bajo Linux y con ella podrás generar un informe con las características de tu módem y de los dispositivos compatibles con el mismo.

2) Bájate los drivers adecuados de las direcciones que te indica scanModem o en su defecto haz un búsqueda en Internet, descomprímelos y lee las instrucciones de instalación. También puedes descargarlos del sitio de Linmodems, donde encontrarás además de los Smartlink comentados, los de otros fabricantes como Intel, Pctel, Motorola y alguno más que no viene al caso. No los instales aun.

3) Bájate las cabeceras (headers) del repositorio de Guadalinex. Una aclaración sobre los comandos aplicados a continuación: El símbolo # se asocia al uso de los mismos como superusuario root, en cambio el símbolo $ se refiere a comandos usados por cualquier usuario sin privilegios. Quede claro que en ningún caso

4) Instala las cabeceras en tu sistema como root mediante el comando

# dpkg -i kernel-headers-2.4.23-ck1_1.0_i386.deb

5) Crea un enlace simbólico para poder compilar los drivers (en mi caso es como sigue) con el comando

# ln -s /usr/src/kernel-headers-2.4.23-ck1 /lib/modules/2.4.23-ck1/build

Posiblemente, tu sistema te indique que el fichero "/lib/modules/2.4.23-ck1/build" ya existe; y es cierto, pero apuntando a otro sitio y no hacia el directorio correcto "/usr/src/kernel-headers-2.4.23-ck1". ¿Posibles soluciones? Como soy novato en esto, lo que yo hice fue borrar como root el enlace mediante el comando rm, lo que no es aconsejable porque puedes borrar los archivos a los que apunta el enlace, por lo que es preferible usar el comando unlink. Si este es tu caso, usa los siguientes comandos:

# unlink /lib/modules/2.4.23-ck1/build
# ln -s /usr/src/kernel-headers-2.4.23-ck1 /lib/modules/2.4.23-ck1/build

6) Ahora instala los driver que descomprimiste en el paso 2, de acuerdo con las instrucciones que se acompañan. En mi caso lo hice mediante los siguientes comandos:

$ make
# make install

Si hay suerte podrás pasar al siguiente paso ... yo estoy aquí atascado y si avanzo ya lo comunicaré en el foro. Si alguien puede echar una mano se agradece.

7) Configura la conexión y crea una cuenta de acceso.

Hasta aquí, todo debería ir sin problemas. Pero llegado este punto anduve bastante atascado...

Después de compilar e instalar slmodem-2.9.6, se debe crear una instalación del dispositivo en dev/ttySL0 (lo habitual es que lo haga en dev/ttys?, donde ? puede ser 0, 1 ó 2), enlazado con dev/modem, pero lo cierto es que dicho archivo no existe ... por lo que no puedo configurar la conexión, así que habrá que seguir investigando... :-?

Y esto escribí con posterioridad...

Por fin he logrado instalar el módem Smartlink 56k en un portátil Airis 620 :-D

Sobre chip Intel AC'97 82801DB ICH4 bajo controlador 8086:24c6 y subsistema 1584:4007, he seguido todos los pasos descritos anteriormente (ver también el archivo Readme generado al descomprimir el paquete slmodem-2.9.6.tar.gz), aunque antes de continuar son necesarias unas aclaraciones muy importantes:

1) Algunos paquetes Debian que conseguí para hacer funcionar el módem no los he necesitado para instalar los drivers, me bastó con el paquete slmodem-2.9.6.tar.gz.

2) Una vez que se termina el proceso de instalación, justo después de ejecutar como root # make install, se procede a la carga del driver y la creación del puerto mediante el comando

# slmodemd --country=SPAIN
(si no te sale el mensaje del recuadro de más abajo deberás ejecutarlo como sigue)
# /usr/sbin/slmodemd --country=SPAIN

llegado este punto aparece en el terminal el siguiente mensaje:

SmartLink Soft Modem: version 2.9.6 Apr 4 2004 02:59:34
modem `slamr0' created. TTY is `/dev/pts/2'
symbolic link `/dev/ttySL0' -> `/dev/pts/2' created.
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

Como queda claro, se liquida el proceso de carga mediante la combinación de teclas Ctrl+C o cerrando el terminal. Por tanto, no hagas ninguna de las dos cosas.

3) Abrimos otra consola como root (mientras tanto la anterior sigue activa) y ejecutamos:

# pppconfig para crear la/s cuenta/s de conexión que queda/n almacenada/s en nuestro equipo. Muy importante es que indiques como puerto de comunicaciones /dev/ttySL0

4) Desde esta segunda consola se ejecuta la siguiente línea de comando:

# pon nombre_de_tu_cuenta

y para finalizar la conexión se usa ésta otra:

# poff nombre_de_tu_cuenta

También se puede matar el proceso cerrando las consolas. Otra cosa, puedes usar la aplicación Gkdial, pero a mí me ha dado cuelgues y problemas, por lo que aviso antes.

Finalmente, estoy probando scripts que automaticen el proceso de carga del módem desde el inicio y evitar la tediosa tarea de ejecutarlo cada vez que nos conectamos; además hay que tener abiertas dos consolas y si se puede, mejor evitarlo. Por ahora no he encontrado la forma de arreglarlo, así que por favor, si encuentras una solución que esté funcionando en Guadalinex, ponla aquí en el foro.

-----------------------------

Esta que sigue es la solución que proponía bitsdisasters (usuario de los foros de Guadalinex) para este problema:

(una vez instalados los paquetes, siempre como root)... cargamos los drivers con modprobe slamr lo que creará el dispositivo /dev/slamr0. Luego ejecutas slmodemd --country=SPAIN /dev/slamr0 y matas el programa con Ctrl +C. Entonces haciendo simplemente slmodemd & lo puedes ejecutar en segundo plano y configurar con pppconfig indicando que el puerto de comunicaciones es el /dev/ttySL0. Si usas kppp o gppp tendrás que crear un enlace simbólico hacia /dev/modem para que puedan hacer uso del módem.

=====================================

Finalmente conseguí instalar el winmodem de mi equipo, no sin pelearme una y otra vez con el módem, el software y el sistema. :-((

Con objeto de cargar el módem al inicio y mejorar la seguridad del equipo, ya que el terminal de root debe permanecer abierto mientras la conexión esté activa, he realizado los siguientes cambios:

1) He creado como root el fichero de texto /etc/init.d/slmodemd con el contenido siguiente:

/usr/sbin/slmodemd --country=SPAIN &

2) He otorgado
permisos de lectura y ejecución mediante el uso del siguiente comando:

sudo chmod 755 /etc/init.d/slmodemd

3) He ejecutado el comando runlevel para saber el nivel de ejecución de mi sistema [aparece un número del 2 al 5 que se corresponde con la X que he asignado al hipotético directorio
/etc/rcX.d]. En mi caso era el 2 y por tanto debía crearlo en /etc/rc2.d como indico a continuación.

4) Me he situado en el directorio
/etc/rc2.d y he creado el enlace simbólico respectivo con el comando:

# ln -s ../init.d/slmodemd S95slmodemd

... y problema resuelto. Ya tienes tu sistema listo para conectar con la cuenta previamente configurada.

Ufff, me pareció auténticamente un milagro haberlo conseguido.

Hasta pronto