Cómo configurar el Win Módem AMR/USB v90 56K PCtel HSP56 WDM sobre kernel 2.4. o 2.6.
Identificado como Silicon Integrated Systems [SiS] AC'97 Modem Controller (rev a0) por el utilitario GNU/scanModem. Identificado como HSP56 MR PCtel,Inc por Windows(tm) XP Professional.
J.A.P. javier.debian.bb.ar@gmail.com GNU/Linux Registered User # 389414 (http://counter.li.org)
Abstract
Este documento describe cómo configurar el Win Módem HSP56 de PCtel, Inc. en configuración "Audio Modem Riser" (AMR) y "Universal Serial Bus" (USB)
This document are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For more details, on Debian GNU/Linux systems, see the file /usr/doc/copyright/GPL for the full license.
1. Recomendación inicial:
Tira ese módem, cómprate uno compatible con GNU/Linux. WDM significa Windows(tm) Dial-up Módem, y por ende, bajísima o nula compatibilidad con GNU/Linux. Visita el enlace http://xmodem.org/
2. Sistema sobre el que fue probado el procedimiento.
Placa base: PC133 SystemBoard M755 LMR v7.77B.
- Chip de placa: SiS 630.
- Módem: AMR v.90 56K Fax/Módem.
- Procesador: Intel Pentium III 750 Mhz.
- Memoria: 512 MB.
- Kernel: 2.6.16-2-686.
- Distro: Debian "etch".
3. Instalación del controlador.
La empresa fabricante del módem originalmente es PCtel Inc. la cual sólo provee soporte GNU/Linux para los núcleos 2.2. (pctel-2.2.tar.gz) y 2.4. ( pctel-0.9.7-9.tar.gz. La empresa Conexant (http://www.linuxant.com/drivers) está proveyendo soporte, pero con un controlador pago. Hay una versión gratuita, pero condiciona la capacidad del módem a un 50% de su ancho de banda.
LinModems (http://linmodems.technion.ac.il/linmodems_support_sp.html) posee uno que sí funciona, pero no es muy fácil de convencer al sistema para que lo haga adecuadamente. Dicho controlador es eficiente pero poco funcional en su instalación, sobre todo para los que entendemos inglés a gatas, cosa que trataré de simplificar. Mucho de lo que escribiré está en el README del controlador en cuestión, pero en inglés.
Por otra parte, esto está hecho para una instalación domiciliaria donde asumo que no hay una red corriendo, con varias personas que tienen sus propias sesiones en el mismo equipo, algo muy común en una casa de familia. Algunas cosillas del final en la configuración de kppp no son recomendables desde el punto de vista de seguridad en una máquina en red.
3.1. Características del controlador.
- Módem: V.92, V.90, V.34, V.32bis, V.32, V.23, V.22, V.21, Bell 103/212.
- Control de flujo: V.42.
- Compresión: V.44, V.42bis.
- Fax: Class 1.
- Voz: V253 like modem.
3.2. Hardware Soportado
HAMR5600 basado en tarjetas de módem AMR/CNR/MDC/ACR de los siguientes chips Southbridge:
- Intel ICH0, ICH2, ICH3, ICH4.
- Via 686A, 686B, 8231, 8233.
- SiS 630.
- ALI 1535.
- SmartPCI56/561/562/563 basados en módem PCI.
- SmartUSB56 basados en módem USB.
3.3. Requerimientos mínimos.
- CPU: Intel Pentium II, Celeron, AMD K6, Cyrix 500MHz o superior.
Memoria:64MB.
- SO: Linux 2.4. Necesitas instalar y configurar las cabeceras o el árbol completo del código fuente del kernel.
- Linux 2.6. Necesitas instalar y configurar el árbol de cabecera del código fuente del kernel.
3.4. Instalación.
Todo lo que sigue debes hacerlo desde una consola como root.
Lee el enlace http://linmodems.technion.ac.il/linmodems_support_sp.html
Bájate el archivo http://linmodems.technion.ac.il/packages/scanModem.gz, descomprime y ejecuta. Asegúrate que tu módem sea el que estamos tratando. Eso lo verás en los archivos modem/scanout y modem/ModemData.txt. Lee todo lo que se ha generado en la carpeta modem, que no viene mal y posee respuestas a muchas preguntas comunes.
Bájate el archivo "slmodem-2.9.11"; la última versión es http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20061021.tar.gz y cópialo en algún lugar, asumamos en /usr/src. Este es el controlador del módem en sí.
Bájate el archivo ungrab-winmodem de http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem.tar.gz y cópialo en algún lugar, asumamos en /usr/src. Esto hace que Linux detecte al módem como si se tratase de un verdadero módem físico, y permite utilizar los puertos estándares.
Instala las cabeceras del kernel; en mi caso, el 2.6.16-2-686.
~# apt-get install linux-headers-2.6.16-2-686 -y
Descomprime el archivo de los controladores.
/usr/src# gzip -dc slmodem-2.9.11-20061021.tar.gz | tar -xf /usr/src# gzip -dc ungrab-winmodem.tar.gz | tar -xf
Cámbiate al primer directorio creado.
/usr/src# cd slmodem-2.9.11-20061021
Compílalo.
/usr/src/slmodem-2.9.11-20061021# make
Instálalo.
/usr/src/slmodem-2.9.11-20061021# make install
Cámbiate al segundo directorio creado.
/usr/src/slmodem-2.9.11-20061021# cd ../ungrab-winmodem
Compílalo.
/usr/src/ungrab-winmodem# make
Instálalo.
/usr/src/ungrab-winmodem# make install
3.5. Activando el controlador.
El paquete trae el archivo slmodem-2.9.11-20061021/scripts/debian/slmodemd; cópialo a /etc/init.d. Este script te proveerá una forma de activar o desactivar el demonio de control pero... no funciona todo lo bien que debe.
~# cp scripts/debian/slmodemd /etc/init.d
3.6. Configurando los dispositivos del módem.
Aquí es donde empiezan los problemas. Vamos a modificar el script de inicio en reemplazo del que trae el controlador original. Por alguna razón que escapa a mis conocimientos, el controlador no es mantenido por el sistema, por lo que hay que reinstalarlo todas las veces que se arranca el sistema. Si alguien sabe cómo evitar esto, que avise y corrija. Por este motivo, es que cargué los fuentes en /usr/src/, y por ello, ¡no hay que borrarlos!. Además, al ejecutarse, se demora la creación del dispositivo /dev/ttySL0 correspondiente, y por ende no se pueden crear los enlaces pertinentes sin colocar un bucle de espera (me hace acordar mis lejanísimos tiempos de BASIC sobre Commodore64).
Abre con tu editor favorito (emacs, vim, mcedit) el script /etc/init.d/slmodemd y reemplaza la sección start() por lo siguiente:
start() {
modprobe -r ungrab-winmodem
modprobe -r slamr
echo -n "Recompilando ungrab-winmodem... "
cd /usr/src/ungrab-winmodem
make install >/dev/null
echo "hecho."
cat /proc/modules | grep 'ungrab-winmodem' >/dev/null || {
echo -n "Cargando controlador ungrab-winmodem al kernel... "
modprobe ungrab-winmodem && echo "hecho." || { i
echo "ERROR."
exit -1
}
}
echo -n "Recompilando slmodem... "
cd /usr/src/slmodem-2.9.11-20061021
make install >/dev/null
echo "hecho."
cat /proc/modules | grep 'slamr' >/dev/null || {
echo -n "Cargando controlador SmartLink Modem al kernel ... "
modprobe slamr && echo "hecho." || { i
echo "ERROR."
exit -1
}
}
echo -n "Iniciando controlador Starting SmartLink Modem para: $SLMODEMD_DEVICE"
start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --make-pidfile --background --quiet -- -c $SLMODEMD_COUNTRY /dev/$SLMODEMD_DEVICE
RETVAL=$?
until test -e /dev/ttySL0; do
echo -n ""
done
chmod a+w /dev/ttySL0
ln -s -f /dev/ttySL0 /dev/modem
}Lo que hemos hecho es automatizar el proceso de reinstalación al arranque, habilitar el módem para todos los usuarios y generar un enlace simbólico /dev/modem al dispositivo /dev/ttySL0 para que KPPP pueda accederlo.
Cárgalo para que arranque al inicio del sistema
~# update-rc.d slmodemd defaults
Activa el dispositivo
~# /etc/init.d/slmodemd start
3.7. Configurando y usando el módem desde las X.
Habilita a KPPP para que puedan usarlo los usuarios comunes. Por algún motivo que desconozco, sólo root puede ejecutarlo, y además, falta un archivo para que funcione correctamente.
~# chmod a+x /usr/bin/kppp
~# vi /etc/resolv.conf
(y lo guardas vacío)
~# chmod a+rw /etc/resolv.confLuego, debes RTFM en /usr/share/doc/kppp/READEME.Debian. Dá de alta a los usuarios que deseas en el grupo "dip". Modifica el archivo /etc/ppp/peers/kppp-options y quita la marca de comentario a la línea "noauth".
Debes configurar la cuenta KPPP de la siguiente manera.
- Abre una sesión de usuario desde las X (asumo que KDE).
- Pulsa el botón del menú principal, "Intenet"" y "Conexión telefónica a Internet (KPPP)".
- Pulsa "Configurar", "Cuentas", "Nueva", "Configuración manual".
- En la hoja "Marcar", carga lo que corresponda.
- Pulsa "Aceptar".
Ahora configuramos el módem.
- Pulsa "Módems", "Nueva".
- Ponle un nombre, por ejemplo, HSP56.
- En "Dispositivo del módem", selecciona /dev/modem.
- Pulsa la hoja "Módem", y luego, "Consultar al módem".
Si has hecho bien los deberes, tendrás una pantalla con todas las características del módem.
Ayuda extra: desde root ejecuta wvdialconf, y copia el resultado grabado en el archivo /etc/wvdial.conf a la plantilla de configuración de kppp. Si prefieres a la antigua, conecta desde wvdial. Modifica el archivo de configuración para que marque por tonos (ATDT) y no por pulsos (ATDP)
3.8. Configuración por defecto.
Recuerda que el país por defecto del módem es USA. Si quieres cambiarlo, modifica el archivo /etc/default/slmodemd y pon tu país. Si tu módem es USB en vez de AMR, modifica la línea que dice
SLMODMEMD_DEVICE = slamr0
por la siguiente
SLMODMEMD_DEVICE = slusb0
4. Despedida.
Dale una leída a http://linmodems.technion.ac.il/pctel-linux/Pctel.ATCommand.Guide.6.23.00.pdf . A veces es necesario modificar algunos de los comandos de inicialización del módem debido a temas puntuales de tu proveedor de teléfono, tipo de central telefónica, tensión de línea, proveedor de internet, etcétera.
Bahía Blanca, Argentina, 6 de Noviembre de 2006.
CategoryHardware | CategoryProposedDeletion: Outdated installation procedure (software is packaged), content specific to an unsupported release.
