controladores para modems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hola como estan les agradeceria mucho que me ayuden a encontrar los
controladores para mi modems quiero migrar pero mi modems es analogico
mi conexion es de linea telefonica soy de venezuela DO NOT SPEAK
ENGLISH. PLEASE POR FAVOR
 Only plain text email is forwarded by the  Discuss@xxxxxxxxxxxxx List Server,
 as HTML can contain viruses. Use as the email Subject Line:
           YourName, YourCountry  kernel 2.6.20-15-generic 
 With this Subject Line cogent experts will be alerted, and useful case names left in the Archive.
 YourCountry will enable Country specific guidance. Linux experts in YourCountry 
 can be found through: http://www.linux.org/groups/index.html.
They will know your Country's modem code, which may be essential for dialup service.
Responses from Discuss@xxxxxxxxxxxxx are sometimes blocked by an Internet Provider mail filters.
 So in a day, also check the Archived responses at http://www.linmodems.org 
--------------------------  System information ----------------------------
CPU=i686,  
Linux version 2.6.20-15-generic (root@palmer) (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #2 SMP Sun Apr 15 07:36:31 UTC 2007
 scanModem update of:  2009_05_12

 There are no blacklisted modem drivers in /etc/modprobe*  files 
 Potentially useful modem drivers now loaded are:
         snd_hda_intel       

Attached USB devices are:
 ID 1307:0163  
 ID 03f0:7904 Hewlett-Packard 
If a cellphone is not detected, see http://ubuntuforums.org/archive/index.php/t-878554.html

If a USB modem or cellphone is attached and was not detected, please
provide available information in your request to discuss@xxxxxxxxxxxxx

For candidate card in slot 02:02.0, firmware information and bootup diagnostics are:
 PCI slot	PCI ID		SubsystemID	Name
 ----------	---------	---------	--------------
 02:02.0	11c1:0620	11c1:0620	Communication controller: Agere Systems Unknown device 0620

 Modem interrupt assignment and sharing: 
 --- Bootup diagnostics for card in PCI slot 02:02.0 ----

For candidate card in slot 00:1b.0, firmware information and bootup diagnostics are:
 PCI slot	PCI ID		SubsystemID	Name
 ----------	---------	---------	--------------
 00:1b.0	8086:27d8	105b:0cc5	Audio device: Intel Corporation 82801G 

 Modem interrupt assignment and sharing: 
 16:       7827          0   IO-APIC-fasteoi   uhci_hcd:usb4, eth0, HDA Intel, i915@pci:0000:00:02.0
 --- Bootup diagnostics for card in PCI slot 00:1b.0 ----
[   55.089939] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 16 (level, low) -> IRQ 16
[   55.089961] PCI: Setting latency timer of device 0000:00:1b.0 to 64


===== Advanced Linux Sound Architecture (ALSA) diagnostics ===== 
The ALSA packages provide audio support and also drivers for some modems.
ALSA diagnostics are written during bootup to /proc/asound/ folders.

The ALSA verion is 1.0.14
The modem cards detected by "aplay -l"  are: None


The /proc/asound/pcm file reports:
-----------------------
00-02: ALC883 Analog : ALC883 Analog : capture 2
00-01: ALC883 Digital : ALC883 Digital : playback 1
00-00: ALC883 Analog : ALC883 Analog : playback 1 : capture 2

about /proc/asound/cards:
------------------------
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfdff8000 irq 16

 PCI slot 00:1b.0 has a High Definition Audio Card
 The drivers are in the kernel modules tree at:
 /lib/modules/2.6.20-15-generic/kernel/sound/pci/hda/snd-hda-intel.ko
UNEXPECTED HDA diagnostic outcome.
=== Finished firmware and bootup diagnostics, next deducing cogent software. ===
 Completed candidate modem analyses.

 The base of the UDEV device file system is: /dev/.udev

 Versions adequately match for the compiler installed: 4.1.2
             and the compiler used in kernel assembly: 4.1.2


 
 Minimal compiling resources appear complete:
   make utility - /usr/bin/make
   Compiler version 4.1
   linuc_headers base folder /lib/modules/2.6.20-15-generic/build

 However some compilations and executable functions may need additional files,
 in the FileNames.h (so called kernel "h"eaders) collection installed in  /usr/include/ .
 For martian_modem, additional required packages are needed. The also required headers of package libc6 are commonly installed by default. 
 Compiling hsfmodem drivers does require linux-libc-dev and libc6-dev packages, for kernels 2.6.24 and later versions.
 In not included on your install CD, search for them at http://packages.ubuntu.com
 or comparable Repository for other Linux distros.
 When compiling ALSA drivers, the utility "patch" will also be needed.




If a driver compilation fails, with message including some lack of some FileName.h (stdio.h for example), then
Some additional kernel-header files need installation to /usr/include. The minimal additional packages are libc6-dev
and any of its dependents, under Ubuntu linux-libc-dev

If an alternate ethernet connection is available,
$  apt-get update
$  apt-get -s install linux-kernel-devel
will install needed packages.
For Debian/Ubuntu related distributions, run the following command to display the needed package list:

Otherwise packages have to be found through http://packages.ubuntu.com
Once downloaded and transferred into a Linux partition,
they can be installed alltogether with:
$ sudo dpkg -i *.deb


Checking pppd properties:
	-rwsr-xr-- 1 root dip 269224 2007-04-05 03:41 /usr/sbin/pppd

In case of an "error 17" "serial loopback" problem, see:
    http://linmodems.technion.ac.il/linmodems/archive-sixth/msg02637.html

To enable dialout without Root permission do:
	$ su - root  (not for Ubuntu)
        sudo chmod a+x /usr/sbin/pppd
or under Ubuntu related Linuxes
	sudo chmod a+x /usr/sbin/pppd

Checking settings of:	/etc/ppp/options
asyncmap 0
noauth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

In case of a message like:
   Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
see http://linmodems.technion.ac.il/bigarch/archive-sixth/msg04656.html

Read Modem/DOCs/YourSystem.txt concerning other COMM channels: eth0 eth0:avah
Which can interfere with Browser naviagation.

 Don't worry about the following, it is for experts should trouble shooting be necessary.
==========================================================

 Checking for modem support lines:
 --------------------------------------
     /device/modem symbolic link:   
slmodemd created symbolic link /dev/ttySL0:  
     Within /etc/udev/ files:

     Within /etc/modprobe.conf files:
/etc/modprobe.d/alsa-base:options snd-atiixp-modem index=-2
/etc/modprobe.d/alsa-base:options snd-via82xx-modem index=-2
/etc/modprobe.d/blacklist-modem:# Uncomment these entries in order to blacklist unwanted modem drivers
/etc/modprobe.d/blacklist-modem:# blacklist snd-atiixp-modem
/etc/modprobe.d/blacklist-modem:# blacklist snd-via82xx-modem
     Within any ancient /etc/devfs files:

     Within ancient kernel 2.4.n /etc/module.conf files:

--------- end modem support lines --------

 =======================================================
          COMPILING DRIVERS, for Linux Newbies
	  
Within the workshop there is an instruction set, the Makefile, and a few tools.   You command:
	make clean
An elf named "make" comes in, reads Makefile and then cleans up any debris of previous efforts.  
Do ALWAYS command "make clean" as a first step before new driver compilations.
The major work of compiling drivers and any associated tools is commanded with:
	make  
or perhaps  
       make DriverName
There only remains to command installation of the modem driver(s) and tools with:
 	make install
Configuration of a dialout utility is done elsewhere, and you can access the Internet.

It is really that simple, once the workshop with tools has been prepared.
But new drivers have to be compiled with every operaing system update.
The remainder of this text is thus aids you in the preparations, dealing with a variety of special cases.
Most  points are covered in much more detail in the Linux Kernel-HOWTO, likely included among the
HOWTO documentation set installed within /usr/share/doc/ folders.

The core operating system of a PC is comprised of a motherboard, the software kernel, 
and its auxilliary code modules.  The kernel is the file  /boot/vmlinuz-2.6.20-15-generic. 
Modules located in subfolders of /lib/modules/2.6.20-15-generic/  .  They can be inserted into or removed 
from the acting kernel upon demand. This provides adaptablity to the diverse 
hardware components of PCs and changing requirments. 

Modem drivers are one type of module.  As contrasted to most Linux software, modem driver codes have
some non-public code components. That is the drivers are not fully Open Source, to protect 
Intellectual Property of the providing companies.   This has a consequence that many Linux distributions
will not or cannot legally  supply proprietary  modem drivers.  Rather the Users must get the 
modem code package and direct  compiling of the code and driver installation.

A complementary resource for compiling is a family of FileNames.h, collectively called kernel-headers.
They are both code bits themselves and also call for other code bits their functioning depends on.
Depending on the Linux distribution, kernel-headers may not be automatically installed.
If not they will always be made available on installation media or some Linux repository.
They can be searched for by package names including:  kernel-source, linux-source, kernel-headers and 44
There are always some kernel-headers in afolder /usr/include/.   But these are an INCOMPLETE, too small collection 
and DO NOT suffice for compiling processes.

In addition some software utilities may have to be installed.  The instructions for compiling are read by make.
A set of compiler tools are installed as a  gcc-SomeVersion package.  After compiling, the various pieces 
and linked dynamically together with "ld". Together wiith some simpler software tools, the ld will 
already be installed on Linux systems.  Systems using the Debian style maintanence system
additionally require a package "kernel-kbuild-3.n" to properly utilize kernel-headers or 2.6.n kernels.

The  "kernel-headers" are matched with an installed kernel, or must be generated from a kernel-source package. 
These are provided in different ways by the various Linux distributions, under 2.6.n kernels:
     Redhat and Fedora - installation is coincident with kernel installation, 
         with placement of the kernel-header base folder in /lib/modules/2.6.20-15-generic/build/
    Mandrake and SuSE/Novell - installation as part of a kernel-source or linux-source  packages,
         with location at /usr/src/kernel-headers-2.6.20-15-generic  or /usr/src/linux-2.6.20-15-generic 
    Debian and distros using its Package.deb format have names:
          kernel-headers-2.6.20-15-generic
	  linux-headers-2.6.20-15-generic  for Ubuntu
	  and installation is into  /usr/src/
	  for Xandros, there is a xandros-kernel-source-version.deb  which has to be installed
	      Unpack if necessary with 
	         # cd /usr/src/
		 # ls
	         # tar jxf xandros-kernel-source-version.tar.bz2
	      see   http://support.xandros.com/kb-view.php?topic=64  for details
	         but for 2.6.n kernels, the step after:
		 # make EXTRAVERSION=-x1 oldconfig
	         should be
		 # make EXTRAVERSION=-x1 bzImage
    Others - ???

For  the prior generation of 2.4.n kernels, there are special cases.  Skip this if your kernel is a 2.6.n or a Debian type.
For RPM using distros, the kernel-source-2.6.20-15-generic or linux-source-2.6.20-15-generic packages must be installed and configured as described below:
 1) SuSE with KernelVersion 2.4.21-144-* or later - install the matching kernel-source package, which does also contain the kernel-headers;
2) for Fedora II or later, kernel-headers are/were coinstalled with the kernel package;
3) for all other cases of 2.4.n kernels, the kernel-headers must be prepared from kernel-source.      
  The preparation can be summarised in a few steps/actions:
  Install a kernel-source package representing your kernel.
  Change directory (cd) into its base folder. The kernel-source in general
  will match only one of several kernels that could have been installed
  and NOT necessarily yours. Thus clean out any remnants of earlier usages with:
  	make mrproper
  Copy in your kernel configuration file and have it read with:
	make oldconfig
  If necessary edit ONLY the fourth line of the Makefile, which completes
  the specification of where drivers will be installed to (details below).
  The kernel-headers are then assembelled by either: 
  a) for 2.4.nn kernels by
	make dep
  b) for 2.6.n kernels,
        make bzImage
which includes an integral "make dep" step. 

Modem related resources may or may not have been installed during the primary Linux installation,
as WinModem hardware is often NOT recognized.  Search your Distro's package
descriptions for "modem" to reveal the status of related resources.  Read
the package description to determine whether pre-compiled modem drivers were provided.
RESOURCES of a few types are needed to get on line. Do PREFERABLE use your System's
package maintenance system for the installation. This should guarantee that
any DEPENDENT packages will be called into the installation process. As a preliminary
1) Install your distributions package providing the KPPP, WVDIAL and MINICOM dialer utilities.
Dependencies within such packages will also drive the unpacking of ppp related modules
from compressed to a functional form :
   module.o.gz --> modules.o
or for 2.6.n kernels
   module.ko.gz --> module.ko
In addition these dialers will later aid testing and configuration,
which is to be performed only AFTER, the modem's drivers are installed.

2) Download if necessary and modem driver package specific to your modem hardware.
3a) Install if necessary your distrbution's kernel-source package, necessary for preparing kernel-headers under 2.4.n kernels
Or for Debian style distributions,
3b) install the kernel-header-2.6.20-15-generic.deb package matching your kernel version 2.6.20-15-generic.

A KERNEL-SOURCE package must be installed, if a full kernel-header set
is not otherwise provided. Kernel-source packages are now some 30-40 MB now even in compressed form.
The package provided by your Linux Distro SHOULD preferentially be used.
It will usually have some differences from that initially released at http://www.kernel.org .
Typically the installation process will set two symbolic links:
  /lib/modules/2.6.20-15-generic/build -->  PATH_to/kernel-source-version/
  /usr/src/linux --> PATH_to/kernel-source-version/
These later enable access to the kernel-headers needed during the modem driver compiling. Check with:
  ls -l /lib/modules/2.6.20-15-generic/build
  ls -l /usr/src/linux
The former link is more usefull for Systems with alternative boot kernels,
and is mandatory for some modem compiler packages.

HIGHLY IMPORTANT: the kernel-source as installed in generally does NOT
represent your current kernel version, EVEN if the kernel-version is the same.
Only one of several possible kernels was installed on your System,
and the unpacked kernel-source need NOT represent it exactly!!!
For example, in the RedHat Distro there is a set of kernel-configuration files within
   /usr/src/linux/configs/
Each is specialized for a different CPU (i586, i686, K6, etc),
Yet each will be represented by the VERY SAME version name: "uname -r" .
!!!! Thus a PROPER CONFIGURATION MUST BE DONE by You, before compiling drivers !!!!

Examples provided below are partially customized from your System settings.
CONFIGURATION is started by moving into the kernel-source folder with one of:
  cd  /lib/modules/2.6.20-15-generic/build
  cd /usr/src/linux

 There is a Makefile on your System at:  /lib/modules/2.6.20-15-generic/build/Makefile
 with first few lines:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 20
EXTRAVERSION=-15-generic
NAME = Homicidal Dwarf Hamster

ifdef UBUNTUBUILD

For your current kernel, the fourth line should be
   EXTRAVERSION = 
where  has been read from your current kernel version: 2.6.20-15-generic.
But it this does not match what is Actually in the Makefile,
then it represents a Different kernel-header set then that of your kernel!!!

For Mandrake Linux their will generally be an included "mdk", such as:
 EXTRAVERSION = -3.1mdk
SuSE 9.0 had:
 EXTRAVERSION = -99-default
The first four makefile lines specify that:
a)  the compiled kernel modules/drivers will have encoded version labels such as:
   2.4.21-3.1mkd  OR   2.4.21-99-default
b)  such modules including modem drivers are installed into sub-folders of
   /lib/modules/2.4.21-3.1mkd/
   /lib/modules/2.4.21-99-default/
The major points are that compiled drivers must be both
kernel-release (the 2.4.21) AND EXTRAVERSION matched with the installed kernel.
Otherwise they may be installed uselessly and not be detected by the kernel
OR there will be a failure upon attempted insertion, with message including:
  a list of "unresolved symbols ".

Kernel-headers may be resident from a prior usage of the kernel-source/.
Check with:
  ls include/linux/
which may display abundant FileNames.h
The version of these headers will be in the UTS line displayed by
  cat include/linux/version.h
     #define UTS_RELEASE "2.4.21-3.1mdk" (as an example)

Next, list completely the contents of the kernel-source  with:
  ls -a
Where the " -a " additionally reveals ".dot-prefixed-confguration-files" such as
    .config  .hdepend .depends
which may be left over from the prior usage of the kernel-source. Below is an example:
 -------------------
    .config  .hdepend .depends
COPYING        Makefile        Rules.make    init    mm
CREDITS        README          arch        drivers  ipc     net
Documentation    conf.vars   fs       kernel  scripts
MAINTAINERS    REPORTING-BUGS  crypto      include  lib

Configuration of the kernel-source is where almost all the Mistakes occur!!!
Here is a way to do it correctly (but read through EXCEPTIONAL CASES below).
1)Within kernel-source/ folder, browse the README file for general guidance.
It will relate that the command:
#    make mrproper
cleans up leftovers from any previous usage .dot-files and the include/linux/ folder.
Additionally you may need to do an edit within Makefile, but ONLY that 4th line.
2) If necessary to edit, FIRST make a backup:
  cp Makefile Makefile.backup
then edit ONLY the 4th line of Makefile to match the EXTRAVERSION of 2.6.20-15-generic
   EXTRAVERSION = -
NEVER change anything else within the Makefile.

3) Set the dependencies of the current kernel.
For SuSE 9.0 and later, there is a command which does the following steps
   #  make cloneconfig && make dep
   Also browse the excellent README.SuSE in the kernel-source/ folder
For other Distros, the following steps are necessary, within the kernel-source/ folder
  copy the kernel-config file to  .config
          and DO SPECIFY that " . "
But where is it? For many Distros, it will be the file like
   /boot/config-2.6.20-15-generic
matching the output of:
  uname -r
Or it may be the target of a symbolic link:  /boot/config -->
So
  cp /boot/config-2.6.20-15-generic .config
For SuSE 8.0 and earlier versions it is:
  cp /boot/vmlinuz.config  .config
PLEASE do not omit that "." in  .config as it is crucially necessary.
View .config with a text browser.
It is simply a listing of the code components used in the kernel and its modules:
  #
  # Automatically generated make config: don't edit
  #
  CONFIG_X86=y
  # CONFIG_SBUS is not set
  CONFIG_UID16=y
etc.

4) The  .config file will be read during
#  make oldconfig
which feeds its specifications through a process specifying
the SAME inter-dependencies previously used in compiling your kernel,
and may generate additional .dot-config files . They can be displayed with:
#   ls -al

5) Though it may be redundant after "make mrproper", it will do no harm to:
   make clean
5a) For the SuSe Linux versions 8.0 and previous , there will exist files:
  /boot/vmlinuz.autoconf.h
  /boot/vmlinuz.version.h
They MUST be copied as:
  cp /boot/vmlinuz.autoconf.h  /usr/src/linux/include/linux/autoconf.h
  cp /boot/vmlinuz.version.h    /usr/src/linux/include/linux/version.h

6) Now build kernel-headers with:
	make dep
for 2.4.n kernels or for 2.6.n kernels
	make bzImage 
during which you can walk your dog, take a shower, have tea, etc.
7) Check for resultant FileNames.h with:
	ls  include/linux/
and
	cat include/linux/version.h
to verify the version.

COMPILING the MODEM DRIVERS can now finally be done.
Unpack the compiler kit for your modem drivers,
cd into its folder, read any README or INSTALL files,
   make clean
FINALLY, your modem drivers will compiled by a command like
   make OR  make ModuleName
or perhaps
   make all
During this process, some of the kernel-header code with be joined
with the supplied modem specific code, and ModemDrivers.o will be produced.
Follow and further instructions in the modem code resource
to install the drivers, often with:
   make install

		THEORETICAL ISSUES	

WinModem driver packages commonly include:
1) a readible Open Source component, which can be readily debugged by
experts in code. This component provides "wrappers" to common
kernel functions for an already complied, or BINARY format, component of the modem code.

2) A Closed Source component compiled into the binary form, in which
proprietary information is encrypted. This will include the copyrighted Vn.nn compression algorithms.
In 2004, pre-compiled modem drivers are beginning to be included
for a few winmodems by some Linux distributions.
But the binary format precludes incorporation of the modem drivers in some Linux distributions
for legal reasons, practical reasons, and/or reasons of principle.

Since almost all the newer PCs are now equipped with WinModems,
many users will have to compile their own linux modem drivers.
Exceptions are the more expensive modems with Controller chipsets,
characteristic of the earliest modems.
They are supported by Open Source serial code included in Linux
distributions (Distros hereafter).

Winmodems are less expensive because of greatly reduced hardware costs.
They lack Controller chips of the earliest modems, and may additionally lack Digital Signal Processor (DSP) chips of second generation modems.
Functions of Controller based chipsets are replaced by a combination of 
software code and/or other System hardware.

Modems without a controller chip are referred to as "controllerless modems" and
modems lacking both a DSP and controller chips are referred to as "soft modems".
With faster central processor units (CPU), some processing tasks are performed
by the CPU for the controllerless modems. The CPU does nearly all
the signal processing for the "soft modems" lacking a DSP. 

AC97 or MC97 soft modems conform to an ac97_codec, and can host a variety of Subsystems It is the CODEC of the Subsystem which determines which software should be utilized!! 
and any modem controllers can host one of a variety of soft modem Subsystems.
There are additionally soft PCI modems without such controllers, which still utilize
the common ac97_modem.o driver. In general it will be YOUR task to identify
the Subsystem codec and compile the needed driver.
   
## end Modem/DOCs/DriverCompiling.txt

 Do NOT send this  text  with common information to discuss@xxxxxxxxxxxxx
 There are instructions to UNSUBSCRIBE from discuss@xxxxxxxxxxxxx at http://www.linmodems.org
 ==============

 Several sections are included in this file:
   The Summary of modem Support under Linux
   description of the soft modem identity tests: SIL ids
   some output from scanModem specific to your System
   an explanation of the GCC 2.95 compiler warning
   ethernet Interference with DNS (domain name service)
   Please Linux Newbies read carefully, the companion
   Modem/DOCs/DriverCompiling.txt and its
     Followup Modem/DOCs/DriverTesting.txt section  with dialout examples.

It is the CHIPSET, and Not the modem BrandName which is informative for Linux support

The chipset types that are fully supported under Linux, without proprietary drivers,
have the more expersive controller chipsets. These include the 3COM,Inc 3CXM556 and
AgereSystems FM560LK chipsets.  Do a WWW search to find them.

 USB modems will not be detected through the acm.o driver with port /dev/ttyACM0
   UNTIL proper USB support is installed.
   See http://www.linux-usb.org/USB-guide/x332.html,
   Linux_kernel_source/Documentation/usb/acm.txt, and
   http://www.usb.org/developers/devclass_docs/usbcdc11.pdf (page 15)
 Among the USB modems with proprietary interfaces, there is support for
   Conexant HSF modems are supported by the hsfmodem package at http://www.linuxant.com/drivers
     HSF USB with Vendor:Product IDs -  0572:1300  0572:1301  0572:1302  0572:1303  08E3:0111
       with updates at         http://www.linuxant.com/drivers/hsf/index.php
     HCF Vendor ID: 0572 Product ID: 1290 (Cadmus2 HCF, Conexant) is supported,    
       but NOT the Cadmus I types:  http://www.linuxant.com/drivers/hcf/faq.php#25
     HCF USB Vendor ID: 05AC Product ID: 8202 (Cadmus2 HCF, for Apple/Mac and not PCs)
   SmartUSB56 (ST7554) based modems with ID: 0483:7554  
     The SWEEX USB modem has the ST7554 chipset
     Drivers are at http://www.smlink.com/main/index1.php?ln=en&main_id=40
     http://linmodems.technion.ac.il/archive-fourth/msg00176.html is an installation report.
    To write out Smartlink information, use the proxy entry
      ./scanModem test 1131:3400

 PCMCIA card modems can serve if your laptops modem is not supported under Linux.
Look through
http://windows-breaker.devidal.tv:5190/~chris/winmodems/pcmcia_list.html
All modems with a green bar labelled OK on the left will work with Linux serial drivers.  They will immediately be recognized by
# wvdialconf  /etc/wvdial.conf
or under kppp as /dev/ttyS0 ...> /dev/ttyS3
Also see   http://freewebhosting.hostdepartment.com/g/gromitkc/pcmcia_list.html
The 3COM,Inc 3CXM556 and AgereSystems FM560LK chip modems use Open Source serial-cs.o drivers.

For modems not recognized by scanModem, chipset information may be obtained under Microsoft Windows through:
 1) Start > Settings > Control Panel > Classical View (for WinXP) > Modem  
 or alternatively under Linux
# cat  /proc/asound/mc97*
      Try to identify the modem setup file, with name perhaps MODEM.INF
 2) Open a COMM console, and send ATI commands to the modem (ATI, ATI1, ATI2, etc)
   which may elicit chipset and driver information. Here is an example
       ATI3 - Agere SoftModem Version 2.1.22
       ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
   successfully identifying an Agere SoftModem chipset, both by name and through
   the:softmodem SIL ID:              AC97 ID:SIL REV:0x27

 SUPPORT SUMMARY - as of 2009_05_12
 -------------------------------------
 Controller chipsets are used in the most expensive modems and are supported.
  They utilize the same serial drivers included with kernel+module installations,
  and most commonly one of the ports /dev/ttyS0 thru 3.
  Such chipsets are produced by 3Com, AgereSystems (the Venus chipset),
  Topic Semiconductor Corp., and others. But the same companies may
  produce unsupported WinModems. Do not depend on the Brand Name.
  Look for an explicit statement of Linux support

 AVOID the following modem chipsets:
   ESS -       no formal support since 2.2.2 kernels, though there are kluges:
      http://andywettstein.home.comcast.net/ess/
      http://tx.technion.ac.il/~raindel/
   3Com/US Robotics winmodems - never supported under Linux

 SmartLink - newer chipsets are supported:   http://www.smlink.com
   ftp://ftp.smlink.com/linux/unsupported/
   Moreover, the slmodem-2.9.10  drivers will support Many but not all modem Ssubsystems
   that serve under AC97/MC97 controllers.

 Conexant -  all modems supported with drivers at:  http://www.linuxant.com
   Testcode for slow 14,400 mH support is free, BUT
   there is a one time charge for the full speed support.

 Intel Inc. -  http://developer.intel.com/design/modems/support/drivers.htm
   For early releases check at: http://linmodems.technion.ac.il/resources.html
    The HaM modem is supported, but code is no longer being updated;
      there will likely be failures under emerging 2.6 kernels.
    The 536EP and five Intel537 modem chipset variants are actively supported.

 Lucent /AgereSystems
   The Venus chipset modem uses the Linux seraik drivers and is thus supported.
   Modems with digital signal processing (DSP) chipsets are supported:  http:/ltmodem.heby.de
   For AC97/MC97 soft modems. Initiate software access through code sponsor IBM:
       http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
   Coding of support for has Not yet begun PCI soft modems with PCI_IDs 11c1:048?
   

 Motorola support is at: http://www.motorola.com/softmodem/sm56_download.htm
   through 2.4.22 kernels.

 PCTel modem business has been sold to Conexant
   Driver compiler resources are at: http://pctelcompdb.sourceforge.net/
  However, the pre-compiled binary component is yet to be assembled
   with the gcc 3.nn used in newer Linux releases,
   so forced (-f) insertions may be necessary:
     insmod -f pctel
   Some of the HSP soft modems are supported by the SmartLink slmodem-2.9.10 drivers.

 Broadcom modems in Dell laptops and PCs - can be made to function under 2.4 kernels, but code has not been updated recently.

 --------- end chipset section ----------------------

  SUPPORT under the current 2.6.nn kernels.

 The more expensive Controller chipset modems are functioning.
 SmartLink slmodem-2.9.9 drivers are functioning.
 Conexant has 2.6.n support
 The Lucent/Agere digital signal processing (DSP) chipsets do have
   informal service into 2.6.n kernels and an AgereSystems release is soon expected.
 Intel, Agere Systems and Linuxant are firmly expected to continue support into 2.6.nn,
   though the Intel HaM software will not be updated to 2.6.n service

 ------------------------------------
  Preparing winmodem drivers will generally require compiling.
  If you are not familar with this process DEFINITELY read carefully
  the Modem/DOCs/DriverCompiling.txt
  
 RATIONAL

 This scanModem service is sadly  necessary because of the pre-compiled format
 (binary, Closed Source)  of some modem supporting code. Intellectual property
 is protected within the binary component.  But this prevents compatibility
 assessments/debugging against Linux Open Source code. Skipping many details,
 the consequence is that some Linux distributions do not deliver Closed Source code,
 or tools adequate to fully identify the modem chipset.
 This script tries to close  this information gap.

 This script primarily utilizes the "lspci" utility from the package PCIUTILS.
 Various component scriptlets interpret the information captured by lspci.
 For many modems, directions to supporting software and/or more detailed information is enabled.
 ISA bus modems, 16 bit PCMCIA card modems and USB modems will not be recognized.
 See the output files for guidance on these cases.

 The script originated as scanPCI written by Chris Hebeisen,
 to recognize modems with DSP (digital signal processing) chipsets made by Lucent/AgereSystems.
 It now aspires to provide useful information on other modems as well.
 For the  Lucent/Agere DSP chip modems, System information is used to recommend Installers,
 from the Installer list output from the repository:   http://ltmodem.heby.de/
 For other modem chipsets fully identified, URLs to support sites are given.

 Three types of information are acquired from your System:
 1) General system information necessary for your guidance;
 2) The PCI_ID of the modem card, or for the increasingly prevalent "soft modems",
  the PCI_IDs of  its AC97/MC97 controller and its modem subsystem.
 3) For soft modems, a SIL_ID of the subsystem is either acquired
 OR instructions provided for manual agetting it.

 The remainder of /media/KINSTON TOW/scanModem/scanModem.2009051256 is a repository of "modem gossip" or URLs thereto.
 Only information blocks most relevant to your System will be output into
 files written to the Modem/ folder
 Should you need assistance after FIRST following all the advice and/or URLs,
 1) Browse the general information at:  http://linmodems.technion.ac.il/ 
 2) ONLY thereafter send ModemData.txt to:   discuss@xxxxxxxxxxxxx
 Modem/DOCs/General.txt  has common information the List need not be bothered with.
 3) Also the archive SEARCH ENGINE at  http://linmodems.technion.ac.il/
 may be useful once PCI or SIL IDs are acquired.

 The scanModem script can be read and word searched with a text browser.
 Blocks of Information with little code begin and end with #####.

 In case of a failure concerning "lspci", rerun /media/KINSTON TOW/scanModem/scanModem.2009051256 after login to a console with
 # su - root
 as Root permission may be necessary for access to lspci.

 Updated on 2009_05_12 by  Marv Stodolsk for access through:
     http://linmodems.technion.ac.il/packages/scanModem.gz
 Please do NOT use a scanModem.gz from any other site!!

Modem Type Readout and Supporting Software Identification.
-------------------------------------------------------
Most add on cards to motherboards (including modems) adhere to a PCI standard, for
which there is firmware on the card which can be readout, providing setup parameters
and specification of the required software. This works under Linux provided that
drivers are resident. Herein is the practical problem. During the evolution of 
modems, some of the complementing software components became Proprietary and
Closed Source.  A consequence is that for reasons of Legality and/or Principle,
many Linux distributions do not distribute such modem drivers with the regular
releases, even when the modem chipset designer does provide Linux support code.
Without the drivers, additional assistance is needed to identify the modem
chipset and its complementing software.

The scanModem script includes four routines to determine the software required:
1) Readouts with a lspci tool accessing firmware on PCI cards.
2) A test using modem drivers already on your system as part of the ALSA (Advanced Linux 
Sound Architecture) software package. See DOCs/Smartlink.txt for details.
3) Comparison of Primary+Subsystem PCI IDs with others historically gathered, and 
then archived within scanModem.
4) A test requiring the SmartLink slamr.ko driver. See DOCs/Smartlink.txt for details.

Should these not be adequate, there are directions below for doing diagnostics during 
an alernate Microsoft Windows bootup.

Stop here on a first reading, and just run
   ./scanModem
Read on later if you are interested in details, OR
need instructions for doing modem diagnostics under Microsoft.

Using MicroSoft(MS) Windows:
-----------------------------
MS installations do generally have adequate diagostic capability. Try the following
routine 1), beginning with mouse clicks on:
   1) Start > Settings > Control Panel > Classical View (for Window XP) > System 
> Hardware > Device Manager > Modems > Click on the + > Modem. Double click to 
expand the graphic. Manufacturer information may be displayed. For example, CXT 
stands for Conexant. Click the Diagnostics Tab. Record any hardware ID or vendor 
and device information.
Next do the Query Modem and record the ATI specifications displayed such as:
     ATI3 - Agere SoftModem Version 2.1.22
     ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
Try to identify the modem setup file, with name perhaps MODEM.INF.

   2) Open a COMM console. Send ATI commands to the modem (ATI, ATI1, ATI2, etc) 
which may elicit chipset and driver information. Here is an example:
     ATI3 - Agere SoftModem Version 2.1.22
     ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
successfully identifying an Agere SoftModem chipset, both by name and through 
the softmodem SIL ID: AC97 ID:SIL REV:0x27

The IBM mwave modem:
This has a DSP chip usually seated on the motherboard. Not carried on a PCI card 
it cannot be detected by scanModem. However, the mwave driver is included in 
2.6.n kernel releases.
So try:
   # modprobe mwave
Either the module will load or the absence of the modem will be indicated by:
   FATAL: Error inserting mwave (/lib/modules/2.6.10-1-
686/kernel/drivers/char/mwave/mwave.ko): Input/output error
See http://www.linuxdocs.org/HOWTOs/mini/ACP-Modem/ for details on this modem.

Modem evolution:
----------------
Here is a very abbreviated history on how modem evolutionary development. The
earliest modems (MOdulate and DEModulate signals for phone lines transmission)
managed all signal proceesing on the modem card through actions of expensive
Controllers chipsets with DSP (digital signal processing) capability. Copyrighted 
Vn.nm compression routines were also encoded in the chipset. Under Linux, an Open 
Source serial driver was the minimal complementing software. This generation of 
Controller chipset modems placed minimal burden on the early slow  central 
processing unips (CPU) of personal computers, such as the Intel 386.

As CPUs became faster, it was feasible to transfer some modem functions to
the CPU. A 2nd generation of modems retained a DSP chip, but Controller functions
were software driven on the CPU. A benefit was that modem hardware became cheaper.
But sadly the supporting software was Proprietary. Worst, some Intellectual Property
components were Closed Source to protect large investment in code development. Such
Controller free modems include the Conexant HCF, Intel-537EP and Mars chipset 
modems from Lucent or its later subsidary, Agere Systems Inc.

As CPUs became even faster, even DSP functions could be software code driven on
the CPU. This third generation of modems are commonly called "softmodems". Their
complementing software is comparable in sizeto that of the Linux kernel itself. The
residual "modem chip" is very cheap, but the development of the complementing
software is a large investment on the part of the chip designer/maker. 

Modem chipset determination under Linux:
---------------------------------------
The chipset of a modem determines which complementing software is required.
The Manufacturer and Model of an assembled modem are often inadequate to identify
the chipset. But sometimes there is an easy chipset identification. There is
a "lspci" utility provided in the Linux pciutils package. It reports the PCI 
identifiers (IDs hereafter) or the Primary card, its Subsystem, and some setup
parameters written in firmware. For example, there is a softmodem in the
PCI bus of address 00:11.6 on my laptop. Shown below is firmware information
acquired by two lspci commands:
$ lspci -s 00:11.6
00:11.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Controller
$ lspci -s 00:11.6 -nv
     00:11.6 0780: 1106:3068 (rev 80)
        Subsystem: 14ff:100b
        Flags: medium devsel, IRQ 193
        I/O ports at e000 [size=256]
The translation is:  The card inserted into PCI bus slot 00:11.6 is named
"Communication controller: VIA Technologies, Inc. AC'97 Modem Controller".  The 
modem was assembled by a Vendor with ID identification code 1106 . Among 1106's 
products, it has a Device ID of 3068 in its 80th revison.  This usually  provides
adequate information, to get software from the Vendor designated by 1106 (VIA 
Technologies, Inc. in this case) for their device designation 3068.  The parameters
        Flags: medium devsel, IRQ 193
        I/O ports at e000 [size=256]
are determining by the environment of the host computer as reading modem firmware.
It may change if other hardware is added/removed from the host computer, or
under a change or Operating System (OS) kernel.

The problem for softmodems is that additional information is needed for the software
specification. The Subsystem Vendor_ID identifies only the assembler company.  But 
the modem chip housed in the Subsystem could be of a variety of types, each requiring 
different support software. In general, a single Subsystem assembler could use a
variety of different softmodem chips.  The Subsystem firwmare information on the chipset
is not accessible to lspci. Rather it requires usage of a modem driver, if one first had
some competent modem driver for minimal diagnostics.

Fortunately there are the software tools and drivers of the ALSA (Advanced Linux 
Sound Architecture) suite. This includes modem drivers lacking COMM proficiency by
themselves, but enough capability to readout the Subsystem firmware.  For the VIA
modem above, the encoded modem codec is SIL22, reporting that the softmodem chip was
made by SmartLink Inc. 

It is important to emphasis, that AC'97 Modem Controllers are made by a variety
of companies, and each may house many different Subsystem modem chips. There is
an Archive within scanModem of those with previously identified codecs. For example, 
the table for the 1106:3068 AC'97 Controller is:
	codec SubSystems_with_codec  ------------>
	CXT   104d:8143 104d:80f6 1025:0030 
	SIL27 1102:0033 1025:0046 1025:0033 1734:1078 1509:2870 1025:0046 
	SIL22 1743:1032 10cf:118e 1734:1054 1462:309e 1631:e004 1543:4c22 161f:2032 and_more
	SIL21 10cf:118e 13bd:1022 1543:4c21 1071:8375 1019:0c04 1458:1543 1019:b320
	MOT66 1734:109b 
Because of hardware configuration issues, the ALSA tools may initially fail. Then this
Archive is a fall back reporting the codec, and therefrom the needed software. For reasons
obscure, a single Subsystem ID may have different codecs under different Primary
controllers. Thus the pair Primary+Subsystem IDs must BOTH be retained to record 
the codec.

In addition to the Modem Controllers adhering to the AC'97 specifications, softmodem
Subsystems may be hosted by High Definition Audio (HDA) cards such as the:
8086:2668 Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
These lack a softmodem codec.  Instead the softmodem chip information acquired with ALSA
tools is within a folder:   /proc/asound/card0/codec*#1/
and includes the Vendor ID of the softmodem chip, such as 14f1 corresponding to Conexant. 

The software support:
---------------------
The CXT designation above is an abbreviation of CXT_some_number, for Conexant HSF softmodem 
codecs. These now number some 41 (perhaps more) CXT. Fortunately, all these codecs are
supported by a single hsfmodem software package provided through http://www.Linuxant.com
The trial package is free, but locked to speeds of 14,400 K.  A software key must be 
purchased to enable full speed support, with future software updates free. There is NO
freeware alternative for the hsfmodem software.  But Linuxant does provide pre-compiled
drivers for the more common Linux kernels, and their support services are good.

In the Table below, there are currently some 13 other softmodem codecs. Fortunately
all are supported by a combination of the ALSA modem drivers, the ALSA audio drivers
the modem drivers depend on, and a very smart helper utility from Smartlink Inc.,
the slmodemd helper. Sasha Kharposky wrote the Linux slmodemd utility and remains its
volunteer maintainer. It  provides the cleverness to interface between the low level 
ALSA modem driver and the pppd package communications codes. For details do:
$ slmodemd --help
and read associated documentation.  The slmodemd is provided with some Linux distributions,
and can also be downloaded in SLMODEMD packages from:
    http://linmodems.technion.ac.il/packages/smartlink/

Subsystems of AC'97 Modem Controllers
--------------------------------------- 
Subsystems for softmodems are primarily made by Silicon Labs (SIL) under 
contract to companies like Intel, Agere Systems, Motorola etc. In the Table 
below, ChipMadeBy does NOT imply software support directly from that 
manufacturer. The chart of information below is largely harvested from messages 
to discuss@xxxxxxxxxxxxxx
A codec_indent such as REV:0x27 is reported by diagnostics under Microsoft, as 
illustrated above. The matching designations such as SIL27 are translations 
under Linux, which are output by a diagnostic of the slamr.ko driver from the 
SmartLink slmodem software.
SIL is an abbreviation for Silicon Laboratories Inc., which provides Subsystems
on order to many modem assemblers. 
SML is used below as abbreviation for SmartLink Inc. with official driver 
resources at http://www.smlink.com/main/index1.php?ln=en&main_id=40 .  BUT use
updated resources at http://linmodems.technion.ac.il/packages/smartlink/.
ALSA+SML means use an ALSA modem driver plus the Smartlink slmodemd helper,
with the particular driver depending on the AC'97 or HDA host controller.
ID was originally a hexadecimal readout from 7c and 7e registers of the SubSystem, 
but are translated into "english", as done automatically by the slamr driver.

ID    chip_maker     driver/helper sources
----------------     ----------------------
CXTnm   Conexant     hsfmodem package from http://www.linuxant.com with several hsf* drivers.
   nm - a number
SIL25   Intel        ALSA+SML or INTEL-537EP supported AA variant
INT65   Intel        ALSA+SML or INTEL-537EP supported EA variant
SIL26   SML          SML, slamr driver plus slmodemd
SIL27   AgereSystems ALSA+SML
SIL2f     "          ALSA+SML
MOT66     "          ALSA+SML
AGR01     "          ALSA+SML
AGR02     "          ALSA+SML 
SIL21   PCTel        ALSA+SML
SIL23   PCTel        ALSA+SML
SIL22   SML          ALSA+SML
SIL24   Broadcom     ALSA+SML
BCM64   Broadcom     ALSA+SML, under Intel ICH family, AC'97 controllers.
----------------------------------------------
Subsystems with the above characteristics could reside under any of
the primary softmodem controllers listed below. Ignore the stuff after the > .
It serves during parsing of the Table by scan modem

Primary              
PCI_IDs           Name	                   Possible support by:
---------------  -----------------------------  -------------------------
8086:2416 82801AA ICHAA AC97 Modem Controller>  		+ A a  p c .
8086:2426 82801AB ICHAB AC97 Modem Controller> 		+ A a .
8086:7186 >				        			c .
8086:7196 82440MX Banister AC97 Modem Controller >     	+ A a      c .
8086:2446 82801BA/BAM ICH2 AC97 Modem Controller > 		+ A a p c .
8086:2486 82801CA/CAM ICH3 AC97 Modem Controller > 	+ A a p c i .
8086:24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)1DB ICH4 AC97 Modem Controller> 		+ A a   c i b .
8086:25a7 6300ESB AC97 Modem Controller  NEW >
8086:24d6 82801EB/ER ICH5/ICH5SR AC97 Modem Controller> 		+ A     c i .
8086:8280 1EB ICH6 AC97 Modem Controller> 	        + A	c .
8086:2668 Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller> H c . 
8086:266d Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC97 Modem Controller >
8086:2669 631xESB/632xESB AC97 Modem Controller  NEW >
8086:27d8 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller HDA > .
8086:27dd (ICH7 Family) AC97 Modem Controller  NEW >
8086:xxxx types above are from Intel> 

1039:7013  SIS 630 >               		+ a p c i .
1039:7018  SIS 960 >               		+       i .
10de:01c1  Nvidia Corp >          		+       i .
10de:00d9  Nvidia Corp >			    A      c   .
1106:3068  VIA >			+ a p c i .
1022:7446  AMD AC_LINK >		+ .
10b9:5450  ALI 5450 >
10b9:5451  ALI 5451 >			+ a  c .
10b9:5453  ALI 5453 AC-Link  >	      	p c .
1025:5453  ALI 5453 AC-Link  > 		    c .
10b9:5457  ALI 5457 AC-Link > 	+    p   c i .
1025:5457  ALI 5457 AC-Link  >        	     c .                   .
1002:434d  ATI >					  T  a    c i .
1002:437b  ATI Audio device: ATI Technologies Inc SB450 HDA Audio a .
1002:4378 ATI >						     c .
1543:3052  SI3052 >

Class 0403, High Definition Audio Controllers (HDA)
-----------------------------------------------------
8086:2668   Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) HDA Controller
8086:27d8   Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller
1002:437b   Audio device: ATI Technologies Inc SB450 HDA Audio (rev 01)
10de:026c   nVidia Corporation MCP51 High Definition Audio
----------------------------------------------------
are the members of this family encountered as of September 2006.
From the file  /proc/asound/card0/codec*#1/, there are the following Subsystem chips:

  Vendor IDs  Chip maker     Support type
  ----------  ----------    -------------
  0x14f12bfa  Conexant      hsfmodem , not slmodemd compatible
  0x14f12c06
  0x11c13026  AgereSystems  snd-hda-intel, slmodemd
  0x11c11040      "         not supported into 2008
  0x163c3055  Smartlink     snd-hda-intel, slmodemd
  0x163c3155    "               "             "
  0x10573055  Motorola          "             "
  0x10573155     "              "             "

			MODEM TESTING
			 
This text is complemented by the Post-Install at http://linmodems.technion.ac.il
Please so consult it if the following does not suffice.

The wvdial package provides for an automated hardware+driver test.
This utility searches through ports with syntax: /dev/ttyS*  (i.e. S0, S1, SL0 etc.)
and also follows a symbolic link:
	/dev/modem --> /dev/ModemPort
If your modem port name does not satisfy these requirements already,
do a console login as:
	su - root
Make the symbolic links as:	
	ln -sf /dev/ModemPort /dev/modem
	ln -sf /dev/ModemPort /dev/ttyS15
wherein /dev/ttyS15 is reserved for experimental usage.
 Should there be problems with wvdial version 1.54.1-1 , drop back to 1.54.0-1 

For recent RedHat and Fedora releases, wvdialconf is used by the Internet Wizard.
Within the pop-up menus find the Wizard. Its actions will write a configuration file:
	/etc/wvdial.conf
For other Linux distros, open a console and login with
	su - root
If necessary load the modem drivers:
	sudo modprobe DriverNames
Then run the test:
	wvdialconf /etc/wvdial.conf
Checks /dev/modem and ports /dev/ttyS*, a success at port /dev/ttySLT0 would be:
  ttySLT0<*1>: ATQ0 V1 E1 -- OK
  ttySLT0<*1>: ATQ0 V1 E1 Z -- OK
  ttySLT0<*1>: ATQ0 V1 E1 S0=0 -- OK
  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK 
    etc.
The /etc/wvdial.conf written looks like:
 
 [Dialer Defaults]
Modem = /dev/ttySLT0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
; Phone = <Target Phone Number>
; Username = <Your Login Name>
; Password = <Your Password>

For systems using the SmartLink slmodem drivers,
the following line should be added to its /etc/wvdial.conf
  Carrier Check = no
So after editing in your personal information a functional file is like:
 
[Dialer Defaults]
# lines beginning with # are Comments, not read by wvdial
Modem = /dev/ttySLT0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
## if there is problem with dial tone acquisition, add into the above line:
#    X3
#	 meaning "dial without waiting"
## for some Internet Provides, there may be problems with the new V92 mode codes.
# This can be suppresses with an:
# Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 +MS=90 
## Within Italy it is sometimes necessary to even force a slower mode
# ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 +MS=34
# This mode is also useful for PBX dialout lines.
ISDN = 0
Modem Type = Analog Modem
# edit in your IP's phone number below.
Phone = 3334445555
# Do not use - or spaceds in the Phone = line
# Introducing a pause with a , is sometimes necessary with hotel/company switchboards
# Phone = 8,3334445555 or 8,,,3334445555 for s 3 second pause
Username = Your_Login_Name
# for MSN.net, use instead
#  Username = MSN/Your_Login_Name   
Password = Your_Password
# if not using the SmartLink slmodemd, comment out with # the following line.
Carrier Check = no
[ Dialer 2nd_home ]
Phone = 7778889999

Then dialout with
$ sudo wvdial
or use the 2nd dialup number with:
$ sudo wvdial 2nd_home

 
The /etc/wvdial.conf generated by the RedHat/Fedora Internet Wizard 
has a different format, adapted to its own dialer.  This includes a line
	Stupid Mode = yes
More informative dialup feedback May be obtained if it is commented out:
#	Stupid Mode = yes 

 A dialout with wvdial will then display like:
# wvdial &
--> WvDial: Internet dialer version 1.53
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT3019178111
--> Waiting for carrier.
ATDT3019178111
CONNECT 53333 V42bis
--> Carrier detected.  Waiting for prompt.
** APX1.LNH.MD.RCN.NET Terminal Server **
Login:
--> Looks like a login prompt.
--> Sending: LoginName
LoginName
Password:
--> Looks like a password prompt.
--> Sending: (password)
    Entering PPP Session.
    IP address is 66.44.1.6
    MTU is 1006.
--> Looks like a welcome message.
--> Starting pppd at Sat Jul 26 13:59:03 2003
--> pid of pppd: 2404
: pppd 2.4.1 started by root, uid 0
: Using interface ppp0
: Connect: ppp0 <--> /dev/tts/LT0
Jul 26 13:59:08 stodolsklap kernel: PPP BSD Compression module registered
Jul 26 13:59:08 stodolsklap kernel: PPP Deflate Compression module registered
: local  IP address 66.44.1.6
: remote IP address 208.59.89.132
: primary   DNS address 207.172.3.8

The & in "wvdial &" puts the process into the background, 
allowing further usage of the command prompt.  To stop a backgrounded process:
# fg wvdial
# Ctrl -C 

TROUBLE SHOOTING

Check for modem driver loading.
Do FIRST read INSTRUCTIONS files provided with the modem driver resource.
Some may have installed to /usr/share/doc/Modem_or_Driver_Name/
For RPM using distros, documentation files will be listed through
   rpm -q -d packageName (less the version part, sometimes)
and all directly installed files can be listed by
   rpm -q -l packageName
Depending upon your installation, the modem drivers may/may_not be autoloaded.
Login as Root in a console with:
# su - root
# lsmod
If the modem drivers are not already loaded onto the kernel, insert them with command
# sudo modprobe ModuleDriver
If there are multiple drivers such as the lt_modem.o and lt_serial.o pair,
commanding the serial like driver:
# sudo modprobe lt_serial
should autoload all modules it depends on.  Check with:
# lsmod 
This proceeds through a reading of dependency files
written to /lib/modules/2.6.20-15-generic/ during boot up through the "depmod -a" command.
In constrast
# insmod lt_serial
would only attempt loading of that single driver and will FAIL, if its dependency on
lt_modem.o has been satisfied by prior lt_modem.o insertion.
 
 Do read "man wvdial" and /usr/share/doc/vwdial  documentation
sometime browse the documentation that is written to /usr/share/doc/wvdial/
Therein are instructions for setting up alternative dialouts.

%%% This wvdialconf action if successful generates the files:
 /etc/ppp/peers/wvdial
 /etc/ppp/peers/wvdial-pipe
in addition to the /etc/wvdial.conf

Many Users prefer to use the dialout utility KPPP. This is fine.
But each User MUST run the configuration process separately.
In principle, different Users on the same Linux System could
have different Internet providers and/or use different modems.
The configuration process generates a file:  /home/UserFolder/.kde/share/config/kppprc
Therein, non-standard modem port names can be entered, such as:
      [Modem]
      Device=/dev/ttySHSF0
 for the Conexant hsfmodem port.  
 

Preparation for  dialout if other COMM modes are active.
---------------------------------------------------------------------------
Concurrent ethernet capability will compete for
the Domain Name Service (DNS) needed for browser naviagation. So as root:
# /sbin/ifconfig eth0 down
before starting a dialout!
With a Mandrake installation, it will be necessary to:
# /etc/init.d/network stop

Internet clients such as Netscape, Mozilla, Explorer etc.
should be CLOSED during your first dial out trials.
Should a URL on the Internet be specifed as the default URL/connect,
then the Client may compete with ppp for connectivity functions.
After PPP functionality has been verified, the effects of opened
or launched browsers can be checked

If you have installed the DIALD (dial on demand) package, stop it for initial tests:
# /etc/init.d/diald stop
Otherwise diald function will be initiated with modem usage,
and could compilate issues. Test diald only after ppp by itself is fine.

If your internet provider assigns DNS dynamically then add to /etc/ppp/options:
 usepeerdns

To analyze a dialout attempt, it is useful to display kernel messages with:
# tail -f /var/log/messages &
The & puts the commanded process in the "background" allowing recovery of the command prompt.

Some dialer packages (kppp etc) may automate the above steps.


Note that for some Linux distributions (Mandrake for one),
maintain modules in compressed module.gz format, if modem service was not specified
during the Linux installation. A subsequent installation of any dialer package:
  wvdial - PPP dialer with built-in intelligence.
  kppp - PPP dialer for KDE
  dtmfdial - A DTMF Tone Dialer
  gkdial - Gtk-based PPP dial-up configuration tool.
  gkdial-gnome - GNOME-based PPP dial-up configuration tool.
  masqdialer - daemon for remote control of masqueraded dialup links
  pppconfig - Debian configuration toolset with command: pppconf
will stimulate unpacking of ppp related modules during bootup.

The cogent ppp related modules loaded during such a CONNECT are displayed within the output from:
# lsmod
ppp_deflate             3512   1  (autoclean)
zlib_inflate           18980   0  (autoclean) [ppp_deflate]
zlib_deflate           18648   0  (autoclean) [ppp_deflate]
bsd_comp                4440   0  (autoclean)
ppp_async               7744   1  (autoclean)
ppp_generic            16380   3  (autoclean) [ppp_deflate bsd_comp ppp_async]
slhc                    5264   1  (autoclean) [ppp_generic

For ealier 2.4.nn kernels, loading of these modules may require the following lines within
  /etc/module.conf :
### automate ppp modules loading ###
alias /dev/ppp          ppp_generic
alias char-major-108    ppp_generic
alias tty-ldisc-3       ppp_async
alias tty-ldisc-14      ppp_synctty
alias ppp-compress-21   bsd_comp
alias ppp-compress-24   ppp_deflate
alias ppp-compress-26   ppp_deflate
### end ppp block ####
For more recent kernels with their modutils,
these lines are no longer needed.

For  potential causes of a NO DIALTONE failure, read the Post-install.html
at  http://linmodems.technion.ac.il/  Not setting the Country Code may be
and additional problem.

 COUNTRY CODE Issues
 ====================
 The modem which you purchase locally or abroad may not be preset
 with the proper Country Code setting.  An incorrect setting can
 hinder acquisition of dial tone.
 Inclusion of an X3 (dial without wainting) in the modem Init string
 of under wvdial, including in /etc/wvdial.conf a line
   Stupid Mode = yes

 Dialtone recognition depends on the setting of country
 and/or local phone line equipment.

 To properly get dialtone for your country phone experiment use
 AT+GCI=xx  where xx is country code in hexidecimal format.
 Theoretically there could be 256 different countries but
 not all are valid. Tables in manuals are way off date,
 you have to write a small script to try all combinations
 for yourself if you can't guess by chance.

 After country select you can check textual name of the country it represents.
 For example:
   at+gci=00
   OK
   ati9
   Japan

 If you can't find exact country, choose the nearest one available.
 Nearby countries tend to have similar equipment and compatible dialtones.
 
 If a message like:
 Sep 20 09:32:42 localhost pppd[7355]: The remote system is required to authenticate itself
 is generated during an abort of a login,
 Then try adding a line to /etc/ppp/options
   no auth

8) After a successful CONNECT, the Domain Name Service (DNS) needed
 for Browser navigation can be checked with:
# ping corel.com
PING comcast.net (63.240.76.72): 56 data bytes
64 bytes from 63.240.76.72: icmp_seq=0 ttl=52 time=209.1 ms
64 bytes from 63.240.76.72: icmp_seq=1 ttl=52 time=189.9 ms
64 bytes from 63.240.76.72: icmp_seq=2 ttl=52 time=180.0 ms
64 bytes from 63.240.76.72: icmp_seq=3 ttl=52 time=179.9 ms
# Ctrl-C
     aborts ping
--- comcast.net  ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 179.9/189.7/209.1 ms

# ping 63.240.76.72
PING 63.240.76.72 (63.240.76.72): 56 data bytes
64 bytes from 63.240.76.72: icmp_seq=0 ttl=52 time=179.8 ms
64 bytes from 63.240.76.72: icmp_seq=1 ttl=52 time=190.0 ms
64 bytes from 63.240.76.72: icmp_seq=2 ttl=52 time=170.0 ms
# Ctrl-C
     aborts ping

Should there be a success with:
# ping 63.240.76.72
BUT a failure with the named address:
ping comcast.net
Then DNS has not been acquired.
Note that failure to stop ethernet service
# /sbin/ifconfig eth0 down
before starting a dialout, will commonly block DNS under ppp.

To terminate the wvdial session, bring the action to the foreground (fg):
# fg wvdial
  Ctrl-C    to terminate:
wvdial
Caught signal #2!  Attempting to exit gracefully...
: secondary DNS address 207.172.3.9
: Terminating on signal 15.
: Connection terminated.
: Connect time 7.8 minutes.
--> Disconnecting at Sat Jul 26 14:06:53 2003

The Debian distribution provides a utility:
# pppconfig
for setting up a chatscript for ppp initiation.
Most dialers do use chatscripts and will produce similar records.
Below is the record of a dial out initiated by:

# pon
: pppd 2.4.1 started by marv, uid 1000
: abort on (BUSY)
: abort on (NO CARRIER)
: abort on (VOICE)
: abort on (NO DIALTONE)
: abort on (NO DIAL TONE)
: abort on (NO ANSWER)
: abort on (DELAYED)
: send (ATZ^M)
: expect (OK)
: ATZ^M^M
: OK
:  -- got it
: send (ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M)
: expect (OK)
: ^M
: ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M^M
: OK
:  -- got it
: send (ATDT3019178111^M)
: expect (CONNECT)
: ^M
: ATDT3019178111^M^M
: CONNECT
:  -- got it
: send (\d)
: Serial connection established.
: Using interface ppp0
: Connect: ppp0 <--> /dev/modem
: kernel does not support PPP filtering
Jul 26 14:08:39 stodolsklap kernel: PPP BSD Compression module registered
Jul 26 14:08:39 stodolsklap kernel: PPP Deflate Compression module registered
: local  IP address 66.44.1.195
: remote IP address 208.59.89.132
: primary   DNS address 207.172.3.8

Once your first CONNECT has been established, than in the future if should suffice
just to use your dialer of choice: wvdial , kppp  .gnomeppp or whatever.

Good surfing to you.

10) GENERAL ITEMS

 If attemped insertion of a modem driver evokes a complaint like:
         unresolved symbol do_SAK_R9a0bcb74
 then the kernel-headers using in compiling the modem drivers
 do not match those of your current kernel whose KernelVersion is displayed by:
    uname -r
 and whose kernel config file is often located at /boot/config-KernelVersion
 The section above "COMPILING DRIVERS, for Newbies" relates how to make corrections.

 There are definitely IPs whose login protocols are Linux hostile.
 If you cannot achieve a login, try another Internet Provider (IP).
 or ask for someone on discuss@xxxxxxxxxxxxx to test your IP.

 Many driver packages provide for loading modem drivers on bootup.
 Here is a description on how to set it up, if necessary:
   http://linmodems.technion.ac.il/archive-fourth/msg00451.html

 PLEASE include the diagnostic output of the following Root command in any problem reports:
 # setserial -agv /dev/ttyS*

 For instructions on having modem drivers loaded on bootup,
   particularly the SmartLink slmodem drivers see:
   http://linmodems.technion.ac.il/archive-fourth/msg00451.html
 For automated removel of drivers after a PPP session see:
   http://linmodems.technion.ac.il/archive-fourth/msg00145.html

  For general upto date advice:
    http://linmodems.technion.ac.il/
    http://linmodems.technion.ac.il/resources.html
    available in Russian at  http://linmodems.nm.ru
 for a general PCI_ID database
    http://www.pcidatabase.com/
 the original Linux winmodems URL is:
    http://linmodems.org
 with a mailing list on Winmodems:
    discuss@xxxxxxxxxxxxx
 whose archives can be searched at:
    http://linmodems.technion.ac.il/ (near bottom of the page)
 There is an extensive modem database at:
    http://start.at/modem/
 Locate your local Linux groups through:
    http://www.linux.org/groups/index.html
 USB modem information:  http://www.linux-usb.org/USB-guide/x332.html
 Laptop users should browse http://tuxmobil.org/modem_linux_add1.html
 For debugging ppp:
   http://www.cisco.com/warp/public/471/debug_ppp_negotiation.html

---------- end FOLLOW UP STEPS ---------------

   For instructions to UNSUBSCRIBE from discuss@xxxxxxxxxxxxx,
   send an email to:   discuss-help@xxxxxxxxxxxxx
Modem usage is accomplished through drivers, sometimes some helper software,
and the core communication work horse "pppd". Usually it will be found at
/usr/sbin/pppd with permissions shown on my Ubuntu system by:
$ ls -l /usr/sbin/pppd
-rwsr-xr--  1 root dip 257720 2006-07-05 08:58 /usr/sbin/pppd
The s means "sticky" meaning only one person can use pppd at a time.
As installed, it requires Root/Adm permissions to use pppd, directly or
through front end dialer tools.  This is a security precaution common to
all COMM channels. But if you want to enable a simple User to dialout,
as is basically OK for a single user PC, do:
$ su - root
# chmod a+x /usr/sbin/pppd
or for Ubuntu:
$ sudo chmod a+x /usr/sbin/pppd
after which there will be seen:
$ ls -l /usr/sbin/pppd
-rwsr-xr-x  1 root dip 257720 2006-07-05 08:58 /usr/sbin/pppd
with the last x meaning any one can execute pppd, either directly or
much more commonly through a front end dialer such as wvdial of KPPP.

Configuration file for wvdial
-------------------------------
There is a very smart dialer utility "wvdial" 
which can be used once basic modem setup is accomplished.  A configuration file
is needed, which begins below with [Dialer defaults].  This file can be accessed
any where by:
$ wvdial --config Path_to/configuration_file
Most commonly the configuration file is saved as:
	/etc/wvdial.conf
whereat it will serve all Users of the computer. If saved as:
	/home/LoginName/.wvdial.rc
it will be found and used before  /etc/wvdial.conf. Note that "." beginning
a file name means "do not show it", except through usage of:
$ ls -a 
Many local configuration files are thus "hidden" in your /home/LoginName/ folder

Some Linux installations have dialup tools like Kinternet, GnomePPP, and the
Redhat/Fedora Internet Connection Wizard which are front ends for wvdial and
will write /etc/wvdial.conf files.  For this reason, it is advisable to test
your configuration file first, before copying it to /etc/wvdial.conf. Typically
a first test is run with:
$ sudo wvdialconf wvtest
   which will search ports with names:  /dev/modem /dev/ttyS* /dev/rfcomm*.
   A successful ouput include a section like:
WvModem<*1>: Cannot get information for serial port.
ttySL0<*1>: ATQ0 V1 E1 -- OK
ttySL0<*1>: ATQ0 V1 E1 Z -- OK
ttySL0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttySL0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttySL0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttySL0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
   Note: above lines are testing the driver, modem firmware is then first read by ATI
ttySL0<*1>: Modem Identifier: ATI -- SmartLink Soft Modem
ttySL0<*1>: Speed 4800: AT -- OK
ttySL0<*1>: Speed 9600: AT -- OK
ttySL0<*1>: Speed 19200: AT -- OK
ttySL0<*1>: Speed 38400: AT -- OK
ttySL0<*1>: Speed 57600: AT -- OK
ttySL0<*1>: Speed 115200: AT -- OK
ttySL0<*1>: Speed 230400: AT -- OK
ttySL0<*1>: Speed 460800: AT -- OK
ttySL0<*1>: Max speed is 460800; that should be safe.
ttySL0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttySL0.
Modem configuration written to wvtest.
ttySL0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
------
will be included in a successful run, where in this case /dev/ttySL0 
is the responding device port.  The generated wvtest file is:
[Dialer Defaults]
Modem = /dev/ttySL0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
; Phone = <Target Phone Number>
; Username = <Your Login Name>
; Password = <Your Password>

which at a minimim must be edited to a form like:
[Dialer Defaults]
Modem = /dev/ttySL0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
Phone = 3334445555
Username = Your_Login_Name
Password = Your_Password

Additional if your modem port is of the type /dev/pts/N , with N a number,
then there MUST be added a line:
 Carrier Check  =  no
This requirement currently applies to dialups using the helper utility: slmodemd
together with slamr, slusb or ALSA modem drivers, OR the  "      "    : martian_helper
used with the martian_dev  for Lucent/Agere modems with DSP chipsets.

Then a test dialput can be done with:
$ sudo wvdial --config wvtest

There are some Systems for which the wvdialconf test will stall at rfcomm ports.
This is a wvdialconf bug and can be bypassed by just using wvdial with a trial
wvtest, but you need to specify the port appropriate to your modem.

If the configuration file below, lines beginning with # are comments.
Removing a # will activate a line with wvdial instructions appropriate to 
special circumstances.


[Dialer defaults]
# Lines begining with # are comments.
# wvdial will look for this file at  /etc/wvdial.conf  or  /home/LoginName/.wvdial.rc

# Redhat/Fedora have an  Internet Connection Wizard in the popup menus 
# ICW will write a two part  /etc/wvdial.conf supporting multiple modem usage.

Modem = ModemPort
# typically a symbolic link to the true port is used, /dev/modem or /dev/ttyS*
# wvdialconf will test all port names /dev/modem and /dev/ttyS*

Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
#  Lack of dialtone acquisition can be due to low line voltage,
#    a common problem in Italy.
#  Try inserting a "dial without waiting": X3
#  Init2 = ATQ0 V1 E1 S0=0 X3 &C1 &D2 +FCLASS=0
#  In case of connection instabilities, specify a lower frequency:
#  Init2 = ATQ0 V1 E1 S0=0 X3 &C1 &D2  +MS=34
# a MS=90 option is sometimes necessary for Internet Providers with buggy V92 protocols:
#  Init2 = ATQ0 V1 E1 S0=0 X3 &C1 &D2  +MS=90
ISDN = 0
Modem Type = Analog Modem
# Dial Command = ATDP
## replaces Touch Tone prefix ATDT to Dialout_phone_number, with older Pulse prefix ATDP

Phone =  Dialout_phone_number
# if going through a switch board, a perhaps necessary pause can produced with a comma:
# Phone = 1,Dialout_phone_number 
Username = LoginName
# if Internet Provider is MSN.net, use under Linux:   MSN/LoginName
Password = YourPassWord

# the following lines is NEEDED only for usage with slmodemd or martian_helper
Carrier check = no
# Kinternet appears to add it automatically.

## If CONNECT is achieved but browsing fails, try activating the following line
# Auto DNS = yes
##    To make a logfile wvdial.out
# wvdial 2>&1 | tee wvdial.out
# #  For some Internet providers, the following line is necessary 
# Stupid Mode = yes
##  for other wvdial  options, do "man wvdial" or see the documentation in
##    /usr/share/doc/wvdial/

# to dial an alternate provide use "wvdial 2nd" which will preferentially read:
[Dialer 2nd]
Phone =  2nd_phone_number
Username = 2nd_LoginName
Password = 2nd_PassWord

## End wvdial config file

This file should NOT be sent to Discuss@xxxxxxxxxxxxx
It has common guidance for modem usage after setup.


  Interfererce with browser naviagation:
  -------------------------------------
  Other COMM channels can interfere with browsing under dialout.
   Suspect channels set during your scanModem run were shown by:  ifconfig
  eth0      Link encap:Ethernet  HWaddr 00:15:58:71:46:C7  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:16 

eth0:avah Link encap:Ethernet  HWaddr 00:15:58:71:46:C7  
          inet addr:169.254.7.20  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1332 (1.3 KiB)  TX bytes:1332 (1.3 KiB)

  A block with "lo" is an internal loopback test and harmless.

  However, other COMM channels such as ethernet "eth0" will block browser function
  through dialout connections. Domain Name Services (DNS) needed for browsing
  will be blocked by an ineffective default usage of the eth0 assigned DNS.

  If is wisest to disable bootup establishment of alternate channels in your Control Center.
  Depending on your Linux distribution,
  one of the following root/admin commands may alternatively be effective:
  # ifdown eth0
  # ifconfig eth0 down
  # /etc/init.d/network stop
  # /etc/init.d/networking stop
  Be wary that some Systems will periodically try to re-establish internet.
  So if browsing should suspiciously fail, recheck with
    ifconfig
---------------------------- end COMM Channels --------------------------
  Ubuntu is not yet providing pre-compiled drivers for WinModems

 The Modem/DOCs/DriverCompiling.txt  is a MUST READ,
 if you are not experienced in configuring kernel-source/
 or get "unresolved symbols" upon driver insertion.

  Most recent WinModem fixes are in:  http://linmodems.technion.ac.il/FAQ.html
  
(4) For guidance on automation see  http://linmodems.technion.ac.il/archive-fourth/msg03734.html
and the scripts in the slmodem-2.9.n/scripts folder/


[Index of Archives]     [Linux Media Development]     [Asterisk]     [DCCP]     [Netdev]     [X.org]     [Xfree86]     [Fedora Women]     [Linux USB]

  Powered by Linux