3 NOTE=" ONLY use scanModem downloaded as: http://linmodems.technion.ac.il/packages/scanModem.gz"
7 Browse http://linmodems.technion.ac.il and
8 download scanModem.gz . Within a Linux partition only:
10 To make it executable:
12 Run diagnositics with:
15 This following is admittedly a hodge podge of historically entered code bits and diverse contributions.
16 The maintainers weekly updates are based on User's problems and Other's expert advice.
17 These are in the Archives at http://www.linmodems.org with
18 a searchable copy at http://linmodems.technion.ac.il/
19 Maintainer Marvin Stodolsk y (MarvS) does occassionally simplify this informal code heap.
21 Outputs are written to a newly created folder Modem/
22 The ModemData.txt therein has the major diagnostic output.
23 It is overly VERBOSE by design, so that all information Potentially Usefull is presented.
24 This enables more experienced discuss@linmodems.org Volunteers
25 to pick out the bits cogent to a Novices query, without having to search elsewhere.
26 Thus help queries from Novices can be quickly returned with minimal effort.
28 scanPCI written by Chris Hebeisen is the predecessor of scanModem. It was written to serve
29 within the ltmodem software support packages at http://ltmodem.heby.de . The role is now
30 fullfilled by this this script, but called by name "scanmodem", to limit non-relevant output in
31 the ltmodem package environment.
36 # BaseName can be inherited from the ltmodem script ./build_module or Installers or checkout
37 if test -z "$BN" ; then BN=`basename $0` ; fi
38 if [ "$BN" = "scanModem" ] ; then echo $NOTE ; fi
40 # for script testing, with $2 and $3 format VendorID:DeviceID
41 if [ "$1" = "test" ] ; then
51 # Short term files have names 0tmpfile.1 2 3 etc.
52 if test -z "$TMPM" ; then
53 if test -d /dev/shm ; then
54 # use /dev/shm RAM space if possible for transient writes
55 SHM=`ls -dl /dev/shm | cut -d' ' -f1`
56 if [ "$SHM" = "drwxrwxrwt" ] ; then
57 TMPM=/dev/shm/0tmpfile
67 # conditional when scanmodem is used in ltmodem.deb or .rpm installation
70 if ! [ "$BN" = "scanModem" ] ; then
74 RECORD2=Modem/YourModem.txt
75 echo $0 should ONLY be run within a Linux/UNIX partition.
76 echo If within a MicroSoft/DOS partition, abort with Ctrl-C now !!!
77 echo Copy scanModem.gz to your Linux partition and restart.
80 if [ "`pwd`" = "/" ] && ! [ "$ENVIR" = "rpm" ] ; then
83 $0 should NOT be run in the / directory!!
84 Copy scanModem to /root/ or /tmp/ of some /home/User/ folder.
91 if test -z "$RECORD" ; then
93 RECORD=Modem/ModemData.txt
96 echo ------------ beginning SCANMODEM section ------ >>$RECORD
100 # Defining other needed variables, there may be testing inputs
101 if test -z "$SYS" ; then
105 # FILTER needed for Debian style distros
108 MAJOR=`echo $SYS | cut -d. -f1-2`
109 Ktest1=`echo $SYS | cut -d- -f1`
110 Ktest2=`echo $Ktest1 | cut -d. -f4`
111 KERNEL_RELEASE=`echo $SYS | cut -d. -f3-`
112 KERNEL_RELEASE_NUM=`echo $KERNEL_RELEASE | sed 's/^\([0-9][0-9]*\).*/\1/'`
113 if test -n "$Ktest2" ; then
114 KVER=`echo $SYS | cut -d. -f1-3`
116 BASE=`echo $SYS | cut -d- -f1`
117 LOCAL=`echo $SYS | cut -d- -f2-`
118 PVER="$BASE"_"$LOCAL"
120 KVER=`echo $SYS | cut -d- -f1`
121 KEXT=`echo $SYS | cut -d- -f2-`
124 # PVER needed for rpm underscore syntax
126 if test -z "$CPU" ; then
130 # Define version, currently 8.26a9, within ltmodem CVS maintained by Mark Spieth
133 if test -z "$DISTR" ; then
134 STEM=`cat /etc/issue | cut -c 2- | cut -d' ' -f1`
135 distro=`ls /etc/* | grep $STEM | grep version | cut -d_ -f1 | cut -d- -f1 | cut -d/ -f3`
136 # Acquire distribution data
137 DISTRO_FILES="redhat-release SuSE-release mandrake-release conectiva-release \
138 bluepoint-release slackware-version gentoo-release debian_version knoppix-version \
139 fedora-release xandros-desktop-version "
140 # redhat MUST proceed mandrake in this listing as Mandrake has an /etc/redhat-release
141 for i in $DISTRO_FILES
143 if [ -a /etc/$i ] ; then
145 # generating short name
146 if [ -n "$DISTRO" ] && [ "$DISTRO" = "fedora-release" ] ; then
149 DISTR=`ls /etc/$i | cut -d/ -f3 | cut -d"-" -f1`
151 if [ "$DISTR" = "debian_version" ] ; then
154 DVERSION=`cat /etc/$i`
159 if [ -z "$DISTRO" ] && [ -z "$DISTR" ] ; then
160 DISTR="Not_identified"
162 if [ -f /etc/issue ] ; then
163 ISSUE=`cat /etc/issue | cut -d' ' -f1-2`
165 if [ "$BN" = "scanModem" ] ; then
166 cat<<END>Modem/UNSUBSCRIBE.txt
167 For instructions to UNSUBSCRIBE from discuss@linmodems.org,
168 send an email to: discuss-help@linmodems.org
172 DO use the following line as the email Subject Line, to alert cogent experts:
173 $BN, $ISSUE kernel $SYS
174 Occassionally reponses are blocked by an Internet Providers mail filters.
175 So do in a day also check the Archived responses at DISCUSS@linmodems.org
176 Code updated on: $UPDATE
177 ------------ -------------- System information ------------------------
178 `cat /etc/issue | cut -d'\' -f1`
180 on System with processor: $CPU
181 currently under kernel: $SYS
184 if [ "$DISTR" = "slackware" ] ; then
185 echo " m.mohr@laposte.net will help with Slackware problems" >>$RECORD
187 if [ "$CPU" = "x86_64" ] || [ "$CPU" = "x86_64-smp" ] ; then
190 See success reports on a softmodem installation on AMD Athlon 64 system
191 http://linmodems.technion.ac.il/archive-fourth/msg02592.html - slmodem compatible
192 http://linmodems.technion.ac.il/archive-fourth/msg03581.html - Conexant hsfmodem
196 if [ "$MAJOR" == "2.6" -a $KERNEL_RELEASE_NUM -ge 10 ]; then
199 There are emerging complications under 2.6.10 and later kernels. Concerning code for:
201 slmodem-2.9.9d.tar.gz at http://linmodems.technion.ac.il/packages/smartlink/
202 has the current fixes. Related messages are:
203 http://www.datiku.com/documents/2610_migration.php
204 http://www.ussg.iu.edu/hypermail/linux/kernel/0409.3/0345.html
205 http://linmodems.technion.ac.il/archive-fourth/msg03736.html .
206 http://linmodems.technion.ac.il/packages/smartlink/ has an upgrab-winmodem.tar.gz,
207 providing a driver to alleviate inappropriate capture of a winmodem by a serial port driver.
208 Lucent/Agere DSP/ltmodem:
209 http://linmodems.technion.ac.il/archive-fourth/msg03733.html
210 Concerning Intel-536ep and 537
211 http://www.ubuntulinux.org/wiki/IntelFiveThreeSixEPModemHowto/
212 http://linmodems.technion.ac.il/archive-fifth/msg00280.html
213 http://linmodems.technion.ac.il/archive-fifth/msg00881.html
218 ls /boot/config* &> $TMPM
219 if grep config $TMPM >/dev/null ; then
220 if grep "CONFIG_REGPARM=y" /boot/config*>/dev/null ; then
223 The kernel-$SYS was compiled with CONFIG_REGPARM, providing more compact and faster code.
228 if [ "$SYS" = "2.4.25-1-multimedia-686" ] ; then
231 For the Debian derived DeMudi multimedia distribution, the kernel-headers do Not faithfully
232 represent the installation kernel version 2.4.25-1-multimedia-686. This may block compilation
233 of certain drivers. To compile auxiliary drivers,
234 update to a more recent Debian kernel and matching kernel-headers. Subsequently compile
235 modem drivers under the new kernel. For the Lucent/AgereSystems DSP modem, a driver pair
236 and instructions are included in ltmodem-2.4.25-1-multimedia-686.tar.gz
237 at http://linmodems.technion.ac.il/packages/ltmodem/Demudi/
242 GCC_INPUT=`cat /proc/version | sed -e 's/)/ /g' | sed -e 's/(/ /g'`
243 # sed to remove ( and )
244 GCC_PC=`for i in $GCC_INPUT ; do echo $i ; done | grep -A2 gcc | grep -A1 ersion | grep -v ersion`
245 # Picks our version following gcc
246 echo " The kernel was assembled with compiler: $GCC_PC">> $RECORD
247 GCC_TEST=`echo $GCC_PC | cut -d. -f1`
248 echo $GCC_TEST > $TMPM
249 if grep "-" $TMPM >/dev/null ; then
250 GCCmajor=`echo $GCC_TEST | cut -d- -f2`
255 if test -z "$GCC" ; then
256 # could be test input
257 GCC=`gcc -dumpversion`
258 GCCs=`echo $GCC | cut -d. -f 1-2`
260 if test -z "$GCC" ; then
261 echo " a $GCCmajor package must be installed to support driver compiling">>$RECORD
264 echo " with current System compiler GCC=$GCC">>$RECORD
265 GCCsys=`echo $GCC | cut -d. -f1-`
266 if [ -L /usr/bin/gcc ] ; then
267 echo " /`ls -l /usr/bin/gcc | cut -d/ -f2-`" >>$RECORD
271 echo "Checking for kernel-headers needed for compiling.">>$RECORD
272 SRCS=`ls -d /usr/src/lin* /usr/src/ker* /lib/modules/$SYS/build 2>/dev/null`
273 if test -n "$SRCS" ; then
276 if test -f $d/include/linux/version.h ; then
277 if grep $SYS $d/include/linux/version.h >/dev/null ; then
278 echo " kernel-headers have base folder $d">>$RECORD
284 Kernel-header resources are not evident.
285 Within your Linux distributions' installation CD or online resource (and mirrows), search for :
286 Distribution PackageName OnLine
287 ----------------------------------------------------------------------
288 Debian kernel-headers-$SYS http://www.debian.org/distrib/packages or install CD
289 Ubuntu linux-headers-$SYS http://http://packages.ubuntu.com/ or install CD
290 Debian & Ubuntu will also require installation of kernel-kbuild package
291 Mandrake kernel-source-$SYS If not present on install CDs search
292 http://mirror.switch.ch/ftp/mirror/mandrake/official/10.0/i586/Mandrake/RPMS/
293 http://rpms.mandrakeclub.com/rpms/mandrake/official/LByName.html, or other mirrors.
294 SuSE kernel-source-$SYS , kernels are named k_deflt
295 One of which must be installed if compiling drivers to match kernel $SYS proves necessary.
296 Within the output Modem/ folder, read CompilingDrivers.txt for details.
302 # Check for /dev/modem link
303 if [ -L /dev/modem ] ; then
304 echo " Modem symbolic link is: /`ls -l /dev/modem | cut -d/ -f2-`" >>$RECORD
306 echo " A /dev/modem symbolic link is not set.">>$RECORD
309 if test -d /dev/tts ; then
310 echo " Checking for /dev/tts/ devices" >> $RECORD
311 ls -l /dev/tts/ >> $RECORD
314 if test -f /proc/bus/usb/devices ; then
315 if grep odem /proc/bus/usb/devices>/dev/null ; then
316 grep odem /proc/bus/usb/devices >> $RECORD
317 # S: Product=U.S. Robotics 56K Faxmodem USB
318 if grep "USB HSF Modem" /proc/bus/usb/devices>/dev/null ; then
319 echo " Download the hsfmodem package from http://www.linuxant.com/drivers">> $RECORD
322 echo " USB modem not detected.">> $RECORD
325 echo " /proc/bus/usb/devices file not present, barring USB modem query. ">> $RECORD
329 PNP=`dmesg | grep "IRQ XX" `
330 if test -n "$PNP" ; then
334 # dmesg | grep "IRQ XX"
337 a change in the bootup BIOS may be necessary to a non-PNP choice is likely necessary.
342 if [ "$DISTR" = "mandrake" ] ; then
343 cat<<END | tee -a $RECORD
345 For Mandrake 9.1 later, installation of the pciutils.rpm package providing lspci is necessary.
346 The installed utility lspcidrake is NOT an adequate alternate for scanModem support.
351 LSPCI_PATH="/bin /usr/bin /sbin"
361 echo "+----------------------------------------------+"
362 echo "| WARNING: lspci not found - exiting |"
363 echo "| Please install the package: pciutils |"
364 echo "+----------------------------------------------+"
369 if ! $LSPCI &>/dev/null
371 echo "WARNING: $LSPCI returned error - not checking for modem"
378 # ending lspci test section
380 # Acquire PCI bus slots.
383 echo "erial controller" >> $TMPM
385 PCIBUS=`$LSPCI 2>/dev/null | grep -f $TMPM | cut -d' ' -f1`
386 BUS2=`$LSPCI -n 2>/dev/null | grep " 07..: " | cut -d' ' -f1`
387 # add CLass 07 devices if not already recognized
388 echo "$PCIBUS" > $TMPM.1
389 if ! [ "$BUS2" = "" ] ; then
392 if ! $LSPCI 2>/dev/null | grep $i | grep "FIR Port" >/dev/null ; then
393 # exclude Infrared controllers
394 if ! grep $i $TMPM.1 >/dev/null ; then
395 # exclude already captured PCIBUS
401 if test -n "$TST" ; then
402 PCIBUS=`echo $PCIBUS | cut -d' ' -f1`
405 if test -z "$PCIBUS" && [ -z "$PCIDEV" ] ; then
406 # Display all PCI devices only if no candidates.
407 echo --------- lspci scan ---------------- >>$RECORD
408 echo " PCI_bus">>$RECORD
409 $LSPCI 2>/dev/null >>$RECORD
410 echo ------------------------------------- >>$RECORD
412 # if no modem candidates AND not PCIDEV input test
413 if $LSPCI 2>/dev/null | grep "udio controller" | grep M5451 >/dev/null ; then
414 AUDIO=`$LSPCI 2>/dev/null | grep "udio controller" | cut -d' ' -f2-`
417 Though not displayed, an embedded soft modem may reside in this Audio card:
419 which sadly is not yet supported under Linux. However a low level driver may
420 in the future become available, which provide access to the higher level COMM
421 functions already avialable in the SmartLink slmodemd.
422 Browse the Modem/Slmodem.txt for some details.
429 A modem was not detected among the above PCI devices.
430 This indicates that the modem, if present has a non-standard or ISA bridge.
431 Please follow the directions in Modem/SoftModem.txt for identifying the modem properties
432 when booting under Microsoft Windows. Also access any documentation sources
433 on yourchipset. Guidance can only be provided AFTER
434 the chipset and/or its drivers have been identified.
436 The IBM mwave modem does have a driver within 2.6.n kernel+module releases. If is at:
437 /lib/modules/$AYA/kernel/drivers/char/mwave/mwave.ko
438 and can be loaded only if Mwave hardware is present Test with:
443 http://tedfelix.com/Mwave/
444 http://www.linuxdocs.org/HOWTOs/mini/ACP-Modem/ , section 2.4 and later.
445 http://www.freenetpages.co.uk/hp/mjbou/dwtpul.html
446 http://tedfelix.com/Mwave/
448 A failure response has output like:
449 FATAL: Error inserting mwave (/lib/modules/2.6.10-1-686/kernel/drivers/char/mwave/mwave.ko): Input/output error
450 indicating absence of an Mwave modem
455 $LSPCI | grep audio >>$RECORD
457 # The 2nd Table in Modem/SoftModem.txt is parsed if a soft modem controller is resident
458 cat<<END>Modem/SoftModem.txt
460 Soft Modem Information
462 The earlier generations of modems had chips with digital signal processing (DSP) capability in which
463 most of the total modem effort proceeded. The "soft modem" is a generic name for modems
464 which lack DSP. Rather, the CPU does almost all the signal processing as directed by software code.
465 There are a few soft modems which are fully identified by the primary PCI ID of the modem card,
466 such as the Agere Systems 11c1:048(a,b,c,d) series.
468 The larger family is more troublesome, for identification of supporting software.
469 They are comprised of a primary modem controller which can host a variety of Subsystems.
470 Both the primary PCI ID and "mc97 codec" written in a Subsystem firmware chip are required,
471 for assessing support under Linux. Only subsequently is the Subsystem PCI ID useful, for record keeping.
473 The scanModem script contains five routines for acquiring the critical mc97 codec identification:
474 1) a modem driver independent test, only usefull for some of the earliest soft modems,
475 described at the end of this file;
476 2) a test using modem drivers already on your System, as part of the ALSA (Advanced Linux Sound
477 Architecture) software package ; See Slmodem-ALSA.txt for details.
478 3) a test requiring the SmartLink slamr.ko driver: see Slmodem.txt ;
479 4) comparison with PCI IDs with codecs historically gathered and stored within scanModem;
480 5) In case 1-4 are not adequate, there are the following instructions for running ATI queries under Microsoft windows.
481 Chipset information may be obtained under Microsoft Windows through:
482 1) Start > Settings > Control Panel > Classical View (for WinXP) > Modem , or alternatively,
483 Start > Settings > Control Panel > Classical View (for WinXP) > System > Devices > Modem
484 Do the modem diagnostics test, if available, looking for manufacturer chipset,
485 It is within information output in lines: ATI - specifications
486 Try to identify the modem setup file, with name perhaps MODEM.INF
487 2) Open a COMM console, and send ATI commands to the modem (ATI, ATI1, ATI2, etc)
488 which may elicit chipset and driver information. Here is an example
489 ATI3 - Agere SoftModem Version 2.1.22
490 ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
491 successfully identifying an Agere SoftModem chipset, both by name and through
492 the:softmodem SIL ID: AC97 ID:SIL REV:0x27
494 The IBM mwave modem cannot be detected by scanModem.
495 But the mwave driver is included in 2.6.n kernel releases. So try
497 Either the module will load, or the absence of the modem will be indicated by:
498 FATAL: Error inserting mwave (/lib/modules/2.6.10-1-686/kernel/drivers/char/mwave/mwave.ko): Input/output error
499 See http://www.linuxdocs.org/HOWTOs/mini/ACP-Modem/ for details on this modem.
501 Subsystems for softmodems are primarily made by Silicon Labs (SIL),
502 under contract to companies like Intel, Agere Systems, Motorola etc.
504 The ChipMadeBy does NOT imply software support directly from that manufacturer.
506 The chart of information below is largely harvested from messages to discuss@linmodems.org.
507 A codec_indent like REV:0x27 is reported by diagnostics under Microsoft, as illustrated above.
508 The matching designation like SIL27 are translations under Linux,
509 output by a diagnostic of the slamr.ko driver, from the SmartLink slmodem software.
510 The SIL is an abbreviation for Silicon Laboratorys Inc., which provides Subsystems for many total modem assemblies.
511 SML is used below as abbreviation for SmartLink Inc., with official driver resources at
512 http://www.smlink.com/main/index1.php?ln=en&main_id=40 and recent patches provided at:
513 http://linmodems.technion.ac.il/packages/smartlink/
515 codec_ident ID translation driver sources
516 --------------------- ------------------ -------------------------
517 0x21 SIL21 PCTel for 2.4.n kernels, pctel-2.7.9 at http://linmodems.technion.ac.il/pctel-linux,
518 and SML for 2.4.n or 2.6.n kernels
519 0x23 SIL23 PCtel same as SIL21
521 0x24 SIL24 Broadcom, use SML drivers
522 ???? BCM64 Broadcom, use SML in ALSA mode, but only under the Intel ICH modem controllers.
523 0x25 SIL25 Intel 537AA " or SML
524 ???? INT65 Intel 537EA http://linmodems.technion.ac.il/packages/Intel/537/ or SML
525 0x26 SIL26 Silicon Integrated Systems (SiS), use SML drivers
526 0x27 SIL27 AgereSystems(AS), use SML needed under 2.6.n kernels,
527 but for 2.4.n, there are also AS drivers through http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
528 ???? CXT(21,22,23,29,41 and others) Conexant - http://www.linuxant.com/drivers, the hsfmodem package
529 --------------------------------------------------------------------------------
530 If a novel identifier is displayed during diagnostics, please report to discuss@linmodems.org
532 A rough/practical guide is first given, with some qualifications and exceptions to follow:
533 SILnm (n,m digits) are SML supportable;
534 CXTnm are ONLY supported by the http://www.linuxant.com/drivers, the hsfmodem package ;
535 INTnm are supported by Intel drivers and perhaps slmodemd with ALSA support;
536 BCMnm, INT65 (and similar name styles) have had successes with SmartLink slmodem in ALSA mode.
537 See the companion Slmodem-ALSA.txt for details.
538 Qualifications to the Table below relate to Linux software support for soft modem controllers.
539 In particular, no software package provides support for all soft modem controllers.
542 PCI_IDs Name Possible support by:
543 --------------- ----------------------------- -------------------------
544 8086:1080 ac97 controller i .
545 8086:2416 82801AA ICHAA > + A a p c .
546 8086:2426 82801AB ICHAB > + A a .
548 8086:7196 82440 Banister > + A a c .
549 8086:2446 82801BA ICH2 > + A a p c .
550 8086:2486 82801CA/CAM ICH3 > + A a p c i .
551 8086:24c6 82801DB ICH4 > + A a c i b .
552 8086:24d6 82801EB ICH5 > + A c i .
553 8086:266d 82801EB ICH6> + c .
554 8086:xxxx types above are from Intel
556 1039:7013 SIS 630 > + a p c i .
557 1039:7018 SIS 960 > + i .
558 10de:01c1 Nvidia Corp > + i .
559 10de:00d9 Nvidia Corp > A c .
560 1106:3068 VIA > + a p c i .
561 1022:7446 AMD AC_LINK > + .
564 10b9:5453 ALI 5453 AC-Link > p c .
565 1025:5453 ALI 5453 AC-Link > c .
566 10b9:5457 ALI 5457 AC-Link > + p c i .
567 1025:5457 ALI 5457 AC-Link > c . .
568 e159:0001 TigerJet > i .
569 1002:434d ATI > T a c i .
570 1543:3052 SI3052 > i .
571 10ec:8197 RealTek > + .
572 --------------------------------------------------------
573 The following letters indicate compatibility for the modem controller,
574 BUT do NOT gaurantee support by the software.
575 Support MUST be ascertained by identifing the soft modem codec.
577 + SmartLink (SML) - http://www.smlink.com, the slmodem-2.9.9 series
578 A SML slmodem-2.9.9d-alsa software supporting the ALSA intel8x0m-modem driver
579 Soft modems with the Broadcom codec BCM64 should thus be served.
580 T SML slmodem-2.9.9d-alsa software supporting the ALSA snd-atiixp-modem driver
581 With the above SML software, port creation is controlled by a daemon, slmodemd,
582 rather than being a static feature of the /dev/ files.
583 a AgereSystems only under 2.4.n
584 p PCtel support at http://pctelcompdb.sourceforge.net/
585 c Conexant/Rockwell - http://www.linuxant.com
586 i Intel - http://www.intel.com
587 b Broadcom, under 2.4.n kernels, with ALSA code under 2.6.n
588 for details on A and T slmodem implementations, see Modem/ALSA.txt
589 ===========================================================
591 To achieve codec readouts for SmartLink (SML) compatible modem controllers listed above,
592 follow the directions in Slmodem.txt.
594 The 1) driver independent test, some details
595 During bootup, kernel diagnostics on the System are stored for later display by:
597 This information may include a SIL_id of modems under AC97/MC97 Controllers,
598 depending upon the type of bridging of the modem card to the motherboard.
599 The scanModem script processes dmesg output to capture AC97 modem information,
600 parses it into a SIL_id if possible, and then displays of modem chipset information.
601 Guidance to sources of modem supporting software may thus be obtained.
603 The transfer of the AC97 information to the dmesg buffer requires that modules supporting
604 both the digital audio card and the ac97_codec be loaded during bootup:
606 modprobe audio_drivers (such as i810_audio)
607 This can be checked after bootup with:
610 This script can also be used by entering a test block with nomenclature:
612 with SILtest a text file in This Folder
613 containing a section of a dmesg output or /var/log/messages like:
615 i810: Intel ICH 82801AA found at IO 0xdc00 and 0xd800, IRQ 11
616 i810_audio: Audio Controller supports 2 channels.
617 ac97_codec: AC97 Audio codec, id: 0x4144:0x5340 (Analog Devices AD1881)
618 i810_audio: AC97 codec 0 Unable to map surround DAC's (or DAC's not present), total channels = 2
619 ac97_codec: AC97 Modem codec, id: 0x5349:0x4c22 (Silicon Laboratory Si3036)
621 which does include a line beginning with: ac97_codec: AC97 Modem codec, id:
624 # detected modem devices
626 echo "Modem candidates are at PCI_buses: $PCIBUS">>$RECORD
629 # Start modem displays
632 if $LSPCI -n 2>/dev/null | grep $i | grep Class >/dev/null ; then
633 CLASS0=`$LSPCI -n 2>/dev/null | grep $i | cut -d' ' -f3-4`
635 CLASS0=`$LSPCI -n 2>/dev/null | grep $i | cut -d' ' -f2-3`
637 # $LSPCI -n 2>/dev/null | grep $i | cut -d' ' -f2-4 > $TMPM
638 # echo "0000:00:02.6 0703: 1039:7013 (rev a0)" > $TMPM
639 CLASS="Class $CLASS0"
640 NAME=`$LSPCI -v 2>/dev/null | grep $i | cut -d' ' -f2-`
641 if test -n "$TST" ; then
642 echo Using the test inputs.
643 cat<<END | tee -a $RECORD
645 Substituted test inputs:
651 PCIDEV=`echo $CLASS | cut -d' ' -f3`
652 cat<<END | tee -a $RECORD
654 Providing detail for device at $i
655 with vendor-ID:device-ID
660 Vendor=`echo $PCIDEV | cut -d: -f1`
661 Device=`echo $PCIDEV | cut -d: -f2`
663 # It would be more elegant in the above queries to select -s PCI_bus.
664 # But for older lspci versions, there is failure of lspci -s PCI_bus
665 # when the PCIBUS has an "f" as on some Acer motherboards with a PCI slot 00:1f.6
666 SUBNAME=`$LSPCI -v 2>/dev/null | grep -A1 $i | grep Subsystem | cut -d: -f2-`
667 if test -n "$TST" ; then
668 echo "Using test $SUBSYS Subsystem"
669 # skip if test SUBSYS was input
671 SUBSYS=`$LSPCI -nv 2>/dev/null | grep -A1 $i | grep Subsystem: | cut -d' ' -f2`
672 echo " SubSystem $SUBSYS $SUBNAME" | tee -a $RECORD
673 $LSPCI -nv 2>/dev/null | grep -A2 $i | grep -v Class | grep -v Subsystem: | tee -a $RECORD
674 IRQ0=`$LSPCI -v 2>/dev/null | grep -A2 $i | grep IRQ | grep "IRQ 0"`
675 if test -n "$IRQ0" ; then
678 The modem will NOT function because of interrupt assignment: IRQ 0
679 Possible corrections are:
680 1) to access the the boot up BIOS change to a non-PNP mode.
681 Instructions for accessing BIOS are at:
682 http://linmodems.technion.ac.il/resources.html within: Additional Resourcces.
683 2) Within some BIOS setups, IRQ assignments can be changed.
684 3) On non-laptop systems moving the modem card to another slot has helped.
685 4) Sometimes upgrading the kernel changes IRQ assignment.
690 if test -n "$SUBSYS" ; then
691 SUBven=`echo $SUBSYS | cut -d: -f1`
692 SUBdev=`echo $SUBSYS | cut -d: -f2`
694 cat<<END | tee -a $RECORD
696 -----PCI_IDs------- --CompilerVer-
697 Feature List: Primary Subsystem Distr KernelVer kernel default CPU
698 ./scanModem test $PCIDEV $SUBSYS $DISTR $SYS $GCC_PC $GCC $CPU
701 ## Checking for major chipset types
702 if grep $PCIDEV Modem/SoftModem.txt >/dev/null ; then
703 # Check for support under the Controller of the unknown Subsystem chip
704 CNTRL=`grep $PCIDEV Modem/SoftModem.txt | cut -d">" -f1`
705 cat<<END | tee -a $RECORD
707 The soft modem Subsystem operates under a controller
709 capable of supporting under Linux AT LEAST modem Subsystem chips from manufacturers:
712 if grep $PCIDEV Modem/SoftModem.txt | grep "p " >/dev/null ; then
713 echo " Pctel" | tee -a $RECORD
716 if grep $PCIDEV Modem/SoftModem.txt | grep "b " >/dev/null ; then
717 echo " Broadcom" | tee -a $RECORD
720 if grep $PCIDEV Modem/SoftModem.txt | grep "a " >/dev/null ; then
721 echo " AgereSystems" | tee -a $RECORD
725 if grep $PCIDEV Modem/SoftModem.txt | grep "c " >/dev/null ; then
726 echo " Conexant" | tee -a $RECORD
730 if grep $PCIDEV Modem/SoftModem.txt | grep "i " >/dev/null ; then
731 echo " Intel" | tee -a $RECORD
732 SOFT=$SOFT" INTEL537"
736 echo $SOFT>$TMPM.soft
737 if grep $PCIDEV Modem/SoftModem.txt | grep "+ " >/dev/null ; then
738 echo " Smartlink" | tee -a $RECORD
739 SMLok=" Driver slamr from the SmartLink slmodem package can identify the soft modem codec."
742 if grep $PCIDEV Modem/SoftModem.txt | grep "A " >/dev/null ; then
744 echo " Smartlink software in ALSA mode may support this modem " >> $RECORD
747 # finished softmodem chip candidates
748 if grep $PCIDEV Modem/SoftModem.txt>/dev/null ; then
751 # Decisive Subsystem IDENTS
753 if [ "$SUBven" = "134d" ] || [ "$SUBven" = "14e4" ] ; then
754 echo Use the SmartLink slmodem software for support. | tee -a $RECORD
756 if [ "$SUBven" = "14e4" ] ; then
758 echo For this Broadcom subsystem modem, the slmodemd daemon must be used in ALSA mode | tee -a $RECORD
759 echo " slmodemd --alsa --country=YOURS modem:1" | tee -a $RECORD
761 elif [ "$SUBven" = "14f1" ] ; then
763 echo ONLY the hsfmodem software from http://www.linuxant.com/drivers can support this Conexant subsystem soft modem | tee -a $RECORD
766 echo " The Subsystem PCI id does not itself identify the modem Codec.">>$RECORD
769 # Choose driver for codec test
770 if [ "$PCIDEV" = "1002:434d" ] ; then
771 MODULE=snd-atiixp-modem
773 elif [ "$PCIDEV" = "1106:3068" ] ; then
774 MODULE=snd-via82xx-modem
775 MCONFIG=VIA82XX_MODEM
780 MOD_=`echo $MODULE | sed -e 's/-/_/g'`
781 MPLACE=`find /lib/modules/$SYS/ -name $MODULE.ko`
782 # Rhywek <rhywek@o2.pl>
785 # "1002:434d") MODULE=snd-atiixp-modem ;;
786 # "1106:3068") MODULE=snd-via82xx-modem ;;
787 # *) MODULE=snd-intel8x0m ;;
790 # Check for driver in kernel or modules
792 if grep $MCONFIG /boot/config-$SYS | grep "=y" > /dev/null ; then
793 echo " Driver $MODULE is included in the kernel. " >>$RECORD
795 elif test -n "$MPLACE" ; then
796 echo " Driver $MODULE may enable codec acquisition " >>$RECORD
797 if grep $MOD_ /proc/modules >/dev/null ; then
799 elif [ "$UID" = "0" ] ; then
800 /sbin/modprobe $MODULE
803 echo This line is strangely necessary >/dev/null
806 To enable capture of codec information, please briefly login as Root:
819 echo " $MODULE support not included in $SYS kernel+modules " >>$RECORD
822 # I guess you mean '/proc/asound/cardN/codec97#0/mc97*'.
823 # If it does not exist after intel8x0m loading this may indicate that device
824 # was not initialized, for instance because it is in use by other driver,
825 # like hsf*, slamr or even serial - device has 0703 pci class - COMMUNICATION_MODEM.
826 if test -n "$ASOUND" ; then
827 MC97=`find /proc/asound -name "mc97*" | grep -v regs`
828 # MC97=`find /proc/asound -name 'mc97#[0-3]-[0-3]'` # Sasha's alternate
829 if ! test -n "$MC97" ; then
830 echo " /proc/asound lacks an mc97 codec file.">>$RECORD
832 echo " === Begin mc97 codec query ===">>$RECORD
834 #Also note there are new modems in the wild equipped by SiLabs 3054/5 codec,
835 #it works with ALSA drivers, but many of such codecs encode codec vendorid1,
836 # vendorid2 registers not with "traditional" "SILXX", but with other values
837 #(few "AGRXX" was reported already, and "BCM64" is from this group too)
839 if grep 0x42434d64 $codec >/dev/null ; then
840 echo " $SUBSYS has a Broadcom BCM64 codec" >>$RECORD
842 elif grep Conexant $codec >/dev/null ; then
843 NM=`grep Conexant $codec | cut -d' ' -f2-`
844 grep Si3036 $codec >>$RECORD
845 echo " $SUBSYS has a $NM" >>$RECORD
847 elif grep "Si3036/8 rev " $codec >/dev/null ; then
848 grep Si3036 $codec >>$RECORD
849 revision=`for i in $INPUT ; do echo $i ; done | grep -A1 rev`
850 REV=`echo $revision | cut -d" " -f2`
851 echo " Subsystem $SUBSYS has a SIL2$REV codec" >>$RECORD
853 elif grep "Motorola (rev 4 IIRC)" $codec >/dev/null ; then
854 echo " $SUBSYS has a Motorola codec " >>$RECORD
858 > RE:new modems in the wild equipped by SiLabs 3054/5
859 > Should slmodem in ALSA mode should be recommended for these cases uniformly?
861 Yes, but note that vendor's drivers (if exist) may work too, at least I think
862 that Agere driver supports 'AGRxx' codecs.
865 echo File $codec >>$RECORD
866 echo " --------" >>$RECORD
868 echo " --------" >>$RECORD
869 if grep 3054/5 $codec >/dev/null && grep snd_intel8x0m >/dev/null ; then
870 # for non SILnm codecs such as AGRnm and INT65
871 echo " Try using slmodemd in ALSA mode with driver snd-intel8x0m" >>$RECORD
876 echo " === End mc97 codec query ===">>$RECORD
877 fi # codec aquisition
883 echo " Beginning check for older ac97_codec modems." >> $RECORD
887 dmesg | grep -f $TMPM > $TMPM.3
888 # first check for audio_codec, needed later
889 if grep "AC97 Modem codec" $TMPM.3 > /dev/null ; then
891 echo " ----- Raw output ------" >> $RECORD
892 # unusual case: ac97_codec: AC97 Modem codec, id: CXT41 (Unknown)
893 grep "AC97 Modem codec" $TMPM.3 | tee -a $RECORD
896 if [ "$1" = "SILtest" ] ; then
899 codec_id=`cat $TMPM.3 | sed -n -e '/^ac97_codec: AC97 Modem codec, id: /s/^ac97_codec: AC97 Modem codec, id: \(.*\)(.*)$/\1/p'`
900 # codec_id=0x5349:0x4c22 # for testing
901 if test -n "$codec_id" ; then
902 for codec_id in $codec_id ; do
903 echo $codec_id | grep -e '^SIL[0-9].*$' > /dev/null
904 if [ $? -ne 0 ] ; then
906 codec_cid=`echo $codec_id | sed -n -e '/0x5349:0x4c/s/^0x5349:0x4c\(2[1-7]\)$/\1/p'`
907 # echo codec_cid=$codec_cid
908 if [ -n "$codec_cid" ] ; then
909 codec_id=`printf "SIL%d" 0x$codec_cid`
912 SIL_id=$codec_id not processed
917 if test -f $TMPM.3 ; then
920 --- processed from dmesg -----
922 ------------------------------
929 if test -z "$SIL_id" ; then
930 echo " An older ac97_modem codec was not detected.">>$RECORD
933 echo " An ac97_modem codec was detected.">>$RECORD
937 if [ -x /bin/dmesg ] ; then
939 SLAMR=`find /lib/modules/ -name slamr.* -mindepth 3 -maxdepth 5 | grep $SYS`
942 if test -n "$DMESG" -a -n "$SLAMR" -a -n "$smart" ; then
944 $DMESG | grep -v "SmartLink AMRMO modem" | grep slamr > $TMPM
946 # slamr: SmartLink AMRMO modem.
947 # slamr: probe 8086:24c6 ICH4 card...
948 # slamr: mc97 codec is SIL27
949 # slamr: slamr0 is ICH4 card.
950 if grep slamr $TMPM >/dev/null ; then
952 elif [ "$UID" = "0" ] ; then
953 /sbin/modprobe -r slamr
955 $DMESG | grep -v "SmartLink AMRMO modem" | grep slamr > $TMPM
956 if grep slamr $TMPM >/dev/null ; then
960 cat<<END | tee -a $RECORD
962 Please rerun scanModem after login as
964 WithIn Modem/Slmodem.txt, see the slamr test for an explanation.
969 if test -n "$SLAMRout" ; then
970 echo " ------ dmesg slamr filtered -------">>$RECORD
972 CODEC=`$DMESG | grep slamr | grep codec | cut -d' ' -f5`
973 if test -n "$CODEC" ; then
974 COD=`echo $CODEC | cut -b-3`
975 echo " The softmodem Codec is: $CODEC">>$RECORD
978 $DMESG | grep HSF: > $TMPM
979 if grep HSF: $TMPM>/dev/null ; then
980 $DMESG | grep HSF: >>$RECORD
984 # Used as backup to a CODEC acquisition
985 rm $TMPM.2 &>/dev/null
986 echo " Checking through information gathered from LinModem ARCHIVES">>$RECORD
987 if [ "$PCIDEV" = "8086:1080" ] ; then
989 INTEL537EP 8086:1000 8086:1007 8086:1008 8086:100A 1028:1000
991 elif [ "$PCIDEV" = "8086:2416" ] ; then
992 # 8086:2416 82801AA ICHAA
995 SIL22 14c0:0012 COMPAL Electronics Inc Smartlink
998 elif [ "$PCIDEV" = "8086:2426" ] ; then
999 # 8086:2426 82801AB ICHAB
1002 Unknown 107b:9019 Gateway
1004 elif [ "$PCIDEV" = "8086:7196" ] ; then
1005 # 8086:7196 82440 Banister ICH1
1007 Unknown 10cf:10d2 Fujitsu Limited
1009 elif [ "$PCIDEV" = "8086:2446" ] ; then
1010 # 8086:2446 82801BA ICH2
1013 SIL21 10cf:10d2 CitiCorp
1014 Unknown 1025:1027 Acer
1016 elif [ "$PCIDEV" = "8086:2486" ] ; then
1017 # 8086:2486 82801CA/CAM AC97 CAM AC'97 ICH3
1019 CXT 1668:5421 CXT21, 14f1:5421 MD56ORD V.92 MDC Modem
1020 SIL27 103b:0757 Tatung Co , 1014:0223 IBM , 1179:0001 , 144d:2115 Samsung, 1014:0227
1022 SIL22 14c0:0012 COMPAL Electronics Inc
1023 Unknown 1558:1800 CLEVO/KAPOK Computer , 104d:813c Sony, CMedia CXT?, 1014:0503
1025 elif [ "$PCIDEV" = "8086:24c6" ] ; then
1026 # 8086:24c6 82801DB ICH4 AC'97 Modem Controller
1028 SIL27 152d:0706 QUANTA Computer, 144d:2115 Samsung , 1019:d551 1179:0001 1734:1033 1854:0005 1014:0227 0e11:0860 1014:0524 1014:0525 mc97 , 1025:0061 Acer, 1025:003d 107b:0200 1025:0071 1014:0544 10cf:10d1
1029 SIL21 1071:8050 134d:4c21 4c21:5349 1071:8160 1734:1055
1031 CXT 104d:8129 Sony , 104d:818c CXT23 , 104d:816a , 1014:055a , 104d:80fa , 14f1:5422 , 1043:1826 , 103c:3084 1025:0064 CXT30, 1014:0559 CXT23
1033 SIL24 144f:1050 Askey Comp. with BroadCom,
1034 Unknown 104d:816a 1509:2970
1036 elif [ "$PCIDEV" = "8086:24d6" ] ; then
1037 # 8086:24d6 82801EB ICH5
1039 SIL27 1179:0001 104d:8128
1043 elif [ "$PCIDEV" = "8086:266d" ] ; then
1044 echo " The 8086:266d modems may be supported by hsfmodem OR slmodem-2.9.9c ,but not both" >>$RECORD
1047 CXT 14f1:5423 CXT23 no /proc/asound/mc97* ,
1049 elif [ "$PCIDEV" = "1039:7013" ] ; then
1052 SIL27 1043:1736 , 104d:8129 17c0:1059 , 1033:8216 1028:0195
1054 CXT 104d:814e Sony CXT23, 1043:1816 CXT22
1055 SIL22 1631:3003 NorthBridge , 1584:4003 , 1734:105f ,1558:2202 CLEVO/KAPOK Computer: HAMR,http://linmodems.technion.ac.il/archive-fourth/msg01957.html
1056 SIL21 Pctel 1039:7013 1849:9739 13bd:102f
1057 Unknown 1019:0a01 1558:4201 , 1509:2470 First Int. Comp. , 1734:105f with AMD64 processor, 1509:2470 , 1043:1456 Asustek
1060 elif [ "$PCIDEV" = "1039:7018" ] ; then
1065 elif [ "$PCIDEV" = "10de:01c1" ] ; then
1066 # 10de:01c1 Nvidia Corp
1070 elif [ "$PCIDEV" = "10de:00d9" ] ; then
1071 # 10de:01d9 Nvidia Corp
1074 CXT 1043:1856 Asustek
1075 SIL27 103c:006d HP ,
1077 elif [ "$PCIDEV" = "1106:3068" ] ; then
1080 SIL27 1102:0033 CreativeLabs , 1025:0046 Acer , 1025:0033 , 1734:1078
1081 SIL22 1743:1032 , 10cf:118e , 1734:1054 , 1462:309e , 1631:e004 , 1543:4c22 , 161f:2032 1584:4005
1082 SIL21 10cf:118e , 13bd:1022 , 1543:4c21 1071:8375
1083 CXT 104d:8143 104d:80f6 , 1025:0030 CXT41 ,
1084 Unknown 1584:4005 Uniwell, 1025:0030 Acer 104d:80f6CXT?
1086 elif [ "$PCIDEV" = "1022:7446" ] ; then
1087 # 1022:7446 AMD AC_LINK
1091 elif [ "$PCIDEV" = "10b9:5453" ] ; then
1092 # 10b9:5453 ALI 5453
1096 elif [ "$PCIDEV" = "1543:3053" ] ; then
1101 elif [ "$PCIDEV" = "e159:0001" ] ; then
1106 elif [ "$PCIDEV" = "1543:3052" ] ; then
1111 elif [ "$PCIDEV" = "10b9:5457" ] ; then
1112 # 10b9:5457 ALI 5457
1114 SIL27 1179:0001 , 1033:81f3
1115 CXT 103c:002a CXT21, 103c:0024 CXT41 , 103c:0029
1116 Unknown 0e11:005a 5457 Compaq
1118 elif [ "$PCIDEV" = "10b9:5459" ] ; then
1119 # 10b9:5457 ALI 5457
1121 SIL26 10a5:5459 Smart Link Ltd.
1123 elif [ "$PCIDEV" = "1002:434d" ] ; then
1124 # 1002:434d ATI Technologies Inc:
1129 SIL27 103c:006b HP, 1179:0001 Toshiba , 1025:0052 Acer
1133 cat<<EOF | tee -a $RECORD
1134 This combination of softmodem controller and Subsystem:
1137 has not been previously reported.
1141 # Analysis of Archival info
1142 if test -f $TMPM.2 ; then
1143 CODECp=`grep $SUBSYS $TMPM.2 | cut -d' ' -f1`
1144 if test -z "$CODECp" ; then
1145 echo " Modem codec information on Subsystem $SUBSYS is not in the records.">>$RECORD
1146 elif [ "$CODECp" = "Unknown" ] ; then
1147 echo " A codec for this Subsystem record under controller $PCIDEV was not been reported".>>$RECORD
1148 if [ -n "$CODEC" ] ; then
1149 echo " Please report this New assignment to Discuss@linmodems.org : $PCIDEV $SUBSYS $CODEC" | tee -a $RECORD
1152 echo " From prior reports, the modem codec type of the Subsystem is: $CODECp">>$RECORD
1156 # This section compares diagnostis from slamr test and Archival records:
1157 if [ -z "$CODEC" ] ; then
1158 # echo " Using archived information for soft modem codecs.">>$RECORD
1161 COD=`echo $CODEC | cut -b-3`
1162 elif [ "$CODEC" = "$ ALG10" ] ; then
1163 echo " ALG10 is an audio codec, the modem hardware has not been properly accessed.">>$RECORD
1164 elif [ "$COD" = "CXT" ] && [ "$CODECp" = "CXT" ] ; then
1166 echo " Agreement between slamr diagostic and Archive.">>$RECORD
1167 elif [ "$CODECp" = "$CODEC" ] ; then
1168 echo " Agreement between slamr diagostic and Archive.">>$RECORD
1169 elif ! [ "$CODECp" = "$CODEC" ] ; then
1170 echo " DisAgreement between slamr diagostic and Archive. Using slamr diagnostic: CODEC=$CODEC">>$RECORD
1173 echo "All cases should be covered">/dev/null
1176 # Case by case of CODEC
1177 if test -n "$CODEC" && ! [ "$CODEC" = "Unknown" ] ; then
1178 if [ "$CODECp" = "INTEL537" ] ; then
1179 echo " The modem has an Intel 537 chipset" | tee -a $RECORD
1180 echo " Use driver resource Intel-537-MostRecentVersion.tgz" >>$RECORD
1182 elif [ "$CODECp" = "INTEL537EP" ] ; then
1183 echo " The modem has an Intel 537EP chipset" | tee -a $RECORD
1184 echo " Use driver resource Intel-537EP-MostRecentVersion.tgz" >>$RECORD
1186 elif [ "$COD" = "CXT" ] ; then
1190 echo " The modem has a Conexant codec: $CODEC" | tee -a $RECORD
1191 if test -z "$CNX" ; then
1192 echo " BUT $CNTRL is not yet supported by Linuxant code." | tee -a $RECORD
1195 cat<<END | tee -a $RECORD
1196 and there is support for the modem controller: $CNTRL
1197 Some Linux Distributions include the hsfmodem driver.
1198 Search your packages information for "hsfmodem" and "Conexant".
1199 If not found there, download a hsfmodem package from http://www.linuxant.com .
1201 For 2.4.n kernels, If there is not an exact match your kernel version: `uname -r`
1202 then kernel-sources must be prepared as described in Modem/DriverCompiling.txt
1203 before the hsfmodem driver compiling can be successfull.
1204 For recent kernel-source-2.4.6 ,configuration steps are not necessary.
1208 elif [ "$CODEC" = "SIL22" ] ; then
1209 echo " The Subsystem has the a SmartLink codec" | tee -a $RECORD
1210 if [ "$smart" = "may" ] ; then
1211 echo " with a supported $PCIDEV modem controller" | tee -a $RECORD
1214 echo " but sadly, support is lacking for the $PCIDEV modem controller." | tee -a $RECORD
1216 elif [ "$CODEC" = "BCM64" ] || [ "$CODEC" = "SIL24" ] ; then
1218 echo " The Subsystem has a Broadcom codec $CODEC" | tee -a $RECORD
1219 elif [ "$CODEC" = "INT65" ] || [ "$CODECp" = "SIL25" ] ; then
1224 The Subsystem has the INTEL codec $CODEC
1225 The Intel_secure-537AA driver and possibly the SmartLink driver support the modem.
1226 Details below and read Modem/Slmodem.txt
1228 elif [ "$CODEC" = "SIL24" ] || [ "$CODEC" = "SIL26" ] ; then
1229 echo " The Subsystem has a Broadcom codec $CODEC" | tee -a $RECORD
1231 elif [ "$CODEC" = "SIL21" ] ; then
1233 echo " The Subsystem has a PCTel codec $CODEC" | tee -a $RECORD
1234 if [ "$MAJOR" = "2.4" ] ; then
1236 echo "The pctel-0.97 drivers may support this modem.">>$RECORD
1238 elif [ "$CODEC" = "SIL23" ] ; then
1240 echo " The Subsystem has Silicon Integrated Systems (SiS) codec $CODEC" | tee -a $RECORD
1241 elif [ "$CODEC" = "SIL27" ] ; then
1242 echo " The Subsystem has an Agere Systems codec $CODEC" | tee -a $RECORD
1243 if [ "$MAJOR" = "2.4" ] && [ -n "$AGR" ] ; then
1245 echo " Under 2.4.n kernels, there are AgereSoftModem drivers">>$RECORD
1250 echo " Please report this new SIL type to Discuss@linmodems.org "
1252 if [ "$smart" = "may" ] && ! [ "$COD" = "CXT" ] && ! [ "$IDENT" = "ATI" ] ; then
1254 echo " SmartLink software should support this modem">>$RECORD
1255 if [ "$CODEC" = "BCM64" ] ; then
1257 echo " Only the SmartLink slmodem-2.9.9d-alsa software supports this modem">>$RECORD
1261 echo " There are the following routes toward support:">>$RECORD
1262 echo " Follow instructions in Modem/SoftModem.txt for identifying the modem under a Microsoft boot.">>$RECORD
1263 if [ "$smart" = "may" ] ; then
1264 if [ "$DISTR" = "SuSE" ] && [ "$MAJOR" = "2.6" ] ; then
1265 cat<<END | tee -a $RECORD
1267 SuSE has a slamr driver. Please run the diagnostic:
1270 # dmseg | grep slamr
1271 and report the results to discuss@linmodems.org.
1272 Read Modem/Slmodem.txt for details.
1275 echo " Read Modem/Slmodem.txt instruction for doing the slamr diagnostic.">>$RECORD
1278 if test -n "$CNX" ; then
1279 echo " Test the effectiveness of the hsfmodem package from http://www.linuxant.com/drivers/hsf/index.php.">>$RECORD
1281 # Distro specific issues
1282 if [ "$DISTR" = "debian" ] || [ "$DISTR" = "Ubuntu" ] || [ "$DISTR" = "knoppix" ] && ! [ "$IDENT" = "ATI" ] ; then
1285 The $DISTR Linux includes sl-modem packages with Smartlink drivers
1286 Install the kernel-headers-$SYS.deb
1287 If necessary, set a symbolic link needed for slmodem compiling:
1288 # ln -s /usr/src/kernel-headers-$SYS /lib/modules/$SYS/build
1289 as described in Modem/DriverCompiling.txt
1290 Then install the two sl-modem/slmodem packages and follow their directions.
1291 Thereafter the above slamr diagnositic can be run.
1294 elif [ "$DISTR" = "SuSE" ] && ! [ "$PCIDEV" = "1002:434d" ] && ! [ "$CODECp" = "CXT" ] && ! [ "$CODECp" = "BCM64" ] ; then
1297 Install kernel-source package, the slmodem and km_slmodem packages.
1298 If necessary, set a symbolic link needed for slmodem compiling:
1299 # ln -s /usr/src/linux-$SYS /lib/modules/$SYS/build
1300 Then install the packages and compile the drivers.
1301 The compiling process is described in:
1302 http://linmodems.technion.ac.il/archive-fourth/msg00176.html
1305 elif [ "$DISTR" = "Mandrake" ] && [ "$MAJOR" = "2.6" ] ; then
1307 Current Mandrake installations have slmodem packages.
1308 http://linmodems.technion.ac.il/packages/smartlink/
1312 echo Leaving space for expansion >/dev/null
1313 fi # Distros specific
1317 if test -z "$IDENT" ; then
1319 4005:0308 Avance ALS-300plus sound+softmodem combo PCI card (obsolete).
1320 1055:9178 STANDARD_MICROSYSTEM
1321 10b9:545a ALI545A SL1801
1322 10b9:5459 ALI 5459 SmartPCI561
1323 10b9:5459 Subsystem: 10a5:5459 ALi Corporation SmartLink SmartPCI561 56K Modem (NetoDragon)
1324 10ec:8197 PCI SmartLAN56 (RealTek ether/modem combo)
1325 1131:3400 SmartPCI56 (Philips UCB1500)
1326 10a5:3052 Racal Interlan SL1900
1327 10a5:5459 Racal Interlan SmartPCI561 SL1900
1328 163c:5459 SmartLink SmartPCI561 SL1900
1329 2000:2800 Gateway SL2800
1330 2003:8800 SmartLink SL2800
1334 if grep $PCIDEV $TMPM.2>/dev/null ; then
1336 SMT=`grep $PCIDEV $TMPM.2`
1337 cat<<END | tee -a $RECORD
1339 SmartLink drivers support this modem:
1342 if [ "$PCIDEV" = "2003:8800" ] ; then
1343 echo " But version slmodem-2.9.10 or later is necessary." | tee -a $RECORD
1345 elif [ "$Vendor" = "11c1" ] ; then
1347 elif [ "$Vendor" = "115d" ] ; then
1349 elif [ "$v" = "127a" ] || [ "$v" = "14f1" ] || [ "$v" = "148d" ] || [ "$PCIDEV" = "158b:0001" ] || [ "$PCIDEV" = "158b:0005" ] || [ "$PCIDEV" = "158b:0015" ] ; then
1351 # Intel 536EP & 537 secton
1352 elif [ "$PCIDEV" = "e159:0001" ] && [ "$SUBSYS" = "8086:0003" ] ; then
1353 echo " Use driver resource Intel-537-MostRecentVersion.tgz">>$RECORD
1355 elif [ "$PCIDEV" = "8086:1040" ] ; then
1356 if [ "$SUBSYS" = "8086:1005" ] ; then
1358 echo " Use driver resource Intel-537SP-MostRecentVersion.tgz">> $RECORD
1361 if [ "$SUBSYS" = "8086:1000" ] ; then
1363 echo " Use driver resource Intel-536ep-MostRecentVersion.tgz ">>$RECORD
1364 # no SMP http://linmodems.technion.ac.il/archive-third/msg00855.html
1366 elif grep $PCIDEV Modem/SoftModem.txt >/dev/null && $LSPCI -v 2>/dev/null | grep "Intel 537" >/dev/null ; then
1367 # 1st line, because of mistakes in the PCI id databset
1368 echo " Due to a PCI ID database error, the Intel 537 designation is commonly incorrect." | tee -a $RECORD
1371 echo No definitive Intel 537 soft modem>/dev/null
1376 if test -z "$IDENT" ; then
1378 if $LSPCI -v 2>/dev/null | grep CM8738 >/dev/null ; then
1380 elif $LSPCI -v 2>/dev/null | grep "Intel 536" >/dev/null ; then
1381 # because Intel 536 may have PCI_IDs assigned by modem assemblers, not Intel
1383 elif $LSPCI -v 2>/dev/null | grep "Subsystem: Conexant" >/dev/null ; then
1384 # because the PCI_IDs may be assigned by modem assemblers, not Conexant
1387 echo "probably not a Conexant modem" >/dev/null
1390 if $LSPCI -v 2>/dev/null | grep "Smart Link HAMR5600" >/dev/null ; then
1391 # because the PCI_IDs may be assigned by modem assemblers, not SmartLink
1392 # and mistakes in the PCI ID database
1393 AMBIG=$AMBIG" HAMR5600"
1394 #XX some misidentified softmodem
1398 if test -z "$IDENT" ; then
1402 Information on several modem chipset providers is provided below,
1403 because ambiguities remain on the correct choice of supporting software.
1408 if test -n "$SOFT" ; then
1409 VEND="$SUBven $Vendor"
1410 if [ "$Vendor" = "$SUBven" ] ; then
1415 # SUBven not important if not softmodem
1419 echo " == Checking PCI IDs through modem chip suppliers ==">>$RECORD
1421 if [ "$Vendor" = "1002" ] && ! [ "$ATI" = "done" ] ; then
1426 Vendor 1002 is ATI Technolgies, http://www.ati.com, producing video cards, motherboard and
1427 a 1002:434d ATI soft modem controller with a variety of Subsystems.
1428 There is a modem driver, snd-atiixp_modem.ko , becoming available through http://www.alsa-project.org ,
1429 with complementary port creation through the SmartLink slmodem-2.9.9d-alsa
1430 For history see: http://website.lineone.net/~bryanrpoole/atiixp-modem.htm
1431 For details on setup and testing, see Modem/ATI.txt
1435 if [ "$Vendor" = "151f" ] ; then
1439 Vendors $v is TOPIC SEMICONDUCTOR Corp.
1440 Class 0780 151f:0000 is a controller chipset modem using the standard drivers.
1441 See http://www.math.sunysb.edu/~comech/tools/PCImodems.html
1445 if [ "$v" = "10de" ] ; then
1448 Vendor 10de is Nvidia, producing the video cards and
1449 two softmodem controllers: 10de:01c1 and 10de:00d9
1450 For subsystems with SILnm codecs,
1451 slmodem-2.9.n software in ALSA mode provides support.
1455 if [ "$PCIDEV" = "10de:00d9" ] ; then
1458 At least some of the 10de:00d9 chipset modems have a Conexnant codec, with support by the hsfmodem package from http://www.linuxant.com/drivers/hsf.
1459 After installation of the software, an edit may be necessary in the file:
1460 /usr/lib/hsfmodem/mod_mc97ich.c
1461 Search for "0x01C1" , which will reveal a line beginning:
1462 { 0x10DE, 0x01C1, PCI_ANY_ID, PCI_ANY_ID,
1464 { 0x10DE, 0x00D9, PCI_ANY_ID, PCI_ANY_ID,
1468 if [ "$v" = "e159" ] ; then
1471 Vendor $v is Tiger Jet (TJ).
1472 $v:0001 translates PCI commands to the serial link used by
1473 the silabs DAA from the si3034, si3044 and si3056 family.
1474 $v:0001 8086:0003 TJ320 v2.0 , with subsystem 8086:0003 is an Intel-537 soft modem
1475 supported by: Intel-537-MostRecentVersion.tgz
1476 $v:0001 0359:0003 TJ320 v3.1
1480 if [ "$v" = "1106" ] ; then
1484 Vendor $v is VIA Technologies Inc.,producing diverse bridges including devices:
1485 1106:3068 VT82C686/686A/686B AC97 Modem Codec
1486 Under the later, the 10cf:118e the "Intel 537" is partially supported
1487 by the SmartLink slmodem-2.7.10 software
1488 Subsystem 1102:0033 has an AgereSystems soft modem chip
1492 if [ "$v" = "13f6" ] ; then
1496 Vendor $v is C-Media Electronics, which produced modem:
1497 13f6:0211 C-Media Electronics Inc CM8738,
1498 13f6:0211 subsystem HSP56 Audiomodem Riser
1499 supported under 2.4.n kernels by PCTEL software.
1500 BUT there is no support under 2.6.n kernels.
1504 if [ "$v" = "14e4" ] || [ -n "$BRD" ] ; then
1507 Vendor 14e4 is BroadCom
1508 14e4:4212 is a BCM V.90 56k modem
1509 There is a driver for 2.2.n kernels called BCOM_WAN_V20.
1510 Search for it at http://www.dell.com
1511 However the code has not been updated for some time.
1512 For 2.4 kernels, fix by Giacomo Comes must be used. See :
1513 http://linmodems.technion.ac.il/archive-third/msg01652.html
1514 When serving under softmodem controllers like the Intel ICH series,
1515 the Broadcom Subsystem 14e4:4d64 has mc97 codec BCM64.
1516 For 2.6.n kernels, see success reports:
1517 http://linmodems.technion.ac.il/archive-fourth/msg03690.html
1518 http://oboc.ucdavis.edu/Marik/inspiron/
1519 The support is achieved through a combination of:
1520 1) the snd-intel8x0m.ko of 2.6.n kernel releases, which provides a low level interface with the modem;
1521 2) an slmodemd daemon which creates ports and provides higher level functions.
1522 Get the slmodem-2.9.9d-alsa.tar.gz from http://linmodems.technion.ac.il/packages/smartlink/
1523 To compile the slmodemd, it is first Necessary to install a libasound2-dev package, providing alsa headers.
1524 3) After compilation and installation of slmodemd, initiate service with:
1525 # modprobe snd-intel8x0m
1526 # slmodemd --alsa --country=YOURCOUNTRY hw:1
1527 Read the slmodem documentation for details and Modem/Slmodem.txt
1531 if [ "$v" = "104d" ]; then
1534 Vendor 104d is Sony. Subsystem 104d:8129 under a 8086:2486 Intel modem controller
1535 has a Conexant chip in a Sony Vaio grx560 laptop.
1536 A bootup "acpi=on" was required for IRQ acquisition.
1539 if [ "$v" = "1039" ] ; then
1540 echo " Vendor $v is SiS, Silicon Integrated System, producing soft modem controllers and subsystems.">>$RECORD
1542 if [ "$v" = "1014" ] ; then
1543 echo Vendor=1014 is IBM.>>$RECORD
1544 if test -n "$SOFT" ; then
1547 Some thinkPad laptops have soft modem Subsystems with AgereSystems codec: 1014:0227 and 1014:0524.
1548 Software access is through IBM:
1549 http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
1553 if [ "$v" = "125d" ] ; then
1557 Vendor=$v is ESS Technologies, making devices:
1558 There has been no formal support for Linux since kernels 2.2.2
1559 Some kludges are of fading utility as the 2.4.n Linux kernels and hardware evolves:
1560 http://linmodems.technion.ac.il/archive-fourth/msg00317.html (2004Feb08)
1561 http://andrew.cait.org/ess/
1562 http://sidlo.penguin.cz/ES2838/index_en.html
1563 http://tx.technion.ac.il/~raindel/
1564 http://phep2.technion.ac.il/linmodems/archive/msg04424.html
1566 There is no hope for support under 2.6.n kernels.
1570 if [ "$v" = "1025" ] ; then
1573 Vendor=$v is Acer, http://global.acer.com/ PC and latop manufacturer with devices including:
1574 1025:5453 M5453 AC-Link Controller Modem Device
1575 1025:0038 an AC97 link modem.
1580 if [ "$v" = "1057" ] || [ "$v" = "11d4" ] ; then
1584 -----------------------------
1585 Vendor=1057 is Motorola with service provided through vendor=11d4 Analog Devices Inc.
1586 Installers are available at: http://www.motorola.com/softmodem/sm56_download.htm
1587 as RPM packages containing binary images of drivers
1588 applicable for installation on the following systems:
1589 * RedHat 7.3 (kernel version 2.4.18-3, sm56-06.05.00-1.rh7.i386.rpm)
1590 * RedHat 8.0 (kernel version 2.4.18-14, sm56-06.05.00-1.rh8.i386.rpm)
1591 * RedHat 9.0 (kernel version 2.4.20-8, sm56-06.05.00-1.rh9.i386.rpm)
1592 * Mandrake Linux 9.2 (kernel version 2.4.22-10mdk, sm56-06.05.02-1.mdk.i586.rpm)
1593 * Mandrake Linux 10.0 (kernel version 2.6.3-7mdk, sm56-06.05.02-2.mdk10_263-7.i586.rpm)
1594 * Suse Linux 9.0 (kernel version 2.4.21, sm56-06.05.02-1.suse90-020421-99.athlon.rpm)
1595 * Suse Linux 9.0 (kernel version 2.4.21, sm56-06.05.02-1.suse90-020421-99.i586.rpm)
1596 There is also available a Legacy driver - SM56_5.1_I386.rpm for 2.4.n kernels ONLY
1597 for which the advice at http://www.sm56.tk/ may be effective.
1599 Jan Ibanez <jmibanez@gmail.com> is our expert on Motorola problems
1601 Achieving function with these drivers is often difficult.
1602 If you computer alternatively boots Linux and Microsoft OS,
1603 do a complete PowerOff before starting Linux.
1604 Otherwise there may be an error during following Motorola usage:
1605 SM_DisplayFatalError
1607 Some guidance for particular cases is:
1608 http://linmodems.technion.ac.il/archive-fourth/msg01751.html
1609 http://linmodems.technion.ac.il/archive-fourth/msg01749.html
1610 http://linmodems.technion.ac.il/archive-fourth/msg01750.html
1611 http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:13952:200405:enbjmmngagmdejkemacc
1612 http://users.volja.net/kutulu/sm56.tar.gz
1613 There is a volunteer Motorola site: http://www.sm56.tk/
1614 The installation creates a driver sm56.o , the character devices
1617 with symbolic link /dev/modem --> /dev/sm56
1618 the /etc/modules.conf lines:
1619 alias char-major-24 sm56
1620 options sm56 country=1
1621 and documentation in usr/share/doc/HTML/en/sm56/ and "man sm56"
1622 An additional line in /etc/modules.conf
1623 alias /dev/modem /dev/sm56
1624 would beneficially aid driver autoloading, without which there may be a failure of the wvdial functionality test:
1625 # /etc/wvdialconf /etc/wvdial.conf
1626 --------------------------------- End Motorola ------------------
1630 if [ "$v" = "10b7" ] || [ "$v" = "12b9" ] ; then
1636 :1006 0038TA <- AC101 - TF Mini-PCI 56K V.90 WinModem no Linux support
1637 :1007 3C556 V.90 Mini-PCI WinModem no Linux support
1638 12b9 is US Robotics. acquired by 3COM
1639 :0062 erk41926a-0.6 usr 56k internal modem
1640 ;1006 3cp803598 Voice WinModem no Linux support
1641 :1007 ERL3263A-0 DF GWPCI PC99 WinModem no Linux support
1642 :1008 3cp803598 is Supported by the standard: serial.o
1643 The following may be supported by Conexant drivers at http://www.linuxant.com
1644 14f1:2f12 (3COM/USR model 3094-3095)
1647 though they carry USR labels.
1651 if [ "$v" = "1543" ] ; then
1653 echo "Vendor 1543 is Silicon Laboratories (SIL). SIL produces "blanks" for soft modem Subsystems" >>$RECORD
1654 echo which subsequent acquire the Subsystem PCI ID from the final Subsystem assembler. >>$RECORD
1655 echo Subsystems for soft modems are also produced. >>$RECORD
1658 if [ "$v" = "10b9" ] ; then
1661 Vendor 10b9 is Acer Labs, producing highly integrated motherboards and Ali components.
1662 The tight integration unfortunately ofter blocks identification of the modem chipset.
1663 Desired information may be gained by using a COMM console under MS Windows,
1664 and using ATI commands to elicit chipset and driver information.
1665 10b9:5450 ALI 5450 and 10b9:5451 ALI 5451 are controllers for unsupported "sound modems"
1668 if [ "$Device" = "545a" ] || [ "$Device" = "5459" ] ; then
1670 $PCIDEV ALI545A SL1801 and $PCIDEV ALI 5459 SmartPCI561 have SmartLink chipsets.
1675 if [ "$Device" = "5457" ] || [ "$Device" = "5459" ] ; then
1678 These messages may aid setup of soft modems under $v:M5457 controllers:
1679 http://linmodems.technion.ac.il/archive-third/msg02518.html
1680 http://linmodems.technion.ac.il/archive-third/msg02100.html
1681 The slmodem-2.9.9 support was developed for $v:5459,
1682 but there a range of reports the related $v:5457 modemd controllers:
1684 functional only after a power on reboot from Microsoft windows;
1685 hang/crash upon initiation of modem usage.
1687 10b9:5457 Modem: ALi Corporation [M5457 AC-Link Modem]
1688 SubSystem 1179:0001 Toshiba America Info Systems: Unknown device 0001
1689 has an AgereSoftModem chip which may be supported by the Smartlink slmodem-2.9.9 driver
1695 if ! [ "$PCTEL" = "DONE" ] ; then
1696 if [ -z "$IDENT" ] || [ "$IDENT" = "PCTEL" ] || [ "$IDENT" = "CM8738" ] ; then
1697 if [ "$v" = "134d" ] || [ "$v" = "134c" ] || [ -n "$CM8738" ] || [ "$PCTEL" = "13f6" ] || [ "$CODECp" = "SIL21" ] ; then
1698 if [ "$CODECp" = "SIL21" ] ; then
1701 For Pctel AMR under $CNTRL,
1702 the SmartLink slmodem-2.9.n software can serve.
1703 The advantage is current updates, extending into the 2.6.n kernels.
1708 echo " Read ModemData.txt and Pctel.txt in the new sub-folder Modem/" | tee -a $RECORD
1709 if [ "$PCIDEV" = "134d:2189" ] ; then
1710 echo " The 134d:2189 is a PCTel 688T modem which is currently NOT supported see:" >>$RECORD
1711 echo " http://linmodems.technion.ac.il/archive-fifth/msg00057.html" >>$RECORD
1713 cat<<END> Modem/Pctel.txt
1715 Vendor=134d is PCTel and Vendor=134c is Chori Joho System Co. Ltd,
1716 producing idenitcal devices including deviceIDs. For supported PCtel modems
1717 The PCTel Inc., modem sector has been sold to Conexant.
1718 Thus official updates for Linux support are unlikely!!
1720 Through volunteer efforts, there are code releases are at
1721 http://linmodems.technion.ac.il/pctel-linux .
1722 Download the pctel-0.9.7-9.tar.gz
1723 Do the following preliminary steps:
1724 Unpack with command : tar zxvf pctel-0.9.7-9.tar.gz
1725 Change directory: cd pctel-0.9.7-9
1726 Read README file less README (space bar goes to next page)
1727 Is a compiler installed? Test with: gcc
1728 If not found, install it from your Linux distribution.
1729 Become root: su root
1731 If not, install the package pciutils .
1732 Now you can follow instructions in README
1734 For guidance on compiling and installing the pctel drivers, read the PCTel minHOWTO:
1735 http://www.peacefulaction.org/sayamindu/docs.php
1736 and the remainder of this file
1738 The ISA card pct388p modem is not supported by the current driver series see:
1739 http://linmodems.technion.ac.il/archive-fifth/msg00166.html
1740 The PCI ID 134d:2189 modem is a PCTel 688T modem which is currently NOT supported see:
1741 http://linmodems.technion.ac.il/archive-fifth/msg00057.html
1742 There are No success reports under current 2.6.nn kernels using PCTel code,
1743 though volunteer efforts are in progress to achieve support under 2.6.n kernels.
1744 The slmodem Smartlink code can however support the AMR PCtel modems under 2.4.n and 2.6.n kernels.
1746 During PCtel code installations, the node made is character device /dev/ttyS15 c 62 69
1750 There is a pre-compiled binary component in the Pctel code which was assembled with a gcc 2.95 compiler
1751 A consequence is the loading fails under kernels compiled with gcc 3.n , unless forcing (-f) is used:
1754 This can be automated by adding the following lines to /etc/modules.conf
1756 ####### for pctel modem ######
1757 alias char-major-62 pctel
1758 alias /dev/modem ptserial
1759 install pctel /sbin/insmod "-f" "pctel"
1760 post-install pctel /sbin/insmod ptserial
1762 # country code for pctel modem, for USA
1763 options ptserial country_code=1
1764 ######## pctel end ####
1768 to inform the System and thereafter
1770 will load both drivers,
1772 For some Systems, PCTel function requires disablement of apmd power monitoring function.
1774 System problems of various severity have been reported after modem usage.
1775 These may be alleviated by the following steps after a modem usage session.
1776 Log into a console as:
1779 to display loaded modules.
1780 # modprobe -r ptserial
1783 For a case of a 134d:7897 modem on a VIA686 motherboard PCTEL drivers compiled with
1785 did NOT provide effective drivers while the drivers were effective when compiled with
1788 For pctel-0.9.7-9 with variant hal=via686a, a fix is needed:
1792 Search the Makefile for a line containing DAUDIO. Edit that line into:
1804 if [ "$v" = "158b" ] ; then
1807 echo Vendor 158b is Allied Data Technologies, http://
1808 158b:0001 and 158b:0005 have Conexant HSF chipsets.
1809 158b:0015 has a Conexant HCF chipset.
1810 There are 158b:xxxx modems with the Intel 536ep chipset.
1815 if [ "$v" = "1013" ] ; then
1818 There is no CURRENT SUPPORT for the Vendor=1013 chipsets of CML, Cirrus Logic Modems,
1819 with modem business acquired by Intel, Inc.
1820 See message: http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:9448:200210:fbhcoigfcimgkjdedjad
1824 if [ "$v" = "1813" ] ; then
1827 Vendor=1813 Ambient Tech was acquired by Intel with its HaM (Host assisted Modem) chipsets.
1828 Intel-v92ham-453.tgz ifor 2.4.n kernels is FINAL update for HaM modems, available at:
1829 http://linmodems.technion.ac.il/packages/Intel/ham/
1830 http://developer.intel.com/design/modems/support/drivers.htm
1831 It is NOT functional when compiled under 2.6.n kernels and will NOT be updated to support
1832 the 2.6.n kernels, Intel maintainer Dorian Araneda has reported.
1833 But under the 2.4.nn kernels, all HaM chipsets are supported,
1834 with a single EXCEPTION: the odd PCI_ID 1813:4100 modems. For the explanation, see message:
1835 http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:9448:200210:fbhcoigfcimgkjdedjad
1840 if test -z "$Dcnx" ; then
1842 echo "148d 158b 141a 127a 14f1 1024" > $TMPM
1844 if [ "$IDENT" = "CXT" ] || grep $v $TMPM >/dev/null ; then
1845 # Conexant HSF, adapted from www.linuxant.com HSF page
1850 14f1:2f00, Subsystem ID 2002:14f1
1851 14f1:2f00, Subsystem ID 2003:14f1
1852 14f1:2f00, Subsystem ID 2004:14f1
1869 14f1:4311 (RIPTIDE - sound not supported)
1874 127a:4311 (RIPTIDE - sound not supported)
1877 Basic2 / SmartDAA types
1878 --------------------------
1891 8086:2486 104d:8129 SoftK56 CModem in a Sony Vaio grx560 laptop required a bootup "acpi=on" for IRQ acquisition.
1895 if [ "$PCIDEV" = "14f1:2f00" ] ; then
1896 echo $Vendor:2002 > $TMPM.0
1897 echo $Vendor:2003 >> $TMPM.0
1898 echo $Vendor:2004 >> $TMPM.0
1900 if grep 14f1:2f00 $TMPM | cut -dD -f2- | grep -f $TMPM.0 >/dev/null ; then
1904 if grep $Vendor $TMPM >/dev/null ; then
1905 grep $Vendor $TMPM > $TMPM.1
1906 if grep $Vendor:$Device $TMPM.1 >/dev/null ; then
1910 if test -n "$HSF" ; then
1911 echo " $PCIDEV is a Conexant HSF modem." | tee -a $RECORD
1914 # the four set 127a,14f1:1025,2005 can be HCF and HSF and are included in the following HCF section
1916 # www.linuzant.com HCF page adaptation
1918 # Vendor:-------devices----- of HCF List
1919 127a:1002:1003:1004:1005:1006 (71DP v90)
1920 14f1:1002:1003:1004:1005:1006 (71DP v90)
1921 127a:1022:1023:1024:1026
1922 14f1:1022:1023:1024:1026
1923 127a:1025:1085:2005 (if it doesn't work: try HSF driver)
1924 14f1:1025:1085:2005 (if it doesn't work: try HSF driver)
1927 127a:1032:1033:1034:1035:1036
1928 14f1:1032:1033:1034:1035:1036
1929 127a:14f1:4321 (RIPTIDE)
1930 14f1:10b3:10b4:10b5:10b6
1931 127a:1802:1804:1805 (LAN/Modem combo)
1932 14f1:1813:1815 (LAN/Modem combo)
1933 14f1:1f10:1f11:1f14:1f15
1934 14f1:1053:1054:1055:1056 (Smart HCF board rev 3)
1935 14f1:1052:1057:1059 (Smart HCF board rev 4)
1936 14f1:1063:1064:1065:1066 (Smart HCF US-only: Dell)
1937 14f1:1453:1454:1455:1456 (Smart HCF mini-PcI board rev 3)
1938 14f1:1452:1457:1459 (Smart HCF mini-PcI board rev 4)
1939 1024:1024 (Zenith Data Systems)
1940 148d:1003 (DIGICOM Systems)
1941 158b:0015 (Allied Data Technologies Tornado VfM56x-PRc)
1942 141a:1035 (Apache Micro)
1945 if grep " $Vendor:" $TMPM >/dev/null ; then
1946 grep " $Vendor:" $TMPM > $TMPM.1
1947 if grep :$Device $TMPM.1>/dev/null ; then
1948 #for the four set 127a,14f1:1025,2005
1949 if grep $Vendor:1025:1085:2005 $TMPM.1 >/dev/null ; then
1950 echo " $PCIDEV could be either an HSF or an HCF Conexant modem" | tee -a $RECORD
1952 echo " $PCIDEV is a Conexant HCF modem." | tee -a $RECORD
1958 Vendors 127a and 14f1 are Conexant, inheritor of Rockwell modem technology. There are also Conexant chipsets
1959 in some modems from vendors 158b - Allied Data Tech., 1024 - Zenith ,141a - Apache Micro and 148d Digicom Systems.
1960 With respect to software support there are two main types, hcfpcimodem* and hsfmodem* .
1961 Download drivers from http://www.Linuxant.com/drivers/
1963 At http://linmodems.technion.ac.il/resources.html#conexant , there are scripts aiding installation:
1966 There is additional Conexant information written to Modem/Conexant.txt
1970 cat<<END> Modem/Conexant.txt
1972 Linuxant Inc. provides Linux drivers for Conexant chipset modems
1973 Go to http://www.linuxant.com/drivers
1974 -Find the HCF or HSF menu in the left part of the screen.
1979 -Find text: "You can download HCF (or HSF) modem packages from the driver
1980 download page." and click there.
1981 -Look for your distribution, your processor, and your kernel.
1982 -Download the matching file.
1983 -Read again and, if you do this under Windows, print the installation
1984 instructions matching the kind of driver file which you downloaded.
1985 -Now just follow these instructions.
1987 http://www.linuxant.com/drivers/hsf/downloads-patches.php has patches
1988 that may be necessary for recent kernels.
1990 A detailed software installation example is provided at:
1991 http://linmodems.technion.ac.il/archive-fourth/msg00350.html
1993 The HCF (Host Controller Free) modems which have a digital signal processsing (DSP) chipset,
1994 while the HSF in the soft modem family without a DSP.
1995 HSF support is included with SuSE 9.0 and later releases
1996 Modems with the following PCI_IDs also have Conexant HCF (Controller free) chipsets.
1997 1024:1024 (Zenith Data Systems)
1998 148D:1003 (DIGICOM Systems)
1999 158B:0015 (Allied Data Technologies Tornado VFM56x-PRC)
2000 141A:1035 (Apache Micro)
2001 The following six may be either HCF of HSF modems. Test the HSF package first
2002 (127a,14f1):(1025,1085, 2005)
2003 Should a HCF driver installation fail to serve among there,
2004 then uninstall and instead try the HSF driver resource.
2005 Subsystem HSF Conexant soft modems serve under AC97 or MC97 controllers. These include:
2006 14f1:(5422 2002) , plus many others with vendors assigned PCI IDs.
2008 After loading of HSF drivers, there will be displayed by command: /sbin/lsmod
2009 Module Size Used by Tainted: P
2010 hsfich 119116 0 (autoclean)
2011 hsfserial 26388 0 (autoclean)
2012 hsfengine 1126348 0 (autoclean) [hsfserial]
2013 hsfosspec 35328 0 (autoclean) [hsfich hsfserial hsfengine]
2014 plus many others not modem related.
2015 While drivers are pre-compiled for some Linux distributions,
2016 the installation of the HCF/HSF packages DOES in general require kernel-source/ preparation,
2017 as described in Modem/DriverCompiling.txt.
2019 There is a conflict between modules snd-intel8x0m and hsfmc97ich.
2020 The snd-intel8x0m Must be loaded first or the system may hang upon hsfmc97ich insertion.
2021 http://linmodems.technion.ac.il/archive-fourth/msg03027.html
2023 A post install suggestion for adjusting PCI latency is:
2024 http://phep2.technion.ac.il/linmodems/archive/msg05210.html
2028 fi # cnxt # beginIntel
2031 if [ -z "$Dintel" ] ; then
2032 if grep INTEL $TMPM >/dev/null || [ "$v" = "8086" ] || [ "$v" = "1813" ] || [ "$AMBIG" = "INTEL537" ] || [ "$CODECp" = "INT" ]; then
2036 Vendor=8086 is Intel, Inc. producing HaM and 536ep host controller free (HCF) modems, 537 soft modem
2037 and AC97 and MC97 controllers managing a varierty of non-Intel soft modem Subsystems.
2038 These subSystems often have PCI_IDs assigned by the modem assembler, rather than the chip provider.
2039 Download available drivers through: http://developer.intel.com/design/modems/support/drivers.htm with Intel-537 types at:
2040 http://downloadfinder.intel.com/scripts-df/Filter_Results.asp?selCat=all&strOSs=39&ProductID=1230&page_nbr=2
2041 Also check at: http://linmodems.technion.ac.il/packages/Intel/537/
2042 for beta releases and perhaps Already compiled drivers for some Linux distributions
2043 A very detailed installation report cogent to 537 type modems is at:
2044 http://linmodems.technion.ac.il/archive-fifth/msg00541.html
2046 Type 1 : When the phone line is not in use at+vcid=1
2047 Type 2 : When the phone line is already in use on a call at+pcw=0
2048 ---------------------
2050 if [ "$IDENT" = "INTEL536ep" ] ; then
2053 The older 2.4.n driver pair have a dependency on one other.
2054 with result that these messages may be seen upon driver loading:
2055 depmod****Unable to resolve symbol in 536ep.o
2056 depmod****Unable to resolve symbol in 536epcore.o
2057 but function is NOT affected.
2058 Bur when the message is any longer, the drivers probably have not been properly compiled.
2059 In which case carefully read Modem/DriverCompiling.txt
2061 A problem maintaining CONNECT under the version 4.62 drivers was resolved
2062 by dropping back to the 4.60 version. See:
2063 http://linmodems.technion.ac.il/archive-third/msg02127.html
2065 The Intel-537SP-MostRecentVersion.tgz driver package may alternatively provide support.
2067 For Debian like distros, a modified install script is:
2068 http://members.lycos.co.uk/persianlinux/downloads/intel536ep/Intel536_inst_debian
2072 if [ "$AMBIG" = "INTEL537" ] || [ "$CODECp" = "INT" ] ; then
2073 echo " Recent Intel-537 fixes are related in http://linmodems.technion.ac.il/archive-fifth/msg00013.html , http://linmodems.technion.ac.il/archive-fifth/msg00166.html">>$RECORD
2074 if [ "$DISTR" = "SuSE" ] ; then
2077 Within http://linmodems.technion.ac.il/packages/Intel
2078 there are packages with compiled Intel 537 drivers for 2.4.nn kernels with name formats like:
2079 intel-537EP_SuSE-9.0_2.4.21-99-default_ONLY.tgz
2083 if [ "$AMBIG" = "INTEL537" ] ; then
2085 The installer code candidate is:
2086 Intel_secure-537AA-MostRecentVersion.tgz
2087 But the Intel 537 readout needs confirmation !!
2088 Sadly there are a few mis-designations in the pciids dataset, which $0 relies on
2089 Too many modems are being labeled Intel537 types.
2090 http://linmodems.technion.ac.il/archive-third/msg02463.html
2091 http://linmodems.technion.ac.il/archive-third/msg02476.html
2092 This includes the distinct Agere, Conexant and SmartLink chipsets types. Conseqeuntly
2093 YOU must manually obtain further information under Microsoft Windows through modem ATI tests/queries
2094 as instructed in $RECORD2 Please include this information in any report to discuss@linmodems.org
2100 There are Five types of Intel 537 chipsets sold to a variety of modem assemblers,
2101 though they may are all called out as Intel 537 by the LSPCI tool used in $0.
2102 Intel 537, a 8086:0003 subsystem PCI card modem with TigerJet PCI Controller - e159:0001
2103 The installer is: Intel-537-MostRecentVersion.tgz
2104 Intel 537EP, an Intel PCI modem si3052 chip(Intel 537EP(G)), si=Silicon Instruments
2105 8086:1080 Intel AC97 controller with modem subSystem 8086:100[7,8,A,0] with
2106 with installer is intel-537EP_MostRecentVersion.tgz
2107 at http://downloadfinder.intel.com/scripts-df/Product_Search.asp?Prod_nm=537ep
2108 Intel 537SP (was known as MD5690) a PCI modem with dsp on board but disabled.
2109 8086:1040 Intel AC97 controller, with modem subsyst 8086:1005
2110 with installer intel-537SP-MostRecentVersion.tgz
2111 There are ambiguities in identification of modems with two Intel537 AA and EA chipset types
2112 http://linmodems.technion.ac.il/archive-third/msg02463.html
2113 http://linmodems.technion.ac.il/archive-third/msg02476.html
2114 Intel 537AA/EA, MDC/AC97 controller with si3054 modem chip
2115 currently supported AC97 controllers - Intel (ICH3,4,5), VIA, NVIDIA, SIS, Realtek, ALI, ATI
2116 with installer intel-537AA_secure-MostRecentVersion.tgz
2117 serving also Intel 537EA, CNR controller with si3038 modem chip
2121 fi # End Intel section
2124 # Lucent or Xircom DSP
2125 if [ "$IDENT" = "AGERE" ] || [ "$IDENT" = "XIRCOM" ] ; then
2126 DEVICES="0x11c1:0x0440-0x045c"
2127 DEVICES=$DEVICES" 0x115d:0x0000-0x000f"
2128 DEVICES=$DEVICES" 0x115d:0x0440-0x045c"
2129 DEVICES=$DEVICES" 0x115d:0x0010-0x03ff"
2130 DEVVEN=$(( 0x`echo $PCIDEV | cut -d':' -f1` + 0 ))
2131 DEVNUM=$(( 0x`echo $PCIDEV | cut -d':' -f2` + 0 ))
2134 VENDOR=$(( `echo $DEV | cut -d':' -f1` + 0 ))
2135 DEVMIN=$(( `echo $DEV | cut -d':' -f2 | cut -d'-' -f1` + 0 ))
2136 DEVMAX=$(( `echo $DEV | cut -d':' -f2 | cut -d'-' -f2` + 0 ))
2138 if test $DEVVEN -eq $VENDOR && test $DEVNUM -ge $DEVMIN && test $DEVNUM -le $DEVMAX
2142 MODEM_VENDOR=0x`echo $PCIDEV | cut -d':' -f1`
2143 MODEM_DEVICE=0x`echo $PCIDEV | cut -d':' -f2`
2144 if [ "$MODEM_VENDOR" = "0x11c1" ] ; then
2149 if test -n "$PCI_ID" ; then
2151 cat<<END | tee -a $RECORD
2153 The modem has a supported Lucent/Agere DSP (digital signal processing) chipset
2154 with primary PCI_ID: $PCI_ID
2157 Agere Systems, Inc provides periodic software releases for there DSP modems,
2158 which are made more Newbie friendly by volunteers. There are some installer packages
2159 and also resources for compiling drivers:
2160 http://ltmodem.heby.de is a repository for installers for later 2.4.2n and early 2.6.n kernels.
2161 Packages below are for compiling drivers:
2162 ResourceName Use for kernel ranges
2163 --------------------------------------------------------------------------------------------------
2164 ltmodem-8.26a.tar.gz kernels 2.4.21 and earlier
2165 ltmodem-8.30a3.tar.gz kernels 2.4.21 and subsequent 2.4.2n kernels
2166 ltmodem-8.31a10.tar.gz beginnig with 2.4.21 through and into 2.6.n kernels
2168 http://linmodems.technion.ac.il/packages/ltmodem/
2169 has installers for older 2.4.n kernels moved from http://ltmodem.heby.de
2170 and subfolder kernel-2.6/ for 2.6.n kernel support. The latest resouce is:
2171 ltmodem-2.6-7-alk-7.tar.bz2 from Alex Kondratenko
2172 ltmodem-2.6-7alk.src.rpm is a repackaging for by Stephan Puck. After installation
2173 of a kernel-source package (not necessary for fedora releases) use by:
2174 rpmbuild --rebuild ltmodem-2.6-7alk.src.rpm , which will deposit an installer at:
2175 /usr/src/rpm/RPMS/i586/ltmodem-kv_YourVersion.rpm Check with
2176 # ls -l /usr/src/rpm/RPMS/i586/ltmodem*
2178 # rpm -i /usr/src/rpm/RPMS/i586/ltmodem-kv_YourVersion.rpm
2180 Support is effective at least into 2.6.11-1.14_FC3.
2181 PCMCIA ltmodem support is still being ported from 2.4.n to 2.6.n, as of May 2005
2183 http://dag.wieers.com/packages/kernel-module-ltmodem/ for some 2.4.n installers
2184 SuSE/Novell has some ltmodem installers at their repositories and newer install CDs.
2185 More related output is below.
2191 VENDOR $MODEM_VENDOR DEVICE $MODEM_DEVICE
2192 ------------------------------------------
2193 LUCENT 0x11c1 0x0440-0x045c
2194 XIRCOM 0x115d 0x0000-0x000F
2195 XIRCOM 0x115d 0x0440-0x045c
2196 XIRCOM 0x115d 0x0010-0x03ff
2197 -------------------------------------------
2198 Driver installer and and their predecessor driver compiler kits are available through:
2199 http://ltmodem.heby.de/ and http://linmodems.technion.ac.il/packages/ltmodem/
2205 While ISA and PCMCIA card modems would not be detected,
2206 if the modem is a PCI type it will not be served by these
2207 drivers for Lucent/Agere digital signal processor modems.
2216 fi # end Lucent DSP section
2218 if [ -z "$IDENT" ] || [ "$IDENT" = "AGR" ] || [ "$IDENT" = "AGERE" ] || [ -n "$DSP" ] && ! [ "$ALSA" = "snd-atiixp-modem" ] && [ -z "$ADONE" ] ; then
2220 if [ "$v" = "11c1" ] || [ "$CODEC" = "SIL27" ] || [ -n "$AGR" ] && ! [ "$SMART" = "only" ] ; then
2223 Vendor 11c1 corresponds to Lucent Technologies or subsidiary Agere Systems, Inc.
2224 Information is at: http://www.agere.com/client/modem_dsp.html. Produced are both:
2225 1) modems identifiable from their primary PCI IDs and
2226 2) soft modem Subystem chips requiring identification through codec readouts.
2230 if [ "$CODECp" = "SIL27" ] || [ -n "$AGR" ] ; then
2233 AgereSoftModem drivers only support AC97 or MC97 modem controllers with codecs charcterized by one of:
2236 0x27 , as output by modem diagnostics under Microsoft Windows
2237 If uncertain, identity the softmodem codec through tests described in Modem/SoftModem.txt
2238 Support is currently ONLY for 2.4.n kernels and the following modem controllers:
2239 8086:(2416 2426 2446 7196 2486 24C6) , with 8086 == Intel
2242 Access the soft modem software through code sponsor IBM at:
2243 http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
2244 The SmartLink slmodem-2.9.9 may serve for modems not served by this AgereSystems software.
2246 If may be necessary to add -DMODVERSIONS to the compile flags,
2247 depending on whether your kernel was thus compiled. See
2248 http://linmodems.technion.ac.il/archive-fourth/msg01408.html
2251 elif [ "$Device" = "0462" ] ; then
2254 56K.V90/ADSL Wildfire Modem with PCI_ID 11c1:0462
2255 http://www.lucent.com/press/0598/980505.mea.html
2256 currently lacks support under Linux.
2259 elif [ "$Device" = "048c" ] || [ "$Device" = "048e" ] || \
2260 [ "$Device" = "048f" ] || [ "$Device" = "0600" ] ; then
2265 Class 0703: $v:$Device is still NOT supported under Linux, as of $UPDATE
2266 It is a "software" modem without a digital signal processing (DSP) chipset.
2267 The ltmodem drivers from http://ltmodem.heby.de resources for DSP modems do NOT provide support,
2268 A dialout terminates with "No Carrier" or a Hang if usage of the ltmodem drivers is attempted.
2271 elif [ "$Device" = "0480" ] ; then
2272 echo " The Venus controller chipset 1673JV7 modems use the serial.o driver." >>$RECORD
2273 elif test -n "$DSP" ; then
2274 echo " Call waiting specified by, +pcw=1, is not implmented in the ltmodem drivers." >>$RECORD
2275 echo Configuration with forcing is described in: http://linmodems.technion.ac.il/archive-fifth/msg00055.html >> $RECORD
2276 # Setting up board.info for grepping MODEL_DATA
2278 0x0440 -- Mars 2 - data/fax/voice
2279 0x0441 -- Mars 2 - data/fax only
2280 0x0442 -- Mars 2 - data/fax/tam only
2281 0x0448 -- Mars 2 Global Board - data/fax/voice
2282 0x0449 -- Mars 2 Global Board - data/fax only
2283 0x044a -- Mars 2 Global Board - data/fax/tam only
2284 0x0444 -- Apollo 2 data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
2285 0x0445 -- Apollo 2 Global Board data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
2286 0x0446 -- Apollo 2 data/fax/voice : Modem/LAN combo board Apollo behind an Intel 82559
2287 0x0447 -- Apollo 2 Global Board data/fax/voice : Modem/LAN combo board Apollo behind an Intel 82559
2288 0x044c -- Mars 3 Perseus data/fax only:North America and Global board
2289 0x044e -- Mars 3 Mercury data fax only
2290 0x0450 -- Mars 3 Mercury data fax Global board
2291 0x0451 -- Mars 3 Mercury data/fax/voice
2292 0x0452 -- Mars 3 Mercury data/fax/voice Global board
2293 0x0455 -- Mars 3 Perseus data/fax/voice: North America and Global board
2294 0x0458 -- Mars 3 Mercury data/fax/tam only.
2295 0x0459 -- Mars 3 Mercury data/fax/tam only. Global board.
2296 0x045a -- Mars 3 Perseus data/fax/tam only.: North America and Global board
2297 0x045b -- Apollo 3 Perseus data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
2298 0x045c -- Apollo 3 Mercury data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
2299 0x045d -- Mars 3 Mercury data/fax/tam only. Global board for Cardbus modem product.
2300 0x044c -- Mars 3.2 Mercury data fax only when no eeprom is present, North America DAA
2303 if grep $MODEM_DEVICE $TMPM.2 > /dev/null ; then
2304 grep $MODEM_DEVICE $TMPM.2 >>$RECORD
2306 if [ "$MAJOR" = "2.6" ] ; then
2307 if [ "$SYS" = "2.6.3-4mdk" ] ; then
2310 There are ltmodem packages in Mandrake. Search for ltmodem in the package lists
2311 and check for installation already with:
2313 There is also a ltmodem-2.6.3-4mdk.tgz at
2314 at http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6
2318 if [ "$KVER" = "2.6.8.1" ] ; then
2321 Drivers compiled with ltmodem-2.6-alk-6.tar.bz2 have been effective with Mandrake 10
2322 kernel versions $KVER-* . See within http://linmodems.technion.ac.il/packages/ltmodem/
2323 ltmodem-2.6.8.1-10mdk.tar.gz
2328 if [ "$DISTR" = "SuSE" ] ; then
2331 SuSE has a ltmodem packages for with pre-compiled drivers, beginning with the 8 releases
2332 For the SuSE 9.1 release, there is an update improving bootup automation.
2333 A failure had been reported for the 9.3 release ltmodem package,
2334 but the ltmodem-2.6-7-alk-7.tar.bz2 resource gave effective drivers.
2338 if [ "$Device" = "0442" ] ; then
2339 echo "The device=$Device modems have an electro-optical coupling" >>$RECORD
2340 echo "which in some hardware is Not adequately supported by these drivers." >>$RECORD
2346 if [ "$v" = "115d" ] || [ "$PCIDEV" = "11c1:0420" ] ; then
2349 Vendor=115d corresponds to Xircom, now an Intel subsidiary.
2350 http://www.intel.com/support/peripherals/xc/modems/index.htm
2351 http://appsr.intel.com/scripts-df/support_intel2.asp
2352 http://support.intel.com/
2355 XIRCOM 0x115d 0x0000-0x000F
2356 XIRCOM 0x115d 0x0440-0x045c
2357 XIRCOM 0x115d 0x0010-0x03ff
2358 --------------------------------------
2359 are supported by the resources at http://ltmodem.heby.de/
2361 Some other Xircom modems and Lucent 11c1:0420 modems
2362 MAY BE accessed by Insertion Options
2363 Download from http://ltmodem.heby.de/ the: ltmodem-$LT_VERSION.tar.gz
2364 Open with: tar zxvf ltmodem-$LT_VERSION.tar.gz
2365 Within the ltmodem/DOCs/ folder read the Insertion-param files
2366 and for fun, the history: andreas.txt
2368 To get a recommendation for an Installer kit, run
2372 if test -z "$DSP" ; then
2373 echo " The ltmodem drivers do NOT support this modem.">>$RECORD
2377 if [ -z "$ALT" ] ; then
2381 if [ "$Smart" = "ALSA" ] ; then
2384 Under the controller $CNTRL,
2385 with modem subSystem $SUBSYS
2386 Only ALSA mode usage of slmodem-2.9.n code may provide support.
2391 if [ -n "$Smart" ] && ! [ "$Vendor" = "163c" ] && [ -n "$CNTRL" ] && ! [ "$IDENT" = "ATI" ] && ! [ "$Smart" = "ALSA" ] ; then
2395 Under the controller $CNTRL,
2396 with modem subSystem $SUBSYS
2397 Alternative supporting packages are the SmartLink slmodem-2.9.n using its proprietary slamr driver,
2398 or dependent on $CNTRL, an Open Source driver from the ALSA package.
2399 See Modem/Slmodem-ALSA.txt for details.
2401 For SuSE 9.2 users, there is an update for driver slamr.ko loading during bootup.
2402 To find it easily, search for "slamr" within http://www.novell.com/linux/download/updates/92_i386.html
2408 if [ -z "$SMDONE" ] && [ -z "$DSP" ] && ! [ "$PCIDEV" = "8086:1040" ] ; then
2409 echo "163c 2000 2003 2004" > $TMPM
2410 # make all KERNEL_VER=2.6.0-test7 , due to lack of kernel-headers
2411 if grep $v $TMPM>/dev/null || [ -n "$smart" ] || [ -n "$SMART" ] || [ "$IDENT" = "SMART" ] && [ -z "$CXT" ] && ! [ "$IDENT" = "ATI" ] ; then
2414 SmartLink at http://www.smlink.com/ owns vendor IDs 163c, 2000, 2003, and 2004
2415 The official download site is: http://www.smlink.com/main/index1.php?ln=en&main_id=40 ,
2416 but http://linmodems.technion.ac.il/packages/smartlink/ has older packages and new fixes.
2417 For the emerging 2.6.10 kernels, use the slmodem-2.9.9d.tar.gz therefrom.
2418 Also DO download the ungrab-winmodem.tar.gz
2419 For details read Slmodem.txt, Slmodem-ALSA.txt and
2420 http://linmodems.technion.ac.il/slmodem-serial.html
2423 # a HowTo http://www.raspberry.co.za/michael/slmodem.html
2430 # with Vendor and SUBven
2433 if [ -n "$DSP" ] ; then
2434 # || [ "$1" = "kit" ] ||
2435 if ! [ "$DISTR" = "Not_identified" ] ; then
2436 # No use if the distribution is not known
2437 if [ "$DISTR" = "slackware" ] ; then
2438 echo Installers are not available for Slackware Linux >>$RECORD
2440 if [ "$DISTR" = "gentoo" ] ; then
2443 LTmodem packages are within the Gentoo package system, so you can just run "emerge ltmodem".
2444 This will download the source, configure, compile, and install the driver modules.
2450 # pick out the Distro section
2452 if [ "$DISTR" = "conectiva" ] ; then
2453 if ! [ "$GCCmajor" = "3" ] ; then
2456 ltmodem-kv_2.4.18_586-6.28a8-1.i386.rpm
2457 ltmodem-kv_2.4.19_1U80_13cl-8.26a9-1.i386.rpm
2458 ltmodem-kv_2.4.19_1U80_2cl-8.26a9-1.i386.rpm
2459 ltmodem-kv_2.4.19_1U80_5cl-8.26a9-1.i386.rpm
2460 ltmodem-kv_2.4.19_1U80_8cl-8.26a9-1.i386.rpm
2467 ltmodem-kv_2.4.21_28872cl-8.26a9-1.i386.rpm
2472 if [ "$DISTR" = "debian" ] ; then
2475 Add either of the following lines to the Debian /etc/apt/sources.list
2476 to enable automatic updates on installer availability:
2477 deb http://www.physcip.uni-stuttgart.de/heby/ltmodem/dists/debian/ ./
2478 deb http://www.sfu.ca/~cth/ltmodem/dists/debian/ ./
2481 if ! [ "$GCCmajor" = "3" ] ; then
2483 ltmodem-2.2.20-compact_6.00c2_i386.deb
2484 ltmodem-2.2.20-idepci_6.00c2_i386.deb
2485 ltmodem-2.2.20-reiserfs_6.00c_i386.deb
2486 ltmodem-2.2.20_6.00c2_i386.deb
2487 ltmodem-2.2.21-compact_6.00c2_i386.deb
2488 ltmodem-2.2.21-idepci_6.00c2_i386.deb
2489 ltmodem-2.2.22_6.00c_i386.deb
2490 ltmodem-2.2.22-compact_6.00c_i386.deb
2491 ltmodem-2.2.22-idepci_6.00c_i386.deb
2492 ltmodem-2.2.25_6.00c_i386.deb
2493 ltmodem-2.2.25-compact_6.00c_i386.deb
2494 ltmodem-2.2.25-idepci_6.00c_i386.deb
2496 ltmodem-2.4.17-386_8.00a3_i386.deb
2497 ltmodem-2.4.17-586tsc_8.00a3_i386.deb
2498 ltmodem-2.4.17-686-smp_8.00a3_i386.deb
2499 ltmodem-2.4.17-686_8.00a3_i386.deb
2500 ltmodem-2.4.17-bf2.4_8.00a3_i386.deb
2501 ltmodem-2.4.17-k6_8.00a3_i386.deb
2502 ltmodem-2.4.17-k7_8.00a3_i386.deb
2503 ltmodem-2.4.17_8.00a3_i386.deb
2504 ltmodem-2.4.18-386_8.00a3_i386.deb
2505 ltmodem-2.4.18-586tsc_8.00a3_i386.deb
2506 ltmodem-2.4.18-686-smp_8.00a3_i386.deb
2507 ltmodem-2.4.18-686_8.00a3_i386.deb
2508 ltmodem-2.4.18-bf2.4_8.00a3_i386.deb
2509 ltmodem-2.4.18-k6_8.00a3_i386.deb
2510 ltmodem-2.4.18-k7_8.00a3_i386.deb
2511 ltmodem-2.4.18_8.00a3_i386.deb
2513 ltmodem-2.4.19-386_8.26a9_i386.deb
2514 ltmodem-2.4.19-586tsc_8.26a9_i386.deb
2515 ltmodem-2.4.19-686-smp_8.26a9_i386.deb
2516 ltmodem-2.4.19-686_8.26a9_i386.deb
2517 ltmodem-2.4.19-k6_8.26a9_i386.deb
2518 ltmodem-2.4.19-k7_8.26a9_i386.deb
2519 ltmodem-2.4.19-k7-smp_8.26a9_i386.deb
2520 ltmodem-2.4.19_8.26a9_i386.deb
2522 ltmodem-2.4.20_8.26a9_i386.deb
2523 ltmodem-2.4.20-speakup_8.26a9_i386.deb
2524 ltmodem-2.4.20-1-386_8.26a9_i386.deb
2525 ltmodem-2.4.20-1-586tsc_8.26a9_i386.deb
2526 ltmodem-2.4.20-1-686_8.26a9_i386.deb
2527 ltmodem-2.4.20-1-k6_8.26a9_i386.deb
2528 ltmodem-2.4.20-1-k7_8.26a9_i386.deb
2529 ltmodem-2.4.20-1-k7-smp_8.26a9_i386.deb
2531 ltmodem-2.4.18-k7_8.26a9_i386.deb
2537 ltmodem-2.4.21-5-386_8.26a9_i386.deb
2538 ltmodem-2.4.21-5-586tsc_8.26a9_i386.deb
2539 ltmodem-2.4.21-5-686_8.26a9_i386.deb
2540 ltmodem-2.4.21-5-686-smp_8.26a9_i386.deb
2541 ltmodem-2.4.21-5-k6_8.26a9_i386.deb
2542 ltmodem-2.4.21-5-k7-smp_8.26a9_i386.deb
2543 ltmodem-2.4.21-5-k7_8.26a9_i386.deb
2544 ltmodem-2.4.21-5_8.26a9_i386.deb
2546 ltmodem-2.4.22-1-386_8.26a9_i386.deb
2547 ltmodem-2.4.22-1-586tsc_8.26a9_i386.deb
2548 ltmodem-2.4.22-1-686_8.26a9_i386.deb
2549 ltmodem-2.4.22-1-686-smp_8.26a9_i386.deb
2550 ltmodem-2.4.22-1-k6_8.26a9_i386.deb
2551 ltmodem-2.4.22-1-k7-smp_8.26a9_i386.deb
2552 ltmodem-2.4.22-1-k7_8.26a9_i386.deb
2553 ltmodem-2.4.22-speakup_8.26a9_i386.deb
2554 ltmodem-2.4.22-1-386_8.31a3_i386.deb
2555 ltmodem-2.4.22-1-586tsc_8.31a3_i386.deb
2556 ltmodem-2.4.22-1-686_8.31a3_i386.deb
2557 ltmodem-2.4.22-1-686-smp_8.31a3_i386.deb
2558 ltmodem-2.4.22-1-k6_8.31a3_i386.deb
2559 ltmodem-2.4.22-1-k7-smp_8.31a3_i386.deb
2560 ltmodem-2.4.22-1-k7_8.31a3_i386.deb
2561 ltmodem-2.4.22-speakup_8.31a3_i386.deb
2563 ltmodem-2.4.25-1-686_8.30a3_i386.deb
2564 ltmodem-2.4.25-586tsc_8.30a3_i386.deb
2565 ltmodem-2.4.25-686-smp_8.30a3_i386.deb
2566 ltmodem-2.4.25-k6_8.30a3_i386.deb
2567 ltmodem-2.4.25-k7-smp_8.30a3_i386.deb
2568 ltmodem-2.4.25-k7_8.30a3_i386.deb
2570 ltmodem-2.4.26-1_8.31a3_i386.deb
2571 ltmodem-2.4.26-1-386_8.31a3_i386.deb
2572 ltmodem-2.4.26-1-586tsc_8.31a3_i386.deb
2573 ltmodem-2.4.26-1-686-smp_8.31a3_i386.deb
2574 ltmodem-2.4.26-1-686_8.31a3_i386.deb
2575 ltmodem-2.4.26-1-k6_8.31a3_i386.deb
2576 ltmodem-2.4.26-1-k7-smp_8.31a3_i386.deb
2577 ltmodem-2.4.26-1-k7_8.31a3_i386.deb
2578 ltmodem-2.4.26-speakup_8.31a3_i386.deb
2580 ltmodem-2.6.8-1-686_8.31a8_1.i686.deb
2584 if [ "$DISTR" = "mandrake" ] ; then
2585 if ! [ "$GCCmajor" = "3" ] ; then
2588 Only installers compiled with gcc = 3.n are stored at http://ltmodem.heby.de
2589 Older packages are at http://linmodems.technion.ac.il/
2595 ltmodem-kv_2.4.21_0.11mdk-8.26a9-1.i586.rpm
2596 ltmodem-kv_2.4.21_0.13mdk-8.26a9-1.i586.rpm
2597 ltmodem-kv_2.4.21_0.13mdk-8.30a3-1.i586.rpm
2598 ltmodem-kv_2.4.21_0.18mdk-8.26a9-1.i586.rpm
2599 ltmodem-kv_2.4.21_0.25mdk-8.26a9-1.i586.rpm
2600 ltmodem-kv_2.4.21_0.25mdk-8.26a9-1.i686.rpm
2601 ltmodem-kv_2.4.21_0.26mdk-8.26a9-1.i586.rpm
2603 ltmodem-kv_2.4.22_10mdk-8.26a9-1.i586.rpm
2604 ltmodem-kv_2.4.22_21mdk-8.26a9-1.i586.rpm
2605 ltmodem-kv_2.4.22_26mdk-8.26a9-1.i586.rpm
2606 ltmodem-kv_2.4.22_28mdk-8.26a9-1.i586.rpm
2607 ltmodem-kv_2.4.22_29mdk-8.26a9-1.i586.rpm
2608 ltmodem-kv_2.4.22_30mdk-8.26a9-1.i586.rpm
2610 ltmodem-kv_2.4.22_32mdk-8.30a3-1.i686.rpm
2611 ltmodem-kv_2.4.22_36mdk-8.30a3-1.i686.rpm
2612 ltmodem-kv_2.4.25_6mdk-8.30a3-1.i686.rpm
2613 ltmodem-kv_2.4.25_7mdk-8.30a3-1.i686.rpm
2619 if [ "$DISTR" = "redhat" ] ; then
2620 echo " Many installers for RedHat are available at http://dag.wieers.com/packages/kernel-module-ltmodem ">>$RECORD
2621 if [ -n "$FEDORA" ] ; then
2624 ltmodem-kv_2.4.22_1.2115.nptl-8.26a9-1.i386.rpm
2625 ltmodem-kv_2.4.22_1.2115.nptl-8.26a9-1.i686.rpm
2626 ltmodem-kv_2.4.22_1.2129.nptl-8.26a9-1.i386.rpm
2627 ltmodem-kv_2.4.22_1.2129.nptl-8.26a9-1.i686.rpm
2628 ltmodem-kv_2.4.22_1.2135.nptl-8.26a9-1.i386.rpm
2629 ltmodem-kv_2.4.22_1.2138.nptl-8.26a9-1.i386.rpm
2630 ltmodem-kv_2.4.22_1.2138.nptl-8.26a9-1.i686.rpm
2631 ltmodem-kv_2.4.22_1.2140.nptl-8.26a9-1.i386.rpm
2632 ltmodem-kv_2.4.22_1.2140.nptl-8.26a9-1.i686.rpm
2633 ltmodem-kv_2.4.22_1.2166.nptl-8.26a9-1.i386.rpm
2634 ltmodem-kv_2.4.22_1.2174.nptl-8.26a9-1.i386.rpm
2635 ltmodem-kv_2.4.22_1.2174.nptl-8.30a1-1.i686.rpm
2636 ltmodem-kv_2.4.22_1.2174.nptl-8.30a1-1.i686.rpm
2637 ltmodem-kv_2.4.22_1.2197.nptl-8.31a5-1.i686.rpm
2638 ltmodem-kv_2.6.6_1.427-8.31a7-1.i686.rpm
2639 ltmodem-kv_2.6.6_1.435-8.31a7-1.i686.rpm
2640 ltmodem-kv_2.6.7_1.494.2.2-8.31a8-1.i686.rpm
2641 ltmodem-kv_2.6.8_1.521-8.31a8-1.i686.rpm
2647 ltmodem-kv_2.4.20_2.2-8.26a9-1.i386.rpm
2648 ltmodem-kv_2.4.20_2.2-8.26a9-1.i486.rpm
2649 ltmodem-kv_2.4.20_2.2-8.26a9-1.i586.rpm
2650 ltmodem-kv_2.4.20_2.2-8.26a9-1.i686.rpm
2651 ltmodem-kv_2.4.20_6-8.26a9-1.athlon.rpm
2652 ltmodem-kv_2.4.20_8-8.26a9-1.i386.rpm
2653 ltmodem-kv_2.4.20_8-8.26a9-1.i486.rpm
2654 ltmodem-kv_2.4.20_8-8.26a9-1.i586.rpm
2655 ltmodem-kv_2.4.20_8-8.26a9-1.i686.rpm
2656 ltmodem-kv_2.4.20_9-8.26a9-1.i386.rpm
2657 ltmodem-kv_2.4.20_9-8.26a9-1.i486.rpm
2658 ltmodem-kv_2.4.20_9-8.26a9-1.i586.rpm
2659 ltmodem-kv_2.4.20_9-8.26a9-1.i686.rpm
2660 ltmodem-kv_2.4.20_13.8-8.26a9-1.i386.rpm
2661 ltmodem-kv_2.4.20_13.9-8.26a9-1.i386.rpm
2662 ltmodem-kv_2.4.20_13.9-8.26a9-1.i486.rpm
2663 ltmodem-kv_2.4.20_13.9-8.26a9-1.i586.rpm
2664 ltmodem-kv_2.4.20_13.9-8.26a9-1.i686.rpm
2665 ltmodem-kv_2.4.20_18.9-8.26a9-1.i386.rpm
2666 ltmodem-kv_2.4.20_18.9-8.26a9-1.i486.rpm
2667 ltmodem-kv_2.4.20_18.9-8.26a9-1.i586.rpm
2668 ltmodem-kv_2.4.20_18.9-8.26a9-1.i686.rpm
2669 ltmodem-kv_2.4.20_19.9-8.26a9-1.i386.rpm
2670 ltmodem-kv_2.4.20_19.9-8.26a9-1.i486.rpm
2671 ltmodem-kv_2.4.20_19.9-8.26a9-1.i586.rpm
2672 ltmodem-kv_2.4.20_19.9-8.26a9-1.i686.rpm
2673 ltmodem-kv_2.4.20_20.7-8.26a9-1.i686.rpm
2674 ltmodem-kv_2.4.20_20.8-8.26a9-1.i386.rpm
2675 ltmodem-kv_2.4.20_20.8-8.26a9-1.i686.rpm
2676 ltmodem-kv_2.4.20_20.9-8.26a9-1.i386.rpm
2677 ltmodem-kv_2.4.20_20.9-8.26a9-1.i486.rpm
2678 ltmodem-kv_2.4.20_20.9-8.26a9-1.i586.rpm
2679 ltmodem-kv_2.4.20_20.9-8.26a9-1.i686.rpm
2680 ltmodem-kv_2.4.20_24.7-8.26a9-1.i686.rpm
2681 ltmodem-kv_2.4.20_24.8-8.26a9-1.i386.rpm
2682 ltmodem-kv_2.4.20_24.9-8.26a9-1.i386.rpm
2683 ltmodem-kv_2.4.20_24.9-8.26a9-1.i486.rpm
2684 ltmodem-kv_2.4.20_24.9-8.26a9-1.i586.rpm
2685 ltmodem-kv_2.4.20_24.9-8.26a9-1.i686.rpm
2686 ltmodem-kv_2.4.20_27.9-8.26a9-1.athlon.rpm
2687 ltmodem-kv_2.4.20_27.9-8.26a9-1.i386.rpm
2688 ltmodem-kv_2.4.20_27.9-8.26a9-1.i486.rpm
2689 ltmodem-kv_2.4.20_27.9-8.26a9-1.i586.rpm
2690 ltmodem-kv_2.4.20_27.9-8.26a9-1.i686.rpm
2691 ltmodem-kv_2.4.20_30.9-8.26a9-1.i686.rpm
2693 ltmodem-kv_2.4.21_4.EL-8.30a1-1.athlon.rpm
2694 ltmodem-kv_2.4.21_4.EL-8.30a1-1.i686.rpm
2700 if [ "$DISTR" = "SuSE" ] ; then
2702 ltmodem-kv_2.4.20_4GB-8.26a9-1.i386.rpm, SuSE 8.2
2708 ################### Listing from http://ltmodem.heby.de/ ends
2710 fi # Done choosing DISTR block
2712 echo " The desired installer name is like:" >>$RECORD
2713 echo "========================================" >>$RECORD
2714 # echo Checking for suitable ltmodem Installers
2715 if [ "$DISTR" = "debian" ] ; then
2716 echo ltmodem-"$FILTER""8.nn"_i386.deb >>$RECORD
2718 if grep $FILTER $TMPM > /dev/null ; then
2719 grep $FILTER $TMPM > $TMPM.1
2723 # conectiva mandrake redhat SuSE, fedora all .rpm
2724 if [ "$DISTR" = "mandrake" ] || [ "$DISTR" = "redhat" ] ; then
2725 echo ltmodem-kv-$PVER-$LT_VERSION-1.$CPU.rpm >>$RECORD
2726 # http://linmodems.technion.ac.il/archive-fourth/msg03230.html Marv
2728 if [ "$DISTR" = "conectiva" ] || [ "$DISTR" = "SuSE" ] ; then
2729 echo "ltmodem-kv-$PVER-$LT_VERSION-i386.rpm" >>$RECORD
2731 grep $PVER $TMPM > $TMPM.2
2732 grep $CPU $TMPM.2 > $TMPM.1
2733 if grep "ltmodem-" $TMPM.1 >/dev/null ; then
2735 elif grep "ltmodem-" $TMPM.2 >/dev/null ; then
2741 # AGERES=`echo $LT_VERSION | cut -da -f1`
2744 ----------------------------------------
2745 ltmodem-kv-Kernel_FL-LTver--.CPU.rpm explains the versioning.
2747 `echo Kernel_FL is $SYS , the full kernel version displayed by: uname -r`
2748 `echo LTver is $LT_VERSION, the release of the compiler kit`
2749 `echo $AGERES is the Agere core code designation.`
2750 The proccesor type or CPU is: $CPU dispayed by: uname -m
2751 used in compiling and assembling driver packages.
2756 if [ "$DISTR" = "redhat" ] && [ -n "$FEDORA" ] ; then
2758 echo " For usage with the udev file system of fedora core 3, see http://linmodems.technion.ac.il/archive-fifth/msg01177.html">>$RECORD
2759 # changed back to redhat after this message section
2761 if [ "$SYS" = "2.6.8.1-12mdk" ] || [ "$SYS" = "2.6.8.1-10mdk" ] && [ "$DISTR" = "mandrake" ] ; then
2764 At http://linmodems.technion.ac.li/packages/ltmodem/kernel-2.6/
2765 there is an installer ltmodem-"$SYS".tar.gz
2766 Unpack under Linux with:
2767 tar zxvf ltmodem-2.6.8.1-12mdk.tar.gz
2770 elif [ "$BEST" = "$TMPM.1" ] ; then
2772 A suitable Installer is at http://ltmodem.heby.de/
2773 in the section: $DISTR
2777 cat $TMPM.3 >>$RECORD
2779 elif [ "$BEST" = "$TMPM.2" ] ; then
2781 Installers that may suffice are at http://ltmodem.heby.de/
2782 in the section: $DISTR
2783 ------------------------------------------------------
2785 ------------------------------------------------------
2786 The closest match to your $CPU=CPU is recommended.
2787 For example replacements in order of preference for an
2788 i686 would be i586, i486 and i386
2789 The Kernel_FLavor section MUST match.
2790 If not the ltmodem-$LT_VERSION.tar.gz compiler MUST BE USED.
2793 cat $TMPM.3 >>$RECORD
2799 A suitable installer is not available as of this $UPDATE update.
2800 Check in the section $DISTR at http://ltmodem.heby.de/
2801 for a subsequent Installer submission.
2802 Older releases have been archived at:
2803 http://linmodems.technion.ac.il/packages/ltmodem/archive/
2804 Also there is a RPM search engine at: http://rpm.pbone.net
2805 The closest match to your $CPU=CPU is recommended.
2806 The closest match to your $CPU=CPU is recommended.
2807 For example replacements in order of preference for an
2808 i686 would be i586, i486 and i386
2809 If not present use the ltmodem-$LT_VERSION.tar.gz compiler kit.
2811 The list of available Installers for $DISTR as of this $UPDATE
2812 is inserted into to $RECORD2
2818 -----------Installer list for $DISTR --------
2820 ------- end Installer List ------------------
2823 fi # DISTR not recognized
2824 if [ "$DISTR" = "fedora" ] ; then
2826 # changed back to redhat after above message section
2828 if grep smp $TMPM >/dev/null ; then
2832 Symmetric Multi Processors (SMP) issues
2833 ----------------------------------------------------------------------------------
2834 Beginning with the Agere version 8.00 core code, the ltmodem drivers are
2835 functional on Systems with SMP kernels such as your kernel-$SYS ,
2836 so far as supporting dialout and initiation of ppp.
2837 However these dialout sessions inevitable stall,
2838 evidently because of inadequate interrupt handling by the core ltmodem code.
2839 This problem can be bypassed with some loss of performance by
2840 using the bootup option: noacpi
2842 The November 2004 AgereSystems 8.30 release is SMP proficient.
2850 echo " ======= PCI_ID checking completed ====== ">>$RECORD
2854 If the Primary and Subsystem Vendor information was not adeqaute,
2855 it may be useful to search at http://www.pcidatabase.com/
2859 # Just to be sure the Update is reported:
2860 echo " Update=$UPDATE">>$RECORD
2862 # echo Scanning for a PCI bridge to a CardBus with: "$LSPCI 2>/dev/null | grep CardBus"
2863 echo ---------------------------------------- > $TMPM
2864 $LSPCI 2>/dev/null | grep -E CardBus | cut -d' ' -f1 >$TMPM.1
2865 if grep 0000: $TMPM.1 >/dev/null; then
2866 CARDBUS=`cat $TMPM.1 | cut -d: -f2-`
2868 CARDBUS=`cat $TMPM.1`
2871 if test -z "$CARDBUS" ; then
2872 echo A PCMCIA CardBus is not detected on this System. >> $RECORD
2875 for i in $CARDBUS ; do
2877 echo Analyzing information for PCMCIA device at PCI Bus $i >> $RECORD
2878 $LSPCI -s $i -v 2>/dev/null >> $TMPM
2879 echo "GREPping for an inserted PCMCIA modem with filter: ommunication" >> $RECORD
2880 MODEM=`$LSPCI -v 2>/dev/null | grep ommunication`
2881 if test -n "$MODEM" ; then
2885 if test $port -gt 0 ; then
2886 echo " A PCMCIA modem is detected." | tee -a $RECORD
2889 The stardard ltmodem resources should suffice for modem support:
2890 http://ltmodem.heby.de/
2891 if the modem has a Lucent/Agere digital processing chipset.
2896 If a PCMCIA modem is currently inserted and the sockets activated by
2897 /etc/init.d/pcmcia start
2898 then the PCMCIA bridge is NOT transparent.
2900 If the modem is known to have a Lucent digital signal processing chipset,
2901 then PCMCIA.tar.gz variant assembled by Joern Wustenfeld is necessary,
2902 rather than the standard ltmodem-$LT_VERSION.tar.gz at http://ltmodem.heby.de/
2909 if [ "$GCCmajor" = "3" ] ; then
2910 echo GCCversion=$GCC >>$RECORD
2914 ---------------------------------------------------------------------------------------------
2915 The proprietary Binary component of the some current winmodem drivers were compiled with
2916 version 2.9n gcc compiler. Red Hat 8.0 and Mandrake 9.0 releases utilize
2917 version 3.nn gcc compilers. This currently is causing difficulties either
2918 in compiling and/or insertion of updated winmodem drivers.
2920 The gcc compiler version of this System is: $GCC
2921 It will likely be necessary to force (-f) insertion of winmodem drivers, with credit to
2922 Jos Vos: http://phep2.technion.ac.il/linmodems/archive/msg04510.html
2924 For the ltmodem drivers with proprietary binary provided by Agere Systems,
2925 compiling with versions gcc=3.nn is successful.
2926 A minor edit required to compile PCTEL drivers has also been reported:
2927 http://phep2.technion.ac.il/linmodems/archive/msg04684.html
2929 Simple driver insertion fails in these cases with a message like:
2932 Using /lib/modules/2.4.18-14/ltmodem/lt_modem.o
2933 /lib/modules/2.4.18-14/ltmodem/lt_modem.o: The module you are trying to
2934 load (/lib/modules/2.4.18-14/ltmodem/lt_modem.o) is compiled with a gcc
2935 version 2 compiler, while the kernel you are running is compiled with
2936 a gcc version 3 compiler. This is known to not work.
2939 It is necessary as Root to force (-f) loading with commands like:
2942 respecting the dependency ordering of the drivers.
2943 Then check for insertion with:
2946 If driver insertion is successful, the forcing can be automated
2947 by putting the lines (credit to Bhaskaran Raman) like the following,
2948 install pctel /sbin/insmod --force pctel
2950 In order of preference depending on your particular Linux installation.
2951 Put these lines into ONLY ONE of the following files,
2952 within any modem loading subsection if present:
2953 /etc/modutils/ltmodem
2954 /etc/modutils/aliases
2957 Then inform your System of the edit for Debian like Systems with
2959 which rewrites and reads /etc/modules.conf . For other System types
2961 re-reads the edited /etc/modules.conf .
2963 Thereafter module loading should behave as previously.
2964 For the ltmodem drivers loading,
2965 it should suffice to either start a ppp session or
2972 if test -d /etc/udev ; then
2975 For information on modem port creation under the UDEV device file system see:
2976 http://linmodems.technion.ac.il/archive-fourth/msg03299.html for Conexnant modems
2977 http://linmodems.technion.ac.il/archive-fifth/msg01177.html for Lucent/Agere DSP modems
2983 # A general Advisory
2984 ETHER=`$LSPCI 2>/dev/null | grep Ether | cut -d' ' -f1`
2985 if test -n "$ETHER" ; then
2989 -----------------------------------------------------
2990 The System has Ethernet capability. If not expert,
2991 shut down ethernet before initiated modem usage with:
2992 # ifconfig eth0 down
2996 $LSPCI -s $ETHER -v 2>/dev/null >>$RECORD2
2999 if [ "$MAJOR" = "2.6" ] ; then
3000 MODCONF=/etc/modprobe.*
3002 MODCONF=/etc/modules.conf
3007 The following information blocks just query some ppp support items.
3009 ====================================================
3010 grep -rs ppp $MODCONF
3011 -------------------------------------
3012 `grep -rs ppp $MODCONF`
3013 -------------------------------------
3015 # Check for unziped drivers
3016 if [ "$MAJOR" = "2.4" ] || [ "$MAJOR" = "2.2" ] ; then
3021 Modules="bsd_comp. ppp_async. ppp_generic. slhc ppp_deflate. zlib_deflate."
3024 find /lib/modules/ -name $i* 2>/dev/null >> $TMPM
3025 if ! grep $i $TMPM>/dev/null ; then
3026 echo " PPP support module $i$SUF not found!">>$RECORD
3029 if grep "o.gz" $TMPM > /dev/null ; then
3032 The following ppp related modules should be unpacked by root with:
3033 # gunzip PathTo/ModuleName.$SUF.gz
3036 On most Systems, this will driven by installing the wvdial.rpm
3037 and the package providing the KPPP graphical dialing interface.
3041 echo " Resident PPP support modules are properly uncompressed .">>$RECORD
3043 if test -x /sbin/ifconfig ; then
3044 if /sbin/ifconfig | grep Link | grep -v Loopback >/dev/null ; then
3045 echo "----active COMM services are ------------">>$RECORD
3046 /sbin/ifconfig | grep Link | grep -v Loopback >>$RECORD
3047 echo "This COMM mode should be closed before using the modem, or DNS services may fail.">>$RECORD
3049 echo " COMM services are not active">>$RECORD
3053 if ! grep ppp $MODCONF >/dev/null ; then
3055 echo Be sure to read the section about ppp related modules and aliases in $RECORD2 >>$RECORD
3059 Within /lib/modules/You_Kernel_Version/kernel/drivers/net/
3060 at least the following modules needed for communication should be found
3068 BUT they may be present instead as ModuleName.o.gz
3069 If so unpack them with a commands like:
3070 # gzip /lib/modules/You_Kernel_Version/kernel/drivers/net/ModuleName.o.gz
3071 Alternatively, installing the dialer package KPPP may force their unpacking.
3073 Following a dialout attempt, display loaded modules with:
3075 If there are not displayed lines like:
3077 ppp_deflate 3512 1 (autoclean)
3078 zlib_inflate 18980 0 (autoclean) [ppp_deflate]
3079 zlib_deflate 18648 0 (autoclean) [ppp_deflate]
3080 bsd_comp 4440 0 (autoclean)
3081 ppp_async 7744 1 (autoclean)
3082 ppp_generic 16380 3 (autoclean) [ppp_deflate bsd_comp ppp_async]
3083 slhc 5264 1 (autoclean) [ppp_generic
3085 addition of the following lines to $MODCONF or $MODCONF.d/ folders may be needed:
3087 ### automate ppp modules loading ###
3088 alias /dev/ppp ppp_generic
3089 alias char-major-108 ppp_generic
3090 alias tty-ldisc-3 ppp_async
3091 alias tty-ldisc-14 ppp_synctty
3092 alias ppp-compress-21 bsd_comp
3093 alias ppp-compress-24 ppp_deflate
3094 alias ppp-compress-26 ppp_deflate
3095 ### end ppp block ####
3097 After any edit of $MODCONF or $MODCONF.d/ folders ,
3098 inform the System by logging into a console with
3100 and running the update command:
3102 which re-reads /etc/modules.conf and parses all the modules dependencies.
3103 Debian like Distros should instead use:
3108 # ethernet and isdn can hinder DNS acquisition
3109 if test -x /sbin/ifconfig ; then
3110 /sbin/ifconfig | grep Link> $TMPM
3114 Attempted or effective networking links are displayed by command:
3116 A block with "lo" is an internal loopback test and harmless.
3117 However, ethernet "eth0" can be problematic for PPP connections,
3118 because of competition for DNS (domain name service).
3119 The default is to use the DNS specified for etherenet and
3120 without expert configuration, this will block browser naviagation through PPP.
3121 ========== ifconfig test =============
3124 If is wisest to disable bootup establishment of ethernet in your Control Center.
3125 Depending on your Linux distribution,
3126 one of the following Root commands way alternatively be effective:
3128 # ifconfig eth0 down
3129 # /etc/init.d/network stop
3130 # /etc/init.d/networking stop
3133 if grep eth $TMPM>/dev/null ; then
3134 echo " Be sure to read the Ethernet section of $RECORD2 " >>$RECORD
3136 if grep tap $TMPM>/dev/null ; then
3137 echo ISDN function should be stopped before initiating modem usage>>$RECORD
3142 if test -e /dev/ppp ; then
3143 DEVPPP=`ls -l /dev/ppp`
3144 echo DEVPPP=$DEVPPP >>$RECORD
3148 A port needed for the PPP protocol is absent!!!
3149 echo " crw------- 1 root root 108, 0 Dec 31 1969 /dev/ppp"
3154 if test -e /dev/.devfsd ; then
3156 echo DEVFS=$DEVFS >>$RECORD
3157 # Check for /dev/modem link
3158 elif [ -L /dev/modem ] ; then
3159 MODEM=`ls -l /dev/modem | cut -d'>' -f2- | cut -d" " -f2-`
3162 The current modem symbolic link is: /dev/modem -> $MODEM
3163 The ports /dev/ttyS0 or 1,2,3 are for standard Controller chip modems
3167 echo A /dev/modem symbolic link is not present >>$RECORD
3170 if test -f /etc/devfsd.conf ; then
3171 DEVFSD=/etc/devfsd.conf
3172 elif test -f /etc/devfs/devfsd.conf ; then
3173 DEVFSD=/etc/devfs/devfsd.conf
3177 No devfsd.conf file found, indicated absense of the devfsd daemon package
3178 for device file system (devfs) symbolic link support.
3182 echo DEVFSD=$DEVFSD>>$RECORD
3184 if ! [ "$DEVFSD" = "" ] ; then
3185 DEVFSD_PPP=`grep PPP $DEVFSD` >>$RECORD
3191 MODEM=`grep -f $TMPM $DEVFSD`
3192 if test -z "$MODEM" ; then
3193 if test -d /etc/devfs ; then
3194 MODEM=`grep -rs modem /etc/devfs/ | grep -f $TMPM | grep :REGISTER`
3197 if test -n "$MODEM" ; then
3198 FILE=`grep -rs modem /etc/devfs/ | grep -f $TMPM | grep :REGISTER | cut -d: -f1`
3202 Supporting /dev/modem symbolic link:
3204 ------------------------------
3206 ------------------------------
3211 Supporting /dev/modem symbolic link:
3213 ------------------------------
3215 ------------------------------
3216 is for device file system support of Controller chip modems
3217 and will conflict with usages of any other modem requiring a
3218 symbolic link: /dev/modem --> /dev/SomeNode
3220 It will for example conflict with support for the Lucent chip modems
3221 with support file /etc/devfs/conf.d/ltmodem.conf
3222 ---------------------------------
3223 ### /dev/modem symbolic link to /dev/tts/LT0
3224 REGISTER ^tts/LT0$ CFUNCTION GLOBAL symlink $devname modem
3225 UNREGISTER ^tts/LT0$ CFUNCTION GLOBAL unlink modem
3226 ---------------------------------
3227 Thus unless use of a Controller chip modem is anticipated,
3228 either comment out those lines with a leading #
3229 or move $FILE somewhere else, say /root/
3230 to avoid conflict with other modems!!
3232 Inform the devfsd (device file system) daemon of the edit with
3233 # killall -HUP devfsd
3234 See http://linmodems.technion.ac.il/archive-third/msg00869.html
3240 echo disabled>>$TMPM
3243 echo " ---- dmesg queries -------" >> $RECORD
3244 dmesg | grep -f $TMPM >> $RECORD
3247 # cat /etc/Redhat displays: Fedora Core release 1 (Yarrow)
3248 if grep Fedora $RECORD >/dev/null || [ -n "$FEDORA" ] ; then
3249 if [ "$MAJOR" = "2.4" ] ; then
3252 For usage of winmodems with the kernel-2.4.nn Fedora releases a change in the serial-like driver code of WinModems is necessary.
3253 See for guidance: http://hepunx.rl.ac.uk/~wmurray/pctel/pctel.html
3254 Basically , the line:
3255 if ((tty->count == 1) && (state->count != 1)) {
3256 should be changed into:
3257 if (atomic_read(&tty->count) == 1 && state->count != 1) {
3258 This works in the ltmodem code too. See
3259 http://linmodems.technion.ac.il/archive-third/msg02360.html
3260 An error about "rs_close" during compiling is a signature that the fedora fix is needed
3264 if [ "$MAJOR" = "2.6" ] ; then
3267 Beginning with Fedora 2 kernel-2.6.6-1.427, kernel-headers needed
3268 for compiling drivers are provide at: /lib/modules/kernel-version/build/
3269 Thus upgrading above kernel 2.6.5-1.358 to 2.6.6-* is Stongly Recommended
3271 pppd version 2.4.2 may not be fully compatible with 2.6.8 kernel releases.
3272 If an initial CONNECT is achieved without PPP being subsequently established,
3273 drop back to a 2.4.1 version. This has worked for PCTEL AMR modem users,
3274 supported by the http://www.smlink.com slmodem software.
3275 Check pppd version with:
3277 See http://linmodems.technion.ac.il/archive-fourth/msg03167.html
3282 ### DISTR specific information.
3283 if [ "$DISTR" = "redhat" ] ; then
3286 For kernel-version 2.4.20-8 , a failure in utomatic loading of PPP related modules
3287 has been reported. It was necessary to manually load with:
3288 /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_generic
3289 /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_deflate
3290 /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_synctty
3291 /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_async
3292 or dialout efforts failed.
3294 The Internet Configuration Wizard writes a configuration file:
3296 containing a line default line
3298 Better dialup performance may be achieved by commenting out this line as:
3300 Also non-USA Users may need to add to the [Modem0] block:
3301 Init2 = AT+GCI=hexadecimal_country_code
3302 but test without it first.
3306 if [ "$DISTR" = "SuSE" ] ; then
3309 SuSE 9.0 has pre-compiled drivers supporting the following modem chipsets:
3311 Conexant HSF (but not the HCF)
3312 Lucent/AgereSystems ltmodem (Digital Siggnal Processing type)
3314 Smart Link soft modems
3315 Unfortunately only the Intel HaM and 536ep are on the 3 CD Personal set, pending an update.
3316 Locations on the 6 CD Professional set are:
3317 CD4/suse/i586/smartlink-softmodem-2.7.9-89.i586.rpm - the slmodemd daemon
3318 CD3/suse/i586/km_smartlink-softmodem-2.7.9-89.i586.rpm - slmodem driver compiling
3319 CD4/suse/i586/hsfmodem-5.03.27mbsibeta02122600-92.i586.rpm - softmodem configuration
3320 CD4/suse/i586/km_hsfmodem-5.03.27mbsibeta02122600-92.i586.rpm -softmodem driver code
3321 installation report - http://linmodems.technion.ac.il/archive-fourth/msg00350.html
3322 CD4/suse/i586/ltmodem-8.26a-54.i586.rpm - a patch from SuSE may be needed for function
3323 installation report - http://linmodems.technion.ac.il/archive-fourth/msg00458.html
3324 CD4/suse/i586/Intel-536ep-4.51-200.i586.rpm
3325 CD4/suse/i586/Intel-v92ham-4.51-244.i586.rpm
3326 CD4/suse/i586/mwavem-1.0.4-110.i586.rpm
3327 Some pre-compiled SuSE 9.0 packages for the 2.4.21-99-default kernel are available at:
3328 http://linmodems.technion.ac.il/packages/SuSE-9.0/
3329 including AgereSoftModem and the Intel537 modems
3331 IMPORTANT - The kernel-source-144/README.SuSE informs that the pre-assembled kernel-headers installed
3332 from the 9.0 kernel-source-99 have some flaws. Upgrading to a later kernel, such as 2.4.21-144 with matching kernel-source is the simplest may of avoiding problems.
3334 SuSE 9.1 comes with a SmartLink slamr.ko driver installed,
3335 aiding identification of softmodem codecs by:
3338 For the 9.1 Personal (single CD installation) winmodem packages
3339 have be downloaded from the SuSE 9.1 repository
3340 Should compiling drivers may be necessary, the following additional packages
3341 will have to be downloaded and installed:
3342 make, glibc-devel, gcc-3.3.3 and kernel-source.
3343 The kernel-headers are co-installed with the kernel-source.
3344 Thus subsequent driver compiling does Not require additional preparations.
3348 elif [ "$DISTR" = "debian" ] && [ "$Smart" = "may" ] ; then
3351 There are Debian packages with modem drivers from SmartLink:
3352 sl-modem-daemon - SmartLink software modem daemon
3353 sl-modem-source - SmartLink software modem driver - module building source
3354 MANY modem subSystems serving under AC97/MC97 Controllers are also supported.
3357 elif [ "$DISTR" = "knoppix" ] ; then
3358 if [ -n "$DSP" ] || [ -n "$Smart" ] || [ -n "$SMART" ] ; then
3361 Packages with precompiled drivers for Lucent/Agere DSP modems
3362 and SmartLink supported soft modes are available in
3363 http://linmodems.technion.ac.il/packages/Knoppix/
3369 The bootable CDs of Knoppix releases 3.4 and 3.6 have boot kernels 2.4.26 and 2.4.27
3370 These CDs are currently Hostile to winmodem installations for at least 3 reasons.
3371 1) The kernels were compiled with gcc-2.95. While there is provided a /usr/bin/gcc-2.95
3372 the default ggc found by compilers is set as:
3373 /usr/bin/gcc --> /usr/bin/gcc-3.3
3374 Thus with casual usage of many winmodem driver packages,
3375 the drivers will be compiled with gcc-3.3 . Such mismatches between
3376 a kernel and driver can cause a system CRASH.
3377 Thus special effort is required to insure that driver compiles utilize the gcc-2.95
3378 2) Winmodem packages typically try to write drivers to /usr/lib/
3379 and installation files to /usr/sbin/ folders.
3380 But these folders are positioned on the ReadOnly CD, and the writes will fail;
3381 3) Since compiled drivers cannot be placed in /lib/modules/,
3382 they are not perceived by a dependencies reading:
3384 which would enable simple driver loading on demand or with a single:
3385 modprobe Last_Modem_Driver
3386 A Bug Report/offer to help Knoppix with these problems has been filed.
3388 For Knoppix 3.8.1 the kernel-headers for kernel-version 2.6.11 are defective.
3389 A corrected package is available at
3390 http://www.linuxant.com/driverloader/wlan/full/archive/scripts-knoppix-3.8.1.tar.gz
3393 elif [ "$DISTR" = "mandrake" ] ; then
3396 In the Mandrake installation disks do not include the dialer utility wvdial.rpm,
3397 then get instructions from http://linmodems.technion.ac.il/archive-fifth/msg01480.html
3400 echo " $DISTR is not yet providing pre-compiled drivers for WinModems">>$RECORD
3404 if ! [ "$BN" = "scanModem" ] ; then
3410 cat<<END>Modem/1stRead.txt
3412 The files in this Modem/ folder have the following roles:
3414 ModemData.txt - Diagnostics and accumulated information cogent to your modem.
3415 If further help is needed, send a description of your problem to:
3416 discuss@linmodems.org
3417 with ModemData.txt attached as a PLAIN TEXT file. Do NOT send other files in this folder Modem/
3418 Always send the ENTIRE ModemData.txt, as It includes subtle diagnostic ouputs needed
3419 to best guide you. If your PC is a laptop, please provide Make and Model information.
3421 ModemData.txt with companion files on specific modems/situations may suffice to solve your problems.
3422 It recommends sites for needed software, or additional tests You must perform.
3423 Always use the most recent update of scanModem accessed ONLY at
3424 http://linmodems.technion.ac.il/packages/scanModem.gz
3425 to produce ModemData.txt
3426 URLs to cogent advice are regularly updated, so your problem may be solved therein.
3428 YourModem.txt has guidance about operating your particular System.
3429 It should NOT be sent to Discuss@linmodems.org
3431 Rational.txt - Motivations of this scanModem package.
3433 DriverCompiling.txt - Explains the roles of additional files which may have to be installed
3434 to support compiling of modem drivers, and the steps to take.
3436 SoftModem.txt - Information and instructions about "soft modems".
3437 For these modems, additional steps may be necessary for choice of supporting software.
3438 The primary PCI ID is that of the "modem controller", which can support diverse Subsystems.
3439 It is the "modem codec" of the Subsystem which determines the software needed.
3441 Slmodem.txt - The slmodem software from SmartLink supports a variety of soft modems.
3442 However new Users need to be aware of its special port setup features.
3444 Slmodem-ALSA.txt About ALSA mode usage for slmodem.
3446 ModemTesting.txt SHOULD be read, but after drivers have been installed.
3448 InfoGeneral.txt has general information about the status of winmodem support under Linux,
3449 Do read it if ModemData.txt reports that your current modem is not supported under Linux.
3451 If you are Linux newcomer, please do locate your local Linux group through:
3452 http://www.linux.org/groups/index.html . If you are not comfortable with English,
3453 a local Linux user can often be of substantial assistance in getting you on to the Internet.
3457 cat<<END>>Modem/Rational.txt
3459 This script primarily utilizes the "lspci" utility from the package PCIUTILS.
3460 Various component scriptlets interpret the information captured by lspci.
3461 For many modems, directions to supporting software and/or more detailed information is enabled.
3462 ISA bus modems, 16 bit PCMCIA card modems and USB modems will not be recognized.
3463 See the output files for guidance on these cases.
3465 The script originated as scanPCI written by Chris Hebeisen,
3466 to recognize modems with DSP (digital signal processing) chipsets made by Lucent/AgereSystems.
3467 It now aspires to provide useful information on other modems as well.
3468 For the Lucent/Agere DSP chip modems, System information is used to recommend Installers,
3469 from the Installer list output from the repository: http://ltmodem.heby.de/
3470 For other modem chipsets fully identified, URLs to support sites are given.
3472 Three types of information are acquired from your System:
3473 1) General system information necessary for your guidance;
3474 2) The PCI_ID of the modem card, or for the increasingly prevalent "soft modems",
3475 the PCI_IDs of its AC97/MC97 controller and its modem subsystem.
3476 3) For soft modems, a SIL_ID of the subsystem is either acquired
3477 OR instructions provided for manual agetting it.
3479 The remainder of $0 is a repository of "modem gossip" or URLs thereto.
3480 Only information blocks most relevant to your System will be output into
3481 files written to the Modem/ folder
3482 Should you need assistance after FIRST following all the advice and/or URLs,
3483 1) Browse the general information at: http://linmodems.technion.ac.il/
3484 2) ONLY thereafter send ModemData.txt to: discuss@linmodems.org
3485 Modem/General.txt has common information the List need not be bothered with.
3486 3) Also the archive SEARCH ENGINE at http://linmodems.technion.ac.il/
3487 may be useful once PCI or SIL IDs are acquired.
3489 The scanModem script can be read and word searched with a text browser.
3490 Blocks of Information with little code begin and end with #####.
3492 In case of a failure concerning "lspci", rerun $0 after login to a console with
3494 as Root permission may be necessary for access to lspci.
3496 Updated on $UPDATE by Marv Stodolsk for access through:
3497 http://linmodems.technion.ac.il/packages/scanModem.gz
3498 Please do NOT use a scanModem.gz from any other site!!
3501 cat<<END > Modem/InfoGeneral.txt
3503 Do NOT send this text with common information to discuss@linmodems.org
3504 There are instructions to UNSUBSCRIBE from discuss@linmodems.org at http://www.linmodems.org
3507 This $0 service is sadly necessary because of the pre-compiled format
3508 (binary, Closed Source) of some modem supporting code. Intellectual property
3509 is protected within the binary component. But this prevents compatibility
3510 assessments/debugging against Linux Open Source code. Skipping many details,
3511 the consequence is that some Linux distributions do not deliver Closed Source code,
3512 or tools adequate to fully identify the modem chipset.
3513 This script tries to close this information gap.
3515 Several sections are included in this file:
3516 The Summary of modem Support under Linux
3517 description of the soft modem identity tests: SIL ids
3518 some output from scanModem specific to your System
3519 an explanation of the GCC 2.95 compiler warning
3520 ethernet Interference with DNS (domain name service)
3521 Please Linux Newbies read carefully, the companion
3522 Modem/DriverCompiling.txt and its
3523 Followup Modem/DriverTesting.txt section with dialout examples.
3525 USB modems will not be detected through the acm.o driver with port /dev/ttyACM0
3526 UNTIL proper USB support is installed.
3527 See http://www.linux-usb.org/USB-guide/x332.html,
3528 Linux_kernel_source/Documentation/usb/acm.txt, and
3529 http://www.usb.org/developers/devclass_docs/usbcdc11.pdf (page 15)
3530 Among the USB modems with proprietary interfaces, there is support for
3531 Conexant HSF modems are supported by the hsfmodem package at http://www.linuxant.com/drivers
3532 HSF USB with Vendor:Product IDs - 0572:1300 0572:1301 0572:1302 0572:1303 08E3:0111
3533 with updates at http://www.linuxant.com/drivers/hsf/index.php
3534 HCF Vendor ID: 0572 Product ID: 1290 (Cadmus2 HCF, Conexant) is supported,
3535 but NOT the Cadmus I types: http://www.linuxant.com/drivers/hcf/faq.php#25
3536 HCF USB Vendor ID: 05AC Product ID: 8202 (Cadmus2 HCF, for Apple/Mac and not PCs)
3537 SmartUSB56 (ST7554) based modems with ID: 0483:7554
3538 The SWEEX USB modem has the ST7554 chipset
3539 Drivers are at http://www.smlink.com/main/index1.php?ln=en&main_id=40
3540 http://linmodems.technion.ac.il/archive-fourth/msg00176.html is an installation report.
3541 To write out Smartlink information, use the proxy entry
3542 ./scanModem test 1131:3400
3544 PCMCIA card modems can serve if your laptops modem is not supported under Linux.
3545 http://freewebhosting.hostdepartment.com/g/gromitkc/pcmcia_list.html
3546 The 3COM,Inc 3CXM556 and AgereSystems FM560LK chip modems use the Open Source serial-cs.o driver.
3548 It is the CHIPSET, and Not the modem BrandName which is informative for Linux support.
3549 For modems not recognized by $0, chipset information may be obtained under Microsoft Windows through:
3550 1) Start > Settings > Control Panel > Classical View (for WinXP) > Modem
3551 or alternatively under Linux
3552 # cat /proc/asound/mc97*
3553 Try to identify the modem setup file, with name perhaps MODEM.INF
3554 2) Open a COMM console, and send ATI commands to the modem (ATI, ATI1, ATI2, etc)
3555 which may elicit chipset and driver information. Here is an example
3556 ATI3 - Agere SoftModem Version 2.1.22
3557 ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
3558 successfully identifying an Agere SoftModem chipset, both by name and through
3559 the:softmodem SIL ID: AC97 ID:SIL REV:0x27
3561 SUPPORT SUMMARY - as of $UPDATE
3562 -------------------------------------
3563 Controller chipsets are used in the most expensive modems and are supported.
3564 They utilize the same driver, serial.o , and most commonly the ports /dev/ttyS0 thru 3.
3565 Such chipsets are produced by 3Com, AgereSystems (the Venus chipset),
3566 Topic Semiconductor Corp., and others. But the same companies may
3567 produce unsupported WinModems. Do not depend on the Brand Name.
3568 Look for an explicit statement of Linux support
3570 AVOID the following modem chipsets:
3571 ESS - no formal support since 2.2.2 kernels, though there are kluges:
3572 http://andywettstein.home.comcast.net/ess/
3573 http://tx.technion.ac.il/~raindel/
3574 3Com/US Robotics winmodems - never supported under Linux
3576 SmartLink - newer chipsets are supported: http://www.smlink.com
3577 ftp://ftp.smlink.com/linux/unsupported/
3578 Moreover, the slmodem-2.9.10 drivers will support Many but not all modem Ssubsystems
3579 that serve under AC97/MC97 controllers.
3581 Conexant - all modems supported with drivers at: http://www.linuxant.com
3582 Testcode for slow 14,400 mH support is free, BUT
3583 there is a one time charge for the full speed support.
3585 Intel Inc. - http://developer.intel.com/design/modems/support/drivers.htm
3586 For early releases check at: http://linmodems.technion.ac.il/resources.html
3587 The HaM modem is supported, but code is no longer being updated;
3588 there will likely be failures under emerging 2.6 kernels.
3589 The 536ep and five Intel537 modem chipset variants are actively supported.
3591 Lucent /AgereSystems
3592 The Venus chipset modem uses the serial.o driver and is thus supported.
3593 Modems with digital signal processing (DSP) chipsets are supported: http:/ltmodem.heby.de
3594 For AC97/MC97 soft modems. Initiate software access through code sponsor IBM:
3595 http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
3596 Coding of support for has Not yet begun PCI soft modems with PCI_IDs 11c1:048?
3597 and probably will first be available within 2004.
3599 Motorola support is at: http://www.motorola.com/softmodem/sm56_download.htm
3600 through 2.4.22 kernels.
3602 PCTel modem business has been sold to Conexant
3603 Driver compiler resources are at: http://pctelcompdb.sourceforge.net/
3604 However, the pre-compiled binary component is yet to be assembled
3605 with the gcc 3.nn used in newer Linux releases,
3606 so forced (-f) insertions may be necessary:
3608 Some of the HSP soft modems are supported by the SmartLink slmodem-2.9.10 drivers.
3610 Broadcom modems in Dell laptops and PCs - can be made to function under 2.4 kernels, but code has not been updated recently.
3612 --------- end chipset section ----------------------
3614 SUPPORT under the current 2.6.nn kernels.
3616 The more expensive Controller chipset modems are functioning.
3617 SmartLink slmodem-2.9.9 drivers are functioning.
3618 Conexant has 2.6.n support
3619 The Lucent/Agere digital signal processing (DSP) chipsets do have
3620 informal service into 2.6.n kernels and an AgereSystems release is soon expected.
3621 Intel, Agere Systems and Linuxant are firmly expected to continue support into 2.6.nn,
3622 though the Intel HaM software will not be updated to 2.6.n service
3624 ------------------------------------
3625 Preparing winmodem drivers will generally require compiling.
3626 If you are not familar with this process DEFINITELY read carefully
3627 the Modem/DriverCompiling.txt
3631 cat<<END>Modem/DriverCompiling.txt
3633 =======================================================
3634 COMPILING DRIVERS, for Linux Newbies
3636 Within the workshop there is an instruction set, the Makefile, and a few tools. You command:
3638 An elf named "make" comes in, reads Makefile and then cleans up any debris of previous efforts.
3639 Do ALWAYS command "make clean" as a first step before new driver compilations.
3640 The major work of compiling drivers and any associated tools is commanded with:
3644 There only remains to command installation of the modem driver(s) and tools with:
3646 Configuration of a dialout utility is done elsewhere, and you can access the Internet.
3648 It is really that simple, once the workshop with tools has been prepared.
3649 But new drivers have to be compiled with every operaing system update.
3650 The remainder of this text is thus aids you in the preparations, dealing with a variety of special cases.
3651 Most points are covered in much more detail in the Linux Kernel-HOWTO, likely included among the
3652 HOWTO documentation set installed within /usr/share/doc/ folders.
3654 The core operating system of a PC is comprised of a motherboard, the software kernel,
3655 and its auxilliary code modules. The kernel is the file /boot/vmlinuz-$SYS.
3656 Modules located in subfolders of /lib/modules/$SYS/ . They can be inserted into or removed
3657 from the acting kernel upon demand. This provides adaptablity to the diverse
3658 hardware components of PCs and changing requirments.
3660 Modem drivers are one type of module. As contrasted to most Linux software, modem driver codes have
3661 some non-public code components. That is the drivers are not fully Open Source, to protect
3662 Intellectual Property of the providing companies. This has a consequence that many Linux distributions
3663 will not or cannot legally supply proprietary modem drivers. Rather the Users must get the
3664 modem code package and direct compiling of the code and driver installation.
3666 A complementary resource for compiling is a family of FileNames.h, collectively called kernel-headers.
3667 They are both code bits themselves and also call for other code bits their functioning depends on.
3668 Depending on the Linux distribution, kernel-headers may not be automatically installed.
3669 If not they will always be made available on installation media or some Linux repository.
3670 They can be searched for by package names including: kernel-source, linux-source, kernel-headers and linux-headers
3671 There are always some kernel-headers in afolder /usr/include/. But these are an INCOMPLETE, too small collection
3672 and DO NOT suffice for compiling processes.
3674 In addition some software utilities may have to be installed. The instructions for compiling are read by make.
3675 A set of compiler tools are installed as a gcc-SomeVersion package. After compiling, the various pieces
3676 and linked dynamically together with "ld". Together wiith some simpler software tools, the ld will
3677 already be installed on Linux systems. Systems using the Debian style maintanence system
3678 additionally require a package "kernel-kbuild-3.n" to properly utilize kernel-headers or 2.6.n kernels.
3680 The "kernel-headers" are matched with an installed kernel, or must be generated from a kernel-source package.
3681 These are provided in different ways by the various Linux distributions, under 2.6.n kernels:
3682 Redhat and Fedora - installation is coincident with kernel installation,
3683 with placement of the kernel-header base folder in /lib/modules/$SYS/build/
3684 Mandrake and SuSE/Novell - installation as part of a kernel-source or linux-source packages,
3685 with location at /usr/src/kernel-headers-$SYS or /usr/src/linux-$SYS
3686 Debian and distros using its Package.deb format have names:
3688 linux-headers-$SYS for Ubuntu
3689 and installation is into /usr/src/
3692 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.
3693 For RPM using distros, the kernel-source-$SYS or linux-source-$SYS packages must be installed and configured as described below:
3694 1) SuSE with KernelVersion 2.4.21-144-* or later - install the matching kernel-source package, which does also contain the kernel-headers;
3695 2) for Fedora II or later, kernel-headers are/were coinstalled with the kernel package;
3696 3) for all other cases of 2.4.n kernels, the kernel-headers must be prepared from kernel-source.
3697 The preparation can be summarised in a few steps/actions:
3698 Install a kernel-source package representing your kernel.
3699 Change directory (cd) into its base folder. The kernel-source in general
3700 will match only one of several kernels that could have been installed
3701 and NOT necessarily yours. Thus clean out any remnants of earlier usages with:
3703 Copy in your kernel configuration file and have it read with:
3705 If necessary edit ONLY the fourth line of the Makefile, which completes
3706 the specification of where drivers will be installed to (details below).
3707 The kernel-headers are then assembelled by either:
3708 a) for 2.4.nn kernels by
3710 b) for 2.6.n kernels,
3712 which includes an integral "make dep" step.
3714 Modem related resources may or may not have been installed during the primary Linux installation,
3715 as WinModem hardware is often NOT recognized. Search your Distro's package
3716 descriptions for "modem" to reveal the status of related resources. Read
3717 the package description to determine whether pre-compiled modem drivers were provided.
3718 RESOURCES of a few types are needed to get on line. Do PREFERABLE use your System's
3719 package maintenance system for the installation. This should guarantee that
3720 any DEPENDENT packages will be called into the installation process. As a preliminary
3721 1) Install your distributions package providing the KPPP, WVDIAL and MINICOM dialer utilities.
3722 Dependencies within such packages will also drive the unpacking of ppp related modules
3723 from compressed to a functional form :
3724 module.o.gz --> modules.o
3725 or for 2.6.n kernels
3726 module.ko.gz --> module.ko
3727 In addition these dialers will later aid testing and configuration,
3728 which is to be performed only AFTER, the modem's drivers are installed.
3730 2) Download if necessary and modem driver package specific to your modem hardware.
3731 3a) Install if necessary your distrbution's kernel-source package, necessary for preparing kernel-headers under 2.4.n kernels
3732 Or for Debian style distributions,
3733 3b) install the kernel-header-$SYS.deb package matching your kernel version $SYS.
3735 A KERNEL-SOURCE package must be installed, if a full kernel-header set
3736 is not otherwise provided. Kernel-source packages are now some 30-40 MB now even in compressed form.
3737 The package provided by your Linux Distro SHOULD preferentially be used.
3738 It will usually have some differences from that initially released at http://www.kernel.org .
3739 Typically the installation process will set two symbolic links:
3740 /lib/modules/$SYS/build --> PATH_to/kernel-source-version/
3741 /usr/src/linux --> PATH_to/kernel-source-version/
3742 These later enable access to the kernel-headers needed during the modem driver compiling. Check with:
3743 ls -l /lib/modules/$SYS/build
3744 ls -l /usr/src/linux
3745 The former link is more usefull for Systems with alternative boot kernels,
3746 and is mandatory for some modem compiler packages.
3748 HIGHLY IMPORTANT: the kernel-source as installed in generally does NOT
3749 represent your current kernel version, EVEN if the kernel-version is the same.
3750 Only one of several possible kernels was installed on your System,
3751 and the unpacked kernel-source need NOT represent it exactly!!!
3752 For example, in the RedHat Distro there is a set of kernel-configuration files within
3753 /usr/src/linux/configs/
3754 Each is specialized for a different CPU (i586, i686, K6, etc),
3755 Yet each will be represented by the VERY SAME version name: "uname -r" .
3756 !!!! Thus a PROPER CONFIGURATION MUST BE DONE by You, before compiling drivers !!!!
3758 Examples provided below are partially customized from your System settings.
3759 CONFIGURATION is started by moving into the kernel-source folder with one of:
3760 cd /lib/modules/$SYS/build
3763 if test -f /lib/modules/`uname -r`/build/Makefile ; then
3764 MKFL=/lib/modules/`uname -r`/build/Makefile
3766 elif test -f /usr/src/linux/Makefile ; then
3767 MKFL=/usr/src/linux/Makefile
3769 echo Makefile not found>/dev/null
3771 if test -n "$MKFL" ; then
3772 cat<<END>>Modem/DriverCompiling.txt
3774 There is a Makefile on your System at: $MKFL
3775 with first few lines:
3778 grep -A3 -m 2 VERSION $MKFL >>Modem/DriverCompiling.txt
3779 echo>>Modem/DriverCompiling.txt
3781 echo " A kernel-source packages is not evident on your System">>Modem/DriverCompiling.txt
3783 cat<<END>>Modem/DriverCompiling.txt
3784 For your current kernel, the fourth line should be
3785 EXTRAVERSION = -$KEXT
3786 where -$KEXT has been read from your current kernel version: $SYS.
3787 But it this does not match what is Actually in the Makefile,
3788 then it represents a Different kernel-header set then that of your kernel!!!
3790 For Mandrake Linux their will generally be an included "mdk", such as:
3791 EXTRAVERSION = -3.1mdk
3793 EXTRAVERSION = -99-default
3794 The first four makefile lines specify that:
3795 a) the compiled kernel modules/drivers will have encoded version labels such as:
3796 2.4.21-3.1mkd OR 2.4.21-99-default
3797 b) such modules including modem drivers are installed into sub-folders of
3798 /lib/modules/2.4.21-3.1mkd/
3799 /lib/modules/2.4.21-99-default/
3800 The major points are that compiled drivers must be both
3801 kernel-release (the 2.4.21) AND EXTRAVERSION matched with the installed kernel.
3802 Otherwise they may be installed uselessly and not be detected by the kernel
3803 OR there will be a failure upon attempted insertion, with message including:
3804 a list of "unresolved symbols ".
3806 Kernel-headers may be resident from a prior usage of the kernel-source/.
3809 which may display abundant FileNames.h
3810 The version of these headers will be in the UTS line displayed by
3811 cat include/linux/version.h
3812 #define UTS_RELEASE "2.4.21-3.1mdk" (as an example)
3814 Next, list completely the contents of the kernel-source with:
3816 Where the " -a " additionally reveals ".dot-prefixed-confguration-files" such as
3817 .config .hdepend .depends
3818 which may be left over from the prior usage of the kernel-source. Below is an example:
3820 .config .hdepend .depends
3821 COPYING Makefile Rules.make init mm
3822 CREDITS README arch drivers ipc net
3823 Documentation conf.vars fs kernel scripts
3824 MAINTAINERS REPORTING-BUGS crypto include lib
3826 Configuration of the kernel-source is where almost all the Mistakes occur!!!
3827 Here is a way to do it correctly (but read through EXCEPTIONAL CASES below).
3828 1)Within kernel-source/ folder, browse the README file for general guidance.
3829 It will relate that the command:
3831 cleans up leftovers from any previous usage .dot-files and the include/linux/ folder.
3832 Additionally you may need to do an edit within Makefile, but ONLY that 4th line.
3833 2) If necessary to edit, FIRST make a backup:
3834 cp Makefile Makefile.backup
3835 then edit ONLY the 4th line of Makefile to match the EXTRAVERSION of $SYS
3836 EXTRAVERSION = -$EXT
3837 NEVER change anything else within the Makefile.
3839 3) Set the dependencies of the current kernel.
3840 For SuSE 9.0 and later, there is a command which does the following steps
3841 # make cloneconfig && make dep
3842 Also browse the excellent README.SuSE in the kernel-source/ folder
3843 For other Distros, the following steps are necessary, within the kernel-source/ folder
3844 copy the kernel-config file to .config
3845 and DO SPECIFY that " . "
3846 But where is it? For many Distros, it will be the file like
3848 matching the output of:
3850 Or it may be the target of a symbolic link: /boot/config -->
3852 cp /boot/config-$SYS .config
3853 For SuSE 8.0 and earlier versions it is:
3854 cp /boot/vmlinuz.config .config
3855 PLEASE do not omit that "." in .config as it is crucially necessary.
3856 View .config with a text browser.
3857 It is simply a listing of the code components used in the kernel and its modules:
3859 # Automatically generated make config: don't edit
3862 # CONFIG_SBUS is not set
3866 4) The .config file will be read during
3868 which feeds its specifications through a process specifying
3869 the SAME inter-dependencies previously used in compiling your kernel,
3870 and may generate additional .dot-config files . They can be displayed with:
3873 5) Though it may be redundant after "make mrproper", it will do no harm to:
3875 5a) For the SuSe Linux versions 8.0 and previous , there will exist files:
3876 /boot/vmlinuz.autoconf.h
3877 /boot/vmlinuz.version.h
3878 They MUST be copied as:
3879 cp /boot/vmlinuz.autoconf.h /usr/src/linux/include/linux/autoconf.h
3880 cp /boot/vmlinuz.version.h /usr/src/linux/include/linux/version.h
3882 6) Now build kernel-headers with:
3884 for 2.4.n kernels or for 2.6.n kernels
3886 during which you can walk your dog, take a shower, have tea, etc.
3887 7) Check for resultant FileNames.h with:
3890 cat include/linux/version.h
3891 to verify the version.
3893 COMPILING the MODEM DRIVERS can now finally be done.
3894 Unpack the compiler kit for your modem drivers,
3895 cd into its folder, read any README or INSTALL files,
3897 FINALLY, your modem drivers will compiled by a command like
3898 make OR make ModuleName
3901 During this process, some of the kernel-header code with be joined
3902 with the supplied modem specific code, and ModemDrivers.o will be produced.
3903 Follow and further instructions in the modem code resource
3904 to install the drivers, often with:
3909 WinModem driver packages commonly include:
3910 1) a readible Open Source component, which can be readily debugged by
3911 experts in code. This component provides "wrappers" to common
3912 kernel functions for an already complied, or BINARY format, component of the modem code.
3914 2) A Closed Source component compiled into the binary form, in which
3915 proprietary information is encrypted. This will include the copyrighted Vn.nn compression algorithms.
3916 In 2004, pre-compiled modem drivers are beginning to be included
3917 for a few winmodems by some Linux distributions.
3918 But the binary format precludes incorporation of the modem drivers in some Linux distributions
3919 for legal reasons, practical reasons, and/or reasons of principle.
3921 Since almost all the newer PCs are now equipped with WinModems,
3922 many users will have to compile their own linux modem drivers.
3923 Exceptions are the more expensive modems with Controller chipsets,
3924 characteristic of the earliest modems.
3925 They are supported by Open Source serial code included in Linux
3926 distributions (Distros hereafter).
3928 Winmodems are less expensive because of greatly reduced hardware costs.
3929 They lack Controller chips of the earliest modems, and may additionally lack Digital Signal Processor (DSP) chips of second generation modems.
3930 Functions of Controller based chipsets are replaced by a combination of
3931 software code and/or other System hardware.
3933 Modems without a controller chip are referred to as "controllerless modems" and
3934 modems lacking both a DSP and controller chips are referred to as "soft modems".
3935 With faster central processor units (CPU), some processing tasks are performed
3936 by the CPU for the controllerless modems. The CPU does nearly all
3937 the signal processing for the "soft modems" lacking a DSP.
3939 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!!
3940 and any modem controllers can host one of a variety of soft modem Subsystems.
3941 There are additionally soft PCI modems without such controllers, which still utilize
3942 the common ac97_modem.o driver. In general it will be YOUR task to identify
3943 the Subsystem codec and compile the needed driver.
3945 ## end Modem/DriverCompiling.txt
3949 cat<<END> Modem/Slmodem-ALSA.txt
3951 The ALSA ( Advanced Linux Sound Architecture) package includes some modem
3952 drivers which provide low level support for a few soft modem controllers.
3953 Pulse dialing (ATDP) is Not supported with these ALSA modem drivers however.
3955 As of this update $UPATE there is support for the following soft modem controller types:
3956 PCI ID controller name/source low level Module
3957 ======= =============== ===============
3958 8086:xxxx several Intel ICH types snd-intel8x0m
3959 10de:00d9 Nvidia Corp "
3960 1002:434d ATI snd-atiixp-modem
3961 1106:3068 VIA snd-via82xxx-modem
3962 10b9:5451 ALI 5451 snd-ali5451-modem.ko (in progress)
3964 To use ALSA modem drivers, the SmartLink slmodem package must be compiled
3965 with an ALSA support option. The resultant slmodemd daemon provides for
3966 creation of a port and /dev/pts/N (N a number) and a symbolic link to it:
3967 /dev/ttySL0 --> /dev/pts/N
3968 The command seqeunce is:
3970 with Module being one of the four above
3971 /usr/bin/slmodem --country=YourCountry --alsa hw:1 &
3972 hw is short for hardware port. hw:0 is typically reserved for the audio card.
3973 The & merely puts the daemon function in the backgound, so that the command prompt is recovered.
3974 The slmodemd shutdown can later be done by:
3978 This service has the additional requirements:
3979 1) The subsystem must be one of those compatible with slmodemd.
3980 Excluded are Conexant Subsystems, which are alternatively supported by the hsfmodem package from
3981 http://www.linuxant.com/drivers/
3983 For many other Subsystems, the instructions below on using SmartLink slmodem software
3984 in ALSA mode is cogent. Slmodem.txt and Testing.txt complement the information herein.
3986 2) The modules must be compiled form ALSA release of at least 1.0.6a or later version.
3987 Check your System with
3989 alsactl version 1.0.6
3990 on my Debian 2.6.10 System. So more current code would be necessary.
3991 Should your System be less than 1.06a, follow the instructions here in.
3992 Should a message " error: mixer setup: Off-hook switch not found for card hw:1"
3993 be delivered while dialing, use at least version 1.0.9rc3 .
3994 If later, just skip to the next section.
3995 Download software from http://www.alsa-project.org, The release of May 2006 is 1.08.
3996 Download both alsa-lib and alsa-driver packages. Make a folder:
3998 Unpack both packages in the newALSA/
3999 Follow the compilation and installation instructions therein, which will
4000 install the ALSA modules and complementary software.
4002 3) Compilation of slmodemd with ALSA support requires prior installation of
4003 a package libasound2-dev, which will be provided by your Linux distrbution.
4004 It has header files needed for the slmodemd compilation. For for Mandrake/Mandriva,
4005 the package name is libalsa2-devel . Use the slmodem-2.9.9d-alsa.tar.gz package
4006 downloaded from http://linmodems.technion.ac.il/packages/smartlink/
4007 Also download the ungrab-winmodem.tar.gz which will be necessary for some Systems,
4008 providing an upgrab-winmodem.ko modules. See http://linmodems.technion.ac.il/slmodem-serial.html
4010 4) Login to a console as;
4012 Shift into the slmodem-2.9.9d-alsa folder. Look at contents:
4014 COPYING Changes Makefile README drivers modem patches scripts
4015 Clean up any old remnants with:
4017 The slmodemd will be compiled by make:
4019 and installed to /usr/bin/slmodemd by:
4022 An initial check for functionality is:
4024 with Module being the appropriate ALSA modem driver.
4025 Should there be a failure, with message "grabbed by serial driver", First
4026 modprobe ungrab-winmodem
4030 Start the daemon with one of:
4031 slmodem --country=YourCountry --alsa hw:1 &
4032 slmodem --country=YourCountry --alsa modem:0 &
4033 slmodem --country=YourCountry --alsa modem:1 &
4034 When Module is snd-atiixp-modem , instead use
4035 slmodem --country=YourCountry --alsa modem:0 &
4037 Subsequently follow the details in Slmodem.txt and Testing.txt
4041 cat<<END>Modem/Testing.txt
4044 This text is complemented by the Post-Install at http://linmodems.technion.ac.il
4045 Please so consult it if the following does not suffice.
4047 The wvdial package provides for an automated hardware+driver test.
4048 This utility searches through ports with syntax: /dev/ttyS* (i.e. S0, S1, SL0 etc.)
4049 and also follows a symbolic link:
4050 /dev/modem --> /dev/ModemPort
4051 If your modem port name does not satisfy these requirements already,
4052 do a console login as:
4054 Make the symbolic links as:
4055 ln -sf /dev/ModemPort /dev/modem
4056 ln -sf /dev/ModemPort /dev/ttyS15
4057 wherein /dev/ttyS15 is reserved for experimental usage.
4058 Should there be problems with wvdial version 1.54.1-1 , drop back to 1.54.0-1
4060 For recent RedHat and Fedora releases, wvdialconf is used by the Internet Wizard.
4061 Within the pop-up menus find the Wizard. Its actions will write a configuration file:
4063 For other Linux distros, open a console and login with
4065 If necessary load the modem drivers:
4066 modprobe DriverNames
4068 wvdialconf /etc/wvdial.conf
4069 Checks /dev/modem and ports /dev/ttyS*, a success at port /dev/ttySLT0 would be:
4070 ttySLT0<*1>: ATQ0 V1 E1 -- OK
4071 ttySLT0<*1>: ATQ0 V1 E1 Z -- OK
4072 ttySLT0<*1>: ATQ0 V1 E1 S0=0 -- OK
4073 ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
4074 ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
4075 ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
4077 The /etc/wvdial.conf written looks like:
4080 Modem = /dev/ttySLT0
4083 Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
4085 Modem Type = Analog Modem
4086 ; Phone = <Target Phone Number>
4087 ; Username = <Your Login Name>
4088 ; Password = <Your Password>
4090 For systems using the SmartLink slmodem drivers,
4091 the following line should be added to its /etc/wvdial.conf
4093 So after editing in your personal information a functional file is like:
4096 Modem = /dev/ttySLT0
4099 Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
4100 # if there is problem with dial tone acquisition, add into the above line:
4102 # meaning "dial without waiting"
4104 Modem Type = Analog Modem
4105 Phone = DialupPhoneNumber
4106 Username = Your_Login_Name
4107 # for MSN.net, use instead
4108 # Username = MSN/Your_Login_Name
4109 Password = Your_Password
4110 # if usging the SmartLink slmodem drivers, uncomment:
4111 # Carrier Check = no
4113 The lines above beginning with " # " are Comments not read as code.
4114 Remove the " # " to activate a line. Then try getting on line with:
4117 The /etc/wvdial.conf generated by the RedHat/Fedora Internet Wizard
4118 has a different format, adapted to its own dialer. This includes a line
4120 More informative dialup feedback May be obtained if it is commented out:
4123 A dialout with wvdial will then display like:
4125 --> WvDial: Internet dialer version 1.53
4126 --> Initializing modem.
4130 --> Sending: ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
4131 ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
4133 --> Modem initialized.
4134 --> Sending: ATDT3019178111
4135 --> Waiting for carrier.
4137 CONNECT 53333 V42bis
4138 --> Carrier detected. Waiting for prompt.
4139 ** APX1.LNH.MD.RCN.NET Terminal Server **
4141 --> Looks like a login prompt.
4142 --> Sending: LoginName
4145 --> Looks like a password prompt.
4146 --> Sending: (password)
4147 Entering PPP Session.
4148 IP address is 66.44.1.6
4150 --> Looks like a welcome message.
4151 --> Starting pppd at Sat Jul 26 13:59:03 2003
4152 --> pid of pppd: 2404
4153 : pppd 2.4.1 started by root, uid 0
4154 : Using interface ppp0
4155 : Connect: ppp0 <--> /dev/tts/LT0
4156 Jul 26 13:59:08 stodolsklap kernel: PPP BSD Compression module registered
4157 Jul 26 13:59:08 stodolsklap kernel: PPP Deflate Compression module registered
4158 : local IP address 66.44.1.6
4159 : remote IP address 208.59.89.132
4160 : primary DNS address 207.172.3.8
4162 The & in "wvdial &" puts the process into the background,
4163 allowing further usage of the command prompt. To stop a backgrounded process:
4169 Check for modem driver loading.
4170 Do FIRST read INSTRUCTIONS files provided with the modem driver resource.
4171 Some may have installed to /usr/share/doc/Modem_or_Driver_Name/
4172 For RPM using distros, documentation files will be listed through
4173 rpm -q -d packageName (less the version part, sometimes)
4174 and all directly installed files can be listed by
4175 rpm -q -l packageName
4176 Depending upon your installation, the modem drivers may/may_not be autoloaded.
4177 Login as Root in a console with:
4180 If the modem drivers are not already loaded onto the kernel, insert them with command
4181 # modprobe ModuleDriver
4182 If there are multiple drivers such as the lt_modem.o and lt_serial.o pair,
4183 commanding the serial like driver:
4184 # modprobe lt_serial
4185 should autoload all modules it depends on. Check with:
4187 This proceeds through a reading of dependency files
4188 written to /lib/modules/$SYS/ during boot up through the "depmod -a" command.
4191 would only attempt loading of that single driver and will FAIL, if its dependency on
4192 lt_modem.o has been satisfied by prior lt_modem.o insertion.
4194 Do read "man wvdial" and /usr/share/doc/vwdial documentation
4195 sometime browse the documentation that is written to /usr/share/doc/wvdial/
4196 Therein are instructions for setting up alternative dialouts.
4198 %%% This wvdialconf action if successful generates the files:
4199 /etc/ppp/peers/wvdial
4200 /etc/ppp/peers/wvdial-pipe
4201 in addition to the /etc/wvdial.conf
4203 Many Users prefer to use the dialout utility KPPP. This is fine.
4204 But each User MUST run the configuration process separately.
4205 In principle, different Users on the same Linux System could
4206 have different Internet providers and/or use different modems.
4207 The configuration process generates a file: /home/UserFolder/.kde/share/config/kppprc
4208 Therein, non-standard modem port names can be entered, such as:
4210 Device=/dev/ttySHSF0
4211 for the Conexant hsfmodem port.
4214 Preparation for dialout if other COMM modes are active.
4215 ---------------------------------------------------------------------------
4216 Concurrent ethernet capability will compete for
4217 the Domain Name Service (DNS) needed for browser naviagation. So as root:
4218 # /sbin/ifconfig eth0 down
4219 before starting a dialout!
4220 With a Mandrake installation, it will be necessary to:
4221 # /etc/init.d/network stop
4223 Internet clients such as Netscape, Mozilla, Explorer etc.
4224 should be CLOSED during your first dial out trials.
4225 Should a URL on the Internet be specifed as the default URL/connect,
4226 then the Client may compete with ppp for connectivity functions.
4227 After PPP functionality has been verified, the effects of opened
4228 or launched browsers can be checked
4230 If you have installed the DIALD (dial on demand) package, stop it for initial tests:
4231 # /etc/init.d/diald stop
4232 Otherwise diald function will be initiated with modem usage,
4233 and could compilate issues. Test diald only after ppp by itself is fine.
4235 If your internet provider assigns DNS dynamically then add to /etc/ppp/options:
4238 To analyze a dialout attempt, it is useful to display kernel messages with:
4239 # tail -f /var/log/messages &
4240 The & puts the commanded process in the "background" allowing recovery of the command prompt.
4242 Some dialer packages (kppp etc) may automate the above steps.
4245 Note that for some Linux distributions (Mandrake for one),
4246 maintain modules in compressed module.gz format, if modem service was not specified
4247 during the Linux installation. A subsequent installation of any dialer package:
4248 wvdial - PPP dialer with built-in intelligence.
4249 kppp - PPP dialer for KDE
4250 dtmfdial - A DTMF Tone Dialer
4251 gkdial - Gtk-based PPP dial-up configuration tool.
4252 gkdial-gnome - GNOME-based PPP dial-up configuration tool.
4253 masqdialer - daemon for remote control of masqueraded dialup links
4254 pppconfig - Debian configuration toolset with command: pppconf
4255 will stimulate unpacking of ppp related modules during bootup.
4257 The cogent ppp related modules loaded during such a CONNECT are displayed within the output from:
4259 ppp_deflate 3512 1 (autoclean)
4260 zlib_inflate 18980 0 (autoclean) [ppp_deflate]
4261 zlib_deflate 18648 0 (autoclean) [ppp_deflate]
4262 bsd_comp 4440 0 (autoclean)
4263 ppp_async 7744 1 (autoclean)
4264 ppp_generic 16380 3 (autoclean) [ppp_deflate bsd_comp ppp_async]
4265 slhc 5264 1 (autoclean) [ppp_generic
4267 For ealier 2.4.nn kernels, loading of these modules may require the following lines within
4269 ### automate ppp modules loading ###
4270 alias /dev/ppp ppp_generic
4271 alias char-major-108 ppp_generic
4272 alias tty-ldisc-3 ppp_async
4273 alias tty-ldisc-14 ppp_synctty
4274 alias ppp-compress-21 bsd_comp
4275 alias ppp-compress-24 ppp_deflate
4276 alias ppp-compress-26 ppp_deflate
4277 ### end ppp block ####
4278 For more recent kernels with their modutils,
4279 these lines are no longer needed.
4281 For potential causes of a NO DIALTONE failure, read the Post-install.html
4282 at http://linmodems.technion.ac.il/ Not setting the Country Code may be
4283 and additional problem.
4286 ====================
4287 The modem which you purchase locally or abroad may not be preset
4288 with the proper Country Code setting. An incorrect setting can
4289 hinder acquisition of dial tone.
4290 Inclusion of an X3 (dial without wainting) in the modem Init string
4291 of under wvdial, including in /etc/wvdial.conf a line
4294 Dialtone recognition depends on the setting of country
4295 and/or local phone line equipment.
4297 To properly get dialtone for your country phone experiment use
4298 AT+GCI=xx where xx is country code in hexidecimal format.
4299 Theoretically there could be 256 different countries but
4300 not all are valid. Tables in manuals are way off date,
4301 you have to write a small script to try all combinations
4302 for yourself if you can't guess by chance.
4304 After country select you can check textual name of the country it represents.
4311 If you can't find exact country, choose the nearest one available.
4312 Nearby countries tend to have similar equipment and compatible dialtones.
4314 These comments from: Emard <emard@softhome.net>
4317 8) After a successful CONNECT, the Domain Name Service (DNS) needed
4318 for Browser navigation can be checked with:
4320 PING corel.com (206.47.20.85): 56 data bytes
4321 64 bytes from 206.47.20.85: icmp_seq=0 ttl=52 time=209.1 ms
4322 64 bytes from 206.47.20.85: icmp_seq=1 ttl=52 time=189.9 ms
4323 64 bytes from 206.47.20.85: icmp_seq=2 ttl=52 time=180.0 ms
4324 64 bytes from 206.47.20.85: icmp_seq=3 ttl=52 time=179.9 ms
4327 --- corel.com ping statistics ---
4328 4 packets transmitted, 4 packets received, 0% packet loss
4329 round-trip min/avg/max = 179.9/189.7/209.1 ms
4332 PING 206.47.20.85 (206.47.20.85): 56 data bytes
4333 64 bytes from 206.47.20.85: icmp_seq=0 ttl=52 time=179.8 ms
4334 64 bytes from 206.47.20.85: icmp_seq=1 ttl=52 time=190.0 ms
4335 64 bytes from 206.47.20.85: icmp_seq=2 ttl=52 time=170.0 ms
4339 Should there be a success with:
4341 BUT a failure with the named address:
4343 Then DNS has not been acquired.
4344 Note that failure to stop ethernet service
4345 # /sbin/ifconfig eth0 down
4346 before starting a dialout, will commonly block DNS under ppp.
4348 To terminate the wvdial session, bring the action to the foreground (fg):
4350 Ctrl-C to terminate:
4352 Caught signal #2! Attempting to exit gracefully...
4353 : secondary DNS address 207.172.3.9
4354 : Terminating on signal 15.
4355 : Connection terminated.
4356 : Connect time 7.8 minutes.
4357 --> Disconnecting at Sat Jul 26 14:06:53 2003
4359 The Debian distribution provides a utility:
4361 for setting up a chatscript for ppp initiation.
4362 Most dialers do use chatscripts and will produce similar records.
4363 Below is the record of a dial out initiated by:
4366 : pppd 2.4.1 started by marv, uid 1000
4368 : abort on (NO CARRIER)
4370 : abort on (NO DIALTONE)
4371 : abort on (NO DIAL TONE)
4372 : abort on (NO ANSWER)
4373 : abort on (DELAYED)
4379 : send (ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M)
4382 : ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M^M
4385 : send (ATDT3019178111^M)
4388 : ATDT3019178111^M^M
4392 : Serial connection established.
4393 : Using interface ppp0
4394 : Connect: ppp0 <--> /dev/modem
4395 : kernel does not support PPP filtering
4396 Jul 26 14:08:39 stodolsklap kernel: PPP BSD Compression module registered
4397 Jul 26 14:08:39 stodolsklap kernel: PPP Deflate Compression module registered
4398 : local IP address 66.44.1.195
4399 : remote IP address 208.59.89.132
4400 : primary DNS address 207.172.3.8
4402 Once your first CONNECT has been established, than in the future if should suffice
4403 just to use your dialer of choice: wvdial , kppp .gnomeppp or whatever.
4405 Good surfing to you.
4409 If attemped insertion of a modem driver evokes a complaint like:
4410 unresolved symbol do_SAK_R9a0bcb74
4411 then the kernel-headers using in compiling the modem drivers
4412 do not match those of your current kernel whose KernelVersion is displayed by:
4414 and whose kernel config file is often located at /boot/config-KernelVersion
4415 The section above "COMPILING DRIVERS, for Newbies" relates how to make corrections.
4417 There are definitely IPs whose login protocols are Linux hostile.
4418 If you cannot achieve a login, try another Internet Provider (IP).
4419 or ask for someone on discuss@linmodems.org to test your IP.
4421 Many driver packages provide for loading modem drivers on bootup.
4422 Here is a description on how to set it up, if necessary:
4423 http://linmodems.technion.ac.il/archive-fourth/msg00451.html
4425 PLEASE include the diagnostic output of the following Root command in any problem reports:
4426 # setserial -agv /dev/ttyS*
4428 For instructions on having modem drivers loaded on bootup,
4429 particularly the SmartLink slmodem drivers see:
4430 http://linmodems.technion.ac.il/archive-fourth/msg00451.html
4431 For automated removel of drivers after a PPP session see:
4432 http://linmodems.technion.ac.il/archive-fourth/msg00145.html
4434 For general upto date advice:
4435 http://linmodems.technion.ac.il/
4436 http://linmodems.technion.ac.il/resources.html
4437 available in Russian at http://linmodems.nm.ru
4438 for a general PCI_ID database
4439 http://www.pcidatabase.com/
4440 the original Linux winmodems URL is:
4441 http://linmodems.org
4442 with a mailing list on Winmodems:
4443 discuss@linmodems.org
4444 whose archives can be searched at:
4445 http://linmodems.technion.ac.il/ (near bottom of the page)
4446 There is an extensive modem database at:
4447 http://start.at/modem/
4448 Locate your local Linux groups through:
4449 http://www.linux.org/groups/index.html
4450 USB modem information: http://www.linux-usb.org/USB-guide/x332.html
4451 Laptop users should browse http://tuxmobil.org/modem_linux_add1.html
4453 http://www.cisco.com/warp/public/471/debug_ppp_negotiation.html
4455 ---------- end FOLLOW UP STEPS ---------------
4459 cat<<END>Modem/Slmodem.txt
4460 SLMODEM PACKAGE USAGES and TESTING
4464 SmartLink (SML hereafter, http://www.smlink.com) produces chipsets for PCI card and USB modems
4465 which are incorporated into a variety of BrandName modems. The complementary slmodem software supports these modems, and Very Beneficially, a variety of soft modems with Subsystems
4466 from other chipset manufacturers. The installed software has components:
4467 /usr/bin/slmodemd - a daemon that provides most services, including dynamic port creation.
4468 /dev/slamrN and /dev/slusbN (N = 0,1,2 or 3) are proxy devices used by
4469 slmodemd in port creation for PCI and USB modems respectively. The true port is of type
4470 /dev/pts/N , N a number, with a symbolic link to it also created:
4471 /dev/ttySL0 --> /dev/pts/N
4472 slusb.ko - driver for the USB modems
4473 slamr.ko - a low level driver which accesses the port,
4474 There are subsititutes for slamr.ko within the Open Source ALSA package
4475 (snd-intel8x0m.ko , snd-via82xx-modem.ko or snd-atiixp-modem.ko ) working with most
4476 modem hardware, and provided that slmodemd was compiled with ALSA (Advanced
4477 Linux Sound Architecture) support. (See the companion Slmodem-ALSA.txt)
4478 the code folder slmodem-2.9.n/scripts/ contains scripts which can provide bootup automation
4482 -------------------------------
4483 The software features support for :
4484 FAXing, though not the AT&F command;
4485 SMP (Symmetric MultiProcessor) mother boards;
4486 64 bit AMD x86_64 processor mother boards, see
4487 http://linmodems.technion.ac.il/archive-fourth/msg02594.html;
4488 the SmartUSB56 (ST7554) chipset with vendor/product usb ids 0483:7554,
4489 see report at http://linmodems.technion.ac.il/archive-fourth/msg03609.htm
4490 A few modem hardware types are supported:
4492 several BrandName modems, for which the primary PCI suffices for chipset identification;
4493 many soft modems, for which a "mc97 codec" as well as PCI ID must be acquired,
4494 as described in the companion SoftModem.txt and below.
4495 Software download sites are:
4496 SML - http://www.smlink.com for slmodem-2.9.10.tar.gz, with license to support only SML
4497 chipset modems. The slmodem package maintainer is Sasha Khapyorsky. His quick fixes are at:
4498 http://linmodems.technion.ac.il/packages/smartlink/ Currently cogent packages are:
4499 ungrab-winmodem.tar.gz - necessary for some Systems which falsely presume that
4500 the modem is a serial port modem type. See http://linmodems.technion.ac.il/slmodem-serial.html
4501 slmodem-2.9.9d.tar.gz - providing compiling resources for slmodemd, slamr.ko and slusb.ko
4502 slmodem-2.9.9d-alsa.tar.gz - providing for compilation of slmodemd with ALSA support,
4503 so that the ALSA driver alternates described can be utilized.
4504 This 2.9.9x version software is licensed for use with any compatible softmodem.
4506 The slamr diagnostic
4507 -----------------------------
4508 If you have just downloaded the slamr.ko driver matching your kernel,
4509 just move into the folder with slamr.ko and
4511 will generate a warning about "Tainted kernel", and perhaps about non-SmartLink chips.
4512 So long as the driver loads, just ignore them. Read related kernel messages with
4513 # dmesg | grep slamr
4514 The output should include a line like:
4515 slamr: mc97 codec is CodecName
4516 wherein the CodecName is needed to choose the correct software
4518 Should the be an output like like:
4520 slamr: unsupported module, tainting kernel.
4521 slamr: module license 'Smart Link Ltd.' taints kernel.
4522 slamr: SmartLink AMRMO modem.
4523 slamr: device 10b9:5457 is grabbed by driver serial
4525 The "grabbed by driver serial" indicates a compensating driver is needed.
4526 Use the ungrab-winmodem.tar.gz resource to compile the ungrab-winmodem.ko
4527 After installation, first do
4528 # modprobe ungrab-winmodem
4531 # dmesg | grep slamr
4534 A slamr.ko driver may already be installed (SuSE/Novell Linux). Please run the following test sequence:
4537 Ignore any warning message
4539 Then same as above. Get the CodecName and send the information to Discuss@linmodems.org
4540 Explanation and details follow below.
4543 ---------------------------
4544 For BCM64/Broadcom and ATI softmodem support, only the slmodem-2.9.9d-alsa.tar.gz can serve.
4545 Within the Modem/ folder output by scanModem, browse Slmodem.txt, Slmodem-ALSA.txt and Testing.txt
4546 There have been a few reports of problems being solved by using Bootup options:
4547 noapci and/or apci=off
4548 thus dropping back to the APM power management mode.
4549 Solution of a CONNECT problem has been achieved by specifying a slower V32 modulation
4550 see http://linmodems.technion.ac.il/archive-fifth/msg00137.html
4552 General installation:
4553 -----------------------------
4554 If your Linux distribution provides a slmodem package, the package manager will typically
4555 install it to /usr/src/moduels/slmodem-2.9.N . But it downloaded as a slmodem-2.9.N.tar.gz,
4556 if could be unpacked in a folder of your choice. The following directions assume installation to:
4557 /usr/src/moduels/slmodem-2.9.N
4558 Do a Root login into a command console:
4560 # cd /usr/src/moduels/slmodem-2.9.N
4563 COPYING Changes Makefile README drivers modem patches scripts
4565 For Debian related Distros there is an sl-modem-daemon.deb package providing
4566 slmodemd and initializaton scripts. A separate sl-modem-source.deb packages
4567 houses the slamr and slusb driver code. It is installed as:
4568 /usr/src/sl-modem.tar.bz2
4571 # tar jxf sl-modem.tar.bz2
4573 /usr/src/modules/sl-modem/
4575 # cd /usr/src/modules/sl-modem/drivers
4576 for subsequent steps.
4578 The routine compiling steps are:
4582 A detaile example is http://linmodems.technion.ac.il/archive-fourth/msg00176.html
4584 Also install the wvdial package if your Distro provides it.
4585 The wvdialconf provides a first simple test of Hardware + Software functionality.
4587 Afterward a test can be performed:
4589 See a resulting the kernel report with:
4590 # dmesg | grep slamr
4591 which may contain a line:
4592 slamr: mc97 codec is CodecName
4593 with CodecName being a variable diagnostic output.
4595 a) codec is SILnm , with n,m numbers
4596 there are good prospects for the modem being supported by the slmodem resources.
4598 The Intel_secure-537AA-CurrentVersion should serve,
4599 with slmodem support an alternative for compatible modem controllers.
4601 the softmodem is a Conexant type.
4602 ONLY hsfmodem drivers from http://www.linuxant.com can be utilized.
4603 Do remove the slmodem installation first with:
4605 before proceeding further.
4607 the soft modem has a Broadcom codec and the slmodem-2.9.9d-alsa MUST be used.
4608 See http://oboc.ucdavis.edu/Marik/inspiron/
4609 But readon first for general information
4613 -------------------------------------------
4614 To being testing , Watch your kernel messages with:
4615 # tail -f /var/log/messages &
4616 The "&" just backgrounds the process, or else the command prompt is lost.
4617 The low level interface driver is loaded with:
4621 just to see what it provides.
4624 of your country with:
4625 # slmodemd --countrylist
4627 # slmodemd --countrylist &> CL.txt
4628 will write the list to CL.txt if desirable.
4629 Use your own COUNTRY from the second column for the port creations command:
4632 -------------------------
4633 It may be necessary to
4634 # modprobe upgrab-winmodem
4635 before inserting the low level driver:
4638 slamr for PCI card modems OR
4639 slusb for a USB modem
4640 one of the ALSA drivers mentioned above
4641 Start the deamon with corresponding:
4642 # slmodemd -a --c YourCountry /dev/slamr0 &
4643 for the PCI card modems
4644 # slmodemd -a --c YourCountry /dev/slusb0 &
4646 # slmodemd -a --c YourCountry hw:1 &
4647 when using an ALSA driver, except for the ATI modems use:
4648 # slmodemd -c YourCountry modem:0 &
4650 These commands will creat the real port /dev/pts/N and a symbolic link
4651 /dev/ttySL0 --> /dev/pts/N
4652 and provide higher level functions of the slmodem code
4653 The first functionality test is:
4654 # vwdialconf wvdialtest.txt
4655 if the modem is thus found prospects are good for success.
4657 1) For Redhat and Fedora, use the Internet Wizard within the popup menus to
4658 configure a dialout, A file /etc/wvdial.conf will be created.
4660 2) For other Linux distros do:
4661 # wvdialconf /etc/wvdial.conf
4662 Edit three lines of your personal information into /etc/wvdial.conf,
4663 replacing the <text>, including the < >
4665 In both cases add to /etc/wvdial.conf a line needed by slmodemd
4667 Using other dialer utilties (such as KPPP) is OK, and they will not need the:
4670 However should a "No carrier" message be returned during a dialout attempt see:
4671 http://linmodems.technion.ac.il/archive-fifth/msg00552.html
4673 Then try a dialout, with:
4676 The discretionary " & " just allows recovery of the command prompt.
4677 To stop a command thus started:
4679 puts the process in the foreground, so it can be stopped with
4682 Preferably use wvdial for testing if your distribution provides it. Otherwise use Minicom.
4683 If there is a failure to acquire a dial tone, add an X3 in the /etc/wvdial.conf line like:
4684 Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
4686 Init2 = ATQ0 X3 V1 E1 S0=0 &C1 &D2 +FCLASS=0
4687 For dialers using a chatscript, the edit would be like:
4688 ATQ0X3V1E1S0=0&C1&D2+FCLASS=0
4690 Read Modem/Testing.txt for further testing guidance,
4691 and Modem/Slmodem-ALSA.txt for details on ALSA mode.
4692 If success has been achieved using the slamr driver, after a while
4693 it is worth also testing the slmodem-2.9.9d-alsa or later resource .
4694 but do fully UNINSTALL slmodem-2.9.n first!!!
4695 Only the slmodemd for creating ports is provided in ALSA mode
4696 The complementing Open Source ALSA
4697 drivers comes with kernel-image packages.
4699 For the slamr and usb drivers the proxy ports can be displayed with:
4701 crw------- 1 root root 212, 0 Apr 29 2004 /dev/slamr0
4702 crw------- 1 root root 212, 1 Apr 29 2004 /dev/slamr1
4703 crw------- 1 root root 212, 2 Apr 29 2004 /dev/slamr2
4704 crw------- 1 root root 212, 3 Apr 29 2004 /dev/slamr3
4705 crw------- 1 root root 213, 0 Apr 29 2004 /dev/slusb0
4706 crw------- 1 root root 213, 1 Apr 29 2004 /dev/slusb1
4707 crw------- 1 root root 213, 2 Apr 29 2004 /dev/slusb2
4708 crw------- 1 root root 213, 3 Apr 29 2004 /dev/slusb3
4709 If your System is using the udev file system for devices. A proxy report
4710 will NOT be present until the driver is inserted:
4715 The slmodem packages way contain a scripts/ folder , with scripts for
4716 automating driver loading and port creation upon bootup. For some Systems,
4717 it has proven beneficial to cause a pause after driver loading by inserts
4718 sleep 1 (or maybe 2 or 3 if necessary)
4720 echo -n "Starting SmartLink Modem driver for: $SLMODEMD_DEVICE"
4721 Without the pause, the driver diagnositics may not complete
4722 before the following step is attempted, with a resultant failure.
4724 Call back support is implemented in slmodem-2.9.10 and slmodem-2.9.9b
4725 See http://linmodems.technion.ac.il/archive-fifth/msg00219.html
4730 The Modem/DriverCompiling.txt is a MUST READ,
4731 if you are not experienced in configuring kernel-source/
4732 or get "unresolved symbols" upon driver insertion.
4734 Most recent WinModem fixes are in: http://linmodems.technion.ac.il/FAQ.html
4736 (4) For guidance on automation see http://linmodems.technion.ac.il/archive-fourth/msg03734.html
4737 and the scripts in the slmodem-2.9.n/scripts folder/
4741 if [ "$DISTR" = "debian" ] && ! [ "$BEST" = "" ] ; then
4742 echo " For Debian users, the kernel-headers-$SYS.deb can be used instead of kernel-source/" >> $RECORD
4745 if [ "$BN" = "scanModem" ] ; then
4746 if ! [ "`pwd`" = "/" ] ; then
4750 A subfolder Modem/ has been written, containing these files with more detailed Information:
4751 ------------------------------------------------------------------------------------------
4753 -------------------------------------------------------------------------------------------
4754 Please read 1stRead.txt first for Guidance.
4758 if test -z $FAST ; then
4759 rm $TMPM $TMPM.* &> /dev/null
4762 echo -------------- ending SCANMODEM section ---------------- >>$RECORD