buscar
Spanish flagEnglish flag






Tiempo estimado de lectura 10:03 min. rellotge



Cómo usar un modem en gnu/linux

Hay muchos modems que funcionan sin problema en gnu/linux. Lo primero que haremos será determinar en qué puerto debe funcionar nuestro modem dial up. Antiguamente los modems traían puentes dentro de su placa que permitían cambiar manualmente su configuración. Esto, en la actualidad es solo historia, ya que no hay tal cosa.

 

Normalmente los modems se instalan en puertos serie directamente conectados al motherboard o bien, si son modems externos lo harán a un puerto que tiene un conector ubicado en la parte de atrás del gabinete de la computadora.

Para conocer qué puerto serie asigna nuestro sistema operativo a un determinado modem, debemos ir al directorio ‘/dev’ donde se encuentran los dispositivos y desde allí con el comando ‘ls’ listar los dispositivos existentes.

Allí buscaremos los puertos serie que aparecerán como ‘tty’ junto al correspondiente número de puerto. Veamos las equivalencias de puertos entre Gnu/Linux y DOS

 

Dispositivo gnu/linux Nombre en Dos dirección e interrupción
/dev/ttyS0 COM1 0×3F8….IRQ4
/dev/ttyS1 COM2 0×2F8…..IRQ3
/dev/ttyS2 COM3 0×3E8…..IRQ4
/dev/ttyS3 COM4 0×2E8…..IRQ3

 

Debemos tomar en cuenta que algunos modems -conocidos como winmodem tienen limitaciones para su funcionamiento en gnu/linux. Estos modem en realidad no realizan todas las funciones necesarias dejando parte de su trabajo al microprocesador.

Si bien existen formas de solucionar el problema y numerosos desarrolladores han realizado trabajos para que estos funcionen también en gnu/linux, no todos funcionan.

Además tanto en gnu/linux como en cualquier Sistema Operativo (aún en Windows para el que fueron creados) su rendimiento es siempre inferior al de un modem clásico. Normalmente todos los modem externos funcionan sin problema en gnu/linux y tienen un rendimiento muy superior a cualquier Winmodem, aunque son más caros. También los modem antiguos de placas tipo ISA por lo general funcionan sin problema, y aunque su velocidad nominal (por ser antiguos) pueda ser menor, seguramente lograrán mejor velocidad que algunos modem más modernos con velocidad nominal superior pero winmodem.

 

1.1 Usando el comando dmesg para comprobar el puerto serie:

 

Lo primero que haremos será ver si los puertos serie están activados y para esto utilizaremos el comando dmesg . Este comando nos muestra en un documento lo mismo que vemos en la pantalla a gran velocidad durante el inicio. Es de gran ayuda a la hora de ver errores e intentar configuraciones nuevas.

Normalmente hay un path por lo que con solo tipear ‘dmesg’ en la línea de comandos alcanzará. De no ser así podemos utilizar la ruta completa ‘/var/log/dmesg’.

‘dmesg’ es un archivo grande -nos muestra todos los controladores y puertos funcionando- por lo que debemos saber qué buscar.

 

Por ejemplo escribiendo ‘dmesg’ en línea de comandos de mi computadora encuentro entre muchas otras cosas lo siguiente:

 

……..

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

serial8250: ttyS0 at I/O 0×3f8 (irq = 4) is a 16550A

00:09: ttyS0 at I/O 0×3f8 (irq = 4) is a 16550A

……

 

En otra computadora tal vez podría haber encontrado:

 

Serial driver version 5.24 with no serial options enabled

 

Una forma práctica de encontrar lo que buscamos con rapidez puede ser:

 

dmesg | grep serial

 

En este caso lo que correspondería es habilitar el dispositivo serial. También es posible que no haya ninguna referencia a un dispositivo de este tipo por lo que habría que crearlo mediante makedev. De la página de man makedev extraemos lo siguiente:

 

DESCRIPCIÓN:

MAKEDEV es un script que va a crear los dispositivos en /dev usados como interface con drivers en el kernel.

Note que los programas que den un error ‘‘ENOENT: No such file or direc‐

tory’’ normalmente significan que el archivo de dispositivo está perdido o que no está configurado o cargado el driver.

 

OPCIONES MÁS COMUNES

-n No actualizar los dispositivos, solamente informe las acciones que van a ser realizadas.

-d Borra los dispositivos.

-v Verboso. Nos muestra las acciones a medida que estas se van realizando, es similar a la salida generada por -n.

 

PERSONALIZACIÓN

Tomando en cuenta que lo normal es que no hay estandarización sobre el nombre utilizado para usuarios y grupos del sistema, es posible que usted necesite modificar MAKEDEV para que refleje la configuración de su host. Cerca de la parte de arriba del archivo hay un mapeo del dispositivo al usuario, grupo, y permisos (ejemplo: todos los dispositivos de CD ROM estan configurados como una variable y por lo tanto escritos como $cdrom).

 

Si deseamos cambiar la forma predeterminada, esta es la sección para editar.

 

OPCIONES GENERALES

update

 

Esto solo funciona en kernels que tienen /proc/interrupts (intro‐

ducidos durante 1.1.x). Este archivo es escaneado para ver qué dispositivos están configurados corrientemente en el kernel y esto

es comparado con la configuración previa almacenada en el archivo llamado ‘Devices’.

Dispositivos que son nuevos o tienen numeración diferente son creados, y aquellos que no están más configuradas son borradas.

generic

Crea una subconfiguración de dispositivos genéricos. Esta subconfiguración es en realidad un conjunto de dispositivos estandar, además de drives de disqueteras, varios discos rígidos, CD.ROM, pseudo teminales de consola, terminales de consola, dispositivos de audio, puertos de impresora, etc. Esta subconfiguración puede variar de acuerdo a la arquitectura.

 

DISPOSITIVOS ESTANDAR

std Crea este grupo de dispositivos estandar:

mem para acceso físico a la memoria

kmem para acceso a la memoria virtual

null device puerto para acceso a I/O ports (puertos de entrada/salida),

 

DISPOSITIVOS SERIALES

ttyS{0..63}

Puertos seriales estandar. ttyS{0..3} es creado en las opciones genéricas en la mayor parte de las arquitecturas.

 

El manual es mucho más largo y tiene mucha información por lo que si en algun momento necesitamos generar un dispositivo lo ideal es ir a man makedev

Creando los dispositivos

 

./MAKEDEV -v generic: Creará dispositivos genéricos. Normalmente, estos dispositivos son todos los que se necesitan. Es posible que no se encuentre algún dispositivo más bien especial, y en ese caso se puede crear mediante

./MAKEDEV -v <device>. Donde <device> será el nombre del dispostivo a crear.

Para saber más sobre makedev, podemos ver el manual en línea que tenemos en nuestra computadora escribiendo en línea de comandos:

 

man makedev

 

1.2 Probamos el modem con el comando ‘echo’

 

Debemos seguir los siguiente pasos:

 

a) Como root, y con el modem conectado y si es interno activado en el BIOS, conectamos también a la línea telefónica.

b) Desde el manual del modem averiguamos cual es el puerto habilitado. Si el mismo aparece con nomenclatura para Windows, utilizamos la tabla anterior para elegir el tty adecuado.

c) Desde consola escribimos lo siguiente:

 

echo ATDT/n > /dev/ttySN

 

Habrá que esperar no más de 10 segundos y se deberá escuchar el tono de acceso telefónico.

No todos los modem tienen normalizados los comandos AT. Por este motivo conviene tomar como referencia el propio manual del modem o bien entrar en la página del fabricante para saber si estamos utilizando un comando AT adecuado.

 

1.3 Activando el servicio de acceso telefónico

 

Buscaremos el soporte PPP y para esto vamos a escribir en línea de comandos:

 

dmesg | grep PPP

 

Si este no estuviese habrá que instalarlo lo que en algún caso puede llevarnos a tener que compilar un kernel. Es posible que en kernel más nuevos no se encuentre esta utilidad, ya que cada vez son más los que utilizan otros estándares de comunicación. Como modem adsl (con protocolo pppoe o PPP over ethernet), o placa de red para conexión a una red, etc.

Para realizar la comunicación tipo dial-up con nuestro proveedor de servicios de internet (ISP) necesitamos dos programas:

*Programa de marcado telefónico y logueo con nuestro ISP (chat)

*Programa que establezca la comunicación PPP conocido como demonio PPP (pppd)

 

1.4 Activando el modem

 

Si las cosas no resultaron con las instrucciones anteriores, veremos un paso a paso un poco detallado para winmodems a continuación:

Lo primero que haremos será averiguar cual es el chipset de nuestro modem. ¿qué es el chipset? Es ese pequeño circuito integrado (normalmente negro con muchas patas) que encontramos en la placa del modem. Si no tenemos acceso a nuestro CPU, (para ver directamente el número del chip) ya sea por la faja de garantía o porque no nos animamos a abrirlo, nos podremos fijar en la documentación del modem. También es posible desde http://linmodems.technion.ac.il/packages/scanModem.gz

bajar una herramienta llamada ‘SCANMODEM TOOL’ Luego de bajada haremos lo siguiente para instalarla:

 

# gzip -d scanModem.gz

 

luego de descomprimido nos ocuparemos de los permisos mediante:

 

# chmod +x scanModem

 

y finalmente lo pondremos en marcha

 

# ./scanModem

 

Como vemos existen diferentes maneras de llegar a saber qué chipset tiene nuestro modem.

Ahora la pregunta sería ¿para qué quiero saber cual es el chipset de mi modem? Muchas marcas de modem utilizan el mismo chipset. En realidad es como si un mismo ‘motor de automovil’ funcionara en diferente carrocería con diferentes marcas.

Realmente lo que nos interesa es el ‘chipset’ y no la marca.

También podemos buscar dentro de nuestra computadora. Por ejemplo si nuestro modem es interno y es PCI podemos usar el comando ‘lspci’ Veamos como:

 

root@losindios:~# lspci

 

Y aquí vemos una posible respuesta:

 

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 741/741GX/M741 Host (rev 03)

00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS AGP Port (virtual PCI-to-PCI bridge)

00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)

00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller

00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]

00:02.6 Modem: Silicon Integrated Systems [SiS] AC’97 Modem Controller (rev a0)

00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] AC’97 Sound Controller (rev a0)

00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller

00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)

00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)

00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x] (rev c1)

root@losindios:~#

 

En este caso hemos tenido suerte ya que la línea 6 dice (indicada en negrita):

 

00:02.6 Modem: Silicon Integrated Systems [SiS] AC’97 Modem Controller (rev a0)

 

Para modem muy antiguos que funcionan en tarjetas tipo ISA existen comandos como isapnp o pnpdump pero no todas las distribuciones las traen ya que se trata de modems muy viejos.

De todos modos es bueno saber que los modem ISA en general, aunque de poca velocidad no son winmodem y por lo tanto funcionan muy bien en gnu/linux.

Si el modem funcionara por medio de una tarjeta PCMCIA (especialmente para notebooks) el comando sería:

 

root@losindios:~# cardctl ident

 

En este caso no hay PCMCIA en la máquina por lo tanto no figura nada en /proc/devices

El mensaje que aparecerá será algo así:

 

no pcmcia driver in /proc/devices

root@losindios:~#

 

Finalmente con alguno de estos métodos encontramos el chipset y entonces podemos desde Internet con algún buscador encontrar si tenemos algún driver diseñado para gnu/linux.

Cada modem tiene una forma diferente de instalarse así, que vamos a tomar uno bastante común, pero en todos los casos seguramente se podrá encontrar un archivo README dentro del paquete del driver que nos orientará cómo realizar el trabajo.

En nuestro caso vamos a referirnos al modem que hemos detectado (Modem: Silicon Integrated Systems [SiS] AC’97)

Utilizando el programa ScanModem de linmodems.org reconoce el modem como via 82XX- con un controlador de sonido ac’97; esto en rigor a la verdad no es del todo correcto ya que se trata de un SIS y no de un VIA, pero de todos modos nos orienta en la búsqueda. En Internet en:

http://linmodems.technion.ac.il/pctel-linux/welcome.html

pctel-0.9.7-9.rht-6.tar.gz

Esta versión (6) es una modificación de pctel-0.9.7-9.rht-5.tar.gz para poder trabajar con el núcleo 2.6.16 y otros de versión 2.6.

 

Instalación

Como root vamos a descomprimir el paquete en cuestión

# gzip -d pctel-0.9.7-9-rht-6.tar.gz

Una vez que descomprimimos desempaquetamos con .tar

# tar -xvf pctel-0.9.7-9-rht-6.tar

luego nos posicionamos en el directorio recién creado a fin de utilizar ./configure

# cd pctel-0.9.7-9-rht-6/src

 

y luego utilizaremos ‘configure de la siguiente manera:

 

# ./configure -auto

 

Finalizado el trabajo de configuración abrimos el paquete ’setup’, el que una vez ejecutado conectará nuestra máquina a Internet.

Cada vez que conecto a Internet debo ejecutar setup, aunque tal vez sea posible hacer un script que lo automatice. Eso ya sería otra historia.

 

1.5 Configurar el servicio de fax del modem

 

Podemos utilizar efax para esta tarea. También es posible utilizar mgetty y sendfax. Hay buena información sobre qué software utilizar en

http://freshmeat.net

Los paquetes de efax se encuentran con synaptics para Ubuntu sin problema.

Para la configuración modificaremos el script de fax que podemos ubicar en /usr/bin/fax. Mediante nuestro editor de texto preferido vamos a editar el archivo en cuestión:

 

Buscamos la ruta para los programas de efax y confirmamos que sea la siguiente:

 

FAX=/usr/bin/fax

EFAX=/usr/bin/efax

EFIX=/usr/bin/efix

 

De acuerdo al puerto serie que vayamos a utilizar debemos modificar la línea que hace referencia a este. Por ejemplo para un puerto serie ttyS0 debería decir:

 

DEV=ttyS0

 

Seleccionaremos una sola CLASS

 

Especificamos nuestro número de teléfono

 

FROM=<número de teléfono>

 

Incluimos nuestro nombre o el de nuestra empresa

 

NAME=<nombre-de-la-empresa>

 

Indicamos el tamaño de la página de fax predeterminada, comentando todo lo que no nos sirva mediante el signo ‘#’ (sin las comillas), por ejemplo

 

PAGE=a4

 

Solo debe quedar especificado un tamaño

 

Dejar una línea libre al final y guardar.

 

Para probar la configuración del fax escribimos por medio de la opción de línea de comandos test del script fax:

 

#fax test

 

Este script imprimirá tres páginas de información en la pantalla. También en lugar de imprimir la salida podermos redireccionarla de la siguiente manera:

 

#fax test >> /home/<ususario>/Desktop/test.txt

 

Si hubiese algún error debemos volver al script y modificarlo. Un puerto serie mal indicado, o especificar más de un CLASS,etc.

Finalmente, vamos a enviar un fax correspondiente a un documento de texto. Para esto utilizaremos desde línea de comandos de la siguiente manera:

 

# fax send afax<numero_de -telefono> /home/<usuario>/Desktop/text.txt

 

o el lugar donde se encuentre el archivo a enviar.

 

Para imprimir un fax recibido desde línea de comandos se puede escribir:

 

# fax print <nombre_de_archivo_del_fax>

- [Fuente Original]

Proponer tu RSS para Últimas Noticias










Patrocinador



Otros Reportajes:


Los más comentados:




Publicidad




Patrocinador




Publicidad



En colaboración:
Fox   National Geographic Channel   Feelnoise   Foxlife   Guinness World Records   Phaidon   Blume   Editorial Planeta

| PortalMundos.com Internacional |
fltx Europa: España fltx América del Norte: México, US en español fltx América Central: Costa Rica, Cuba, El Salvador, Guatemala, Honduras, Nicaragua, Panamá, Puerto Rico, República Dominicana fltx América del Sur: Argentina, Bolivia, Chile, Colombia, Ecuador, Paraguay, Perú, Uruguay, Venezuela

PortalMundos Factory, S.L. | 2000 - 2014 | Hosting Profesional por :: isyourhost.com ::