Mostrando entradas con la etiqueta compilar. Mostrar todas las entradas
Mostrando entradas con la etiqueta compilar. Mostrar todas las entradas

28 febrero 2008

Compilar rt73 en Ubuntu

Esta es la segunda receta que cuelgo en este blog para compilar el módulo rt73 bajo Linux y aun no tengo la certeza de que pueda funcionar. Ha sido pensada para Guadalinex v4 [basada en Ubuntu Edgy], aunque puede ser válida, salvando alguna pequeña diferencia, para la mayoría de distribuciones Linux y en particular para aquellas basadas en Ubuntu. La otra receta que edité hace algunos meses es más simple [clic aquí] pero me consta que en algún caso no llegó a funcionar.

Antes de nada debemos asegurarnos de que no se cargue el módulo rt73usb que ya sabrás no es válido para gestionar la tarjeta, por lo que se debe editar el archivo blacklist con el comando sudo gedit /etc/modprobe.d/blacklist y una vez que se ha editado el archivo blacklist, se debe añadir al final del mismo las siguientes líneas,

blacklist
rt73usb

blacklist rt2570

blacklist rt2×00lib

con lo que se evitará la carga de ese módulo. Si anteriormente hubiésemos intentado la conexión con Ndiswrapper, se añadirá una nueva línea blacklist ndiswrapper, con lo que evitaremos que ese módulo se cargue igualmente en nuestro sistema. Guarda los cambios en el archivo. Ahora hay que reiniciar y comprobar con el comando lsmod que ninguno de los dos módulos, rt73usb y ndiswrapper, aparecen cargados en el kernel de nuestro sistema.

Es necesario instalar las fuentes del kernel (linux-source), aunque verás recetas que no requieren esa operación como la comentada anteriormente. Comienza por descargarlas de los repositorios de Guadalinex [o de Ubuntu si fuera el caso]; simplemente hay que buscarlas con Synaptic o bien desde terminal con apt-get e instalarlas. El caso es que he mirado en el repositorio oficial de Guadalinex y las fuentes que encuentro para la v4 son las que corresponden al kernel 2.6.17, de ahí que el ejemplo que propongo sea para esa versión. Desde la aplicación Synaptic es posible comprobar si es ésta la versión más reciente. En última instancia, te sugiero que pruebes a llevar a cabo esta tarea sobre una v4 pura sin actualizar, compila el driver y por último actualiza tu sistema.

Si no se dispone de conexión bajo Guadalinex se pueden descargar desde otro equipo o sistema operativo. El método más sencillo consiste en bajarse el paquete deb desde el repositorio oficial. Una vez descargado se copia al escritorio de tu equipo desde donde se pueden instalar fácilmente con un doble clic sobre dicho archivo o desde un terminal con el comando [si usas otra versión de las fuentes, el comando indicado sería el que corresponda a las fuentes descargadas]:

sudo dpkg -i /home/tu_usuario/Desktop/linux-source-2.6.17_2.6.17-10.33_all.deb


Si el nombre de las fuentes o la versión de las mismas fuese otro, hay que usar el que corresponda en ese caso.

Lo más probable es que te cree un archivo comprimido en el directorio /usr/src, por lo que debes entrar en ese directorio con el comando cd /usr/src y descomprimir con el comando

sudo tar xvfj linux-source-2.6.17-bla-bla-bla.tar.bz2

pero si el archivo fuese del tipo linux-source-2.6.17-bla-bla-bla.tar.gz debes ejecutar el comando

sudo tar zxvf linux-source-2.6.17-bla-bla-bla.tar.gz

Una vez instaladas las fuentes se requieres también instalar las cabeceras [linux-headers], pero teniendo en cuenta que Guadalinex incorpora además las cabeceras del kernel instaladas de serie [al menos en la versión v4, no sé sin la v4.1 estarán ya disponibles], nos aseguramos que hay creado un enlace simbólico desde el archivo /lib/modules/2.6.17-10-generic/build hacia /usr/src/linux-headers-2.6.17-generic y otro desde/usr/src/linux hacia /usr/src/linux-2.6.17. Si no fuera así hay que crearlos con los dos comandos siguientes:

sudo ln -s linux-source-2.6.17-bla-bla-bla linux

sudo ln -s /usr/src/linux-headers-2.6.17-bla-bla-bla /lib/modules/2.6.17-bla-bla-bla/build

La existencia o no de esos enlaces, que no archivos, se puede comprobar con el explorador de archivos, Nautilus, y el botón derecho del ratón sobre el mencionado archivo para ver sus propiedades. Está claro que bla-bla-bla es una cadena de caracteres que desconozco pero puede ser “generic” o algo parecido.

Ahora te bajas los drivers del sito de Ralink, en concreto los que corresponden a rt25001usb y además el paquete del firmware. El paquete del driver descargado [el del firmware creo que no hay que instalarlo ya que viene de serie, pero por si acaso lo descargas] se puede extraer directamente situando el puntero del ratón sobre él y clicar con el botón derecho del ratón para elegir "Extraer aquí", o bien desde un terminal ejecutando el siguiente comando

tar zxvf /ruta_archivo/2008_0117_RT73_Linux_STA_Drv1.1.0.0.tar.gz


Ahora entras en la carpeta Module y ahí tienes todo el conjunto de archivos del driver listo para compilar. Lee el archivo Readme donde se te dan las instrucciones para compilar el módulo rt73, tanto para kernels 2.4 como 2.6 series.

Abre el terminal y muévete hasta el directorio creado al descomprimir el archivo, mediante el uso del comando cd por lo que se puede ejecutar el comando

cd /ruta_archivo/2008_0117_RT73_Linux_STA_Drv1.1.0.0/Module

[está claro que ruta_archivo se refiere a la ruta donde se encuentra el directorio creado al descomprimir el archivo de los drivers]. Si fuese tu escritorio, la ruta sería algo así como


/home/tu_usuario/Desktop/rt73/2008_0117_RT73_Linux_STA_Drv1.1.0.0

Seguidamente ejecuta el comando sudo cp Makefile.6 Makefile con lo que creas el archivo Makefile necesario para las reglas de compilación a partir de Makefile.6 para tu kernel 2.6. [observa que hay otro archivo, Makefile.4 que es el que corresponde al kernel de las series 2.4 y que deberías usar para compilar con esa serie del kernel].

Continúa con la receta de los foros Ubuntu y ejecuta la siguiente secuencia de comandos:

sudo make

A veces, se crea una cantidad de código inservible sobre el módulo rt73 y hay que "desnudarlo" con el comando strip -S rt73.ko para continuar con la secuencia de comandos habitual.

sudo cp rt73.ko /lib/modules/2.6.X/kernel/drivers/net/wireless/

sudo insmod /lib/modules/2.6.X/kernel/drivers/net/wireless/rt73.ko

sudo depmod -a

sudo modprobe rt73

Para que arranque el sistema con este módulo siempre cargado debes abrir el archivo /etc/modules con el comando gksudo gedit /etc/modules y añade una línea al final del archivo que acabas de abrir, en concreto añadirás rt73 y guardas el archivo con los cambios introducidos.

Se supone que ya deberías poder configurar la conexión, para lo que tendrás que ir al menú Sistema > Administración > Red y si no fuese posible conectar, hay que hacer algunas cositas más.

Se puede saber si ha cargado el módulo con el comando lsmod y el estado de la interfaz wifi con el comando iwconfig.

Es muy importante que si algo no sale, copies los mensajes de error que te envía el sistema y los estudies detenidamente. Si has conseguido completar este proceso sin errores estás a punto de ver la luz; y si te has equivocado en algo, ya intentaremos descubrir lo que fue mal.

Si a pesar de todo no logras configurar la conexión, es posible que el nombre wlan0 [e incluso wlan1] asignado a rt73, no sea compatible con tu sistema, por lo que puedes crear un alias como te propongo a continuación, pero antes observa el comentario que encontré en el sitio de Ubuntu:

I then added in /etc/modules the line "rt73" and in /etc/modprobe.d/rt73 "alias rausb0 rt73" and removed the obsolete /etc/modprobe.conf created by make install.

Si cuando ejecutas el comando iwconfig aparece en la primera línea wlan1... [a veces puede aparecer como wlan0], puede ser conveniente crear un alias, para lo que vas a ejecutar el comando gksudo gedit /etc/modprobe.d/aliases y añade al final la siguiente línea, alias rausb0 rt73. Seguramente debas eliminar /etc/modprobe.conf como indica la nota anterior y no olvides que también podrías crear el alias como se indica ahí mismo, añadiendo en /etc/modprobe.d/rt73 una línea con el contenido alias rausb0 rt73.

Si te conectas por DHCP ejecuta en un terminal el comando sudo dhclient rausb0. Pero si te conectas con IP estática, ejecuta en un terminal el comando sudo ifconfig rausb0 tu_número_IP up .

Reinicia el equipo y ya está. ¿Puedes configurar ahora la conexión con tu dispositivo wifi? Así lo espero.

Comenta todas las incidencias ocurridas durante el proceso con todo lujo de detalles. Así sabremos cómo ayudarte y de paso ayudamos a los nuevos usuarios que pretendan seguir tus pasos.

Un último detalle. Hay dos guías más en los foros para compilar el driver rt73. La primera requiere conexión a Internet y la recomiendo vivamente; fue elaborada por anariv siguiendo fielmente las recomendaciones del fabricante del chipset, aunque debe manejarse con criterio ya que fue redactada en su día para un kernel determinado y en unas condiciones muy particulares [para verla pincha aquí]. Hay otra receta para usar sin conexión y aparentemente más sencilla; ha sido probada con éxito aunque algunos usuarios no pudieron ponerla en práctica [clic aquí].

Enga, hasta pronto y mucha suerte.

03 diciembre 2007

Tarjeta USB de Imagenio

¡¡¡ COMPROBADO - FUNCIONA !!!

[Receta aplicada sobre un sistema limpio y recién instalado]

Se trata de dar cobertura al dispositivo wifi que proporciona Imagenio y que responde por las siguientes características: adaptador USB inalambrico Amper Arcadyan Technology Corporation WN4501H. El chipset es exactamente el zd1211b, como se puede ver en el sitio oficial y queda identificado por el código 083a:e501 del fabricante Accton Technology Corp.

Antes de nada debemos asegurarnos de que no se cargue ningún otro módulo para gestionar la tarjeta, por lo que se debe editar el archivo blacklist con el comando sudo gedit /etc/modprobe.d/blacklist y una vez que se ha editado el archivo blacklist, se debe añadir al final del mismo la siguiente línea, blacklist zd1211rw con lo que se evitará la carga de ese módulo. Si anteriormente hubiésemos intentado la conexión con Ndiswrapper, se añadirá una nueva línea blacklist ndiswrapper, con lo que evitaremos que ese módulo se cargue igualmente en nuestro sistema. Ahora hay que reiniciar y comprobar con el comando lsmod que ninguno de los dos módulos, zd1211rw y ndiswrapper, aparecen cargados en el kernel de nuestro sistema.

Un par de comentarios previos. Es posible que no se necesite bajar las fuentes del kernel y que sea suficiente con las cabeceras, asíq ue este primer intento se llevará a cabo solamente con lo que tenemos en el sistema "tal cual". El módulo a compilar es el zd1211b [esto lo comento porque hay pequeñas modificaciones en el proceso si el módulo fuese el zd1211].

Comprobado: Es necesario instalar las fuentes del kernel (linux-source). No ha colado lo de la compilación con las headers. Para ello se pueden descargar de los repositorios de Guadalinex [o de Ubuntu si fuera el caso], simplemente hay que buscarlas con Synaptic o bien desde terminal con apt-get e instalarlas. Si no se dispone de conexión bajo Guadalinex se pueden descargar desde otro equipo o sistema operativo, aunque lo mejor es ir al repositorio oficial. Una vez descargadas se copian al escritorio de Guadalinex desde donde se pueden instalar fácilmente con un doble clic sobre dicho archivo o desde un terminal con el comando:

sudo dpkg -i /home/tu_usuario/Desktop/linux-source-2.6.17_2.6.17-10.33_all.deb


Si el nombre de las fuentes o la versión de las mismas fuese otro, hay que usar el que corresponda en ese caso.

Lo más probable es que te cree un archivo comprimido en el directorio /usr/src, por lo que debes entrar en ese directorio con el comando cd /usr/src y descomprimir con el comando

sudo tar xvfj linux-source-2.6.17-bla-bla-bla.tar.bz2

pero si el archivo fuese del tipo linux-source-2.6.17-bla-bla-bla.tar.gz debes ejecutar el comando

sudo tar zxvf linux-source-2.6.17-bla-bla-bla.tar.gz

Una vez instaladas las fuentes se requieres también instalar las cabeceras [linux-headers], pero teniendo en cuenta que Guadalinex incorpora además las cabeceras del kernel instaladas de serie [al menos en la versión v4, no sé sin la v4.1 estarán ya disponibles], nos aseguramos que hay creado un enlace simbólico desde el archivo /lib/modules/2.6.17-10-generic/build hacia /usr/src/linux-headers-2.6.17-generic y otro desde/usr/src/linux hacia /usr/src/linux-2.6.17. Si no fuera así hay que crearlos con los dos comandos siguientes:

sudo ln -s linux-source-2.6.17-bla-bla-bla linux

sudo ln -s /usr/src/linux-headers-2.6.17-bla-bla-bla /lib/modules/2.6.17-bla-bla-bla/build

La existencia o no de esos enlaces, que no archivos, se puede comprobar con el explorador de archivos, Nautilus, y el botón derecho del ratón sobre el mencionado archivo para ver sus propiedades. Está claro que bla-bla-bla es una cadena de caracteres que desconozco pero puede ser “generic” o algo parecido.

Preparado ya el sistema para compilar, el paso siguiente es bajar los drivers del sitio oficial y las instrucciones sobre cómo instalarlos. Ahora conviene hacer una lectura pausada del documento para detenernos en sus apartados 2 y 3. Reproduzco seguidamente el texto del mismo:

2. Building the device driver

In this section, we will describe how to build our ZD1211 Linux driver under the Linux operating system.

2.1 Package Extraction

The first thing one should do is to uncompress this package by tar. After untaring this package, you can see the source files. One should change directory into this directory for proceeding the next step.

El paquete descargado se puede extraer directamente situando el puntero del ratón sobre él y clicar con el botón derecho del ratón para elegir "Extraer aquí", o bien desde un terminal ejecutando el siguiente comando

tar zxvf /ruta_archivo/ZD1211LnxDrv_2_21_0_0.tar.gz

Ahora desde el terminal nos movemos hasta el directorio creado al descomprimir el archivo, mediante el uso del comando cd por lo que se puede ejecutar el comando cd /ruta_archivo/ZD1211LnxDrv_2_21_0_0 [está claro que ruta_archivo se refiere a la ruta donde se encuentra el directorio creado al descomprimir el archivo de los drivers].

Hecho ésto hay que realizar antes un pequeño ajuste, como se describe a continuación:

2.2 Build and install the driver

The package contains drivers for ZD1211 and ZD1211B. If you doesn’t have specified request, both of them will be installed.

Under the extracted directory, there is a Makefile in it. Because our driver can support for kernel 2.4 and kernel 2.6, there are two sets of rule in the Makefile. One has to modify the Makefile according to the path of “kernel source tree” and the version of the kernel in your system. In the Makefile, you may see the following statements,

# if the kernel is 2.6.x, turn on this

#KERN_26=y

#KERNEL_SOURCE=/usr/src/linux-2.6.7

# if the kernel is 2.4.x, turn on this

KERN_24=y

KERNEL_SOURCE=/usr/src/linux-2.4.20-8

If you want to build the kernel under the kernel of 2.4.x, one has to set the variable KERN_24=y and comment the KERN_26=y like that as the example above and modify the variable KERNEL_SOURCE to the path which you install the kernel source. After doing these things, one just need to type the make, and the driver module will be generated and installed.

Se trata de editar con Gedit o cualquier otro editor de texto [bastará con hacer doble clic con el puntero del ratón sobre el archivo Makefile] el archivo Makefile y proceder a realizar ciertas cambios en él. En el texto en inglés se describen varias situaciones, pero puede ser suficiente modificar sólo la línea 20 del archivo Makefile que tenemos en la carpeta donde se ha descomprimido el driver dejándola así:

KERNEL_SOURCE=/usr/src/linux

Ahora se guardan los cambios y seguimos con las instrucciones descargadas:

2.3 Install individual driver

If you only need driver of ZD1211 or ZD1211B, you can issue :

make clean

make ZD1211REV_B=0 (0 for ZD1211, 1 for ZD1211B)

make ZD1211REV_B=0 install (0 for ZD1211, 1 for ZD1211B)

to install the driver.

Así pues llegado a este punto hay que ejecutar los siguientes comandos:

make clean

make ZD1211REV_B=1

sudo make ZD1211REV_B=1 install

3. Getting Start

3.1 Load the driver

Generally, the driver is automatically loaded when the zd1211 dongle inserts. If not, one can use the modprobe –v zd1211(or zd1211b) to load our driver. In order to check whether our driver is loaded successfully, one can use the “lsmod” for this check. If our driver is loaded successfully, the following messages should be seen

...

zd1211 183576 0 (unused)

...

Please note that the 183576 may not be the same as that in your system.

Aquí se informa de que el driver debe estar ya cargado, pero si no fuera así, se procede ejecutando el siguiente comando:

modprobe –v zd1211b

Se puede comprobar si está cargado mediante el comando lsmod que debe mostrarnos una lista de los módulos cargados en el kernel en la que debe aparecer el nuestro, zd1211b. Este es un buen momento para comprobar que no hay ni rastro del módulo zd1211rw, instalado de serie en el sistema, ya que de lo contrario habría que bloquearlo añadiéndolo a blacklist como se indica en el principio.

He supuesto que no ha habido ningún inconveniente en la compilación. Si no ocurriese ésto, hay que informar de los mensajes de error advertidos. Si todo fue bien, hay que proceder a la configuración de la red inalámbrica desde el menú Sistema > Administración > Red donde debes proporcionar todos los datos de conexión de una forma sencilla mediante una interfaz gráfica bastante intuitiva. La otra opción consiste en usar desde un terminal las opciones que maneja el comando iwconfig.

CONFIGURAR LA CONEXIÓN POR LÍNEA DE COMANDOS

Si decides configurar la conexión manualmente, abre un terminal y teclea el comando iwconfig. De esta forma reconocerás la interfaz de la tarjeta wireless con un nombre específico, en nuestro caso como eth1. Ahora tratamos de identificar las redes disponibles que tenemos a nuestro alcance con el comando sudo iwlist eth1 scan, entre las que debe estar la nuestra. Conviene apuntar la ESSID de nuestra conexión si es que no la sabemos, ya que luego nos hará falta. Si no admite el escaneo, consulta con tu proveedor de acceso a Internet para informarte de cuáles son los datos de la Essid y la clave, si es que no los conoces. En Imagenio y en Orange se puede consultar en la base del router.

Con la ESSID y la contraseña de acceso inalámbrica proporcionada por Telefónica [o el proveedor que corresponda] hay que ejecutar en un terminal los siguientes comandos, uno tras otro:

sudo ifconfig eth1 up
sudo iwconfig eth1 essid nombre_de_tu_red_wifi
sudo iwconfig eth1 key s:tu_contraseña
sudo dhclient eth1


Si conectas con IP estática en lugar de modo dhcp, la secuencia de comandos ejecutados en terminal quedaría de este modo:

sudo ifconfig eth1 up
sudo iwconfig eth1 essid nombre_de_tu_red_wifi
sudo iwconfig eth1 key s:tu_contraseña

sudo
ifconfig 192.168.1.X netmask 255.255.255.0 broadcast 192.168.1.255
sudo route add default gw 192.168.1.1

[192.168.1.X es el número IP asociado a tu máquina por lo que si no fuese ese debes usar el que corresponda en tu caso]. Finalmente, si la contraseña wep no está en modo ascii, sino hexadecimal, la línea donde aparece tu contraseña debe quedar así:
sudo iwconfig eth1 key tu_contraseña. Hasta aquí todo bien. Reinicia el equipo y ya deberías tener conexión.

SI A PESAR DE TODO NO LOGRAS CONECTAR


Con lo hecho hasta ahora debería ser suficiente para conectar, pero por razones poco claras, esta información que debe quedar almacenada en el archivo
/etc/network/interfaces desaparece en cada reinicio, con lo que se requiere cargarla cada vez que arrancamos el equipo. Para automatizar el proceso vamos a crear un script, mediante un archivo de texto, por lo que vas a abrir el editor de texto favorito [Gedit es el habitual] y vas a copiar el siguiente contenido:

#!/bin/bash

sudo ifconfig eth1 up
sudo iwconfig eth1 essid nombre_de_tu_red_wifi
sudo iwconfig eth1 key s:tu_contraseña
sudo dhclient eth1


Si conectas con IP estática en lugar de modo DHCP, el texto quedará de esta otra forma:

#!/bin/bash

sudo ifconfig eth1 up
sudo iwconfig eth1 essid nombre_de_tu_red_wifi
sudo iwconfig eth1 key s:tu_contraseña
sudo
ifconfig 192.168.1.X netmask 255.255.255.0 broadcast 192.168.1.255
sudo route add default gw 192.168.1.1

[192.168.1.X es el número IP asociado a tu máquina por lo que si no fuese ese debes usar el que corresponda en tu caso]. Finalmente, si la contraseña wep no está en modo ascii, sino hexadecimal, la línea donde aparece tu contraseña debe quedar así: sudo iwconfig eth1 key tu_contraseña.

Ahora lo guardas en tu escritorio con el nombre conecta.sh y a continuación lo copias o, directamente lo mueves, como root con el comando sudo mv /home/tu_usuario/Desktop/conecta.sh /etc/init.d y, finalmente, moviéndote al directorio donde ha sido copiado [recuerda que debes usar el comando cd /etc/init.d/ para cambiar al directorio elegido] le otorgas permiso de ejecución con el comando sudo chmod 0755 /etc/init.d/conecta.sh

Para finalizar, tecleas en el terminal sudo update-rc.d conecta.sh defaults, con lo que añades un enlace a ese archivo desde el sistema de inicio.

Por último, reinicias para aplicar cambios y ya tienes configurada tu conexión wifi en tu Ubuntu/Guadalinex. Si quieres desconectar la conexión, ejecuta el comando sudo ifdown eth1.

Un consejo, no hagas demasiado caso del asistente para redes Network Manager, ya que no gestiona demasiado bien el uso del módulo zd1211b.

Que nadie se asuste por la extensión de esta guía, ya que en realidad es bastante más corta de lo que parece.

Suerte y hasta pronto :-)

16 septiembre 2007

Compilar rt73 en Linux

Esta miniguía pretende servir para compilar y cargar el módulo rt73 bajo Guadalinex v4 y Ubuntu Edgy o Feisty. Antes debes comprobar que la tarjeta monta ese chipset, lo cual es tan fácil como usar en un terminal el comando lsusb y comprobar los dígitos que identifican al mismo. Se trata de un número del tipo 050d:705a y que mediante una sencilla búsqueda en Internet te indicará cuál es exactamente el chipset que monta la tarjeta.

Si tu tarjeta monta el chipset rt73 de Ralink, para hacerla funcionar en Ubuntu Edgy/Feisty o Guadalinex v4 hay que salvar un problema previo. Ubuntu/Guadalinex trae precompilado el módulo rt73usb que debería hacer funcionar la tarjeta, aunque, por algún problema que desconozco, realmente no sirve para nada; es más, no solo no vale sino que además incordia. Si no, Ubuntu sería casi perfecto. Además del módulo rt73usb, también se cargan otros módulos [rt2570 y rt2x00lib], por lo que te sugiero hagas lo siguiente:

Desinstala el módulo que tiene Ubuntu/Guadalinex por defecto:

sudo rmmod rt73usb

Para que no vuelva a cargar ese módulo en el arranque, modifica el archivo /etc/modprobe.d/blacklist, lo que puedes hacer con el comando gksudo gedit /etc/modprobe.d/blacklist y añade las siguientes líneas:

blacklist rt73usb

blacklist rt2570

blacklist rt2×00lib

Antes de proceder a instalar los drivers, los usuarios de Ubuntu deben descargar e instalar las cabeceras del kernel o headers y el paquete build-essential. Yo me he basado en la receta propuesta en el blog Diario de un nómada y ahí se realiza usando el terminal desde Linux bajo una conexión a Internet mediante el comando sudo apt-get install build-essential linux-headers-`uname -r`pero si no dispones de conexión debes ingeniártelas para realizar la instalación. Afortunadamente, los usuarios de Guadalinex no tenemos este problema, ya que las cabeceras vienen instaladas de serie.

Si no estuvieran instalados estos paquetes, y en el supuesto de que no tengamos conexión a internet, lo más fácil es instalarlos desde el CD de Ubuntu/Guadalinex. Introducimos el CD y el cuando el sistema nos pregunte si deseamos abrirlo con el gestor de paquetes Synaptic, aceptamos. Otra opción pasa por abrirlo desde el propio Synaptic, desde el menú Sistema > Administración > Gestor de paquetes Synaptic y una vez abierto el programa vamos al menú Configuración > Repositorios y seleccionamos añadir CD. Confirmamos y pulsamos después el botón Recargar, con lo que aparecerán en la pantalla todos los paquetes instalados y los que podemos instalar desde el cd.

Buscamos build-essential y linux-headers y los marcamos para instalar [en el caso de las cabeceras se deben seleccionar dos paquetes, que pueden ser linux-headers-2.6.20-15-generic y linux-headers-2.6.20-15 u otras versiones posteriores]. Finalmente validamos con el botón Aplicar y aceptamos.

Ahora te bajas los drivers para Linux del sitio SerialMonkey. Los descargas en tu directorio de trabajo, supongamos que fuese /home/tu_usuario y por tanto para extraerlos abre un terminal y ejecuta el comando tar -xvzf rt73-cvs-daily.tar.gz y seguidamente observa desde el navegador de archivos (Nautilus) que se te ha creado una carpeta llamada rt73-cvs-200709****, en donde los asteriscos corresponden al día y hora de la versión, 2007 es el año y 09 el mes [como ves, dependiendo de la fecha, así será el nombre del archivo]. Bien, entra en esa carpeta desde el terminal usando el comando cd rt73-cvs-200******* [en lugar de asteriscos escribes los números que correspondan]. Es más, si escribes en terminal cd rt+tecla tabulador, se autocompleta el nombre [truquillo muy útil para el terminal]. Entra ahora en la carpeta /Module con el comando cd Module, aunque podías haberlo hecho de una sola vez con el comando cd rt73-cvs-200*******/Module/

Ahora ejecuta uno tras otro los siguientes comandos:

make

strip -S rt73.ko

sudo make install

Por último hay que cargar el nuevo modulo con el comando

sudo modprobe rt73

Para que arranque el sistema con este módulo siempre cargado debes abrir el archivo /etc/modules con el comando gksudo gedit /etc/modules y añade una línea al final del archivo que acabas de abrir, en concreto añadirás rt73 y guardas el archivo con los cambios introducidos.

Se supone que ya deberías poder configurar la conexión, para lo que tendrás que ir al menú Sistema > Administración > Red y si no fuese posible conectar, hay que hacer algunas cositas más.

Se puede saber si ha cargado el módulo con el comando lsmod y el estado de la interfaz wifi con el comando iwconfig.

Es muy importante que si algo no sale, copies los mensajes de error que te envía el sistema y los estudies detenidamente. Si has conseguido completar este proceso sin errores estás a punto de ver la luz; y si te has equivocado en algo, ya intentaremos descubrir lo que fue mal.

Si a pesar de todo no logras configurar la conexión, es posible que el nombre wlan0 [e incluso wlan1] asignado a rt73, no sea compatible con tu sistema, por lo que puedes crear un alias como te propongo a continuación, pero antes observa el comentario que encontré en el sitio de Ubuntu:

I then added in /etc/modules the line "rt73" and in /etc/modprobe.d/rt73 "alias rausb0 rt73" and removed the obsolete /etc/modprobe.conf created by make install.

Si cuando ejecutas el comando iwconfig aparece en la primera línea wlan1... [a veces puede aparecer como wlan0] Ejecuta el comando gksudo gedit /etc/modprobe.d/aliases y añade al final la siguiente línea, alias rausb0 rt73. Seguramente debas eliminar /etc/modprobe.conf como indica la nota anterior y no olvides que también podrías crear el alias como se indica ahí mismo, añadiendo en /etc/modprobe.d/rt73 una línea con el contenido alias rausb0 rt73.

Si te conectas por DHCP ejecuta en un terminal el comando sudo dhclient rausb0. Pero si te conectas con IP estática, ejecuta en un terminal el comando sudo ifconfig rausb0 aquí_tu_IP up.

Reinicia el equipo y ya está. ¿Puedes configurar ahora la conexión con tu dispositivo wifi? Así lo espero.


Enga, hasta pronto.

01 marzo 2007

Compilar el Kernel

Después de comprobar en el foro de Guadalinex que son muchos los usuarios que se plantean la necesidad de compilar un nuevo kernel y existiendo una miniguía dedicada al tema, he decidido crear un nuevo hilo específico con este título con objeto de facilitar las búsquedas, una vez depurado el procedimiento tras numerosas compilaciones. Ha sido desarrollado sobre Guadalinex 2004 [basado en Debian Sarge], pero se puede decir que es aplicable a cualquier otra distribución, salvo en lo referente a la descarga de paquetes. En todo caso quiero advertir que este procedimiento es válido para el kernel 2.6 pero no para las series del 2.4, donde hay algunas diferencias que se pueden consultar en los enlaces que se indican en el siguiente párrafo.

Quiero agradecer a edulinux, usuario de Guadalinex y amigo personal, la ayuda prestada y a trunks y alfabet [usuarios de los foros], sus oportunos comentarios en el hilo "Compilar Kernel".

También he consultado la información de otros sitios web, por lo que recomiendo los artículos dedicados a la compilación del núcleo [kernel] que se encuentran en los siguientes sitios [ya sé que hay otros muchos, pero estos son los que yo he usado]:

El rincón de Linux

Guía de L.A. Cofiño

Frikis.org [pensado para el kernel 2.4.]

Sobre menú de configuración [menuconfig].

Mi ordenador portátil Airis 620 se apagaba frecuentemente al inicio, generalmente al ir a cargar el ACPI que gestiona la energía del equipo. Buscando a posteriori información sobre el tema, en algunos foros de internet se describe que el kernel 2.6 genera conflictos con la ACPI, por lo que la solución de compilar un nuevo núcleo parece que fue la más acertada. Desde http://www.kernel.org se puede descargar cualquier versión del kernel y en nuestro caso usamos la 2.6.8.1, que era la última que había disponible. Una vez descargada se copia al directorio /usr/src.

Un detalle importante radica en que para compilar esa versión del núcleo se requieren ciertas librerías, en concreto el paquete libncurses5-dev_5.4-4_i386.deb. Si usas otra versión de Linux, descarga de tu sitio las librerías en cuestión [en algún sitio leí que también era necesario el paquete libncurses5_5.4-4_i386.deb, aunque no me consta que este último haya sido instalado].

Arrancamos nuestro sistema Guadalinex [tuvimos suerte ya que lo logramos al primer o segundo intento] y abrimos nuestra consola de root. Copiamos las librerías en el portátil y ejecutamos el comando de instalación del paquete [el símbolo # tiene carácter meramente indicativo y lo uso para informar de que el comando citado debe ser usado como root]:

# dpkg -i libncurses5-dev_5.4-4_i386.deb


Seguidamente copiamos el archivo linux-2.6.8.1.tar.bz2 [ocupa 34 megas] en la carpeta /usr/src, mediante el comando

# cp /directorio_de_origen/linux-2.6.8.1.tar.bz2 /usr/src

Ahora nos vamos al susodicho directorio mediante la orden

# cd /usr/src

y descomprimimos mediante el comando

# tar xvfj linux-2.6.8.1.tar.bz2

Ahora toca crear un enlace simbólico que apunte desde el directorio /usr/src/linux hasta /usr/src/linux-2.6.8.1 y para ello ejecutamos

# ln -s linux-2.6.8.1 linux

Los pasos que vienen ahora pretenden que la compilación del núcleo se realice con la misma configuración que tenemos para nuestro Guadalinex, lo que garantizará una compatibilidad total para el funcionamiento del sistema con el nuevo núcleo [no es necesario tocar nada para tener el mismo escritorio original]. Para ello, entramos en /usr/src/linux y copiamos el archivo config-2.6.5 [ahí está la configuración de nuestra versión del kernel que carga guadalinex] en /usr/src/linux y a continuación lo renombramos como .config

# cp /boot/config-2.6.5 /usr/src/linux

# mv config-2.6.5 .config

Ahora nos situamos en el directorio /usr/src/linux y ejecutamos

# make oldconfig

lo que nos permite conservar la configuración original de Guadalinex. Nos preguntará por las nuevas opciones de este kernel mediante un larguísimo y tedioso proceso de actualización. Si nos equivocamos en algo no habrá problema ya que en el paso siguiente podremos corregirlo. Seguidamente mediante el comando make menuconfig nos saldrá un extensísimo menú con las características de configuración elegidas para nuestro núcleo.

AVISO: Esta nota la he introducido con posterioridad y tiene por objeto simplificar la carga de la configuración original del kernel. Es preferible no usar el comando "make oldconfig" descrito anteriormente por lo engorroso del método de actualización a las características del nuevo kernel. Es más, ni tan siquiera es necesario renombrar el archivo config-2.6.5 como .config ya que la mejor opción consiste en ejecutar directamente el comando "make menuconfig" como se describe a continuación y seleccionar en el menú disponible la opción "Load file..." para escribir a continuación "config-2.6.5" [o el nombre del archivo cuya configuración queramos cargar por defecto desde el directorio /usr/src/linux]. A partir de ese momento ya podemos elegir las opciones más adecuadas para nuestro equipo, como se describe en el paso siguiente.

# make menuconfig

¡¡¡ OJO !!! Es importantísimo que si no sabemos qué opciones elegir dejemos las que vienen seleccionadas por defecto. En mi caso seleccionamos activar APM [un sistema de gestión de la energía del portátil], seleccionamos micro [Pentium IV] y desactivamos ACPI [he leído que es incompatible con APM] e infrarrojos [la utilidad irda no la tengo disponible] y alguna más que no recuerdo y que supongo no afecta al problema que pretendemos solucionar. Actualmente trabajo con la candidata 6 montada con un núcleo 2.6.9 con las opciones ACPI y APM activadas. Es muy importante conocer con detalle el hardware de nuestro equipo si queremos compilar las opciones del núcleo adaptadas a las características técnicas de nuestra máquina, lo que permitirá optimizar su rendimiento. Si alguien quiere echar un vistazo a mi archivo de configuración no tiene más que pedírmelo. Pues bien, ya estamos en condiciones de compilar nuestro núcleo con la orden make.

AVISO: Después de bastantes compilaciones del núcleo, debo admitir que las opciones acpi funcionan correctamente y que ahora tengo disponible el kernel 2.6.9 con las opciones de Guadalinex 2004 por defecto, con sólo unas ligeras modificaciones adaptadas al hardware de mi equipo.

# make

Ahora el sistema necesita un buen rato para compilar el núcleo, por lo que es aconsejable dejarlo trabajar y volver cuando esté ya lista la compilación.

ATENCIÓN: Para el Kernel de la serie 2.4, la secuencia de comandos difiere con respecto a la 2.6. Para más detalles revisar los enlaces citados al principio.

Si hubiésemos elegido instalar una opción como módulo, debemos ejecutar

# make modules_install

¡¡¡ OJO !!! Es muy importante no olvidar ejecutar como root el comando # depmod -a la primera vez que arranquemos con nuestro nuevo kernel, para computar las dependencias entre modulos.

Bien pues ya está nuestro núcleo compilado y listo para que lo carguemos en /boot así que copiamos el kernel que se encontrará en arch/i386/boot/bzImage

y lo renombramos [yo le he llamado vmlinuz-2.6.8.1]

# cp /usr/src/linux-2.6.8.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.8.1

Finalmente, es posible que se deban cambiar los permisos de este archivo, asignándole lectura y escritura para root y solo lectura para grupos y otros. Por otro lado, renombramos el archivo /boot/System.map

# mv /boot/System.map System_2.6.5.old

y ahora copiamos en /boot el archivo System.map que está en /usr/src/linux

# cp /usr/src/linux/System.map /boot

Pues ya estamos casi listos. Sólo nos queda editar como root el archivo /boot/grub/menu.lst [en nuestro caso con el comando # gedit /boot/grub/menu.lst] y añadimos al final del mismo lo siguiente:

title Guadalinex-2004-2.6.8.1
root (hd0,7)
kernel /boot/vmlinuz-2.6.8.1 root=/dev/hda8 splash=silent vga=791
initrd /boot/initrd.splash

¡¡¡ OJO !!! Tienes que ver en qué partición de tu disco duro tienes cargado Guadalinex, por eso, lo mejor es que copies el párrafo correspondiente a la Guadalinex sobre la que estás compilando [en mi caso la 2.6.5] y lo pegues a pie de página [si eliges otra posición piensa que puedes modificar el número de la opción default que se cargará por defecto, lo que te obligaría a modificarlo]. Ahora le cambias el título [title]; le he llamado Guadalinex-2004-2.6.8.1 pero puedes usar cualquier otro. Por último, la línea kernel /boot/vmlinuz-2.6.5 root=/dev/hda8 la he sustituído por kernel /boot/vmlinuz-2.6.8.1 root=/dev/hda8 ¡¡¡ OJO !!! Se debe mantener el número de hda que corresponda en cada caso, ya que cada equipo tendrá sus propias particiones.

Si tengo que decir la verdad, de haber tenido que compilarlo yo solo, no me habría atrevido. Ahora que por fin lo consigo, creo que cualquiera puede hacerlo y a mí me habrá servido para lanzarme a nuevas compilaciones del núcleo.

Que disfrutéis tanto como yo y [ante todo] que solucionéis vuestro problema.

NOTA: en la primera compilación no se incluía ACPI, por lo que al cerrar el equipo no se apagaba solo y se nos queda en el powerdown, con lo que se debe pulsar el botón de apagado para desconectar. En siguientes compilaciones esa función quedó resuelta ya que se volvió a incluir ACPI.

OBSERVACIONES: Las versiones 2.6.8 y 2.6.9 del kernel generan una incompatibilidad con k3b, el magnífico programa de grabación de Linux, y sólo puedes a usar ese programa como root; yo he grabado en esas circunstancias y no he tenido problema, pero en equipos compartidos por más usuarios puede ser un inconveniente. La versión 2.6.7 la he usado con k3b y va fenomenal. Más información en el sitio oficial http://www.k3b.org/ donde se detallan posibles soluciones.

SUCESIVAS COMPILACIONES: Cuando se quiere realizar nuevas compilaciones del núcleo, ya sea porque queremos añadir o eliminar ciertas opciones al kernel, conviene proceder de la siguiente forma. En primer lugar salvaremos en un directorio creado al efecto los archivos .config, vmlinuz-2.6.8.1 [o el que corresponda en su caso] y system.map por si más tarde queremos volver a instalar la versión correspondiente del núcleo. Una vez salvados dichos archivos ejecutamos como root desde consola el comando make mrproper lo que nos limpia todos los archivos generados en anteriores compilaciones dejándonos las fuentes exclusivamente listas para una nueva compilación. Ahora copiamos el archivo .config al directorio /usr/src/linux y ejecutamos make menuconfig, cargamos el archivo .config mediante la opción "Load file...", hacemos las modificaciiones oportunas en el menú de configuración, las salvamos y seguimos con el procedimiento habitual, ejecutamos los comandos make [tarda un buen rato en realizarse la compilación] y make modules_install y continuamos con la secuencia descrita más arriba. No se debe olvidar ejecutar como root el comando depmod -a la primera vez que arranquemos con nuestro nuevo kernel, para computar las dependencias entre modulos.

MÁS SOBRE COMPILACIONES SUCESIVAS: Gracias a postman2 [usuario de Guadalinex], quiero añadir un detalle importante. Cuando se trate de compilaciones sucesivas, sobre otra/s ya existente/s, con objeto de no machacar los módulos instalados en nuestro sistema conviene realizar una modificación en el archivo Makefile de la carpeta /usr/src/linux añadiendo al término EXTRAVERSION= un nombre que identifique a la compilación que vamos a realizar [por ejemplo, si vamos a compìlar para habilitar un determinado módem usamos -modem]. Esto nos creará nuevos directorios con el nombre que hemos añadido a EXTRAVERSION=, lo que nos permitirá recuperar compilaciones previas, ya que si por algún motivo se genera un error en esta última no habremos machacado las anteriores.

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

GUADALINEX V3

Como esta versión de Guadalinex se basa en Ubuntu [Breezy], debe quedar claro que los comandos que requieren usar privilegios de root deben ser usados anteponiendo sudo al comando en cuestión.

Para los usuarios de Ubuntu resulta indispensable la lectura del siguiente tema colgado de los foros de hala hispana"Cómo compilar el Kernel de Ubuntu".


¡¡¡ Hasta pronto !!!

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