The first Linux driver (nee Lucent) Agere Systems (AS) chip support to 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.

Russell Coker provided a fix 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.  

For the 5.95 a release:
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 update the Docs and some of the scripts.

 


