Lucent winmodem drivers in linux

Janina Sajka janina at
Mon Apr 9 12:42:57 EDT 2001

Hi, Brett:

I have a Lucent mini-PCI Win in my IBM Thinkpad T20. It has been working
just fine, but I had to compile a special driver for it. Here's the info
from the file CREDITS in the distribution of ltmodem-5.78e.tar.gz which
I've been using:

This history is largely excerpted from the Linmodem HOWTO at and exchanges of
discuss at participants, with Archive access at

The first port of Lucent chip support to Linux was done by Eric Bentley,
as requested by Red Hat, to provide  support under kernel 2.2.12  kernels.
This was ltmodem.o driver, version An interesting commentary
on support issues is available at

This binary sufficed into kernel verions 2.2.15, but required
forced (-f) insertion:
   insmod -f ltmodem
to bypass the module-kernel version mis-matches.  Mark Spieth provided a
fixscript tool that masks such mis-matches (available at so that there sufficed a
   insmod ltmodem

Source code changes within the 2.2.15 series faulted use of the ltmodem.o
binary. While dail up and login could be achieved, the ppp protocol could no
be established.  There was frequently a system crash when it was attempted.
Christoph Hebeisen experimented and discovered a bypass. Provided that ppp.o
compiled from 2.2.14 sources was used, the ppp protocol could be established:
   insmod ltmodem
   insmod slhc
   insmod -f ppp (compiled under 2.2.14)
This trick served into kernel versions 2.2.16, though with increasing
flakiness as kernel versions increased.  David Hinds fixed a bug, which caused
ltmodem.o to grab other serial ports.

These tricks also proved to be effective for modems with a ESS chipset, as
worked through by Willie Green.  To more efficiently convey these technicalites
to the increasing population afflicted with winmodems, Sean Walbran originated
the Linmodem HOWTO, with contributions from Marv Stodolsky.

Meanwhile, Mark Spieth searched the source code for the change breaking ppp
protocol support.  It was recognized within include/linux/tty.h of the 2.2.16
source code tree. Mark provided a fix/patch.  Marv Stodolsky reported a few
hours later, that the same fix was effective under 2.2.17.  With these tty.h
fixes, kernel version matched ppp.o could again be used. Reliable ppp service
enused, but with worries about functionality under the maturing 2.4.nn kernel

Then there was an exciting week, coinciding with the Thanksgiving holiday in
the USA.  Jean Gomes reported the presence of a compiler kit at  It was provided by Lucent/Agere for
 major customeres, initially suited for service with the  2.2.14 kernels.
It includes a  proprietary binary, ltmdmobj.o , and open source components.
These components can be linked and compiled with kernel sources,
producing ltmodem.o driver 5.78.  This ended the Dark Ages of newer kernels
and version mis-matched ltmodem.o.

Within a day Christoph Hebeisen and Mark Spieth improved the Makefile to
support compiles with sources upto 2.2.18. A day later, Marco Giordani
lofted us into the realm of maturing kernel 2.4 sources, providing patches
enabling compiles with kernel-2.4.0-test11 sources. Mark Spieth has and is
continuing successive improvents. They are available as ltmodem5.78*.tar.gz
kits for public download at

During December, 2000, Jacques Goldberg was trying to implement service of
ltmodem.o on a new PC.  He found that it had a default PNP (Plug and Play)
setting "hidden" in the BIOS Advanced menu.  As soon as a change from PNP
to OTHER was made, good ltmodem.o service enused.  Many other Users have
since been helped by recognition of this problem. It is expected/hoped that
it will be largely obviated with the transition to PNP competent 2.4.0 kernels,
but some problems have been reported to the List.

A problem was encountered with the Xircom modems included in Toshiba Satellite
laptops.  They appeared to have the MARS chip characteristic of the Lucent
winmodems, but did not support insertion of ltmodem.o.  With advice from
Javier Nigro, Andreas Plesch changed a PNP device-ID code within ltmodem.o,
and full functionality ensued.

Vladimir Chernyshov identified and fixed a problem under 2.4 kernels,
causing ltmodem.o to raise a serial.o driver with a shared IRQ, This fix
brought substantial improvements of performance under 2.4.nn kernels.
Marv Stodolsky reported that while the modem could be accessed through
several IRQs, most did not support dial tone acquisition.  This problem
NO DIAL TONE problem also afflicts other winmodems.

The current ltmodem5.78e.tar.gz kit from Mark Spieth has transparent support
for a broader range of Xircom modems.   Peter Fox provided patches
supporting use of his serial monitor tool:
Mark has implemented the rpm installers.  Marv Stodolsky updates some of
the documentation.

Russell Coker identified and implemented a fix for devfs under 2.4 kernels,
changing the name to ttys/L0 if enabled and disabling the callout device

Lastly, without the usefull exchanges with MANY other participants of
discuss at, the rapid progress over these past few months would
certainly not have been achieved.  To avoid email address capture by SPAM
organizations, personal contacts are not herein given.  But any queries
will surely be responded to by the discuss at Collaboratory

On Sat, 7 Apr 2001, Brent Harding wrote:

> Are the Lucent winmodem drivers able to work with any recent version of the
> linux kernel? I mean the latest ones and maybe even 2.4 stuff? Will redhat
> set this up fairly easy so I don't have to worry about IO ports and IRQ's?
> _______________________________________________
> Speakup mailing list
> Speakup at


				Janina Sajka, Director
				Technology Research and Development
				Governmental Relations Group
				American Foundation for the Blind (AFB)

Email: janina at		Phone: (202) 408-8175

Will electronic books surpass print books? Read our white paper, Surpassing Gutenberg, at

Download a free sample Digital Talking Book edition of Martin Luther King Jr's inspiring "I Have A Dream" speech at

Learn how to make accessible software at

More information about the Speakup mailing list