Lucent DSP winmodem tracking page  November  15, 2001 update

Synopsis
A group of volunteer Maintainers and Testers receives linuxVER.zip compiler kits from the Lucent subsidiary Agere Systems, Inc,(AS)  with current VERsion = 6.00.   Proprietary DSP (digital signal processor) code is contained in the kits, together with Open Source serial code and code directing compilation and installation of a pair of modem drivers .  Beginning with the AS kits, the Maintainers produce ltmodem-VER.tar.gz kits with enhanced functionality, greater ease of usage and substantial documentation.  Tester groups represent the major Linux distributions.  They use the ltmodem compiler  to generate Installer kits for the modem drivers, matched to the kernels of on-going Linux releases.   Installer kits do not require auxilliary resources, but must be carefully version and flavor matched with the running kernel.

Both Compiler and Installer kits can be downloaded from Canada or Germany.
There is a  Polish Linux distribution, with a slightly modified compiler kit.
There is support in Portugese, with installer packages.
Additional translations are welcomed.
Communications are through the more general Winmodem email list, discuss@linmodems.org, to which send:
   help queries - do include your Linux distribution and kernel-version;
   bug fixes;
   Gratitiude too.

General issues:
Statement of Purpose -  to Exist as little as possible.
Release news   -  What is new and Who (roughly current since VER=5.97)
Who should upgrade  -  don't rush, with exceptions, still true for VER=6.00b6
The Configure implementation - easier for Newbies.
Garments around the Source - adaptiveness and added utility.

The utility minicom is useful for accessing the modem hardware and thus testing adequacy of the driver installation.
Setting up ppp and achieving Internet navigation are not integral to any modem driver installation.
There are excellent How TOs on these separate tasks, and which may be provided as part of your Linux installation. Also see post install issues below.

Version number interpretation - Within a ltmodem-6.00b7.tar.gz designation, the
    6.00 is designation of the AS core driver code.
    b1 , b2, ...,b7 are successive improvements in ONLY the installer codes, without changes to the AS core.
    6.00b will be the final designation of the "b" series, indicating that all current improvements are mature.

The information below is fairly technical.  For Newbies, Daniel Rees' site is recommended for a first reading on ltmodem.



Modem, Chipset and driver information
     Documentation at Agere Systems, Inc.
     There are modemVER.pdf files in the DOCs/ folder of the ltmodem-Ver kits
     Supported chips as of modem600.pdf are:
        Apollo - This version of drivers will run on DSP1642-CC, DSP1641-CC, DSP1643-CH, DSP1644-CH, DSP1641B-CH
       Mars3.2, Mars3, Mars2, Mars1 - this version of drivers will run on DSP1645, DSP1646, DSP1648, DSP1648B.
       Apollo3  Support for Apollo3 (APL43) chipset for Modem/LAN applications.
     Lucent HSP modem with an Agere 1646TOO chip - is an older chip
Linux kernels with SMP (symmetric multi processort) support are NOT compatible with the modem drivers.

NOT supported include: Lucent Wildwire ADSL Client with PCI ids 11c1:0462  &  soft AMR modems.
     Venus chipset modems which have a more expensive controller, as contrasted to a DSP.

Translations between IC Consumer and AS chipset names:
   1641 = Apollo ISA
   1642 = Apollo ISA
   1643 = Apollo ISA with enough RAM for V.90
   1644 = 1643 + integrated plug and play
   1645 = Mars1 PCI
   1646 = HV-90 = Mars2 PCI
   1648 = Mars3
   1648C = Mars3.2 with more RAM for V.92

Changes from AS core code in releases 5.95 --> 6.00.
    Cures some prior cases of NODIALTONE & HANGUP on ppp initiation.
    Some higher CONNECT speeds have been reported.
    Support of 2.4.nn kernels ( though ltmodem-5.78 supported 2.4.nn).
    With release 6.00 K56Flex support has been removed, with beneficial decrease in driver size.
    For a very few systems,  there was a loss of dial up sounds in the 5.95 --> 5.99 transition.  For some of the adaptive history see reports from Thorsten and Dieter 1 & 2.  >>>



Structural and nomenclature issues:
    Drivers compiled using ltmodem-VER kits, are named lt_modem.o and lt_serial.o, use a node /dev/ttyLT0 c 62 64  with usage pernission to the /etc/group/dialout.  Drivers are installed by ./ltinst2 into the standard modules path:
     /lib/modules/2.4.nn/kernel/drivers/char/     for 2.4.nn kernels
     /lib/modules/2.2.nn/misc/                          for 2.2.nn kernels

The modem drivers are NOT loaded on boot up, but are loaded on demand (typically by ppp initiation), thanks to the  lines added by ./autoload  to  /etc/modules.conf:
    # lt_drivers: autoloading and insertion parameter usage
    alias char-major-62 lt_serial
    alias /dev/tts/LT0 lt_serial
    alias /dev/modem lt_serial
    # The next line is a syntax example, rarely needed, to automate parameter usage during lt_drivers insertion.
    # options lt_modem vendor_id=0x115d device_id=0x0420 Forced=3,0x130,0x2f8
    # section for lt_drivers ends

Under the older implementation of device nodes, the two lines:
    alias char-major-62 lt_serial
    alias /dev/tts/LT0 lt_serial
complemented by a symbolic link:
    /dev/modem --> /dev/ttyLT0
suffice to load the modem drivers on ppp initiiation.

For systems using the "device fiile system (devfs)" implemented under the 2.4.nn Linux kernels, the additional line:
     alias /dev/modem lt_serial
a symbolic link:
    /dev/modem --> /dev/tts/LT0
maintained through instructions in  /etc/devfs/conf.d/litmodem:
        REGISTER        ^tts/LT0$       CFUNCTION GLOBAL symlink $devname modem
   UNREGISTER        ^tts/LT0$       CFUNCTION GLOBAL unlink modem
together serve for demand of the modem drivers.

For most sytems, both modem drivers will load upon demand, or through:
$ modprobe lt_serial

For a minority of ISA card modems, modem functiionality may require a lt_modem.o insertion by:
$  insmod lt_modem Forced=irq,BaseAddress,PortAddress
   of which Forced=3,0x130,0x2f8 is just a particular syntax sample.
This may be needed to enable a sucessfull:
$ insmod lt_serial

This specification is automated by a line in /etc/modules.conf:
   options lt_modem Forced=3,0x130,0x2f8

For ISA modems, the Forced parameters are sometimes needed to specify a functional set

For a Very Few PCI card modems, recognition of the modem by the Operating System requires a specification like:
 

An "options lt_modem vendor_id=0x115d device_id=0x0420"  type of usage is only relevant to a very few PCI card modems, and not ISA card modems.
For ISA card modems, only a Forcing entry is cogent, like:
Forced=3,0x130,0x2f8
Note that these are syntax ONLY examples, and necessary for a small minority of installations.
Moreover particular system will not different parameters.
See post install issues below for further explanation of usages.

$  modprobe lt_serial
will also suffice to install both lt_modem and lt_serial  into the running kernel.

Modem and ppp modules loaded during a ppp session for 2.4.nn kernels typically are:
---------------------------------------------------------------------------------------
Module                  Size                           Used by
ppp_deflate            39584   0  (autoclean)
bsd_comp                4176   0  (autoclean)
ppp_async               6224   0  (autoclean)
lt_serial                   20944   0  (autoclean)
lt_modem              314592   0  (autoclean) [lt_serial]
ppp_generic           13152   0  (autoclean) [ppp_deflate bsd_comp ppp_async]
isa-pnp                                  only if the System has modular isa-pnp.o
-----------------------------------------------------------------------------------------

Upon  loading of lt_modem and lt_serial, io space usage will be shown by:
    cat /procs/ioports
Interrupt assignments will be shown only during modem hardware usage by:
    cat /procs/interrupts

After an online session is concluded, these drivers can be unloaded by Root, through
   rmmod -a
   rmmod -a
if indeed loaded autoclean. Or the modem drivers can be unloaded by the single command:
$   modprobe -r lt_serial
or sequentially by
$  rmmod lt_serial lt_modem

For linux distributions which have implemented the device file sytem  Care is needed.
Briefly here's the fix.
1) Add the following line to /etc/modules.conf
  alias /dev/modem lt_serial
2) To inform your system of this change
$ depmod -a
3) Stir your modem drivers with:
$ modprobe lt_serial
which should create if not already there:
   /dev/tts/LT0
4) set a symbolic link
   ln -s /dev/tts/LT0 /dev/modem
5) Update your devfs info with:
$ /usr/sbin/update-devfsd
or equivalent for your Linux distro
6) Within your dialup scripts specify the modem port as
   /deV/modem

The core problem is that the /dev/ttyLT0 specification is no longer
valid when your Linux distribution implements the devfs
--------------------------------------------------------------------------------------

Odds and ends:
Only one Lucent DSP modem is supported on a single PC, though as of September 2001 work is in progress to achieve multiple modem  support.

SMP (symmetric multi processor) kernels are now standard for some Linux distros including Slackware.
Until SMP support is enabled in the modem drivers (anticipated), kernels was be recompiled for single processor service to achieve modem functionality.

Modem profiles can be stored by the AT&W command, but EEPROM service is NOT yet enabled for Linux.

In the prior 5.78 releases, functionality was combined a single ltmodem.o driver, which  was installed with ./ltinst only.

Drivers compiled from the AS linuxVER.zip are named ltmodem.oand ltserial.o and use node:  /dev/ttyS14 c 62 78.
They lack support for the driver loading parameters and other enhancements crucial to some of successes described below.  Drivers from linuxVER.zip ltmodem-VER.tar.gz kits should NOT be mixed  Each driver pair will only be functional with its own /dev/Node.



CASE HISTORIES - easy installations are most common.
     Mandrake 8.0 --
     Acer laptop 514TE ---
     Suse with 2.4.7-4GB

BIOS changes from PNP --> Other are sometimes necessary.  See DOCs/BIOSaccess.txt

Some diligence effortis needed with particular hardware or Linux distributions.
See DOCs/Insert-param.html for details on usage and/or the URLs

 For a few PCI card modem, insertion parameters have been necessary.
    Toshiba laptop 2800-S201 with Xircom MPCI, see DOCs/andreas.txt
          insmod ltmodem.o vendor_id=0x115d device_id=0x00d4
               OR within /etc/modules.conf
          options  ltmodem.o vendor_id=0x115d device_id=0x00d4

    Fujitsu-Siemens Lifebook E-6560  options lt_modem vendor_id=0x11c1 device_id=0x0440

For ISA card modems, there are numerous reports for which the Forced parameters are necessary.
,   Be careful, as /etc/pnp.gone can hinder function, the problem of NO DIALTONE .
A 3rd Forcing parameter is needed, as in 5.78e and 5.78f releases.
Two very useful developmentat reports were:
        Gaël Delalleau's  comparison of 2 parameter 5.99a and 3 parameter 5.78e with Toshiba laptop
        Bernard Holzmayer's   Acer Extensa 500T (=Travelmate 500T) laptop.
     Release 5.99b  --  Implementation of the 3rd parameter for Forcing resource choices.
     Dell Inspiron 7000 report from Denis Auroux  and with much more detail for Redhat 7.1.
                  options lt_modem Forced=3,0x130,0x2F8   set in /etc/modules.conf  for automation.
           Inspiron 2500 with combo NIC & modem.
           Dell L400
     Acer Extensa 501 laptop  - Forced=3,0x108,0x2e8    with details for RedHat 7.1.
                          500T            Forced=3,0x108,0x2e8
                     100T            Forced=3,0x108,0x2e8

     Toshiba 530CDT            Forced=3,0x130,0x2f 8
           Tecra 8000             Forced=3,0x1c00,0x2f8
     Siemens laptop (lifeserie c) with ltmodem/intel_ethernet express combination.

     Some IBM Thinkpads have Lucent modems -  but the drivers  provided are the now dated release 5.95.
     Thinkpad i1410 --
                T20, with Debian 2.2.r2
                A22p under Red Hat 7.1  & Mandrake 8.1
                A22m

      Compaq Presario 336     Forced=3,0x2ff,0x2f8   , from  peter.stromberg AT dynamics.saab.se
                      Presario 1220 l
                              800 T
                              1245
                 Evo N400c

    HP Pavilion 6736 KR --  in the BIOS and turn off the (Win98) setting for the OS
          Pavillion Pavillion 7861

 For PCI card modems, at most forcing/changing of the IRQ (the first parameter) should be attempted.

PCMCIA  modem guidance:
     32 bit  Cardbus, recognized as anamalous memory.
     16 bit  Forced=3,0xbc,0x2f8.   For 2.4.nn kernels, the needed serial_cs.o must be User specified during 2.4.nn kernel complies within the section, Character devices -> PCMCIA character devices: CONFIG_PCMCIA_SERIAL_CS=m, where as serial_cs.o is standard for 2.2.nn PCMCIA support.
To achieve support on Texas Instruments PCMCIA hardware,  a modified driver kit may be necessary, and is available at:  http://www.heby.de/ltmodem/pcmcia
Managing PCMCIA  and PCI modems on the same PC.



Post install issues - there is much useful information in DOCs/

For the 2.4..nn kernel series, verify that the ppp utilities are of at least version 2.4.0

A minority of
If your System requires resource specification, automate with an additional line within /etc/modules.conf
Change the nomenclature guide:
    # options vendor_id=0x115d device_id=0x0420 lt_modem Forced=irq,BaseAddress,PortAddress
for example to:
    options lt_modem Forced=3,0xbc,0x2f8
Rarely, it may be necessary to force recognition of the modem hardware during lopoading with syntax such as:
    insmod lt_modem  Forced=vendor_id=0x115d,device_id=0x0420
which can be automated for further usage by an additional line within /etc/modules.conf
    options lt_modem vendor_id=0x115d device_id=0x0420

For community benefit, record the io space while modem is functioning with
     $  cat /proc/ioports | grep ltserial
And the resources used by the drivers can be during loading can be read out of  /var/log/messages.

To get on the Internet, Root must set up a DialOut script. To setup the utility wvdial  with ltmodem drivers, a temporary symbolic link is necessary.  There is a wvdial FAQ.

General guidance on many other post install issues  is provided by Jacques Goldberg.
If you have ppp problems under 2.4.nn kernels, upgrade ppp and module utilities.
If's good to have a copy of the modem command set .

While many Systems easily achieve CONNECT speeds near the 56 mH maximum, others benefit from the proper use of Country Codes (see DOCs/CountryCodes) and special Init strings.  There are Local phone company issues and consequences to avoid.



Problem avoiding and solving

Linux User Groups in many countries can be found through http://www.linux.org/users/index.html.  If you are a Linux Newbie, locating an experienced User nearby could greatly aid your problem solving.  There is a dedicated Help Site for common Newbie issues.   While discuss@linmodems.org aspires to provide some help beyond bare driver functionality, there is a Linux Documentation Project with help on many related topics.

Conservatively upgrading kernels and modules.
Generally new modules/drivers must be recompiled with each kernel upgrade.   It is wise to maintain the prior functioning kernel+modules set, while installing an upgrade.  In particular, the prior communications capabilities should not be be removed, until verifying that the new communications  are functional, whether by modem, ethernet or whatever.  Otherwise an annoying necessity of being off line under Linux may be incurred, when further Linux files/sources are needed to get back on line.  Here is a particular report of a 2.2 --> 2.4 upgrade problem.

Whenever the kernels and/or modules are changed, dependency files must be rebuilt.
On Debian related systems with a folder   /etc/modutils/,
    Root /Superuser should run the command: update-modules, which includes depmod -a.
For other Linux distributions, the relevant command is just: depmod -a.
There is a searchable archive on Linux upgrading issues.

Here are Information gathering instructions to follow, before querying discuss@linmodems.org on Winmodem isses.

Lockup troubleshooting -  Run diagnositics and report to the List if necessary.

A tool for displaying PCI IDs generally, in addition to the utils/scanPCI for ltmodems specifically.

Driver compilation failures are Most Commonly due to inadequate kernel-header resources.  Read revelant sections of 1ST-READ and  DOCs/compile_failures. A "make dep" is essential.  Directions for Suse 2.4.0  and 2.4.4 - 4GB.

Failure of lt_serial to insert (insmod lt_serial) can be due to improper Flavor matching of a kernel and modem drivers.

"Unresolved symbols" complaints during the "depmod -e" test may only reflect trivial sub-version differences between your running kernel and that of the kernel headers used in compiling the modem drivers.  Their are the following solution routes:
1)  Use fixscript V1.8 after reading the explanations towards the end of 1ST-READ, in DOCs/  and utils/  . The most recent version can always be downloaded from http;//www.heby.de/ltmodem.  The downloaded fixscript.gz MUST only be unpacked (gunzip fixscript.gz) under Linux
2)  Use Kees Vonk strategem  of renaming the kernel-headers version: change the first line of
    /usr/src/linux-2.4.2.SuSE/include/linux/version.h from:
    #define UTS_RELEASE "2.4.2"    to    #define UTS_RELEASE "2.4.2-4GB"
3) Flavor match versions of binary installers carefully, the Debian example.
4) Most laboriously, install and use if necessary full kernel-sources, as described in DOCs/Compile_failure.

'"ALIASLINES"'  complaint while loading drivers. A bug you can easily bypass.

DOCs/Insert-param.html directs the checks to do if modem drivers do not initially load, for example,
      the init_module complaint:      lt_serial.o: init_module: No such  device
This open source ltmodem-0.9.9.tgz may be useful for defining resources, to aid specification of Forced parameters, but  before running the tests First:  rmmod lt_serial lt_modem

Resolution of audio card conflict. -- case report
Audio card resource conflicts can be a cause of NO DIALTONE.
Crash upon disconnect was solved by compiling ALSA sound support into a 2.4.9 kernel

DOCs errors -

id=0x420 Xircom/Lucent modems  Support has not yet been achieved, but a resolution of the problems is being actively pursued with cooperation from Xircom.

Modem sounds are not produced in a Small Minority of the 5.99 installations, in which functionality is otherwise fine. For one such system, use of the older archived 5.95 release did Restore sound.

A modem string with X2  only increases modem to CPU speed, not necesssarily CONNECT speed.

Co-existence of ethernet and ppp - Jacques Golderg comments.

If ppp CONNECT is achieved, but  Internet navigation  fails, compare PING tests with IP NumericAddress and the corresponding NameAddress.  If there is a successfull "ping" of  a numeric IP address, such as the nameserver specified in /etc/resolv.conf
    ping 207.172.3.8
    PING 207.172.3.8 (207.172.3.8): 56 data bytes
    64 bytes from 207.172.3.8: icmp_seq=0 ttl=253 time=168.2 ms
while there is failure using a named address, such as "corel.com", then only NameServer function requires configuration.

Loading of ppp modules may fail due to inadequate aliases lists.

Check for proper country codes if there are dial sounds but no carrier.
      Country code lists are in the DOCs/ folder.

TAM functionality? Ed Schulz at AS reports that the current Linux ltmodem code does NOT include voice functionality.



Most entries above are from the Linmodem Archives,

Next entry???
Please add useful new Links/URLs with good Descriptive titles Herein.
Then send your update to:
     Jacques Goldberg <goldberg@phep2.technion.ac.il>
      MarvS <stodolsk@rcn.com>

Periodically, it may become appropriate to compact some of these contents into a HowTo.
Pages such as this can be hosted for general access, for example on the server
    which Jacques Goldberg has prepared for seaching the archives.
They could be announced through:  announce@linmodems.org
Such postings and access will greatly diminish the frequency of Newbie Repeater Questions.



List issues
Anti-SPAM measures are implemented, though occassional, there is a leak through.

To Unsubscribe, send an email from your initial subscription address to:
           announce-unsubscribe@linmodems.org
List founder Russell Nelson <nelson@crynwr.com> comments in response to:
         > so im asking, no im begging please remove me from THE LIST.
"It's quite possible that occasionally there is a problem.
But I need you to send me a copy of all the mail you sent to the list server,
and a copy of all the mail it returned.  Otherwise I cannot diagnose the problem."



Other Winmodem Chipset support.

Compiler kits available:
       Intel HaM driver, with a current beta download site.
       IBM's Mwave modem driver for Thinkpad 600E and newer laptops.
            This is new modem type, neither ISA or PCI.
            The driver code is now included within the Linux kernel-sources, and function is compatible with SMP kernels.
       for PCTEL, Jan has set up a resource site.
Binaries only:
       For Conexant HSF modems, only binary drivers are supplied through Olitec.
             A HOWTO is available, and more here.
            ONLY the HSF is supported now with HCF support projected in Dec2001, see question 11.
       Driver for ESS ISA modems are only for earlier 2.2 kernel versions.

Some combination ethernet-modem cards have a supported chipset as in the
 Siemens laptop (lifeserie c) as in the ltmodem/intel_ethernet express combination.

No support:
       for 3COM/US Robotics Inc. winmodems,
           though Contrioller based modems are supported through the standard serial.o  drivers.
       Lucent AMR soft modems (without DSPs, digital signal processors).
       Motorola SM56 driver support began with the 2.4.5 kernel code, but is terminating