The first Linux driver (nee Lucent) Agere Systems (AS) chip support to
support Linux was compiled with 2.2.12-20 kernel sources, 
producing the binary ltmodem.o version 5.68.  
Most of the information herein on later contributions is excerpted from exchanges of 
discuss@linmodems.org participants, with Archive access at http://www.linmodems.org

The ltmodem.o sufficed into kernel versions 2.2.15, but required forced (-f) insertion:
	insmod -f ltmodem
to bypass the version mis-matches with newer kernels.  
Mark Spieth (Mark) provided a fixscript tool that masks these mis-matches so that 
there suffices a simpler:
        insmod ltmodem

Source code changes within the 2.2.15 kernel series faulted use of the driver.  
While dialup and login could be achieved, the ppp protocol could not be established.  
There was commonly a system crash when it was attempted.  
Christoph Hebeisen (Chris) 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.

These tricks also proved to be effective for modems with an ESS chipset modem, 
as worked through by Willie Green.  
To more efficiently convey these technicalites to 
the increasing Linux user population with winmodems, 
Sean Walbran originated the Linmodem HOWTO, 
with many contributions from Marvin Stodolsky (Marv).

Mark was meanwhile searching 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. 
Marv reported that this fix remained effective under 2.2.17 kernels, 
and compiled kernel+module sets for novice users.  With these tty.h fixes, 
kernel version matched ppp.o could again be used.  Reliable ppp service enused, 
but with worries about future service under the maturing 2.4 kernel series.

Jean Gomes reported the presence of a compiler kit for ltmodem.o in November 2000, 
at http://www.lectron.com.tw/Linux.htm.  It was initially designed for service 
with the Red Hat kernel 2.2.14-5, as version 5.78.  This AS contibution ended 
the Dark Ages of newer kernels and version mis-matched ltmodem.o.  
Chris and Mark generalized the Makefile to support compiles with sources up to 2.2.18, 
and for use with other Linux distributions.  
Marco Giordani provided patches enabling compiles with kernel-2.4.0-test11 sources.  
Marv extended Marco's patches into a mini-tutorial for less experienced users.

Mark assembled a kit designated ltmodem-5.78d.tar.gz featuring: 
  transparent adaptation to 2.2 or 2.4 kernel environments;
  a command for generated a ltmodem.rpm installer packages;
   and a fix from David Hinds for serial port grabbing was implemented.  

The 5.78e kit has several further improvements: 
   Marv provided Newbie friendly documentation,
   and verbose install reporting to enable precise trouble reports;
   Bas Mevissen improved rpm versioning;
   Mark added simpler build_module and build_rpm commands,
   improved the compile processes and applied the several patches mentioned below.  

A problem was encountered with the Xircom modems included in Toshiba Satellite laptops.  
They appeared to have the Mars chip, but did not support insertion of ltmodem.o.  
With advice from Javier Nigro, Andreas Plesch changed a PNP device-ID code 
and good functionality ensued.  Mark then implemented transparent support for 
an extended family of the Xircom modems.

Denis Auroux extended servicability of ISA modems by implementing insertion parameters 
for resource specification. The command "modinfo -p ltmodem" will list available parameters.

Vladimir Chernyshov fixed an IRQ sharing with serial.o under 2.4 kernels, 
resulting in substantial improvements of performance.

Peter Fox provided a patch enabling use of his Serial Port Monitor, 
available at http://www.roestock.demon.co.uk/serialmon,
which is now supported directly in the Linux kernel-sources.

Russell Coker provided  fixes for the devfs (device file system) usage, 
available under 2.4 kernels. 

Christoph Rohland resolved a conflict between PCMCIA cards and other Lucent
modem hardware, concurrently enabling support for PCMCIA "Lucent modem" cards.  
Joern Wuestenfeld later provided a fix for a poor recognition of the
Lucent DSP PCMCIA cards by Texas Instruments PCMCIA bridges.

Beginning with the AS 5.95 release, there has been informal but effective
contact with the AS Linux group.  Much credit goes to AS Ed Schultz, for
furthering this informal collaboaration, and occassionally clarifying
technical issues for discuss@linmodems.org.  

The 5.95 code featured the split of support into 
a propriertary lt_modem.o and  Open Source lt_serial.o drivers.
Chris implemented auto-configuration of the Makefile, 
assembly of Debian style installer packages, 
and cured a serial.o dependency under 2.4.nn kernels.
Mark upgraded the build_rpm command, and cured compile warnings present
under the original AS 2.4.nn compile;
Marv updated the Docs and some of the scripts.

These several changes mandated extensive testing before a general release.
Sets of volunteer Testers represented the several Linux distributions were
organized.  They exposed distribution specific differences, that led to 
fixes in the configuration and installation processes.  The individual
contributions in this period are too numerous to detail. Overall it was
a very effective community effort.  Some of the detail is accessible 
in the URLs embedded in Ltmodem.html, to messages in the Archives of
Linmodem.org

AS provided a 5.99 core code update before the debugging of ltmodem-5.95
so that ltmodem-5.99.tar.gz was the first broadly used release in the new
series.  There is a continuing trickle of changes in the install scripts,
some prompted by changes in external software, some to make 
installations more foolproof in the diverse Linux environment,
and others to provide precise diagnostic outputs in case of failures.
Again much more detail and the considerable drama of this community
effort can be accessed through the URLs in the companion Ltmodem.html





 


