Installing the sl-modem driver on an Acer Travelmate 803 Lci

Henrik Edberg

(henrik edberg AT bahnhof se)

Augusti 7, 2005


My system

Computer: Acer Travelmate 803 Lci
Modem: Agere Scorpio soft modem (AC'97)
OS: Ubuntu-Linux 5.04
Kernelversion:     2.6.10-5-686

Chipset details from ModemData.txt

Providing detail for device at  0000:00:1f.6
  with vendor-ID:device-ID
	    ----:----
Class 0703: 8086:24c6   Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])
  SubSystem 1025:001f   Acer Incorporated [ALI]: Unknown device 001f
0000:00:1f.6 0703: 8086:24c6 (rev 03)
	Flags: bus master, medium devsel, latency 0, IRQ 10
  
                  -----PCI_IDs-------                    --CompilerVer- 
    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
 ./scanModem test 8086:24c6 1025:001f debian 2.6.10-5-686  3.3.5 3.3.5    i686

Introduction

I've always dreaded getting soft modems to work in linux, but I found myself in the position where I, more or less, had no choice, so I decided to try it and found it to be much easier than I had expected! The new drivers were very easy to compile and install with the module-assistant in Ubuntu (and Debian) and the sl-modem daemon made loading the driver at startup with the right options easy as well.

If you should find this case study useful, or you find a bug in it, please let me know at henrik edberg AT bahnhof se so I can fix it.

Identifing my modem

I started by downloading the scanModem utility at http://linmodems.technion.ac.il/packages/scanModem.gz and ran gunzip scanModem.gz to unpack it and then sudo scanModem to produce the Modem/ directory with all the information scanModem found about my system and modem.

By looking through the ModemData.txt I learned that my modem controller was an Intel Corp. controller and that there was probably a Agere AC'97 modem attached to it. Looking in the manual of my Acer Travelmate 800 confirmed that it was actually an Agere Scorpio soft modem (AC'97). ModemData.txt said that I could either try just the slmodem driver or, if that didn't work slmodem with ALSA support. I figured that I'd start by trying with just the slmodem driver and see what happend, and as it happens it worked right away!

Installing the sl-modem driver

For me it was as easy as these simple steps:

  1. Downloading and installing linux-headers-2.6.10-5-686 and sl-modem-source and all the packages they depended on (most importantly the module-assistant) using apt-get.
  2. Change directory to /usr/src and extract the driver source executing: tar jxvf sl-modem.tar.bz2
  3. Running module-assistant auto-install sl-modem-source to compile and install the new driver.
  4. Downloading and installing sl-modem-daemon package which was not possible until after I compiled and installed the sl-modem module with module-assistant.
  5. Editing the /etc/default/sl-modem-daemon init script and changing SLMODEMD_COUNTRY=USA to SLMODEMD_COUNTRY=SWEDEN.
  6. Restart the computer to see if the slamr module was loaded correctly and that the slmodemd was started with SWEDEN as country instead of USA.
  7. Since wvdail was already installed I only had to run sudo wvdialconf /etc/wvdial.conf
  8. Then I edited /etc/wvdial.conf and add the appropriate username, password and phonenumber to it and also added X3 (meaning "dial without waiting") making the INIT2 string look like this: Init2 = ATQ0 X3 V1 E1 S0=0 &C1 &D2 +FCLASS=0, and uncommented the line Carrier Check = no otherwise it wouldn't connect for me.
  9. Then I ran sudo wvdial and it worked!

Required packages

I did NOT have to install the kernel-kbuild package mentioned in the scanModem generated files. I couldn't even find that package in Ubuntu.

Problems

ModemData.txt

For the sake of completness I attached my ModemData.txt

 DO use the following line as the email Subject Line, to alert cogent experts:
      scanModem, Ubuntu 5.04 kernel 2.6.10-5-686
 Occassionally reponses are blocked by an Internet Providers mail filters.
 So do in a day also check the Archived responses at DISCUSS@linmodems.org
Code updated on:  2005_June_02
------------ --------------  System information ------------------------
Ubuntu 5.04 "Hoary Hedgehog" 
 distro=
 on System with processor: i686
 currently under kernel:   2.6.10-5-686

There are emerging complications under 2.6.10 and later kernels.  Concerning code for:
Smartlink slmodem :
   slmodem-2.9.9d.tar.gz at http://linmodems.technion.ac.il/packages/smartlink/
      has the current fixes.  Related messages are:
   http://www.datiku.com/documents/2610_migration.php
   http://www.ussg.iu.edu/hypermail/linux/kernel/0409.3/0345.html 
   http://linmodems.technion.ac.il/archive-fourth/msg03736.html .
   http://linmodems.technion.ac.il/packages/smartlink/  has an upgrab-winmodem.tar.gz,
       providing a driver to alleviate inappropriate capture of a winmodem by a serial port driver. 
Lucent/Agere DSP/ltmodem:
  http://linmodems.technion.ac.il/archive-fourth/msg03733.html 
Concerning Intel-536ep and 537
   http://www.ubuntulinux.org/wiki/IntelFiveThreeSixEPModemHowto/ 
   http://linmodems.technion.ac.il/archive-fifth/msg00280.html
   http://linmodems.technion.ac.il/archive-fifth/msg00881.html
   
 The kernel was assembled with compiler:  3.3.5
 with current System compiler GCC=3.3.5
    /usr/bin/gcc -> gcc-3.3

Checking for kernel-headers needed for compiling.
Kernel-header resources are not evident.
Within your Linux distributions' installation CD or online resource (and mirrows), search for :
  Distribution  PackageName			OnLine
  ----------------------------------------------------------------------
 Debian  		kernel-headers-2.6.10-5-686    	http://www.debian.org/distrib/packages or install CD
 Ubuntu 		linux-headers-2.6.10-5-686		http://http://packages.ubuntu.com/ or install CD
    Debian & Ubuntu will also require installation of kernel-kbuild package 
 Mandrake 	kernel-source-2.6.10-5-686	   If not present on install CDs search
 	http://mirror.switch.ch/ftp/mirror/mandrake/official/10.0/i586/Mandrake/RPMS/ 
	http://rpms.mandrakeclub.com/rpms/mandrake/official/LByName.html, or other mirrors.
  SuSE		kernel-source-2.6.10-5-686		 , kernels are named k_deflt
One of which must be installed if compiling drivers to match kernel 2.6.10-5-686 proves necessary.
Within the output Modem/ folder, read CompilingDrivers.txt for details.
  

 A /dev/modem symbolic link is not set.
 USB modem not detected.

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

Modem candidates are at PCI_buses:  0000:00:1f.6
    
Providing detail for device at  0000:00:1f.6
  with vendor-ID:device-ID
	    ----:----
Class 0703: 8086:24c6   Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])
  SubSystem 1025:001f   Acer Incorporated [ALI]: Unknown device 001f
0000:00:1f.6 0703: 8086:24c6 (rev 03)
	Flags: bus master, medium devsel, latency 0, IRQ 10
  
                  -----PCI_IDs-------                    --CompilerVer- 
    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
 ./scanModem test 8086:24c6 1025:001f debian 2.6.10-5-686  3.3.5 3.3.5    i686

       
 The soft modem Subsystem operates under a controller
   8086:24c6 82801DB ICH4 
 capable of supporting under Linux AT LEAST modem Subsystem chips from manufacturers:

	Broadcom
	AgereSystems
	Conexant
	Intel
	Smartlink

	Smartlink software in ALSA mode may support this modem 
 The Subsystem PCI id does not itself identify the modem Codec.

  Driver snd-intel8x0m  may enable codec acquisition 
  === Begin mc97 codec query  ===
1-1/0: Silicon Laboratory Si3036/8 rev 7
 Subsystem 1025:001f has a SIL2 codec
  === End mc97 codec query  ===

 Beginning check for older ac97_codec modems.
 An older ac97_modem codec was not detected.

 Checking through information gathered from LinModem ARCHIVES
 Modem codec information on Subsystem 1025:001f is not in the records.
 There are the following routes toward support:
	Follow instructions in Modem/SoftModem.txt for identifying the modem under a Microsoft boot.
	Read Modem/Slmodem.txt instruction for doing the slamr diagnostic.
  Test the effectiveness of the hsfmodem package from http://www.linuxant.com/drivers/hsf/index.php.

 The debian Linux includes sl-modem packages with Smartlink drivers
   Install the kernel-headers-2.6.10-5-686.deb
   If necessary, set a symbolic link needed for slmodem compiling:
     # ln -s /usr/src/kernel-headers-2.6.10-5-686 /lib/modules/2.6.10-5-686/build
     as described in Modem/DriverCompiling.txt
   Then install the two sl-modem/slmodem packages and follow their directions.
   Thereafter the above slamr diagnositic can be run.

      
 Information on several modem chipset providers is provided below,
 because ambiguities remain on the correct choice of supporting software.
            
 == Checking PCI IDs through modem chip suppliers ==

 Vendor=1025 is Acer, http://global.acer.com/ PC and latop manufacturer with devices including:
  1025:5453   M5453 AC-Link Controller Modem Device
  1025:0038   an AC97 link modem.


 Vendor 11c1 corresponds to Lucent Technologies or subsidiary Agere Systems, Inc.
 Information is at:  http://www.agere.com/client/modem_dsp.html. Produced are both:
   1) modems identifiable from their primary PCI IDs and 
   2) soft modem Subystem chips requiring identification through codec readouts.
 
 AgereSoftModem drivers only support AC97 or MC97 modem controllers with codecs charcterized by one of:
   SIL_id = 39 
   mc97 codec is SIL27 
   0x27 , as output by modem diagnostics under Microsoft Windows
 If uncertain, identity the softmodem codec through tests described in Modem/SoftModem.txt
 Support is currently ONLY for 2.4.n kernels and the following modem controllers:
   8086:(2416 2426 2446 7196 2486 24C6)  , with 8086 == Intel
   1039:7013  SIS
   1106:3068  VIA
 Access the soft modem software through code sponsor IBM at:
   http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
 The SmartLink slmodem-2.9.9 may serve for modems not served by this AgereSystems software.
 
 If may be necessary to add -DMODVERSIONS to the compile flags, 
 depending on whether your kernel was thus compiled. See
 http://linmodems.technion.ac.il/archive-fourth/msg01408.html


 Under the controller 8086:24c6 82801DB ICH4 ,
 with modem subSystem 1025:001f     
 Alternative supporting packages are the SmartLink slmodem-2.9.n using its proprietary slamr driver, 
 or dependent on  8086:24c6 82801DB ICH4 , an  Open Source driver from the  ALSA package.
 See Modem/Slmodem-ALSA.txt for details.
  
 For SuSE 9.2 users, there is an update  for driver slamr.ko loading during bootup. 
 To find it easily, search for "slamr" within  http://www.novell.com/linux/download/updates/92_i386.html
     

 SmartLink at http://www.smlink.com/ owns vendor IDs 163c, 2000, 2003, and 2004
 The official download site is:  http://www.smlink.com/main/index1.php?ln=en&main_id=40 ,
  but http://linmodems.technion.ac.il/packages/smartlink/ has older packages and new fixes.
      For the emerging 2.6.10 kernels, use the slmodem-2.9.9d.tar.gz  therefrom.
      Also DO download the ungrab-winmodem.tar.gz
 For details read Slmodem.txt,  Slmodem-ALSA.txt  and 
    http://linmodems.technion.ac.il/slmodem-serial.html
   
 == Checking PCI IDs through modem chip suppliers ==

 Vendor=8086 is Intel, Inc. producing HaM and 536ep host controller free (HCF) modems, 537 soft modem
 and AC97 and MC97 controllers managing a varierty of non-Intel soft modem Subsystems.
 These subSystems often have PCI_IDs assigned by the modem assembler, rather than the chip provider.
 Download available drivers through:  http://developer.intel.com/design/modems/support/drivers.htm  with Intel-537 types at:
 http://downloadfinder.intel.com/scripts-df/Filter_Results.asp?selCat=all&strOSs=39&ProductID=1230&page_nbr=2
 Also check at: http://linmodems.technion.ac.il/packages/Intel/537/  
 for beta releases and perhaps Already compiled drivers for some Linux distributions
 A very detailed installation report cogent to 537 type modems is at:
                  http://linmodems.technion.ac.il/archive-fifth/msg00541.html
 Setup call id with:
 	Type 1 : When the phone line is not in use                    at+vcid=1
	Type 2 : When the phone line is already in use on a call      at+pcw=0
 ---------------------

  ======= PCI_ID checking completed ====== 
 Update=2005_June_02

Analyzing information for PCMCIA device at PCI Bus 02:06.0
GREPping for an inserted PCMCIA modem with filter:        ommunication

Analyzing information for PCMCIA device at PCI Bus 02:06.1
GREPping for an inserted PCMCIA modem with filter:        ommunication
 If a PCMCIA modem is currently inserted and the sockets activated by
    /etc/init.d/pcmcia start
 then the PCMCIA bridge is NOT transparent.

 If the modem is known to have a Lucent digital signal processing chipset,
 then PCMCIA.tar.gz variant assembled by Joern Wustenfeld is necessary,
 rather than the standard ltmodem-8.31a10.tar.gz at  http://ltmodem.heby.de/
GCCversion=3.3.5
   
For information on modem port creation under the UDEV device file system see:
   http://linmodems.technion.ac.il/archive-fourth/msg03299.html  for Conexnant modems
   http://linmodems.technion.ac.il/archive-fifth/msg01177.html  for Lucent/Agere DSP modems
   
The following information blocks just query some ppp support items.

====================================================
   grep -rs ppp /etc/modprobe.*
-------------------------------------
/etc/modprobe.d/aliases:alias net-pf-24 pppoe
/etc/modprobe.d/aliases:alias char-major-108 ppp_generic
/etc/modprobe.d/aliases:alias ppp-compress-18 ppp_mppe
-------------------------------------
 Resident PPP support modules are properly uncompressed .
 COMM services are not active
Be sure to read the section about ppp related modules and aliases in Modem/YourModem.txt
DEVPPP=crw-rw---- 1 root root 108, 0 2005-07-27 13:42 /dev/ppp
A /dev/modem symbolic link is not present

 No devfsd.conf file found, indicated absense of the devfsd daemon package
 for device file system (devfs) symbolic link support.

DEVFSD=
 ---- dmesg queries -------
Local APIC disabled by BIOS -- you can enable it with "lapic"
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 10) *0, disabled.
audit: initializing netlink socket (disabled)
ibm_acpi: ec object not found
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
  debian is not yet providing pre-compiled drivers for WinModems

Henrik Edberg 2005-08-07