ModemData.txt told me to send it to you... Actually, I haven't made the modem to do it's work. thx for this group
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) Read outs 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 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 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 diagnositcs. 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 0x11c13026 AgereSystems snd-hda-intel, slmodemd 0x163c3055 Smartlink " " 0x163c3155 " " " 0x10573055 Motorola " " 0x10573155 " " "