Cómo hacer funcionar el Módem sm56 de Motorola en RedHat 8 (kernel 2.4.18-14) paso a paso

  por: Yusufmyr

Introducción:

A todas aquellas personas que durante mucho tiempo han estado utilizando MS® Windows® y que ya estaban cansados con tanto 'parche' y errores desconocidos 'pantalla azul lapidaria' y que un buen día decidieron cambiarse a Linux® por los comentarios bastante favorables que sobre él se decían y que tuvieron la idea de instalar el RedHat® 8 en su sistema por ser el mas extendido y potente, pero lamentablemente como en todos los S.O. Linux® estos no reconocen bastantes marcas o modelos de periféricos (hardware) que tiene en su sistema , debido a la política de los fabricantes de estos dispositivos de no crear manejadores (drivers) para S.O. Linux®.

Este es el caso de los Módems internos que en MS Windows funcionan perfectamente pero en Linux® ni siquiera el sistema sabe que hay uno. Estos módems se les conoce como Winmodem y son todos los módems internos que se consiguen en el mercado; sin embargo a fines del milenio pasado la empresa Motorola® dio un paso adelante al crear un driver de su SM56 Motorola para el sistema Linux Red Hat 7.1.



¿Cómo hacer funcionar el magnífico módem sm56 en Linux Red Hat 8 y en otros?


En la página web de Motorola winmodem existe un único driver empaquetado certificado por Red Hat  que es el SM56_5.1_I386.rpm, que sólo funciona (perfectamente ,mejor que en Windows1) para Red Hat 7.1, la razón por la cual sucede esto es muy simple :el módulo sm56.o que proporciona está compilado con el gcc 2.96-81, que es el que utiliza el  RedHat 7.1.

Hay varias formas para lograr que funcione el sm56, una de ellas es instalando dos núcleos uno para el trabajo normal y el otro para conectarse a Internet utilizando para ello el programa GRUB Loader.

Necesitas conseguir  lo siguiente:

1-GRUB loader
2-Conseguirse en RPMfind el kernel 2.4.2-2 2.

Si no tienes instalado el grub-0.92-7.i386.rpm en tu sistema tienes que conseguir el paquete RPM que se encuentra en el CD1 de instalación del Red Hat o bajarlo de Internet.

Una vez obtenido el archivo RPM tienes que ingresar como usuario Root y copiar el archivo al directorio root para hacer lo siguiente:



[root@localhost root]rpm -Uvh grub-0.92-7-i386.rpm
Preparing...           #########################################[100%]
    1-grub-0.92-7 #########################################[100%]


Ahora vamos a verificar si todo se a instalado correctamente ingresando al directorio /boot/grub/


[root@localhost root]# cd /boot/grub
[root@localhost grub]# ls

device.map     grub.conf     minix_stage1_5      splash.xpm.gz    xfs_stage1_5
e2fs_stage1_5     reiserfs_stage1_5   stage1
fat_stage1_5   jfs_stage1_5  splash3.xpm.gz      stage2
ffs_stage1_5   menu.lst       vstafs_stage1_5


El archivo al que vamos a modificar es el grub.conf

Ahora instalaremos el núcleo de Linux  o kernel 2.4.2-2 de manera similar que el anterior excepto por el comando rpm -ivh en vez de rpm -Uvh para poder utilizar los dos núcleos.

Nota Importante:
El paquete RPM kernel-2.4.2-2.ix86.rpm 3 instalándolo de la siguiente manera no modificará el kernel actual excepto por el archivo /sbin/installkernel que es un script sh que sirve para instalar un kernel cuando se compila el código fuente. Es necesario por ese motivo hacer una copia de este archivo antes de instalar el kernel-2.4.2-2 y después copiarlo de nuevo donde estaba eliminando al anterior.


[root@localhost root]# rpm -ivh --nosignature --oldpackage --force kernel-2.4.2-2.ix86.rpm
Preparing...                ########################################### [100%]
   1:kernel                  ########################################### [100%]
[root@localhost root]

Teniendo todo listo lo único que faltaría es modificar el archivo grub.conf que en realidad va a ser utilizado por un enlace simbólico  con el nombre menu.lst apuntando a grub.conf

Archivo grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,6)
#          kernel /boot/vmlinuz-version ro root=/dev/hda7
#          initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=6
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
title Windows 98 SE (fuck system)
    rootnoverify (hd0,0)
    chainloader +1
title GNU/Linux Red Hat 8 (2.4.18-14)
    root (hd0,6)
    kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ hdd=ide-scsi
    initrd /boot/initrd-2.4.18-14.img
title GNU/Linux Red Hat 8 con Internet  (2.4.2-2)
    root (hd0,6)
    kernel /boot/vmlinuz-2.4.2-2 hdd=ide-scsi root=/dev/hda7




Explicación:

Este es el archivo grub.conf de mi ordenador y se aprecia  lo siguiente:
# grub.conf generated by anaconda...
#...

Toda fila precedida de un # es considerada como comentario.
default=0
Significa que la primera opción del menú se ejecutará
timeout=6
Significa el tiempo que demora en segundos  antes de ejecutarla
splashimage=(hd0,6)/boot/grub/splash.xpm.gz 
Es el gráfico que se muestra en el fondo y  hd0,6  significa  disco  1  partición  6 donde esta  el gráfico
title GNU/Linux Red Hat 8 con Internet  (2.4.2-2)
Es el texto del menú
root (hd0,6)
Es la partición donde se instaló el Red Hat
kernel /boot/vmlinuz-2.4.2-2 root=/dev/hda7
Es el kernel para el módem y hda7  es lo mismo que  hd0,6 pero en  otra nomenclatura  , si tu partición  es otra sólo cambia de numero y si no lo sabes puedes ejecutar el comando siguiente:
     
 

             
[root@localhost grub]# fdisk -l

Disco /dev/hda: 255 cabezas, 63 sectores, 2434 cilindros
Unidades = cilindros de 16065 * 512 bytes

Disposit. Inicio  Principio   Fin    Bloques  Id  Sistema
/dev/hda1   *         1       765   6144831    c  Win95 FAT32 (LBA)
/dev/hda2           766      2434  13406242+   f  Win95 Ext'd (LBA)
/dev/hda5           766      1600   6707106    b  Win95 FAT32
/dev/hda6          1601      1690    722893+   b  Win95 FAT32
/dev/hda7          1691      1882   1542208+  83  Linux
/dev/hda8          1883      1907    200781   82  Linux swap


 
La partición donde dice Linux es la que tienes que poner en:


root (hd0,6)
kernel /boot/vmlinuz-2.4.2-2  root=/dev/hda7

si es hda6 arriba es (hd0,5).

Una vez modificado y guardado el archivo grub.conf  instalamos GRUB en el sector de arranque del disco duro:


[root@localhost root]grub-install /dev/hda
[root@localhost root]grub
grub> root (hd0,0)
grub> install (hd0,6)/boot/grub/stage1 d (hd0) (hd0,6)/boot/grub/stage2 p (hd0,6)/boot/grub/menu.lst
grub> quit
[root@localhost root]


hda es el primer disco duro o IDE0 y (hd0,0) es el sector de arranque. Ahora sólo falta reiniciar e ingresar con el núcleo 2.4.2-2.


Instalando el driver de motorola

Baja el driver de motorola  SM56_5.1_I386.rpm y cópialo en la carpeta root. Digita lo siguiente:

[root@localhost root]rpm -Uvh SM56_5.1_I386.rpm

Preparing...        ########################################## [100%]
      1:sm56         ########################################## [100%]

Please run sm56setup to complete installation.

[root@localhost root]sm56setup 1
  
                Motorola SM56  Softmodem setup for Linux

Building driver...
'/usr/local/sm56/sm56.o' --> ' /lib/modules/2.4.2-2/kernel/drivers/char/sm56.o'
Creating device /dev/sm56...
Pointing /dev/modem to /dev/sm56...
Adding SM56 to /etc/modules.conf...

SM56 setup complete.
[root@localhost root]modprobe sm56
[root@localhost root]
[root@localhost root]dmesg
...
...
Motorola Softmodem: version SM56 Rel. 5.01 Build 01
[root@localhost root]

Ahora utilizaremos el programa kppp que viene junto con el KDE para conectarnos a la Internet:

Si fuera el caso de que no lo tenga intalado asumo que Ud. sabrá instalar programas en el RedHat por medio del programa config-install-packages.
Ahora bien, luego de ejecutar kppp se muestra la pantalla siguiente:


kppp

Como todavia no hemos configurado hacemos clíck en el botón de configuración y aparecerá una ventana.Ahora en la pestaña Modem presionar el botón Consultar el modem.Tal como se muestra:
kppp

Entonces aparecen los comandos ATI del módem :

kppp

kppp


Si esto es así entonces todo ha salido muy bien y el módem está en perfectas condiciones. Ahora sólo faltarían los datos siguientes que tu proveedor de Internet te lo proporcionó:


Número de conexión
Nombre de usuario
Contraseña
Número IP dinámico o estático, si es dinámico tu proveedor te lo da cuando te conectas.
Números IP de los Servidores DNS.

Noticia:

En la página Web de Motorola Winmodem se han publicado nuevas versiones para el driver SM56, estas versiones  no certificadas están disponibles ahora para RedHat 7.3, 8 , 9, Mandrake 9.2 , 10,Suse 9. Sin embargo no he podido hacer funcionar el driver para RedHat 8 con núcleo 2.4.18-14, esto es posible por que lamentablemente no existe un driver para cada versión del núcleo y el que proporciona Motorola sólo trabaja para los núcleos(2.4.18, 2.4.18-3, 2.4.20, 2.4.22).

Si los dueños de Motorola proporcionaran el código fuente del driver, todo sería distinto.


1)  Este núcleo no trabaja muy bien con el sistema de archivos ext3 sino con el ext2. En el archivo /etc/fstab cámbiale a ext2 y listo.
2)  En Windows mi proveedor de Internet me corta o me baja la rata de transferencia ,cosa que no sucede en Linux.

3)  El paquete RPM kernel-2.4.2-2 está disponible en distintas versiones según el tipo de procesador.


::::::Comentarios::::::