Como hacer funcionar el Winmodem AMR PCTEL HSP56MR
Como hacer funcionar el Winmodem AMR PCTEL HSP56MR
Hola a todos!
Disculpen que haya tardado tanto, pero estoy muy ocupado no precisamente en
la informática que para mí es sólo un hobby.
Lamentablemente tuve una desgracia en mi PC, se me quemó mi motherboard M810 de PCCHIPS y adquirí una ASUS A7V600-X (la cambié yo mismo!)con 256 MB DDR de ram pero sigo con mi viejo Duron 700. Ya no tengo un slot AMR ni modem dial-up! pero intentaré explicar lo que recuerdo.Mi Linux tomó la nueva motherboard como si nada hubiera pasado(autodetectó todo) pero todavía sigo renegando con el WinMe por culpa de mi mujer: no me anda la conexión a la red :(
Comenzando
Estas son buenas webs para comenzar:
http://linmodems.technion.ac.il/
http://www.linmodems.org/
Primero que nada busquemos la utilidad scanmodem que es un script que nos creará una carpeta con un montón de información, entre la cual hay una sugerencia de los drivers recomendados:
$ wget http://linmodems.technion.ac.il/packages/scanModem.gz
$ gunzip scanModem.gz
$ chmod a+x scanModem
$./scanModem
También lspci les dará información útil del modem que tengan .El mío figuraba como SiS 630.
Anduve varios meses perdiendo el tiempo probando drivers al voleo, cuando me
dí cuenta que la tarjeta del modem no estaba correctamente insertada
(efectivamente no funcionaba ni bajo Windows, pero yo pensé que estaba
quemado o el problema era de Windows, un poco ingenuo verdad? ). Además el
hecho de que el modem responda a los comandos ATI de minicomm no significa nada, ya que es el driver el que nos responde, finalmente
ATDTnumerodetelefono me terminaba dando \"NODIALTONE\"
No conozco profundamente el funcionamiento de este módem pero sé que utiliza la placa de sonido y por lo que he leido en internet la mayoría no consigue que ambos sonido y módem funcionen al mismo tiempo (más adelante verán que sí se puede!) y es el caso del driver PCTEL que sólo tiene soporte para Kernel 2.4. Recuerden que Pctel fue adquirida por Conexant que discontinuó el desarrollo del driver propietario. (El que se consigue en linmodem.org tienen un desarrollo independiente).
Dentro de los drivers recomendados estaba el de Smartlink, que tenía muy
buena pinta.
Tuve muchos problemas para que compilar el driver que bajé de la página de
www.smlink.com. Se compilan dos módulos uno para módems AMR y PCI (slamr.ko) y otro para usb (slusb.ko). Uno de estos dos módulos, el que yo
necesitaba,slamr, daba errores que no pude resolver.
Finalmente encontré en los repositorios de Debian non-free el código fuente
del driver debianizado:
#apt-get install sl-modem-source sl-modem-daemon.
Aclaro que tengo instalado el kernel-headers-2.6.11-1-k7 y el
kernel-image-2.6.11-1-k7 ( debe ser el mismo el del headers y el image!)
sl-modem-source es el código fuente del driver y sl-modem-daemon es el
script que cargará el módulo slamr.ko y creará el dispositivo /dev/slamr0-3
/dev/slusb0-3 y el puerto serie /dev/ttySL0 y su enlace simbólico /dev/modem.
Veamos parte del archivo /usr/share/doc/sl-modem-source/README.gz:
Supported Hardware
==================
HAMR5600 based AMR/CNR/MDC/ACR modem cards on the following Southbridge
chips:
- Intel ICH0,ICH2, ICH3, ICH4
- Via 686A, 686B, 8231, 8233
- SiS 630<----------------------------------------------Acá está el mío!!
- ALI 1535.
SmartPCI56/561/562/563 based PCI modem cards.
SmartUSB56 based USB modem.
Requirements
============
CPU: Intel Pentium II, Celron. AMD K6, Cyrix 500MHz or higher.
Memory: 64MB.
OS: Linux 2.4. You need the kernel header files at least (or full kernel
source tree) installed and configured.
Linux 2.6. You need the full kernel source tree installed and configured.
Note: Most Linux Distributions have \'ready to use\' kernel source package -
be sure that this is installed.
Acá vale un comentario: a pesar de que aquí dice que para el kernel 2.6 hace faltan los sources completos, en la práctica el Kernel-headers de debian es SUFICIENTE.
Compilando el módulo slamr
Remítanse a la documentación /usr/share/doc/sl-modem- source/README.debian sobre como compilarlo, es muy claro y sencillo:
# cd /uhttp://linmodems.technion.ac.il/packages/scanModem.gz
#cd /usr/src/modules/sl-modem
#debian/rules kdist KVERS=`uname -r` KSRC=/usr/src/kernel-headers-`uname -r`
# cd /usr/src/modules/
# dpkg -i sl-modem-modules-2.6.11-1-k7_2.9.9a-1_i386.deb
#update-modules (no recuerdo pero por las dudas actualizamos las dependencias de los módulos)
Configuremos que módulo se cargará editando /etc/defaults/sl-modem-daemon (vean /usr/share/doc/sl-modem-daemon/README), en mi caso:
SLMODEMD_DEVICE=slamr0
#SLMODEMD_COUNTRY=GERMANY
#SLMODEMD_DEVICE=auto
SLMODEMD_COUNTRY=ARGENTINA
Cuando reiniciemos la PC, o corramos el script:
# /etc/init.d/sl-modem-daemon start
veremos que se crean los dispositivos nombrados anteriormente y además
se carga el módulo slamr ( hagan lsmod ).
Si hacen #dmesg verán un mensaje como \"codec is SIL21\" esto indica al
fabricante SIS del chipset (southbridge )SIS630. Un mensaje como \"card not
init\" o \"error codec semaphore\" significa problemas.
A veces puede que hotplug se confunda e intente cargar el módulo
snd-intel8x0m.ko ( de ALSA)que es para modems con placas de sonido con chipset Intel (snd-intel8x0.ko para la placa de sonido). En este caso hay que agregar el nombre de este módulo a la lista /etc/hotplug/blacklisted.
Si todo funcionó bien ahora crearemos una cuenta de Internet.
Esta es la parte que realmente me hizo perder tiempo, ya que en mi caso ni
wvdial, ni gnome-ppp (un frontend de wvdial), ni kppp me reconocían el
modem, entonces decidí probar con las herramientas nativas de Debian: poff,pon,pppconfig pura consola y pura simplicidad.
Comencemos por crear nuestra cuenta:
# pppconfig
Y nos pedirá protocolo de autenticación (PAP); nombre de la cuenta (p.ej
provider); usuario, password y numero de teléfono son los que nos de nuestro
ISP, en mi caso usé uno gratuito que anda perfecto; dispositivo pppconfig
acepta tanto el enlace /dev/modem como /dev/ttySL0, velocidad del puerto 115200.
Opciones avanzadas
Podemos elegir que cualquier usuario que pertenezca al grupo dip pueda tener
acceso a internet ( no olvidemos agregarlos al grupo dip!)
Discar en demanda o persistente: yo elegí persistente lo que significa que
intentará conectarse unas cuantas veces antes de darse por vencido.
Guardamos y salimos, y a probar nuestra flamante conexión:
Colocamos un CD de nuestra música preferida en la PC y mientras escuchamos..
$ pon
Esperamos unos cuantos segundos y ..... ¿no pasa nada? veamos:
$ /sbin/ifconfig
Vemos nuestras interfaces activas: en mi caso eth0 (mi placa de red) y lo
(loopback o sea 127.0.0.1, sí localhost, la conexión a nuestro yo interior
:)
Si tienen como yo una conexión a internet a través de una LAN deben bajar la
interface primero, porque es la puerta de enlace predeterminada \"default
gateway\" ( o cambiar el default gateway):
# ifdown eth0
Intentamos nuevamente:
$ pon (ahora esperar unos 20 seg )
$ /sbin/ifconfig
.. ahora vemos: lo y ppp0 !!!, ya estamos conectados (podemos levantar el
auricular y escuchar ese clásico sonido) y podemos usar firefox, evolution o
lo que quieran.
Para cerrar la conexión:
$ poff
Para los usuarios de Gnome:
Existe un applet \"Luces del modem\" que podemos agregar a la barra de
herramientas y la configuramos con: comando de conexión \"pon provider\",
comando de desconexión \"poff provider\". Ahora con un simple click podemos
ver como titilan las luces y de rojo pasa a amarillo y a verde cuando la
conexión se establezca. De la misma forma con un click cerramos la conexión.
El agregar el nombre de la cuenta (poff provider) es para evitar si hacen
varias veces seguidas click, iniciarán varias instancias de conexión y no
las podrán cerrar con un simple \"pon\" (prueben jejeje).Además podrían tener
varias cuentas configuradas y seleccionar la que deseen.
Suerte y espero que les haya gustado.
Saludos!
