Friday, July 2, 2004

Winmodems in Linux

Winmodems are not modems, and they don't work in Linux. This is a comment often seen on the web. But there is a way: I had an old-ish Toshiba laptop (Satellite 4090XDVD, full specs) with an internal modem I intended to use since it's the only modem I have at home. Of course, it's a Winmodem. But could it be made to work in Linux? I had tried 4 years ago and it didn't. So I started again, installed RedHat Linux 9 (because I had the burned CDs), and began digging. This is my tale of success...
Read more

I'll document this as I go along.

Scanning for the modem

First stop, the scanModem tool. This is a shell program that tries to detect what type of modem you have (the chipset) and produces a diagnosis. In my case I was lucky because the modem has a Lucent/Agere chipset, which has a driver.
Class 0780: 11c1:0441 Communication controller: Lucent Microelectronics 56k WinModem (rev 01)
SubSystem 1179:0001 Toshiba America Info Systems Internal V.90 Modem
The modem has a supported Lucent/Agere DSP (digital signal processing) chipset
with primary PCI_ID: 11c1:0441
A suitable Installer is at http://ltmodem.heby.de/
in the section: redhat
ltmodem-kv_2.4.20_8-8.26a9-1.i686.rpm

So I only had to download a rpm file, and install it! how simpler could it get?

Making the connection

In the rpm file was included wvdial, a smart utility that with minimal configuration tries to guess the type of PPP connection to make. Compared to all the different scripts and possible configurations you can have in PPP/CHAT/PAP authentication, it sounded good and seemed to work: just by setting my ISP phone number and password, the modem made the right noises and the connection seemed to start... but each and every time the modem hung up
--> Carrier detected. Waiting for prompt.
~[7f]}#@!}!t} }8}"}&} } } } }#}$@#}%}&}#d'[12]}'}"}(}"k"~
--> PPP negotiation detected.
--> Starting pppd at Thu Jul 1 07:54:40 2004
--> pid of pppd: 2076
--> Disconnecting at Thu Jul 1 07:55:01 2004
--> The PPP daemon has died: A modem hung up the phone (exit code = 16)
(I'm not the only one to have seen this)
I never did manage to get wvdial to work. However I started looking at some sample configurations of PPP, and even found one used by my French ISP, and it worked ! If you use free.fr, take a look at this PPP configuration page, it really cut the cheese for me.

Next episode: getting IP masquerading to work. To be continued...

No comments:

Post a Comment