Configuración del winmodem en la Ubuntu Dapper

En estos días de agosto, uno no tiene más remedio que, o dejar de bajarse el correo o buscar alternativas. Desde luego, en las ciudades lo mejor es buscar algún wifi abierto (incluso ya hay observatorios que te ayudan a encontrarlo). ¿Pero qué pasa si te vas a pasar unos días a un pueblo pequeñito? Es lo que me ha pasado a mí, y es por lo que una vez más, miré a ver qué posibilidades tenía de usar el winmodem que todos los portátiles traen hoy día.

Para configurar el winmodem, lo más interesante es empezar por leerse este documento, donde nos facilitan una utilidad llamada scanModem que sirve para detectar el módem y decirnos el tipo que es. Al ejecutarla nos crea un informe completo, encontrando en el fichero ModemData.txt toda la información sobre el mismo. Aquí podría haber ocurrido que me indicase que el driver abierto sl-modem hubiera sido suficiente. Sin embargo, cuando tenemos un módem Conexant no hay software libre que valga. Y ese era mi caso, tal como indicaba el informe:

./scanModem test 8086:24c6 14f1:5422 Ubuntu 2.6.15-26-386  4.0.3 4.0.3    i686
From records, 14f1:5422 has soft modem codec type CXT
The hsfmodem drivers from http://www.linuxant.com/drivers are
the ONLY support of ConeXanT codec. modems under Linux!!

Así que no me quedó más remedio que tirar del software propietario. Yo procuro usar alternativas libres siempre que existan. Por ejemplo, uso Openwengo en lugar de Skype, porque es una alternativa libre, o al menos basada en estándares abiertos, y encima mucho más barata. Pero en el caso de mi winmodem, lo siento, el driver sl-modem no sirve para módem Conexant. Así que seguimos.

En la Ubuntu Dapper, configurarlo y ponerlo en marcha es mucho más fácil que antaño. Solo nos tenemos que bajar el paquete correspondiente (aunque hay drivers precompilados, siempre prefiero usar el driver genérico, ya que no depende del núcleo que esté utilizando). Cuando instalamos el paquete genérico, al configurarse intentará compilarlo. Por supuesto, es imprescindible tener instalados, además del compilador, el paquete linux-headers correspondiente al núcleo que estemos usando.

La instalación, por ejemplo, me dio el siguiente log:

~ # dpkg -i hsfmodem_7.47.00.01full_i386.deb
Selecting previously deselected package hsfmodem.
(Reading database ... 202285 files and directories currently installed.)
Unpacking hsfmodem (from hsfmodem_7.47.00.01full_i386.deb) ...
Setting up hsfmodem (7.47.00.01full) ...
Conexant HSF softmodem driver, version 7.47.00.01full

If you need license keys, assistance or more information, please go to:
http://www.linuxant.com/

When reporting a problem for the first time, please send
us the file generated by "hsfconfig --dumpdiag".

No pre-built modules for: Ubuntu-6.06.1 linux-2.6.15-26-386 i686

Trying to automatically build the driver modules...
(this requires a C compiler and proper kernel sources to be installed)

Where is the linux source build directory that matches your running kernel?
[/lib/modules/2.6.15-26-386/build]

Building modules for kernel 2.6.15-26-386, using source directory
/lib/modules/2.6.15-26-386/build. Please wait...
done.

Automatically guessed region (using timezone): "SPAIN"

Please enter region name for modem unit 0 [SPAIN]:

Setting region for modem unit 0: "SPAIN"

To change, use "hsfconfig --region" or "AT+GCI="
The current region can be displayed by entering "ATI9" in a terminal program.

Note: we respect user privacy. Email addresses are not communicated
nor used for any purpose other than to manage licenses!

Please enter your email address [unknown]: nobody@nowhere.com

License keys can be obtained from http://www.linuxant.com/
Without one, the modem operates in FREE mode (max 14.4Kbps data only, no fax)

The registration ID for modem unit 0 is: XXXX-XXXX-XXXX

Please enter license key [FREE]:

Setting license for modem unit 0: "nobody@nowhere.com/FREE"

Note: kernel module snd-via82xx-modem overridden by hsfmc97via
Note: kernel module snd-intel8x0m overridden by hsfmc97ich hsfmc97sis
Note: kernel module snd-atiixp-modem overridden by hsfmc97ati

Current parameters: ("hsfconfig --info")

Config for modem unit 0: /dev/ttySHSF0
Device instance: 0-PCI-8086:24c6-14f1:5422
HW revision    : CXT22 SSD=18 LSD=0x10
HW profile name: hsfmc97ich
Registration ID: XXXX-XXXX-XXXX
License owner  : nobody@nowhere.com
License key    : FREE
License status : FREE (max 14.4kbps data only)
Current region : SPAIN (T.35 code: 00A0)

The /dev/modem alias (symlink) points to ttySHSF0

To enable full 56K modem and FAX functionality, enter your license information
with "hsfconfig --license".

License owner and key data must EXACTLY match the information respectively
provided to and by Linuxant. Otherwise, license status will remain "FREE"!

¿Qué significa "FREE"? Pues la licencia gratis, que limita el funcionamiento del módem a 14400 bps. Bueno, no es mucho pero para bajarse el correo vale. Una vez instalado el driver, podemos pasar a configurar el módem para acceder a Internet. He utilizado el configurador de red que hicieron para Gnome, y que en la Ubuntu viene bajo el menú Sistema -> Administración. Veremos la entrada para configurar el módem, pulsaremos en Propiedades y configuraremos la conexión normalmente. Yo he utilizado los datos de acceso a Telefónica.NET, que permite el acceso gratis sin darse de alta ninguna cuenta:

  • Teléfono: 908 200 120
  • Usuario: telefonicanet@telefonicanet
  • Contraseña: telefonicanet

No necesitamos mucho más, aunque debemos seleccionar el dispositivo /dev/modem en la pestaña Módem y en la pestaña Opciones deberemos seleccionar la ruta predeterminada a través de esta conexión y usar los DNS que nos da el proveedor remoto. Una vez hecho esto, guardamos los datos, conectaremos el cable del teléfono, pulsaremos el botón Conectar y a los pocos segundos estaremos conectados a Internet por el precio de una llamada local. Podemos monitorizar si hubo algún problema, en el log /var/log/syslog. Si todo va bien, veremos un log como el siguiente:

Aug 13 11:06:37 ada pppd[16077]: pppd 2.4.4b1 started by root, uid 0
Aug 13 11:06:38 ada chat[16078]: timeout set to 60 seconds
Aug 13 11:06:38 ada chat[16078]: abort on (ERROR)
Aug 13 11:06:38 ada chat[16078]: abort on (BUSY)
Aug 13 11:06:38 ada chat[16078]: abort on (VOICE)
Aug 13 11:06:38 ada chat[16078]: abort on (NO CARRIER)
Aug 13 11:06:38 ada chat[16078]: abort on (NO DIALTONE)
Aug 13 11:06:38 ada chat[16078]: abort on (NO DIAL TONE)
Aug 13 11:06:38 ada chat[16078]: abort on (NO ANSWER)
Aug 13 11:06:38 ada chat[16078]: send (ATZ^M)
Aug 13 11:06:38 ada chat[16078]: send (AT&FH0M0^M)
Aug 13 11:06:39 ada chat[16078]: expect (OK)
Aug 13 11:06:39 ada chat[16078]: ATZ^M^M
Aug 13 11:06:39 ada chat[16078]: OK
Aug 13 11:06:39 ada chat[16078]:  -- got it
Aug 13 11:06:39 ada chat[16078]: send (ATDT908200120^M)
Aug 13 11:06:39 ada chat[16078]: timeout set to 75 seconds
Aug 13 11:06:39 ada chat[16078]: expect (CONNECT)
Aug 13 11:06:39 ada chat[16078]: ^M
Aug 13 11:06:39 ada chat[16078]: AT&FH0M0^M^M
Aug 13 11:06:39 ada chat[16078]: OK^M
Aug 13 11:07:01 ada chat[16078]: ATDT908200120^M^M
Aug 13 11:07:01 ada chat[16078]: CONNECT
Aug 13 11:07:01 ada chat[16078]:  -- got it
Aug 13 11:07:01 ada pppd[16077]: Serial connection established.
Aug 13 11:07:01 ada pppd[16077]: Using interface ppp0
Aug 13 11:07:01 ada pppd[16077]: Connect: ppp0 < --> /dev/modem
Aug 13 11:07:03 ada pppd[16077]: CHAP authentication succeeded:
Aug 13 11:07:03 ada pppd[16077]: CHAP authentication succeeded
Aug 13 11:07:03 ada kernel: [17272774.220000] PPP BSD Compression module registered
Aug 13 11:07:03 ada kernel: [17272774.340000] PPP Deflate Compression module registered
Aug 13 11:07:04 ada pppd[16077]: not replacing existing default route via 192.168.1.2
Aug 13 11:07:04 ada pppd[16077]: Cannot determine ethernet address for proxy ARP
Aug 13 11:07:04 ada pppd[16077]: local  IP address 81.40.160.109
Aug 13 11:07:04 ada pppd[16077]: remote IP address 80.58.196.150
Aug 13 11:07:04 ada pppd[16077]: primary   DNS address 80.58.61.250
Aug 13 11:07:04 ada pppd[16077]: secondary DNS address 80.58.61.254

Es una pena haber tenido que usar drivers propietarios, pero no he tenido otro remedio. Supongo que dentro de unos años Linuxant habrá cambiado su modelo de negocio, o si la comunidad de desarrollo lo ve interesante, habrá programado unos drivers alternativos. Pero, por ahora, no hay nada que hacer.

BORING STORIES · FRIKADAS

Discusión