Remove Austrian provider specific configs, modem support
authorChristian Hofstaedtler <ch@grml.org>
Thu, 13 Oct 2011 22:06:09 +0000 (00:06 +0200)
committerChristian Hofstaedtler <ch@grml.org>
Thu, 13 Oct 2011 22:06:09 +0000 (00:06 +0200)
TODO
debian/control
sbin/grml-network
sbin/grml-pptp-inode [deleted file]
sbin/grml-pptp-vcgraz [deleted file]
sbin/grml-pptp-xdsl-students [deleted file]
sbin/grml-vpnc-tugraz [deleted file]
sbin/modemlink [deleted file]
sbin/scanmodem [deleted file]

diff --git a/TODO b/TODO
index b197629..7d04406 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,10 +7,4 @@ Write manpages for:
    Synopsis: 'grml-network'. Set environment variable NOCHECK
    to skip network status check. Run 'grml-network check' to
    execute network status check and exit immediately afterwards.
-* grml-pptp-inode:  connect via PPTP at ISP Inode.
-* grml-pptp-vcgraz: connect via PPTP in Virtual Campus Graz.
-* grml-pptp-xdsl-students: connect via PPTP at ISP Inode (XDSL@students)
-* grml-vpnc-tugraz: connect to TU Graz network via vpnc
-* modemlink: start device drivers and set /dev/modem link in GRML
 * netcardconfig: a very light-weight text-based network configuration tool
-* scanmodem: http://linmodems.technion.ac.il/packages/scanModem.gz
index 4d8153d..ce896ae 100644 (file)
@@ -13,7 +13,7 @@ Bugs: mailto:bugs@grml.org
 Package: grml-network
 Architecture: all
 Depends: ${shlibs:Depends}, ${misc:Depends}, zsh, psmisc, dialog, grml-etc-core
-Recommends: bridge-utils, iptables, nmap, pppoeconf, pptp-linux, resolvconf, uml-utilities, vpnc, wireless-tools, wpasupplicant, wvdial
+Recommends: bridge-utils, iptables, nmap, pppoeconf, resolvconf, uml-utilities, vpnc, wireless-tools, wpasupplicant, wvdial
 Suggests: isdnutils-base
 Conflicts: grml-scripts (<< 0.8-26)
 Description: network related helper scripts
index 46393a6..4905f39 100755 (executable)
@@ -49,36 +49,6 @@ killgauge(){
   touch "$TMP.done" ; wait ; rm -f "$TMP.done"
 }
 
-# Provider specific setup - menu
-provider () {
-  MENUINTERNET=$($DIALOG --stdout --clear --title "$PN" --menu \
-  "This script is a submenu of grml-network to set up an internet connection" 14 65 7 \
-  "TUG"      "Connect via vpnc to TU Graz" \
-  "VCGraz"   "Connect via pptp to VC-Graz" \
-  "Inode"    "Connect via pptp to Inode" \
-  "Students" "Connect via pptp to Inode-Students" \
-  "Exit" "Exit this program")
-
-  retval=$?
-  case $retval in
-      (0)
-        if [ $MENUINTERNET == TUG ] ; then
-                exec grml-vpnc-tugraz
-        fi
-        if [ $MENUINTERNET == VCGraz ] ; then
-                exec grml-pptp-vcgraz
-        fi
-        if [ $MENUINTERNET == Inode ] ; then
-                exec grml-pptp-inode
-        fi
-        if [ $MENUINTERNET == Students ] ; then
-                exec grml-pptp-xdsl-students
-        fi ;;
-      (1)   echo "Cancel pressed." ;;
-      (255) echo "ESC pressed."    ;;
-  esac
-}
-
 main(){
   if [ -z "$NOCHECK" -a -x /usr/bin/nmap ] ; then
   gauge "Checking network status..." &
@@ -109,46 +79,29 @@ case "$LANGUAGE" in
     TITLE1="Netzwerk-Setup"
     STATUS="Status: $STATUS"
     MESSAGE1="Bitte auswaehlen:"
-    MODEMSETUP="/dev/modem-Schnittstelle (neu) konfigurieren"
     NETCARD="Netzwerkkarten (LAN/WLAN) Konfiguration"
-    WIRELESS="Wireless Zugang"
-    GPRS="Einwahl per Handy/GPRS"
     DSL="Einwahl per DSL-Modem"
     ISDN="Einwahl per ISDN"
-    MODEM="Einwahl per Analogmodem"
-    PROVIDER="Provider spezifische Einstellungen"
     EXIT="Beenden"
     ;;
   *)
     TITLE1="Network Setup"
     STATUS="Current state: $STATUS"
     MESSAGE1="Please select:"
-    MODEMSETUP="(re)configure /dev/modem device"
     NETCARD="Configure network card (LAN/WLAN)"
-    WIRELESS="Wireless access"
-    GPRS="Dial via cellphone/GPRS"
     DSL="Dial via DSL-adapter"
     ISDN="Dial via ISDN"
-    MODEM="Dial via analog modem"
-    PROVIDER="Provider specific setup"
     EXIT="Quit"
    ;;
 esac
 
 # Shortcut description selected
 TYPES=(netcardconfig "$NETCARD" \
-provider "$PROVIDER" \
-modemlink "$MODEMSETUP" \
-gprsconnect "$GPRS" \
 pppoeconf "$DSL" \
-isdnconfig "$ISDN" \
-wvdial "$MODEM")
+isdnconfig "$ISDN")
 
-type wvdial      >/dev/null 2>&1 || { unset TYPES[13]; unset TYPES[12]; }
-type isdnconfig  >/dev/null 2>&1 || { unset TYPES[11]; unset TYPES[10];  }
-type pppoeconf   >/dev/null 2>&1 || { unset TYPES[9];  unset TYPES[8];  }
-type gprsconnect >/dev/null 2>&1 || { unset TYPES[7];  unset TYPES[6];  }
-type modemlink   >/dev/null 2>&1 || { unset TYPES[5];  unset TYPES[4];  }
+type pppoeconf   >/dev/null 2>&1 || { unset TYPES[2];  unset TYPES[3];  }
+type isdnconfig  >/dev/null 2>&1 || { unset TYPES[4];  unset TYPES[5];  }
 
 rm -f "$TMP"
 
@@ -160,10 +113,6 @@ read TYPE <"$TMP"
 TYPE="${TYPE#\"}"; TYPE="${TYPE%\"}"
 rm -f "$TMP"
 
-case "$TYPE" in
-  wvdial) [ -e /etc/wvdial.conf ] || wvdialconf /etc/wvdial.conf ;;
-esac
-
 eval $TYPE
 return "$?"
 }
diff --git a/sbin/grml-pptp-inode b/sbin/grml-pptp-inode
deleted file mode 100755 (executable)
index abef059..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-# Filename:      grml-pptp-inode
-# Purpose:       connect via pptp to inode (www.inode.at)
-# Authors:       grml-team (grml.org), (c) Andreas Gredler <jimmy@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-################################################################################
-# Notes:
-# This script is based on 'knoppix-pptp' (version 0.3.1)
-# by Wolfgang Scheicher.
-################################################################################
-
-export LANG=C
-
-if [ $(id -ru) -ne 0 ] ; then
-  echo 1>&2 "Error: please run this script with uid 0 (root)." ; exit 1
-fi
-
-if [ -z "$FORCE_OLD" ] ; then
-  dialog --title "Inode XDSL Graz" --msgbox "Please notice that grml-pptp-inode is considered as deprecated. We recommend to use PPPOE for Inode XDSL.
-
-So please configure your system running pppoeconf
-
-If you really want to use the old grml-pptp-inode script execute
-
-  FORCE_OLD=1 grml-pptp-inode
-" 0 0
-else
-
-runit(){
-echo "name ${VPNUSERNAME}" > /etc/ppp/peers/inode
-cat >> /etc/ppp/peers/inode << "EOF"
-remotename XDSL
-defaultroute
-noipdefault
-noauth
-noproxyarp
-persist
-logfile /var/log/pptp.log
-
-EOF
-
-echo "${VPNUSERNAME} XDSL ${VPNPASSWORD} *" >> /etc/ppp/pap-secrets
-chmod 0600 /etc/ppp/pap-secrets
-
-printf "#!/bin/sh\nLANG=C\nVPNSERVER=\"${VPNSERVER}\"\n" > /etc/init.d/pptp
-
-cat >> /etc/init.d/pptp << "EOF"
-
-GATEWAY=`ifconfig | awk -v RS="" '/addr:172./{print substr($7,6,11)1}'`
-PPTP="/usr/sbin/pptp $VPNSERVER call inode"
-
-case "$1" in
-  start)
-      echo "Starting up XDSL: pptp"
-      /sbin/route del default &>/dev/null
-      /sbin/route add -host $VPNSERVER gw $GATEWAY &>/dev/null
-      start-stop-daemon --start --exec $PPTP
-    ;;
-  stop)
-      echo "Shutting down XDSL: pptp"
-      killall pppd &>/dev/null
-      if [ $? == 0 ]; then
-        /sbin/route del -host $VPNSERVER gw $GATEWAY &>/dev/null
-        /sbin/route add default gw $GATEWAY &>/dev/null
-        echo "."
-      fi
-    ;;
-  reconnect)
-    echo -n "Reconnecting XDSL: pptd"
-    start-stop-daemon --start --exec $PPTP
-    echo "."
-    ;;
-  *)
-      echo "Usage: /etc/init.d/pptp {start|stop|reconnect}"
-      exit 1
-    ;;
-esac
-
-exit 0
-EOF
-
-chmod +x /etc/init.d/pptp
-touch /var/log/pptp.log
-/etc/init.d/pptp start
-dialog --title "PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
-}
-
-[ -n "${VPNSERVER}"   ] || VPNSERVER="10.0.0.138"
-[ -n "${VPNUSERNAME}" ] || VPNUSERNAME=$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f1)
-[ -n "${VPNPASSWORD}" ] || VPNPASSWORD=$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f3)
-
-if [ -z "$VPNUSERNAME" ] || [ -z "$VPNPASSWORD" ] ; then
-  COMMAND1=$(dialog --stdout --title "Inode XDSL Graz" --inputbox \
-  "Account name(e.g. xdsl.<id>@home):" 0 0) || exit 0
-  COMMAND2=$(dialog --stdout --title "Inode XDSL Graz" --passwordbox "Account password (hidden typing)" 0 40) || exit 0
-
-  VPNUSERNAME=${COMMAND1%/*}
-  VPNPASSWORD=${COMMAND2#*/}
-  [ ! -z "$VPNUSERNAME" ] || exit 1
-  [ ! -z "$VPNPASSWORD" ] || exit 1
-  runit
-else
-  dialog --title "Inode XDSL Graz" --msgbox "Found already configured
-  account.\nIf the settings are wrong, delete the entries in
-  /etc/ppp/pap-secrets" 10 45
-  runit
-fi
-
-fi # $FORCE_OLD
-
-## END OF FILE #################################################################
diff --git a/sbin/grml-pptp-vcgraz b/sbin/grml-pptp-vcgraz
deleted file mode 100755 (executable)
index b1fe498..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/bin/zsh
-# Filename:      grml-pptp-vcgraz
-# Purpose:       connect via pptp in vc-graz (www.vc-graz.ac.at)
-# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-################################################################################
-# Notes:
-# This script is based on 'knoppix-pptp' (versions 0.3.1 and 0.4.0-test2)
-# by Wolfgang Scheicher.
-################################################################################
-
-export LANG=C
-export LC_ALL=C
-
-if [ $(id -ru) -ne 0 ] ; then
-  sudo $0
-  exit
-fi
-
-runit(){
-echo "name ${VPNUSERNAME}" > /etc/ppp/peers/vc-graz
-cat >> /etc/ppp/peers/vc-graz << "EOF"
-
-remotename PPTP
-ipparam tunl
-lock
-noauth
-nobsdcomp
-nodeflate
-refuse-pap
-refuse-eap
-noccp
-mtu 1460
-mru 1500
-lcp-echo-failure 10
-lcp-echo-interval 10
-logfile /var/log/pptp.log
-persist
-maxfail 3
-holdoff 15
-noipdefault
-defaultroute
-EOF
-
-# make sure it is not readable by any non-root users:
-touch     /etc/ppp/chap-secrets
-chmod 600 /etc/ppp/chap-secrets
-# don't overwrite existing files - so just append:
-echo "${VPNUSERNAME} PPTP ${VPNPASSWORD} *" >> /etc/ppp/chap-secrets
-
-printf "#!/bin/sh\nLANG=C\nVPNSERVER=\"${VPNSERVER}\"\nDORMITORY=\"${DORMITORY}\"" > /etc/init.d/pptp-vcgraz
-cat >> /etc/init.d/pptp-vcgraz << "EOF"
-# connect to vc-graz via pptp
-case "$1" in
-  start)
-    ifconfig | grep $VPNSERVER > /dev/null && echo "PPTP already started"
-    ifconfig | grep $VPNSERVER > /dev/null && exit 0
-    echo "Starting PPTP Tunnel"
-    route del default
-    route add -host $VPNSERVER gw 10.${DORMITORY}.0.1
-    route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.${DORMITORY}.0.1
-    pppd pty "pptp $VPNSERVER --nolaunchpppd" call vc-graz updetach || exit 1
-    ;;
-
-  stop)
-    ifconfig | grep $VPNSERVER > /dev/null || echo "PPTP already stopped"
-    ifconfig | grep $VPNSERVER > /dev/null || exit 0
-    echo  "Stopping PPTP Tunnel"
-    killall -HUP pppd
-    killall -HUP pptp
-    sleep 1
-    killall pppd
-    killall pptp
-    route del -host $VPNSERVER gw 10.${DORMITORY}.0.1
-    route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.${DORMITORY}.0.1
-    route add default gateway 10.${DORMITORY}.0.1
-    ;;
-
-  restart)
-    /etc/init.d/pptp-vcgraz stop
-    sleep 1
-    /etc/init.d/pptp-vcgraz start
-    ;;
-
-  status)
-    dialog --title "Status of /etc/init.d/pptp-vcgraz - PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
-    ;;
-
-  *)
-    echo 'Usage: /etc/init.d/pptp-vcgraz {start|stop|restart}' >&2
-    exit 1
-    ;;
-esac
-
-exit 0
-EOF
-
-chmod +x /etc/init.d/pptp-vcgraz
-touch /var/log/pptp.log
-/etc/init.d/pptp-vcgraz start
-dialog --title "PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
-}
-
-[ -n "$VPNSERVER" ] || VPNSERVER="10.0.0.3"
-[ -n "$DORMITORY" ] || DORMITORY="$(ifconfig | grep "addr:10" | cut -d. -f2)"
-
-if [ -z "$DORMITORY" ]; then
-  dialog --stdout --title "VC-Graz"  --msgbox "No 10.x.x.x ip address found, sorry. grml-pptp-vcgraz does work only for VC-Graz in 10.x.x.x network. Make sure you requested an ip address via DHCP. Try running pump/dhclient otherwise." 0 0 || \
-  echo "No 10.x.x.x ip address found, sorry. grml-pptp-vcgraz does work only for VC-Graz in 10.x.x.x network. Make sure you requested an ip address via DHCP. Try running pump/dhclient otherwise."
-  exit 1
-fi
-
-if [ ! -x /usr/sbin/pppd ]; then
-  dialog --stdout --title "VC-Graz"  --msgbox "/usr/sbin/pppd not found. Huh?!" 0 0 ||
-  echo "Error: /usr/sbin/pppd not found. Huh?!"
-  exit 1
-fi
-
-if [ ! -x /usr/sbin/pptp ]; then
-  dialog --stdout --title "VC-Graz"  --msgbox "/usr/sbin/pptp not found. Huh?!" 0 0 ||
-  echo "Error: /usr/sbin/pptp not found. Huh?!"
-  exit 1
-fi
-
-#[ -n "$VPNUSERNAME" ] || VPNUSERNAME=$(cat /etc/ppp/chap-secrets | grep PPTP | head -1 | cut -d " " -f1)
-#[ -n "$VPNPASSWORD" ] || VPNPASSWORD=$(cat /etc/ppp/chap-secrets | grep PPTP | head -1 | cut -d " " -f3)
-
-if [ -z "$VPNUSERNAME" ] || [ -z "$VPNPASSWORD" ] ; then
-  COMMAND1=$(dialog --stdout --title "Virtual Campus Graz" --inputbox    "Account number:" 0 0) || exit 0
-  VPNUSERNAME=${COMMAND1%/*}
-  if [ -z "$VPNUSERNAME" ] ; then
-     dialog --stdout --title "Virtual Campus Graz" --msgbox "Sorry, please provide a valid username. Exiting." 0 0
-     exit 1
-  fi
-  COMMAND2=$(dialog --stdout --title "Virtual Campus Graz" --passwordbox "Account password (hidden typing)" 0 40) || exit 0
-  VPNPASSWORD=${COMMAND2#*/}
-  if [ -z "$VPNPASSWORD" ] ; then
-     dialog --stdout --title "Virtual Campus Graz" --msgbox "Sorry, please provide a valid password. Exiting." 0 0
-     exit 1
-  fi
-  runit
-else
-  runit
-fi
-
-## END OF FILE #################################################################
diff --git a/sbin/grml-pptp-xdsl-students b/sbin/grml-pptp-xdsl-students
deleted file mode 100755 (executable)
index e135528..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/bin/sh
-# Filename:      grml-pptp-xdsl-students
-# Purpose:       connect via pptp to inode ["students-setup"] (www.inode.at)
-# Authors:       grml-team (grml.org), (c) Martin Hecher <hecka@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-################################################################################
-# Notes:
-# This script is based on 'knoppix-pptp' (version 0.3.1)
-# by Wolfgang Scheicher
-# and based on grml-pptp-inode
-# by Andreas 'Jimmy' Gredler
-################################################################################
-
-export LANG=C
-DIALOG="dialog"
-
-if [ $(id -ru) -ne 0 ] ; then
-  sudo $0
-  exit
-fi
-
-setroute()
-{
-set $(grep "option routers" /var/lib/dhcp3/dhclient.leases | tail -1 | cut -f5 -d' ' | tr -d ";")
-
-ROUTER="$1"
-ANT="10.0.0.138"
-
-if route -n | grep $ANT >>/dev/null
-  then
-    /sbin/route del $ANT
-  fi
-
-/sbin/route add $ANT gw $ROUTER
-
-if ifconfig | grep ppp0 >>/dev/null
-   then
-      set $(ifconfig ppp0 | grep P-t-P | tr -s [:blank:] | cut -f4 -d' ' | cut -b7-)
-      GATEWAY="$1"
-      /sbin/route del default
-      /sbin/route add default gw $GATEWAY
-      exit 0
-   fi
-}
-
-runit(){
-
-/sbin/dhclient ${NET_DEVICE}
-
-echo "name ${VPNUSERNAME}" > /etc/ppp/peers/inode
-cat >> /etc/ppp/peers/inode << "EOF"
-remotename XDSL
-defaultroute
-noipdefault
-noauth
-persist
-logfile /var/log/pptp.log
-
-EOF
-
-echo "${VPNUSERNAME} XDSL ${VPNPASSWORD} *" >> /etc/ppp/pap-secrets
-chmod 0600 /etc/ppp/pap-secrets
-
-printf "#!/bin/sh\nLANG=C\nVPNSERVER=\"${VPNSERVER}\"\n" > /etc/init.d/pptp
-
-cat >> /etc/init.d/pptp << "EOF"
-
-PPTP="/usr/sbin/pptp $VPNSERVER call inode"
-
-case "$1" in
-  start)
-      echo "Starting up XDSL: pptp"
-      start-stop-daemon --start --exec $PPTP
-      if [ $? == 0 ]; then
-       echo "."
-      fi
-    ;;
-  stop)
-      echo "Shutting down XDSL: pptp"
-      start-stop-daemon --stop --exec $PPTP
-      if [ $? == 0 ]; then
-        /sbin/route del -host $VPNSERVER
-        /sbin/route add default gw $GATEWAY
-        echo "."
-      fi
-    ;;
-  reconnect)
-    echo -n "Reconnecting XDSL: pptd"
-    start-stop-daemon --start --exec $PPTP
-    echo "."
-    ;;
-  *)
-      echo "Usage: /etc/init.d/pptp {start|stop|reconnect}"
-      exit 1
-    ;;
-esac
-
-exit 0
-EOF
-
-chmod +x /etc/init.d/pptp
-touch /var/log/pptp.log
-/etc/init.d/pptp start
-$DIALOG --title "Information" --no-cancel --msgbox "Please click OK and wait until remote IP is assigned." 0 0
-$DIALOG --title "PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
-}
-
-[ -n "$VPNSERVER"   ] || VPNSERVER="10.0.0.138"
-[ -n "$VPNUSERNAME" ] || VPNUSERNAME="$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f1)"
-[ -n "$VPNPASSWORD" ] || VPNPASSWORD="$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f3)"
-
-if [ -z "$VPNUSERNAME" ] || [ -z "$VPNPASSWORD" ] ; then
-
-  COMMAND1=$($DIALOG --stdout --title "Inode XDSL Graz" --inputbox \
-  "Account name (e.g. grml@tug):" 0 35) || exit 0
-  COMMAND2=$($DIALOG --stdout --title "Inode XDSL Graz" --passwordbox "Account password (hidden typing):" 0 40) || exit 0
-
-  TMP=$(mktemp)
-
-  bailout(){
-  rm -f "$TMP"
-  exit $1
-  }
-
-  NETDEVICES="$(grep -ve 'lo:' -ve 'Inter-|' -ve 'face |bytes' /proc/net/dev | awk -F: '{print $1}')"
-
-  wireless(){
-   [ -d "/sys/class/net/${1}/wireless" ] && return 0
-   # Card exists but is not configured yet
-   [ -n "$(iwconfig $1 2>/dev/null | head -1)" ] && return 0
-   return 1
-  }
-
-  if [ -z "$NETDEVICES" ]; then
-    $DIALOG --msgbox "No network devices found." 15 45
-    bailout
-  fi
-
-  count="$(echo "$NETDEVICES" | wc -w)"
-
-  if [ "$count" -gt 1 ]; then
-    DEVICELIST=""
-    for DEVICE in $NETDEVICES; do
-      wireless "$DEVICE" && DEVICELIST="$DEVICELIST ${DEVICE} Wireless" || DEVICELIST="$DEVICELIST ${DEVICE} LAN"
-    done
-    rm -f "$TMP"
-    $DIALOG --menu "Network device to connect from:" 18 45 12 $DEVICELIST 2>"$TMP" || bailout
-    read NET_DEVICE <"$TMP" ; rm -f "$TMP"
-    else
-    # Remove additional spaces
-    NET_DEVICE="$(echo $NETDEVICES)"
-  fi
-
-  VPNUSERNAME=${COMMAND1%/*}
-  VPNPASSWORD=${COMMAND2#*/}
-  [ ! -z "$VPNUSERNAME" ] || exit 1
-  [ ! -z "$VPNPASSWORD" ] || exit 1
-  [ ! -z "$NET_DEVICE" ] || exit 1
-  runit
-  setroute
-else
-  $DIALOG --title "Inode XDSL Graz" --msgbox "Found already configured
-  account.\nIf the settings are wrong, delete the entries in
-  /etc/ppp/pap-secrets" 10 45
-  runit
-fi
-
-## END OF FILE #################################################################
diff --git a/sbin/grml-vpnc-tugraz b/sbin/grml-vpnc-tugraz
deleted file mode 100755 (executable)
index 0fc6bf3..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/bash
-# Filename:      grml-vpnc-tugraz
-# Purpose:       connect via vpnc in VC-Graz/TU Graz (www.vc-graz.ac.at / www.tugraz.at)
-# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-# Documentation:
-# http://www.zid.tugraz.at/ki/netz/extern/vpn/
-
-export LANG=C
-export LC_ALL=C
-
-if [ $(id -ru) -ne 0 ] ; then
-  sudo $0
-  exit
-fi
-
-typeofservice() {
-NETWORK=$(dialog --stdout --clear --title "foobar" --menu \
-"This script is a submenu of grml-network to set up an internet connection
-
-Notice if you want to connect to WLAN at TU Graz:
-Make sure you have a connection to the access point and an ip-address.
-Run 'iwconfig \$DEVICE essid tug ; dhclient \$DEVICE'." 0 0 0 \
-"WLAN"   "Connect via WLAN to TU Graz network" \
-"VCGraz" "Connect to VC-Graz (not yet tested - use grml-pptp-vcgraz!)" \
-"External" "External connection (not yet tested!)" \
-"Exit"   "Exit this program")
-
-retval=$?
-
-case $retval in
-  0)
-        if [ $NETWORK == WLAN ]; then
-         GATEWAY=129.27.200.1
-         # GATEWAY=172.27.12.2
-         ACCOUNT='Account information - your TUGOnline username'
-        fi
-
-        if [ $NETWORK == VCGraz ]; then
-         GATEWAY=10.0.0.1
-         ACCOUNT='Account information - your account number'
-        fi
-
-        if [ $NETWORK == External ]; then
-         GATEWAY=129.27.200.1
-         ACCOUNT='Account information - account number'
-        fi
-        ;;
-  1)
-        echo "Cancel pressed." ; exit
-        ;;
-  255)
-        echo "ESC pressed." ; exit
-        ;;
-esac
-}
-
-runit(){
-echo "# vpnc at $NETWORK" > /etc/vpnc/vpnctugraz.conf
-echo "
-Debug 0
-IKE DH Group dh2
-Perfect Forward Secrecy dh2
-IPSec gateway $GATEWAY
-IPSec ID default
-IPSec secret default
-# Rekeying interval 21600
-Xauth username $ACCOUNTNAME
-Xauth password $PASSWORD
-
-" >> /etc/vpnc/vpnctugraz.conf
-
-echo -e "#!/bin/sh\nLANG=C\n" > /etc/init.d/vpnctug
-cat >> /etc/init.d/vpnctug << "EOF"
-case "$1" in
-  start)
-    echo "Starting vpnc"
-#    route del default
-#    vpnc /etc/vpnc/vpnctugraz.conf
-    vpnc-connect /etc/vpnc/vpnctugraz.conf
-#    route add default dev tun0
-    ;;
-
-  stop)
-    echo "Stopping vpnc"
-    /usr/sbin/vpnc-disconnect
-    killall -HUP vpnc
-    ;;
-
-  *)
-    echo "Usage: /etc/init.d/vpnctug {start|stop}" >&2
-    ;;
-
-esac
-
-exit 0
-EOF
-
-chmod 600 /etc/vpnc/vpnctugraz.conf
-chmod +x /etc/init.d/vpnctug
-/etc/init.d/vpnctug start
-}
-
-typeofservice
-if [ -z "$ACCOUNTNAME" ] || [ -z "$PASSWORD" ] ; then
-  ACCOUNTNAME=$(dialog --stdout --title "vpnc in $NETWORK" --inputbox "${ACCOUNT}:" 0 0) || exit 0
-  PASSWORD=$(dialog --stdout --title "vpnc in $NETWORK" --passwordbox "Account password (hidden typing)" 0 40) || exit 0
-  [ -z "$ACCOUNTNAME" ] && exit 1
-  [ -z "$PASSWORD" ] && exit 1
-  runit
-else
-  runit
-fi
-
-## END OF FILE #################################################################
diff --git a/sbin/modemlink b/sbin/modemlink
deleted file mode 100755 (executable)
index fa9c3b1..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-#!/bin/bash +x
-# Filename:      modemlink
-# Purpose:       start device drivers and set /dev/modem link in GRML
-# Authors:       (c) Klaus Knopper Mar 2004, (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin"
-export PATH
-
-# XDIALOG_HIGH_DIALOG_COMPAT=1
-# export XDIALOG_HIGH_DIALOG_COMPAT
-
-if [ "$(id -u 2>/dev/null)" != 0 ] ; then
-  echo 1>&2 "Error: please run this script with uid 0 (root)." ; exit 1
-fi
-
-TMP=$(mktemp)
-
-bailout(){
-  rm -f "$TMP"
-  exit $1
-}
-
-DIALOG="dialog"
-# [ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog"
-
-trap bailout 1 2 3 15
-
-# LANGUAGE
-[ -r /etc/default/locale ] && . /etc/default/locale
-
-# Language-dependent Messages
-case "$LANGUAGE" in
-de*|at*|ch*)
-TITLE1="Art der Verbindung"
-MESSAGE1="Bitte die gewuenschten Verbindungsart auswaehlen:"
-SERIAL="Serielle Schnittstelle (z.B. Modem)"
-WINMODEM="Nach nicht-unterstuetzten \"WinModems\" suchen"
-SIR="Standard SIR (oder USB)"
-USB="USB Schnittstelle (z.B. Modem)"
-IRDA="Infrarot Schnittstelle (z.B. fuer Handy/PDA)"
-BLUETOOTH="Bluetooth Funkadapter (z.B. fuer Handy/PDA)"
-TITLE_DONGLES="IRDA Adapter-Typ"
-MESSAGE_DONGLES="Bitte den verwendeten IRDA-Adaptertyp auswaehlen:"
-TITLE_TEST="Adaptertest - Strg-C zum Beenden des Tests"
-TITLE_SRVFAIL="FEHLER"
-MESSAGE_SRVFAIL="Konnte Daemon fuer Geraet nicht starten. Wahrscheinlich wurde die falsche Schnittstelle ausgewaehlt." 
-AUTOSEARCH="ALLE Schnittstellen scannen"
-TITLE_BLUES="Bluetooth-Geraete"
-MESSAGE_BLUES="Folgende Bluetooth-Geraete befinden sich in der Umgebung. Bitte eins auswaehlen:"
-TITLE_PIN="PIN"
-MESSAGE_PIN="Bitte geben Sie eine 4-stellige PIN zur Authentfizierung der Bluetooth-Geraete ein:"
-TITLE_GAUGE="Device-Scan..."
-TITLE_LINK="/dev/modem Link erzeugen..."
-MESSAGE_LINK="Moechten Sie den Symlink /dev/modem auf das neu konfigurierte Geraet setzen? Dies ist notwendig, wenn Sie das Geraet z.B. als Modem fuer kppp oder GPRS benutzen moechten).
-
-Verlinken von /dev/modem -> "
-TITLE_RETRY="FEHLER"
-MESSAGE_RETRY="Das scheint nicht geklappt zu haben. Noch einmal versuchen?"
-TITLE_BTID="Keine Bluetooth Geraete in Reichweite"
-MESSAGE_BTID="Auf die Sendeanfrage hat kein Bluetooth-Geraet geantwortet. Bitte geben Sie die Adresse eines entfernten Bluetooth-Geraetes ein."
-;;
-*)
-TITLE1="Connection Type"
-MESSAGE1="Please select type of connection:"
-WINMODEM="Scan for unsupported \"WinModems\""
-SERIAL="Serial connector (i.e. Modem)"
-SIR="Standard SIR (or USB)"
-USB="USB connector (i.e. Modem)"
-IRDA="Infrared wireless device (i.e. cellphone/PDA)"
-BLUETOOTH="Bluetooth wireless device (i.e. cellphone/PDA)"
-TITLE_DONGLES="IRDA Adapter type"
-MESSAGE_DONGLES="Please select type of IRDA adapter:"
-TITLE_TEST="Testing adapter - Hit Ctrl-C to end test."
-TITLE_SRVFAIL="ERROR"
-MESSAGE_SRVFAIL="Failed to start device daemon. Probably the selected port is wrong."
-AUTOSEARCH="scan ALL devices"
-TITLE_BLUES="Bluetooth Devices"
-MESSAGE_BLUES="These bluetooth devices exist nearby. Please select:"
-TITLE_PIN="PIN"
-MESSAGE_PIN="Please chose a 4-digit PIN number for authention of bluetooth devices:"
-TITLE_GAUGE="Scanning devices..."
-TITLE_LINK="Create /dev/modem link..."
-MESSAGE_LINK="Do you want to set the symlink /dev/modem to point to the newly configured device? This is necessary if you want o use the device as modem for kppp, as an example, or for using GPRS).
-
-Create link /dev/modem -> "
-TITLE_RETRY="ERROR"
-MESSAGE_RETRY="This seems to have failed. Do you want to try again?"
-TITLE_BTID="No bluetooth devices in range"
-MESSAGE_BTID="No bluetooth devices responded to our scan. Please enter the address of a remote bluetooth device."
-;;
-esac
-
-# Shortcut description selected
-TYPES=(serial "$SERIAL" on \
-usb "$USB" off \
-irda "$IRDA" off \
-bluetooth "$BLUETOOTH" off \
-winmodem "$WINMODEM" off)
-
-type scanmodem >/dev/null 2>&1 || { unset TYPES[14]; unset TYPES[13]; unset TYPES[12]; }
-type rfcomm >/dev/null 2>&1 || { unset TYPES[11]; unset TYPES[10]; unset TYPES[9]; }
-type irdadump >/dev/null 2>&1 || { unset TYPES[8]; unset TYPES[7]; unset TYPES[6]; }
-
-# man irattach
-DONGLES=(auto "$SIR" on \
-act200l "ACTiSYS Ir-200L dongles" off \
-actisys "ACTiSYS IR-220L dongle" off \
-actisys+ "ACTiSYS IR-220L+ dongle" off \
-airport "Airport dongle" off \
-ep7211 "IR port driver for the Cirrus Logic EP7211 processor (ARM based)" off \
-esi "Extended Systems JetEye PC ESI-9680" off \
-girbil "Greenwich GIrBIL dongle" off \
-litelink "Parallax LiteLink dongle & Extended Systems JetEye PC ESI-9680B" off \
-old_belkin "Belkin (old) SmartBeam dongle or any dongle only capable of 9600 bauds" off \
-ma600 "Mobile Action ma600 dongles" off \
-mcp2120 "Dongles based on the MCP2120 (Microchip)" off \
-tekram "Tekram IrMate IR-210B dongle" off)
-
-AUTODEVICE=(auto "$AUTOSEARCH" off)
-
-SERIALDEVICES=(ttyS0 "(COM1:)" off \
-ttyS1 "(COM2:)" off \
-ttyS2 "(COM3:)" off \
-ttyS3 "(COM4:)" off \
-ttyS4 "(COM5:)" off \
-ttyS5 "(COM6:)" off \
-ttyS6 "(COM7:)" off \
-ttyS7 "(COM8:)" off \
-ttyS8 "(COM9:)" off \
-ttyS9 "(COM10:)" off \
-ttyS10 "(COM11:)" off \
-ttyS11 "(COM12:)" off \
-ttyS12 "(COM13:)" off \
-ttyS13 "(COM14:)" off \
-ttyS14 "(COM15:)" off \
-ttyS15 "(COM16:)" off)
-
-USBDEVICES=(ttyACM0 "USB Modem 1" off \
-ttyACM1 "USB Modem 2" off \
-ttyACM2 "USB Modem 3" off \
-ttyACM3 "USB Modem 4" off \
-ttyUSB0 "USB Serial 0" off \
-ttyUSB1 "USB Serial 1" off \
-ttyUSB2 "USB Serial 2" off \
-ttyUSB3 "USB Serial 3" off)
-
-num=${#COMMANDS[@]}
-
-#for ((i=0; i<$num; i++)); do
-## Remove non-existing desktops/descriptions from list
-#d0="$(($i * 3))"
-#d1="$(($i * 3 + 1))"
-#d2="$(($i * 3 + 2))"
-#if type "${COMMANDS[$i]}" >/dev/null 2>&1; then
-#[ "$DESKTOP" = "${DESKTOPS[$(($i * 3))]}" ] && DESKTOPS[$(($i * 3 + 2))]="on" || DESKTOPS[$(($i * 3 + 2))]="off"
-#else
-#unset DESKTOPS[$d0]
-#unset DESKTOPS[$d1]
-#unset DESKTOPS[$d2]
-#unset COMMANDS[$i]
-#fi
-#done
-
-gauge(){
-rm -f "$TMP.done"
-status=0
-while [ ! -e "$TMP.done" ]; do echo "$status" ; status="`expr \( 100 - $status \) / 4 + $status`"; sleep 2; done | $DIALOG --title "$TITLE_GAUGE" --gauge "$1" 8 75 0
-}
-
-# Stop status bar
-killgauge(){
-touch "$TMP.done" ; wait ; rm -f "$TMP.done"
-}
-
-conntype(){
-rm -f "$TMP"
-$DIALOG --clear --title "$TITLE1" --radiolist "$MESSAGE1" 18 75 9 "${TYPES[@]}" 2>"$TMP" || bailout 1
-read TYPE <"$TMP"
-TYPE="${TYPE#\"}"; TYPE="${TYPE%\"}"
-rm -f "$TMP"
-return 0
-}
-
-startservice(){
-case "$TYPE" in
-serial)
-rm -f "$TMP"
-$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${SERIALDEVICES[@]}" 2>"$TMP" || bailout 1
-read DEVICE <"$TMP"
-DEVICE="${DEVICE#\"}"; DEVICE="${DEVICE%\"}"
-rm -f "$TMP"
-;;
-winmodem)
-[ -n "$DISPLAY" ] && xterm -e bash -c "scanmodem; read -p 'Enter to quit.'" || { scanmodem; read -p 'Enter to quit.'; }
-return 1
-;;
-usb)
-rm -f "$TMP"
-$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${USBDEVICES[@]}" 2>"$TMP" || bailout 1
-read DEVICE <"$TMP"
-DEVICE="${DEVICE#\"}"; DEVICE="${DEVICE%\"}"
-rm -f "$TMP"
-;;
-irda)
-killall irattach 2>/dev/null
-modprobe irda 2>/dev/null
-modprobe ircomm-tty 2>/dev/null
-rm -f "$TMP"
-$DIALOG --clear --title "$TITLE_RAWDEVICE" --radiolist "$MESSAGE_RAWDEVICE" 18 75 9 "${AUTODEVICE[@]}" "${SERIALDEVICES[@]}" "${USBDEVICES[@]}" 2>"$TMP" || bailout 1
-read RAWDEVICE <"$TMP"
-RAWDEVICE="${RAWDEVICE#\"}"; RAWDEVICE="${RAWDEVICE%\"}"
-rm -f "$TMP"
-$DIALOG --clear --title "$TITLE_DONGLES" --radiolist "$MESSAGE_DONGLES" 18 75 9 "${DONGLES[@]}" 2>"$TMP" || bailout 1
-read DONGLE <"$TMP"
-DONGLE="${DONGLE#\"}"; DONGLE="${DONGLE%\"}"
-rm -f "$TMP"
-case "$DONGLE" in auto) DONGLE="" ;; *) DONGLE="-d $DONGLE" ;; esac
-if [ "$RAWDEVICE" = "auto" ]; then
-gauge "Device-Scan..." &
-for i in /dev/ttyUSB* /dev/ttyS*; do
-RAWDEVICE="${i##/dev/}"
-irattach "/dev/$RAWDEVICE" $DONGLE -s
-usleep 125000
-done
-killgauge
-sleep 2
-RAWDEVICE="$(ps auxw | awk '/irattach/{print $12}' | head -1)"
-RAWDEVICE="${RAWDEVICE##/dev/}"
-else
-irattach "/dev/$RAWDEVICE" $DONGLE -s
-sleep 2
-fi
-if ifconfig irda0 >/dev/null 2>&1; then
-true
-else
-$DIALOG --clear --title "$TITLE_SRVFAIL" --msgbox "$MESSAGE_SRVFAIL" 18 75
-DEVICE=""
-return 1
-fi
-DEVICE="ircomm0"
-rm -f /etc/irda.conf
-echo "#irda.conf Version: 1.0
-IRDADEV=/dev/$RAWDEVICE" >/etc/irda.conf
-[ -n "$DONGLE" ] && echo "DONGLE=\"${DONGLE##-d }\"" >>/etc/irda.conf
-echo "DISCOVERY=-s
-ENABLE=yes" >>/etc/irda.conf
-[ -x /etc/init.d/irda ] && for i in 2 3 5; do ln -sf /etc/init.d/irda /etc/rc$i.d/S99irda; done
-;;
-bluetooth)
-killall hcid 2>/dev/null
-killall rfcomm 2>/dev/null
-hcid || return 1
-count=0
-gauge "Device-Scan..." &
-while read HW NAME; do
-d0="$(($count * 3))"
-d1="$(($count * 3 + 1))"
-d2="$(($count * 3 + 2))"
-BLUES[$d0]="$HW"; BLUES[$d1]="$NAME"; BLUES[$d2]="off"
-count=$(($count + 1))
-done <<EOT
-$(hcitool scan 2>/dev/null | awk '/[0-9]:[0-9]/{print $0}')
-EOT
-killgauge
-if [ -n "${BLUES[0]}" ]; then
-$DIALOG --clear --title "$TITLE_BLUES" --radiolist "$MESSAGE_BLUES" 18 75 9 "${BLUES[@]}" 2>"$TMP" || bailout 1
-else
-$DIALOG --title "$TITLE_BTID" --inputbox "$MESSAGE_BTID" 15 60 "00:00:00:00:00:00" 2>"$TMP" || bailout 1
-fi
-read RAWDEVICE <"$TMP"
-RAWDEVICE="${RAWDEVICE#\"}"; RAWDEVICE="${RAWDEVICE%\"}"
-rm -f "$TMP"
-read PIN < /etc/bluetooth/pin  2>/dev/null
-rm -f "$TMP"
-if [ -n "$DISPLAY" ]; then
-$DIALOG --title "$TITLE_PIN" --inputbox "$MESSAGE_PIN" 8 65 "$PIN" 2>"$TMP" || bailout 1
-fi
-read PIN <"$TMP" 2>/dev/null
-rm -f "$TMP"
-rm -f /etc/bluetooth/pin
-echo "$PIN" >/etc/bluetooth/pin
-rm -f /etc/bluetooth/rfcomm.conf
-cat >/etc/bluetooth/rfcomm.conf <<EOT
-#
-# RFCOMM configuration file.
-#
-# Created by modemlink-grml on $(date)
-#
-
-rfcomm0 {
- bind yes;
-# Bluetooth address of the device
- device $RAWDEVICE;
-# RFCOMM channel for the connection
-#      channel 1;
-# Description of the connection
- comment "Selected Bluetooth device";
-}
-EOT
-rfcomm bind all
-[ -x /etc/init.d/bluez-utils ] && for i in 2 3 5; do ln -sf /etc/init.d/bluez-utils /etc/rc$i.d/S99bluez-utils; done
-DEVICE=rfcomm0
-;;
-esac
-return 0
-}
-
-# MAIN
-
-while true; do
-conntype
-startservice
-if [ "$?" = "0" -a -n "$DEVICE" ]; then
-$DIALOG --title "$TITLE_LINK" --yesno "$MESSAGE_LINK $DEVICE ?" 15 65 || bailout 1
-rm -f /dev/modem
-ln -sf /dev/"$DEVICE" /dev/modem
-break
-else
-$DIALOG --clear --title "$TITLE_RETRY" --yesno "$MESSAGE_RETRY" 18 75 || bailout 1
-fi
-done
-
-bailout 0
-
-## END OF FILE #################################################################
diff --git a/sbin/scanmodem b/sbin/scanmodem
deleted file mode 100755 (executable)
index 552ad79..0000000
+++ /dev/null
@@ -1,4766 +0,0 @@
-#!/bin/bash
-echo
-NOTE="  ONLY use scanModem downloaded as: http://linmodems.technion.ac.il/packages/scanModem.gz"
-UPDATE="2005_June_02"
-cat<<END>/dev/null
-
- Browse http://linmodems.technion.ac.il   and 
- download scanModem.gz . Within a Linux partition only:
-    gunzip scanModem.gz
- To make it executable:
-    chmod +x scanModem
- Run diagnositics with:
-    ./scanModem
-
-This following is admittedly a hodge podge of historically entered code bits and diverse contributions.
-The maintainers weekly updates are based on User's problems and Other's expert advice. 
-These are in the  Archives at http://www.linmodems.org with 
-a searchable copy at http://linmodems.technion.ac.il/
-Maintainer Marvin Stodolsk y  (MarvS) does occassionally simplify this informal code heap.
-
-Outputs are written to a newly created folder Modem/  
-The ModemData.txt therein has the major diagnostic output.  
-It is overly VERBOSE by design, so that all information Potentially Usefull is presented.  
-This enables more experienced discuss@linmodems.org Volunteers
-to pick out the bits cogent to a Novices query, without having to search elsewhere.
-Thus help queries from Novices can be quickly returned with minimal effort. 
-
-scanPCI written by Chris Hebeisen is the predecessor of scanModem.  It was written to serve
-within the ltmodem software support packages at http://ltmodem.heby.de .  The role is now
-fullfilled  by this this script, but called by name "scanmodem", to limit non-relevant output in 
-the ltmodem package environment.
-
-END
-
-echo UPDATE=$UPDATE
-# BaseName can be inherited from the ltmodem script ./build_module or Installers or checkout
-if test -z "$BN" ; then  BN=`basename $0` ; fi
-if [ "$BN" = "scanModem" ] ; then  echo $NOTE ; fi
-
-# for script testing, with $2 and $3 format  VendorID:DeviceID
-if [ "$1" = "test" ] ; then
-  TST=1
-  PCIDEV="$2"
-  SUBSYS="$3"
-  DISTR="$4"
-  SYS="$5"
-  GCCmajor="$6"
-  CPU="$7"
-fi
-
-# Short term files have names 0tmpfile.1 2 3 etc.
-if test -z "$TMPM" ; then
-  if test -d /dev/shm ; then
-    # use /dev/shm RAM space if possible for transient writes
-    SHM=`ls -dl /dev/shm | cut -d' ' -f1`
-    if [ "$SHM" = "drwxrwxrwt" ] ; then 
-      TMPM=/dev/shm/0tmpfile
-    else
-      TMPM=0tmpfile
-    fi  
-  fi
-else
-  TMPM=0tmpfile
-fi
-echo > $TMPM
-echo 
-# conditional when scanmodem is used in ltmodem.deb or .rpm installation
-#  with stops disabled
-mkdir -p Modem
-if ! [ "$BN" = "scanModem" ] ; then
-  FAST=yes
-  RECORD2=/dev/null
-else
-  RECORD2=Modem/YourModem.txt
-  echo  $0 should ONLY be run within a Linux/UNIX partition.
-  echo  If within a MicroSoft/DOS partition, abort with Ctrl-C now !!!
-  echo  Copy scanModem.gz to your Linux partition and restart.
-  echo
-fi
-if [ "`pwd`" = "/" ] && ! [ "$ENVIR" = "rpm" ] ; then
-  cat<<END
-
- $0 should NOT be run in the / directory!!
- Copy scanModem to /root/ or /tmp/ of some /home/User/ folder.
- Exiting now
-
-END
-  exit
-fi
-
-if test -z "$RECORD" ; then
-  mkdir -p Modem
-  RECORD=Modem/ModemData.txt
-  echo > $RECORD
-else
-  echo ------------ beginning SCANMODEM section ------ >>$RECORD
-fi
-echo > $RECORD2
-
-# Defining other needed variables, there may be testing inputs
-if test -z "$SYS" ; then
-  SYS=`uname -r`
-fi
-FILTER="$SYS"_
-# FILTER needed for Debian style distros
-
-# SYS=2.6.8.1-3-686
-MAJOR=`echo $SYS | cut -d. -f1-2`
-Ktest1=`echo $SYS | cut -d- -f1`
-Ktest2=`echo $Ktest1 | cut -d. -f4`
-KERNEL_RELEASE=`echo $SYS | cut -d. -f3-`
-KERNEL_RELEASE_NUM=`echo $KERNEL_RELEASE | sed 's/^\([0-9][0-9]*\).*/\1/'`
-if test -n "$Ktest2" ; then
-  KVER=`echo $SYS | cut -d. -f1-3`
-  KEXT=.$Ktest2
-  BASE=`echo $SYS | cut -d- -f1`
-  LOCAL=`echo $SYS | cut -d- -f2-`
-  PVER="$BASE"_"$LOCAL"
-else
-  KVER=`echo  $SYS | cut -d- -f1`
-  KEXT=`echo  $SYS | cut -d- -f2-`
-  PVER="$KVER"_"$KEXT"
-fi
-# PVER needed for rpm underscore syntax
-
-if test -z "$CPU" ; then
-  CPU=`uname -m`
-fi
-# CPU=i686
-# Define version, currently 8.26a9, within ltmodem CVS maintained by Mark Spieth
-LT_VERSION=8.31a10
-
-if test -z "$DISTR" ; then
-  STEM=`cat /etc/issue | cut -c 2- | cut -d' ' -f1`
-  distro=`ls /etc/* | grep $STEM | grep version | cut -d_ -f1 | cut -d- -f1 | cut -d/ -f3`
- # Acquire distribution data
-  DISTRO_FILES="redhat-release SuSE-release mandrake-release conectiva-release  \
-   bluepoint-release  slackware-version  gentoo-release debian_version knoppix-version \
-   fedora-release xandros-desktop-version "
-   # redhat MUST proceed mandrake in this listing as Mandrake has an /etc/redhat-release
- for i in $DISTRO_FILES
- do
-  if [ -a /etc/$i ] ; then
-    DISTRO=$i
-    # generating short name
-    if [ -n "$DISTRO" ] && [ "$DISTRO" = "fedora-release" ] ; then
-      FEDORA=1
-    else
-      DISTR=`ls /etc/$i | cut -d/ -f3 | cut -d"-" -f1`
-    fi
-    if [ "$DISTR" = "debian_version" ] ; then
-       DISTR=debian
-    fi
-    DVERSION=`cat /etc/$i`
-  fi
-  done
-fi
-
-if [ -z "$DISTRO" ] && [ -z "$DISTR" ]  ; then
-  DISTR="Not_identified"
-fi # DISTR
-if [ -f /etc/issue ] ; then 
-  ISSUE=`cat /etc/issue | cut -d' ' -f1-2`
-fi
-if [ "$BN" = "scanModem" ] ; then
-  cat<<END>Modem/UNSUBSCRIBE.txt
-   For instructions to UNSUBSCRIBE from discuss@linmodems.org,
-   send an email to:   discuss-help@linmodems.org
-END
-  cat<<END>>$RECORD
-
- DO use the following line as the email Subject Line, to alert cogent experts:
-      $BN, $ISSUE kernel $SYS
- Occassionally reponses are blocked by an Internet Providers mail filters.
- So do in a day also check the Archived responses at DISCUSS@linmodems.org
-Code updated on:  $UPDATE
------------- --------------  System information ------------------------
-`cat /etc/issue | cut -d'\' -f1`
- distro=$distro
- on System with processor: $CPU
- currently under kernel:   $SYS
-END
-fi
-if [ "$DISTR" = "slackware" ] ; then
-    echo "  m.mohr@laposte.net will help with Slackware problems" >>$RECORD
-fi 
-if [ "$CPU" = "x86_64" ] || [ "$CPU" = "x86_64-smp" ] ; then
-  cat<<END>>$RECORD
-  
- See success reports on a softmodem installation on AMD Athlon 64 system
- http://linmodems.technion.ac.il/archive-fourth/msg02592.html -  slmodem compatible
- http://linmodems.technion.ac.il/archive-fourth/msg03581.html -   Conexant hsfmodem
-
-END
-fi
-if [ "$MAJOR" == "2.6" -a $KERNEL_RELEASE_NUM -ge 10 ]; then
-  cat<<END>>$RECORD
-
-There are emerging complications under 2.6.10 and later kernels.  Concerning code for:
-Smartlink slmodem :
-   slmodem-2.9.9d.tar.gz at http://linmodems.technion.ac.il/packages/smartlink/
-      has the current fixes.  Related messages are:
-   http://www.datiku.com/documents/2610_migration.php
-   http://www.ussg.iu.edu/hypermail/linux/kernel/0409.3/0345.html 
-   http://linmodems.technion.ac.il/archive-fourth/msg03736.html .
-   http://linmodems.technion.ac.il/packages/smartlink/  has an upgrab-winmodem.tar.gz,
-       providing a driver to alleviate inappropriate capture of a winmodem by a serial port driver. 
-Lucent/Agere DSP/ltmodem:
-  http://linmodems.technion.ac.il/archive-fourth/msg03733.html 
-Concerning Intel-536ep and 537
-   http://www.ubuntulinux.org/wiki/IntelFiveThreeSixEPModemHowto/ 
-   http://linmodems.technion.ac.il/archive-fifth/msg00280.html
-   http://linmodems.technion.ac.il/archive-fifth/msg00881.html
-   
-END
-fi
-
-ls /boot/config* &> $TMPM
-if grep config $TMPM >/dev/null ; then
-  if grep "CONFIG_REGPARM=y" /boot/config*>/dev/null ; then
-    cat<<END>>$RECORD
-
- The kernel-$SYS was compiled with CONFIG_REGPARM, providing more compact and faster code.
-
-END
-  fi
-fi
-if [ "$SYS" = "2.4.25-1-multimedia-686" ] ; then
-   cat<<END>>$RECORD
-   
- For the Debian derived DeMudi multimedia distribution, the kernel-headers do Not faithfully
- represent the installation kernel  version 2.4.25-1-multimedia-686.  This may block compilation
- of certain drivers.  To compile auxiliary drivers,
- update to a more recent Debian kernel and matching kernel-headers. Subsequently compile
- modem drivers under the new kernel.  For the Lucent/AgereSystems DSP modem, a driver pair
- and instructions are included in  ltmodem-2.4.25-1-multimedia-686.tar.gz
- at http://linmodems.technion.ac.il/packages/ltmodem/Demudi/
-END
-fi
-
-GCC_INPUT=`cat /proc/version |  sed -e 's/)/ /g' | sed -e 's/(/ /g'`
-# sed to remove (  and  )
-GCC_PC=`for i in $GCC_INPUT ; do echo $i ; done | grep -A2 gcc | grep -A1 ersion | grep -v  ersion` 
-# Picks our version following gcc
-echo " The kernel was assembled with compiler:  $GCC_PC">> $RECORD
-GCC_TEST=`echo $GCC_PC | cut -d. -f1`
-echo $GCC_TEST > $TMPM
-if grep "-" $TMPM >/dev/null ; then
-  GCCmajor=`echo $GCC_TEST | cut -d- -f2`
-else
-  GCCmajor=$GCC_TEST
-fi
-
-if test -z "$GCC" ; then
-  # could be test input
-  GCC=`gcc -dumpversion`
-  GCCs=`echo $GCC | cut -d. -f 1-2`
-fi
-if test -z "$GCC" ; then
-  echo " a $GCCmajor package must be installed to support driver compiling">>$RECORD
-  GCC=none
-else
-  echo " with current System compiler GCC=$GCC">>$RECORD
-  GCCsys=`echo $GCC  | cut -d. -f1-`
-  if [ -L /usr/bin/gcc ] ; then
-    echo "    /`ls -l /usr/bin/gcc | cut -d/ -f2-`" >>$RECORD
-  fi
-fi
-echo >>$RECORD
-echo "Checking for kernel-headers needed for compiling.">>$RECORD
-SRCS=`ls -d /usr/src/lin* /usr/src/ker*  /lib/modules/$SYS/build  2>/dev/null`
-if test -n "$SRCS" ; then
-  for d in $SRCS
-  do
-    if test -f $d/include/linux/version.h ; then
-      if grep $SYS $d/include/linux/version.h >/dev/null ; then
-        echo " kernel-headers have base folder $d">>$RECORD
-      fi
-    fi
-  done
-else
-  cat<<END>>$RECORD
-Kernel-header resources are not evident.
-Within your Linux distributions' installation CD or online resource (and mirrows), search for :
-  Distribution  PackageName                    OnLine
-  ----------------------------------------------------------------------
- Debian                kernel-headers-$SYS     http://www.debian.org/distrib/packages or install CD
- Ubuntu                linux-headers-$SYS              http://http://packages.ubuntu.com/ or install CD
-    Debian & Ubuntu will also require installation of kernel-kbuild package 
- Mandrake      kernel-source-$SYS         If not present on install CDs search
-       http://mirror.switch.ch/ftp/mirror/mandrake/official/10.0/i586/Mandrake/RPMS/ 
-       http://rpms.mandrakeclub.com/rpms/mandrake/official/LByName.html, or other mirrors.
-  SuSE         kernel-source-$SYS               , kernels are named k_deflt
-One of which must be installed if compiling drivers to match kernel $SYS proves necessary.
-Within the output Modem/ folder, read CompilingDrivers.txt for details.
-  
-END
-fi
-echo >>$RECORD
-
-# Check for /dev/modem link
-if [ -L /dev/modem ] ; then
-  echo " Modem symbolic link is:  /`ls -l /dev/modem | cut -d/ -f2-`" >>$RECORD
-else
-  echo " A /dev/modem symbolic link is not set.">>$RECORD
-fi
-
-if test -d /dev/tts ; then
-   echo " Checking for /dev/tts/  devices" >> $RECORD
-   ls -l /dev/tts/ >> $RECORD
-   echo >> $RECORD
-fi
-if test -f  /proc/bus/usb/devices ; then
-   if grep odem /proc/bus/usb/devices>/dev/null ; then
-       grep odem /proc/bus/usb/devices  >> $RECORD
-       # S:  Product=U.S. Robotics 56K Faxmodem USB
-       if grep "USB  HSF Modem" /proc/bus/usb/devices>/dev/null ; then
-          echo "  Download the hsfmodem package from http://www.linuxant.com/drivers">> $RECORD 
-       fi
-   else
-      echo " USB modem not detected.">> $RECORD 
-   fi
-else
-   echo "   /proc/bus/usb/devices file not present, barring USB modem query.  ">> $RECORD 
-fi
-echo >> $RECORD
-
-PNP=`dmesg | grep "IRQ XX" `
-if test -n "$PNP"  ;  then
-  cat<<END>> $RECORD
-
-  If after boot up
-# dmesg  | grep "IRQ XX" 
-displays:
-    IRQ XX nobody cared
- a change in the bootup BIOS may be necessary to a non-PNP choice is likely necessary.
-END
-fi
-
-if [ "$DISTR" = "mandrake"  ] ; then
-   cat<<END |  tee -a $RECORD
-   
-   For Mandrake 9.1 later, installation of the pciutils.rpm  package providing  lspci is necessary.
-   The installed utility   lspcidrake  is NOT an adequate alternate for scanModem support.
-
-END
-fi
-
-LSPCI_PATH="/bin /usr/bin /sbin"
-for i in $LSPCI_PATH
-do
-  if test -x $i/lspci
-  then
-    LSPCI=$i/lspci
-  fi
-done
-if test -z $LSPCI
-then
-  echo "+----------------------------------------------+"
-  echo "|    WARNING: lspci not found  - exiting       |"
-  echo "|    Please install the package:  pciutils     |"
-  echo "+----------------------------------------------+"
-  echo
-  exit 1
-  echo
-else
-  if ! $LSPCI &>/dev/null
-  then
-    echo "WARNING: $LSPCI returned error - not checking for modem"
-    echo
-    echo Exiting
-    echo
-    exit 1
-  fi
-fi
-# ending lspci test section
-
-# Acquire PCI bus slots.
-echo Modem > $TMPM
-echo modem >> $TMPM
-echo "erial controller" >> $TMPM
-# filering for modem
-PCIBUS=`$LSPCI 2>/dev/null  | grep -f $TMPM | cut -d' ' -f1`
-BUS2=`$LSPCI -n 2>/dev/null | grep " 07..: " | cut -d' ' -f1`
-# add CLass 07 devices if not already recognized
-echo "$PCIBUS" > $TMPM.1
-if ! [ "$BUS2" = "" ]  ; then
-  for i in $BUS2
-  do
-  if ! $LSPCI 2>/dev/null  | grep $i | grep "FIR Port" >/dev/null ; then
-    # exclude Infrared controllers
-    if ! grep $i $TMPM.1 >/dev/null ; then
-      # exclude already captured PCIBUS
-      PCIBUS="$PCIBUS $i"
-    fi
-  fi
-  done
-fi
-if test -n "$TST" ; then
-  PCIBUS=`echo $PCIBUS | cut -d' ' -f1`
-fi
-
-if test -z "$PCIBUS" && [ -z "$PCIDEV" ] ; then
-  # Display all PCI devices only if no candidates.
-  echo --------- lspci scan ---------------- >>$RECORD
-  echo " PCI_bus">>$RECORD
-  $LSPCI 2>/dev/null >>$RECORD
-  echo ------------------------------------- >>$RECORD
-
-# if no modem candidates AND not PCIDEV input test
-  if  $LSPCI 2>/dev/null  | grep "udio controller" | grep M5451 >/dev/null ; then
-    AUDIO=`$LSPCI 2>/dev/null  | grep "udio controller" | cut -d' ' -f2-`
-    cat<<END>>$RECORD
-
- Though not displayed, an embedded soft modem may reside in this Audio card:
-    $AUDIO
- which sadly is not yet supported under Linux.  However a low level driver may 
- in the future become available, which provide access to the higher level COMM
- functions already avialable in the SmartLink slmodemd. 
- Browse the Modem/Slmodem.txt for some details. 
-
-END
-  fi
-  
-  cat<<END>>$RECORD
-
- A modem was not detected among the above PCI devices.
- This indicates that the modem, if present has a non-standard or ISA bridge.
- Please follow the directions in Modem/SoftModem.txt  for identifying the modem properties
- when booting under Microsoft Windows. Also access any documentation sources
- on yourchipset.  Guidance can only be provided AFTER
- the chipset and/or its drivers have been identified.
- The IBM mwave modem does have a driver within 2.6.n kernel+module releases.  If is at:
-        /lib/modules/$AYA/kernel/drivers/char/mwave/mwave.ko
-and can be loaded only if Mwave hardware is present  Test with:        
- #  su - root
- followed by
- # modprobe wmave
- If successful see: 
-       http://tedfelix.com/Mwave/
-       http://www.linuxdocs.org/HOWTOs/mini/ACP-Modem/   , section 2.4 and later.
-       http://www.freenetpages.co.uk/hp/mjbou/dwtpul.html
-       http://tedfelix.com/Mwave/
-       
- A failure response has output like:
-       FATAL: Error inserting mwave (/lib/modules/2.6.10-1-686/kernel/drivers/char/mwave/mwave.ko): Input/output error
-indicating absence of an Mwave modem
-
-END
-else
-
-$LSPCI | grep audio >>$RECORD
-echo >>$RECORD
-# The 2nd Table in Modem/SoftModem.txt is parsed if a soft modem controller is resident
-cat<<END>Modem/SoftModem.txt
-    
-                  Soft Modem Information
-
-The earlier generations of modems had chips with digital signal processing (DSP) capability in which
-most of the total modem effort proceeded.  The "soft modem" is a generic name for modems 
-which lack DSP.  Rather, the CPU does almost all the signal processing as directed by software code. 
-There are a few soft modems which are fully identified by the primary PCI ID of the modem card, 
-such as the Agere Systems 11c1:048(a,b,c,d) series.
-
-The larger family is more troublesome, for identification of supporting software. 
-They are comprised of a primary modem controller which can host a variety of Subsystems. 
-Both the primary PCI ID and "mc97 codec"  written in a Subsystem firmware chip are required,
-for assessing support under Linux.  Only subsequently is the Subsystem PCI ID useful, for record keeping.  
-
-The scanModem script contains five routines for acquiring  the critical mc97 codec identification:
-1) a modem driver independent test, only usefull for some of the earliest soft modems,
-   described at the end of this file;
-2) a test using modem drivers already on your System,  as part of  the ALSA (Advanced Linux Sound
- Architecture) software package ; See Slmodem-ALSA.txt for details.
-3) a test requiring the SmartLink slamr.ko driver:  see Slmodem.txt ;
-4) comparison with PCI IDs with codecs historically gathered and stored within scanModem;
-5) In case 1-4 are not adequate, there are the following instructions for running ATI queries under Microsoft windows.
-Chipset information may be obtained under Microsoft Windows through:
- 1) Start > Settings > Control Panel > Classical View (for WinXP) > Modem  , or alternatively,
-   Start > Settings > Control Panel > Classical View (for WinXP) > System > Devices > Modem
-   Do the modem diagnostics test, if available, looking for manufacturer chipset,
-   It is within information output in lines:  ATI - specifications
-      Try to identify the modem setup file, with name perhaps MODEM.INF
- 2) Open a COMM console, and send ATI commands to the modem (ATI, ATI1, ATI2, etc)
-   which may elicit chipset and driver information. Here is an example
-       ATI3 - Agere SoftModem Version 2.1.22
-       ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
-   successfully identifying an Agere SoftModem chipset, both by name and through
-   the:softmodem SIL ID:              AC97 ID:SIL REV:0x27
- The IBM mwave modem cannot be detected by scanModem.  
- But the mwave driver is included in 2.6.n kernel releases.  So try
- # modprobe mwave
- Either the module will load, or the absence of the modem will be indicated by:
-FATAL: Error inserting mwave (/lib/modules/2.6.10-1-686/kernel/drivers/char/mwave/mwave.ko): Input/output error
-See http://www.linuxdocs.org/HOWTOs/mini/ACP-Modem/  for details on this modem.
-
-Subsystems for softmodems are primarily made by Silicon Labs (SIL), 
-under contract to companies like Intel, Agere Systems, Motorola  etc.
-In the Table below,
-The ChipMadeBy does NOT imply software support directly from that manufacturer.
-
-The chart of information below is largely harvested from messages to discuss@linmodems.org.
- A codec_indent  like REV:0x27 is reported by diagnostics under Microsoft, as illustrated above. 
-The matching designation like SIL27 are translations under Linux, 
-    output by a diagnostic of the slamr.ko driver, from the SmartLink slmodem software. 
-The SIL is an abbreviation for  Silicon Laboratorys Inc., which provides Subsystems for many total modem assemblies. 
-SML is used below as abbreviation for SmartLink Inc.,  with official driver resources at
-       http://www.smlink.com/main/index1.php?ln=en&main_id=40  and recent patches provided at:
-       http://linmodems.technion.ac.il/packages/smartlink/ 
-
-   codec_ident    ID translation     driver sources 
----------------------  ------------------      -------------------------       
- 0x21      SIL21   PCTel     for 2.4.n kernels, pctel-2.7.9 at http://linmodems.technion.ac.il/pctel-linux,
-                                             and SML for  2.4.n or 2.6.n kernels
- 0x23      SIL23   PCtel      same as SIL21               
- 0x22      SIL22   SML              
- 0x24      SIL24   Broadcom, use   SML drivers
- ????      BCM64  Broadcom, use   SML in ALSA mode,  but only under the Intel ICH modem controllers.
-0x25      SIL25   Intel 537AA          "  or SML
-????        INT65   Intel 537EA        http://linmodems.technion.ac.il/packages/Intel/537/ or SML
-0x26      SIL26    Silicon Integrated Systems (SiS), use SML drivers
-0x27      SIL27   AgereSystems(AS), use  SML  needed under 2.6.n kernels,
-                             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  
- ????       CXT(21,22,23,29,41  and others)   Conexant -       http://www.linuxant.com/drivers, the hsfmodem package      
- -------------------------------------------------------------------------------- 
-  If a novel identifier is displayed during diagnostics, please report to discuss@linmodems.org
-A rough/practical guide is first given, with some qualifications and exceptions to follow:
-     SILnm  (n,m digits) are SML supportable;
-     CXTnm are ONLY supported by the  http://www.linuxant.com/drivers, the hsfmodem package ;
-     INTnm  are supported by Intel drivers and perhaps slmodemd with ALSA support;
-     BCMnm, INT65  (and similar name styles) have had successes with SmartLink slmodem in ALSA mode.
-     See the companion Slmodem-ALSA.txt for details.
-Qualifications  to the Table below relate to Linux software support for soft modem controllers.
-In particular,  no software package provides support for all soft modem controllers.
-            
-Primary              
-PCI_IDs           Name                    Possible support by:
----------------  -----------------------------  -------------------------
-8086:1080 ac97 controller                              i . 
-8086:2416 82801AA ICHAA >              + A a  p c .
-8086:2426 82801AB ICHAB >              + A a .
-8086:7186 >                                                            c .
-8086:7196 82440 Banister  >            + A a      c .
-8086:2446 82801BA ICH2  >              + A a p c .
-8086:2486 82801CA/CAM ICH3 >   + A a p c i .
-8086:24c6 82801DB ICH4 >               + A a   c i b .
-8086:24d6 82801EB ICH5 >               + A     c i .
-8086:266d 82801EB ICH6>                +       c .
-8086:xxxx types above are from Intel   
-
-1039:7013  SIS 630 >                           + a p c i .
-1039:7018  SIS 960 >                           +       i .
-10de:01c1  Nvidia Corp >                       +       i .
-10de:00d9  Nvidia Corp >                           A      c   .
-1106:3068  VIA >                       + a p c i .
-1022:7446  AMD AC_LINK >               + .
-10b9:5450  ALI 5450 >                     
-10b9:5451  ALI 5451 >                     
-10b9:5453  ALI 5453 AC-Link  >         p c .
-1025:5453  ALI 5453 AC-Link  >                     c .
-10b9:5457  ALI 5457 AC-Link >  +    p   c i .
-1025:5457  ALI 5457 AC-Link  >              c .                   .
-e159:0001  TigerJet >                                          i .
-1002:434d  ATI >                                         T  a    c i .
-1543:3052  SI3052 >                                            i .
-10ec:8197  RealTek >                            + .
-  --------------------------------------------------------
-The following letters indicate compatibility for the modem controller,
-BUT do NOT gaurantee support by the software. 
-Support MUST be ascertained by identifing the soft modem codec.
-
-  +   SmartLink (SML) - http://www.smlink.com,  the slmodem-2.9.9 series
-  A   SML slmodem-2.9.9d-alsa software supporting the ALSA intel8x0m-modem driver
-      Soft modems with the Broadcom codec BCM64 should thus be served. 
-  T   SML slmodem-2.9.9d-alsa software supporting the ALSA snd-atiixp-modem driver
-With the above SML software, port creation is controlled by a daemon, slmodemd,
-rather than being a static feature of the /dev/ files.
-  a   AgereSystems only under 2.4.n
-  p   PCtel support at http://pctelcompdb.sourceforge.net/
-  c   Conexant/Rockwell - http://www.linuxant.com
-  i   Intel - http://www.intel.com
-  b   Broadcom, under 2.4.n kernels, with ALSA code under 2.6.n
-  for details on A and T slmodem implementations, see Modem/ALSA.txt
- ===========================================================
-
-To achieve codec readouts for SmartLink (SML) compatible modem controllers listed above,
-follow the directions in Slmodem.txt.
-
-The 1) driver independent test, some details
-During bootup, kernel diagnostics on the System are stored for later display by:
-       dmesg
-This information may include a SIL_id of modems under AC97/MC97 Controllers,
-depending upon the type of bridging of the modem card to the motherboard.
-The scanModem script processes dmesg output to capture AC97 modem information,
-parses it into a SIL_id if possible, and then displays of modem chipset information.
-Guidance to sources of modem supporting software may thus be obtained.
-
-The transfer of the AC97 information to the dmesg buffer requires that modules supporting
-both the digital audio card and the ac97_codec be loaded during bootup:
-   modprobe ac97_codec
-   modprobe audio_drivers  (such as i810_audio)
-This can be checked after bootup with:
-   lsmod
-
-This script can also be used by entering a test block with nomenclature:
-        $0 SILtest
-with SILtest a text file in This Folder
-containing a section of a dmesg output or /var/log/messages like:
-
-  i810: Intel ICH 82801AA found at IO 0xdc00 and 0xd800, IRQ 11
-  i810_audio: Audio Controller supports 2 channels.
-  ac97_codec: AC97 Audio codec, id: 0x4144:0x5340 (Analog Devices AD1881)
-  i810_audio: AC97 codec 0 Unable to map surround DAC's (or DAC's not present), total channels = 2
-  ac97_codec: AC97 Modem codec, id: 0x5349:0x4c22 (Silicon Laboratory Si3036)
-
-which does include a line beginning with:   ac97_codec: AC97 Modem codec, id:
-END
-  # detected modem devices
-
-   echo "Modem candidates are at PCI_buses:  $PCIBUS">>$RECORD
-   echo PCIBUS=$PCIBUS
-fi 
-#  Start modem displays
-for i in $PCIBUS
-do
-  if $LSPCI -n 2>/dev/null  | grep $i | grep Class >/dev/null ; then
-    CLASS0=`$LSPCI -n 2>/dev/null  | grep $i | cut -d' ' -f3-4`
-  else
-    CLASS0=`$LSPCI -n 2>/dev/null  | grep $i | cut -d' ' -f2-3`
-  fi 
-  # $LSPCI -n 2>/dev/null  | grep $i | cut -d' ' -f2-4 > $TMPM
-  # echo "0000:00:02.6 0703: 1039:7013 (rev a0)" > $TMPM
-  CLASS="Class $CLASS0"
-  NAME=`$LSPCI -v 2>/dev/null | grep $i | cut -d' ' -f2-`
-  if test -n "$TST" ; then
-    echo Using the test inputs.
-    cat<<END | tee -a $RECORD
-
-    Substituted test inputs:
- PCIDEV=$PCIDEV
- SUBSYS=$SUBSYS
-
-END
-  else     
-    PCIDEV=`echo $CLASS | cut -d' ' -f3`
-    cat<<END | tee -a $RECORD 
-    
-Providing detail for device at  $i
-  with vendor-ID:device-ID
-           ----:----
-$CLASS   $NAME
-END
-  fi
-  Vendor=`echo $PCIDEV | cut -d: -f1`
-  Device=`echo $PCIDEV | cut -d: -f2`
-  # Now Subsystem info
-  # It would be more elegant in the above queries to select  -s PCI_bus.
-  # But for older lspci versions, there is failure of    lspci -s PCI_bus
-  # when the PCIBUS has an "f" as on some Acer motherboards with a PCI slot   00:1f.6
-  SUBNAME=`$LSPCI -v 2>/dev/null  | grep -A1 $i | grep Subsystem | cut -d: -f2-`
-  if test -n "$TST" ; then
-    echo "Using test  $SUBSYS   Subsystem"
-    # skip if test SUBSYS was input
-  else
-    SUBSYS=`$LSPCI -nv  2>/dev/null  | grep -A1 $i | grep Subsystem: | cut -d' ' -f2`
-    echo "  SubSystem $SUBSYS  $SUBNAME" | tee -a $RECORD
-    $LSPCI -nv 2>/dev/null | grep -A2 $i | grep -v Class | grep -v Subsystem: | tee -a $RECORD
-    IRQ0=`$LSPCI -v 2>/dev/null  | grep -A2 $i | grep IRQ | grep "IRQ 0"`
-    if test -n "$IRQ0" ; then
-      cat<<END>>$RECORD
-
- The modem will NOT function because of interrupt assignment: IRQ 0
- Possible corrections are:
-   1) to access the  the boot up BIOS change to a non-PNP mode.
-   Instructions for accessing BIOS are at:
-      http://linmodems.technion.ac.il/resources.html within:  Additional Resourcces.
-   2) Within some BIOS setups, IRQ assignments can be changed.
-   3) On non-laptop systems moving the modem card to another slot has helped.
-   4) Sometimes upgrading the kernel changes IRQ assignment.
-
-END
-    fi
-  fi
-  if test -n "$SUBSYS" ; then
-    SUBven=`echo $SUBSYS | cut -d: -f1`
-    SUBdev=`echo $SUBSYS | cut -d: -f2`
-  fi
-  cat<<END | tee -a $RECORD
-  
-                  -----PCI_IDs-------                    --CompilerVer- 
-    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
- ./scanModem test $PCIDEV $SUBSYS $DISTR $SYS  $GCC_PC $GCC    $CPU
-
-END
-    ## Checking for major chipset types
-  if grep  $PCIDEV Modem/SoftModem.txt >/dev/null ; then
-    # Check for support under the Controller of the unknown Subsystem chip
-    CNTRL=`grep $PCIDEV Modem/SoftModem.txt | cut -d">" -f1`
-    cat<<END | tee -a $RECORD
-       
- The soft modem Subsystem operates under a controller
-   $CNTRL
- capable of supporting under Linux AT LEAST modem Subsystem chips from manufacturers:
-END
-echo >>$RECORD
-    if grep $PCIDEV Modem/SoftModem.txt | grep "p " >/dev/null ; then
-       echo "  Pctel"  | tee -a $RECORD
-       SOFT=PCTEL
-    fi
-    if grep $PCIDEV Modem/SoftModem.txt | grep "b " >/dev/null ; then
-       echo "  Broadcom"  | tee -a $RECORD
-       SOFT=$SOFT" BRD"
-    fi
-    if grep $PCIDEV Modem/SoftModem.txt | grep "a " >/dev/null ; then
-       echo "  AgereSystems"  | tee -a $RECORD
-       SOFT=$SOFT" AGR"
-       AGR=1
-    fi
-    if grep $PCIDEV Modem/SoftModem.txt | grep "c " >/dev/null ; then
-       echo "  Conexant" | tee -a $RECORD
-       SOFT=$SOFT" CNX"
-       CNX=1
-    fi 
-    if grep $PCIDEV Modem/SoftModem.txt | grep "i " >/dev/null ; then
-       echo "  Intel"  | tee -a $RECORD
-       SOFT=$SOFT" INTEL537"
-       AAEA=1
-       INTEL537=1
-    fi
-    echo $SOFT>$TMPM.soft
-    if grep $PCIDEV Modem/SoftModem.txt | grep "+ " >/dev/null ; then
-       echo "  Smartlink"  | tee -a $RECORD
-        SMLok=" Driver slamr from the SmartLink slmodem package can identify the soft modem codec."
-    smart=may
-    fi
-    if grep $PCIDEV Modem/SoftModem.txt | grep "A " >/dev/null ; then
-       echo >> $RECORD
-       echo "  Smartlink software in ALSA mode may support this modem "  >> $RECORD
-       Smart=ALSA
-    fi
-     # finished softmodem chip candidates  
-    if grep $PCIDEV Modem/SoftModem.txt>/dev/null ; then
-       SOFT=1
-    fi    
-    # Decisive Subsystem IDENTS
-    echo >$TMPM.3 
-    if [ "$SUBven" = "134d" ]  ||  [ "$SUBven" = "14e4" ] ; then
-       echo Use the SmartLink slmodem software for support. |  tee -a $RECORD
-       IDENT=PCTEL
-       if [ "$SUBven" = "14e4" ] ; then
-          IDENT=BCM64
-         echo For this Broadcom subsystem modem,  the slmodemd daemon must be used in ALSA mode |  tee -a $RECORD 
-         echo  "       slmodemd --alsa --country=YOURS modem:1"  |  tee -a $RECORD
-       fi      
-    elif [ "$SUBven" = "14f1" ] ; then
-       # Conexant HSF
-        echo ONLY the hsfmodem software from http://www.linuxant.com/drivers  can support this Conexant subsystem soft modem |  tee -a $RECORD
-        IDENT=CXT
-     else
-        echo " The Subsystem PCI id does not itself identify the modem Codec.">>$RECORD
-     fi
-     
-     # Choose driver for codec test
-     if [ "$PCIDEV"  = "1002:434d" ]  ; then
-        MODULE=snd-atiixp-modem 
-       MCONFIG=ATIIXP_MODEM
-     elif [ "$PCIDEV"  = "1106:3068" ]  ; then
-        MODULE=snd-via82xx-modem 
-       MCONFIG=VIA82XX_MODEM
-     else
-        MODULE=snd-intel8x0m 
-       MCONFIG=INTEL8X0M
-     fi 
-     MOD_=`echo $MODULE | sed -e 's/-/_/g'`
-     MPLACE=`find /lib/modules/$SYS/ -name $MODULE.ko`
-     #  Rhywek <rhywek@o2.pl>
-     
-#     case $PCIDEV in
-#      "1002:434d") MODULE=snd-atiixp-modem ;;
-#      "1106:3068") MODULE=snd-via82xx-modem ;;
-#      *) MODULE=snd-intel8x0m ;;
-#    esac
-
-    # Check for driver in kernel or modules    
-    echo  >>$RECORD
-    if grep $MCONFIG /boot/config-$SYS | grep "=y" > /dev/null ; then
-       echo  "  Driver $MODULE is included in the kernel. "  >>$RECORD
-       ASOUND=1
-    elif   test -n "$MPLACE" ; then
-       echo  "  Driver $MODULE  may enable codec acquisition "  >>$RECORD
-       if grep $MOD_  /proc/modules >/dev/null ; then
-         ASOUND=1  
-      elif [ "$UID" = "0" ]  ;  then
-        /sbin/modprobe $MODULE
-        ASOUND=1
-      else   
-         echo This line is strangely necessary >/dev/null 
-          cat<<END
-           
- To enable capture of codec information, please briefly login as Root:
-        su - root
-  Load $MODULE with:
-        modprobe $MODULE
-  Exit Root status
-        exit
-  and rerun
-       ./scanModem
-       
-END
-         exit
-      fi
-    else
-       echo  "  $MODULE  support not included in $SYS  kernel+modules " >>$RECORD
-    fi
-   
-# I guess you mean '/proc/asound/cardN/codec97#0/mc97*'.
-# If it does not exist after intel8x0m loading this may indicate that device
-# was not initialized, for instance because it is in use by other driver,
-# like hsf*, slamr or even serial - device has 0703 pci class - COMMUNICATION_MODEM.
-    if test -n "$ASOUND" ; then 
-       MC97=`find /proc/asound -name "mc97*" | grep -v regs`
-       #  MC97=`find /proc/asound -name 'mc97#[0-3]-[0-3]'`    # Sasha's alternate
-       if !  test -n "$MC97" ; then
-          echo "  /proc/asound lacks an mc97 codec file.">>$RECORD       
-       else      
-          echo "  === Begin mc97 codec query  ===">>$RECORD
-       for codec in $MC97     
-#Also note there are new modems in the wild equipped by SiLabs 3054/5 codec,
-#it works with ALSA drivers, but many of such codecs encode codec vendorid1,
-# vendorid2 registers not with "traditional" "SILXX", but with other values
-#(few "AGRXX" was reported already, and "BCM64" is from this group too)     
-       do
-       if grep  0x42434d64  $codec >/dev/null ; then
-         echo  " $SUBSYS has a Broadcom BCM64 codec" >>$RECORD
-        IDENT1=BCM64
-        elif  grep   Conexant  $codec >/dev/null ; then
-        NM=`grep Conexant  $codec | cut -d' ' -f2-`  
-        grep  Si3036 $codec >>$RECORD
-        echo  " $SUBSYS has a $NM" >>$RECORD     
-        IDENT1=CXT
-        elif  grep   "Si3036/8 rev "  $codec >/dev/null ; then
-          grep  Si3036 $codec >>$RECORD
-          revision=`for i in $INPUT ; do echo $i ; done | grep  -A1 rev`
-          REV=`echo $revision | cut -d" " -f2`
-          echo  " Subsystem $SUBSYS has a SIL2$REV codec"  >>$RECORD   
-          IDENT1=SIL2$REV
-          elif  grep   "Motorola (rev 4 IIRC)"  $codec >/dev/null ; then  
-          echo  " $SUBSYS has a Motorola codec " >>$RECORD     
-          IDENT1=ALSA       
-          cat<<END>/dev/null
-
-> RE:new modems in the wild equipped by SiLabs 3054/5
-> Should slmodem in ALSA mode should be recommended for these cases uniformly?
-
-Yes, but note that vendor's drivers (if exist) may work too, at least I think
-that Agere driver supports 'AGRxx' codecs.  
-END
-       else
-         echo File $codec >>$RECORD
-         echo " --------" >>$RECORD
-         cat $codec >>$RECORD
-         echo " --------" >>$RECORD    
-         if grep 3054/5 $codec >/dev/null && grep snd_intel8x0m >/dev/null ; then
-           # for non SILnm codecs such as AGRnm and INT65
-           echo " Try using slmodemd in ALSA mode with driver snd-intel8x0m"  >>$RECORD
-         fi
-       fi
-       codec=
-      done
-      echo "  === End mc97 codec query  ===">>$RECORD
-      fi  # codec aquisition 
-    fi  # module loaded
-   
-echo >$TMPM
-echo >$TMPM.1
-echo >> $RECORD
-echo " Beginning check for older ac97_codec modems." >> $RECORD
-echo audio > $TMPM
-echo ac97 >> $TMPM
-# for grep filter
-dmesg | grep -f $TMPM > $TMPM.3
-# first check for audio_codec, needed later
-if grep "AC97 Modem codec" $TMPM.3 > /dev/null ; then
-    ac97_codec=1
-    echo " ----- Raw output ------" >> $RECORD 
-    # unusual case:   ac97_codec: AC97 Modem codec, id: CXT41 (Unknown)
-    grep "AC97 Modem codec" $TMPM.3  | tee -a  $RECORD
-fi
-# manual test
-if [ "$1" = "SILtest" ] ; then
-  cp SILtest  $TMPM.3
-fi
-codec_id=`cat $TMPM.3 | sed -n -e '/^ac97_codec: AC97 Modem codec, id: /s/^ac97_codec: AC97 Modem codec, id: \(.*\)(.*)$/\1/p'`
-# codec_id=0x5349:0x4c22  # for testing
-if test -n "$codec_id" ; then
-for codec_id in $codec_id ; do
-  echo $codec_id | grep -e '^SIL[0-9].*$' > /dev/null
-  if [ $? -ne 0 ] ; then
-    # < linux-2.4.20
-    codec_cid=`echo $codec_id | sed -n -e '/0x5349:0x4c/s/^0x5349:0x4c\(2[1-7]\)$/\1/p'`
-    # echo codec_cid=$codec_cid
-    if [ -n "$codec_cid" ] ; then
-      codec_id=`printf "SIL%d" 0x$codec_cid`
-      CODEC=$codec_id
-    else
-      SIL_id=$codec_id not processed
-    fi
-  else
-    SIL_id=$codec_id
-  fi
-  if test -f $TMPM.3 ; then
-    cat<<END  >>$RECORD
-
---- processed from dmesg -----
-`cat  $TMPM.3`
-------------------------------
- SIL_id=$SIL_id
-
-END
-  fi # TMPM.3
-done  # end of for
-fi # codec_id
-if test -z "$SIL_id" ; then
-  echo " An older ac97_modem codec was not detected.">>$RECORD
-  echo >>$RECORD
-else
-  echo " An ac97_modem codec was detected.">>$RECORD
-fi # SIL_id
-
-# slamr.ko test
-if [ -x /bin/dmesg ] ; then
-  DMESG=/bin/dmesg
-  SLAMR=$(find /lib/modules/ -mindepth 3 -maxdepth 5 -name slamr.* | grep $SYS)
-fi
-
-if test -n "$DMESG" -a -n "$SLAMR" -a -n "$smart" ; then
-   echo > $TMPM
-  $DMESG | grep -v "SmartLink AMRMO modem" | grep slamr > $TMPM
-  ###  typical output
-# slamr: SmartLink AMRMO modem.
-# slamr: probe 8086:24c6 ICH4 card...
-# slamr: mc97 codec is SIL27
-# slamr: slamr0 is ICH4 card.
-  if grep slamr $TMPM >/dev/null ; then
-     SLAMRout=1
-  elif [ "$UID"  = "0" ] ; then
-     /sbin/modprobe -r slamr
-     /sbin/modprobe slamr
-     $DMESG | grep -v "SmartLink AMRMO modem" | grep slamr > $TMPM   
-     if grep slamr $TMPM >/dev/null ; then
-        SLAMRout=1
-     fi 
-  else
-     cat<<END  | tee -a $RECORD
-     
- Please rerun scanModem after login as 
- #  su - root
- WithIn Modem/Slmodem.txt, see the slamr test for an explanation.
-END
-  sleep 3
-  fi   
-  if test -n "$SLAMRout" ; then  
-    echo " ------ dmesg slamr filtered -------">>$RECORD
-    cat $TMPM >>$RECORD     
-    CODEC=`$DMESG | grep slamr | grep codec | cut -d' ' -f5`
-    if test -n "$CODEC" ; then
-    COD=`echo $CODEC | cut -b-3`
-    echo " The softmodem Codec is:  $CODEC">>$RECORD
-    fi
-  fi  
-  $DMESG | grep HSF: > $TMPM
-  if grep HSF: $TMPM>/dev/null ; then
-    $DMESG | grep HSF: >>$RECORD
-  fi
-fi 
-    ##ARCHIVEbegin
-    # Used as backup to a CODEC acquisition
-    rm $TMPM.2 &>/dev/null
-    echo " Checking through information gathered from LinModem ARCHIVES">>$RECORD
-    if  [ "$PCIDEV"  =  "8086:1080" ] ; then
-        cat<<EOF>$TMPM.2
-INTEL537EP 8086:1000 8086:1007 8086:1008 8086:100A 1028:1000
-EOF
-    elif [ "$PCIDEV" = "8086:2416" ] ; then
-    # 8086:2416 82801AA ICHAA 
-      cat<<EOF>$TMPM.2
-CXT 107b:0012
-SIL22 14c0:0012 COMPAL Electronics Inc Smartlink
-EOF
-# cat $TMPM.2
-    elif [ "$PCIDEV" = "8086:2426" ] ; then
-    # 8086:2426 82801AB ICHAB
-      cat<<END>TMPM.2
-SIL21 134d:4c21
-Unknown 107b:9019 Gateway
-END
-    elif [ "$PCIDEV" = "8086:7196" ] ; then
-    # 8086:7196 82440 Banister ICH1
-      cat<<EOF>$TMPM.2
-Unknown 10cf:10d2 Fujitsu Limited
-EOF
-    elif [ "$PCIDEV" = "8086:2446" ] ; then
-    # 8086:2446 82801BA ICH2
-      cat<<EOF>$TMPM.2
-CXT 104d:80df 
-SIL21 10cf:10d2 CitiCorp
-Unknown 1025:1027 Acer 
-EOF
-    elif [ "$PCIDEV" = "8086:2486" ] ; then
-    # 8086:2486 82801CA/CAM AC97 CAM AC'97 ICH3
-      cat<<END>$TMPM.2
-CXT   1668:5421 CXT21, 14f1:5421 MD56ORD V.92 MDC Modem
-SIL27 103b:0757 Tatung Co , 1014:0223 IBM , 1179:0001 , 144d:2115   Samsung, 1014:0227 
-BCM64 14e4:4d64 
-SIL22 14c0:0012 COMPAL Electronics Inc
-Unknown 1558:1800 CLEVO/KAPOK Computer , 104d:813c Sony, CMedia CXT?, 1014:0503
-END
-    elif [ "$PCIDEV" = "8086:24c6" ] ; then
-    # 8086:24c6 82801DB ICH4 AC'97 Modem Controller
-    cat<<END>$TMPM.2
-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
-SIL21 1071:8050  134d:4c21 4c21:5349 1071:8160  1734:1055  
-SIL22 1734:102a  
-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
-BCM64 14e4:4d64  
-SIL24 144f:1050 Askey Comp. with BroadCom, 
-Unknown 104d:816a 1509:2970 
-END
-    elif [ "$PCIDEV" = "8086:24d6" ] ; then
-    # 8086:24d6 82801EB ICH5
-      cat<<END>$TMPM.2
-SIL27 1179:0001  104d:8128
-BCM64 14e4:4d64 
-CXT   103c:006a
-END
-    elif [ "$PCIDEV" = "8086:266d" ] ; then
-      echo " The 8086:266d modems may be supported by hsfmodem OR slmodem-2.9.9c ,but not both" >>$RECORD
-      cat<<END>$TMPM.2
-SIL27 1509:3670
-CXT 14f1:5423 CXT23 no /proc/asound/mc97* ,
-END
-    elif [ "$PCIDEV" = "1039:7013" ] ; then
-    # 1039:7013  SIS 630 
-      cat<<EOF>$TMPM.2  
-SIL27 1043:1736 , 104d:8129 17c0:1059 , 1033:8216 1028:0195
-SIL23 1039:7013
-CXT 104d:814e Sony CXT23, 1043:1816 CXT22
-SIL22 1631:3003  NorthBridge , 1584:4003 ,  1734:105f ,1558:2202 CLEVO/KAPOK Computer: HAMR,http://linmodems.technion.ac.il/archive-fourth/msg01957.html
-SIL21 Pctel 1039:7013 1849:9739  13bd:102f
-Unknown 1019:0a01  1558:4201 , 1509:2470 First Int. Comp. ,  1734:105f with AMD64 processor, 1509:2470 , 1043:1456  Asustek
-EOF
-    elif [ "$PCIDEV" = "1039:7018" ] ; then  
-    # 1039:7018  SIS 960
-      cat<<EOF>$TMPM.2
-none
-EOF
-    elif [ "$PCIDEV" = "10de:01c1" ] ; then
-    # 10de:01c1  Nvidia Corp 
-      cat<<EOF>$TMPM.2
-none
-EOF
-    elif [ "$PCIDEV" = "10de:00d9" ] ; then
-    # 10de:01d9  Nvidia Corp
-     Smart=ALSA
-      cat<<EOF>$TMPM.2
-CXT 1043:1856 Asustek
-SIL27 103c:006d HP ,  
-EOF
-    elif [ "$PCIDEV" = "1106:3068" ] ; then 
-    # 1106:3068  VIA
-      cat<<EOF>$TMPM.2
-SIL27 1102:0033 CreativeLabs , 1025:0046 Acer , 1025:0033 , 1734:1078 
-SIL22 1743:1032 , 10cf:118e , 1734:1054 , 1462:309e , 1631:e004 , 1543:4c22 , 161f:2032 1584:4005 
-SIL21 10cf:118e , 13bd:1022 , 1543:4c21 1071:8375
-CXT 104d:8143 104d:80f6 , 1025:0030 CXT41 ,
-Unknown 1584:4005 Uniwell, 1025:0030 Acer 104d:80f6CXT?
-EOF
-    elif [ "$PCIDEV" = "1022:7446" ] ; then
-    # 1022:7446  AMD AC_LINK
-      cat<<EOF>$TMPM.2
-none
-EOF
-    elif [ "$PCIDEV" = "10b9:5453" ] ; then
-    # 10b9:5453  ALI 5453
-      cat<<EOF>$TMPM.2
-none
-EOF
-    elif [ "$PCIDEV" = "1543:3053" ] ; then
-    # Silicon Inst
-      cat<<EOF>$TMPM.2
-Unknown 1543:3052
-EOF
-    elif [ "$PCIDEV" = "e159:0001" ] ; then
-    # Tiger Jet
-      cat<<EOF>$TMPM.2
-INTEL537 8086:0003
-EOF
-    elif [ "$PCIDEV" = "1543:3052" ] ; then
-    # SILabs  SI3052 
-      cat<<END>$TMPM.2
-none
-END
-    elif [ "$PCIDEV" = "10b9:5457" ] ; then 
-    # 10b9:5457  ALI 5457
-      cat<<EOF>$TMPM.2
-SIL27 1179:0001 , 1033:81f3
-CXT 103c:002a CXT21, 103c:0024 CXT41 ,  103c:0029
-Unknown 0e11:005a 5457 Compaq
-EOF
-    elif [ "$PCIDEV" = "10b9:5459" ] ; then 
-    # 10b9:5457  ALI 5457
-      cat<<EOF>$TMPM.2
-SIL26 10a5:5459   Smart Link Ltd.
-EOF
-    elif [ "$PCIDEV" = "1002:434d" ] ; then
-      # 1002:434d  ATI Technologies Inc:
-      IDENT=ATI
-      Smart=ALSA 
-      ALSA=1002:434d
-      cat<<EOF>$TMPM.2 
-SIL27 103c:006b HP, 1179:0001 Toshiba ,  1025:0052 Acer
-EOF
-    ##ARCHIVEend
-    else
-      cat<<EOF | tee -a $RECORD
- This combination of softmodem controller and Subsystem:
-       Primary   $PCIDEV
-       SubSystem $SUBSYS
- has not been previously reported.
-
-EOF
-    fi
-    # Analysis of Archival info 
-    if test -f $TMPM.2 ; then
-      CODECp=`grep $SUBSYS $TMPM.2 | cut -d' ' -f1`
-      if test -z "$CODECp" ; then
-        echo " Modem codec information on Subsystem $SUBSYS is not in the records.">>$RECORD      
-      elif [ "$CODECp" = "Unknown" ] ; then
-          echo " A codec for this Subsystem record under controller $PCIDEV was not been reported".>>$RECORD        
-        if [ -n "$CODEC" ] ; then 
-         echo " Please report this New assignment to Discuss@linmodems.org : $PCIDEV $SUBSYS  $CODEC" | tee -a $RECORD
-        fi
-      else
-        echo " From prior reports, the modem codec type of the Subsystem is: $CODECp">>$RECORD
-      fi
-    fi 
-
-    # This section compares diagnostis from slamr test and Archival records:
-    if [ -z "$CODEC" ] ; then
-        # echo " Using archived information for soft modem codecs.">>$RECORD   
-        CODEC=$CODECp
-        CODECnone=1
-         COD=`echo $CODEC | cut -b-3`
-    elif [ "$CODEC" = "$ ALG10" ] ; then
-        echo " ALG10 is an audio codec, the modem hardware has not been properly accessed.">>$RECORD
-    elif [ "$COD" = "CXT" ] && [ "$CODECp" = "CXT" ] ; then
-        CODEC=$COD
-        echo " Agreement between slamr diagostic and Archive.">>$RECORD
-    elif [ "$CODECp" = "$CODEC" ] ; then
-        echo " Agreement between slamr diagostic and Archive.">>$RECORD
-    elif ! [ "$CODECp" = "$CODEC" ] ; then 
-         echo " DisAgreement between slamr diagostic and Archive.  Using slamr diagnostic: CODEC=$CODEC">>$RECORD  
-        CODECp=$CODEC
-    else
-        echo "All cases should be covered">/dev/null
-    fi
-
-    # Case by case of CODEC
-    if test -n "$CODEC" && ! [ "$CODEC" = "Unknown" ] ; then 
-      if   [ "$CODECp" = "INTEL537" ] ; then
-         echo   " The modem has an Intel 537 chipset"  | tee -a $RECORD
-        echo  "  Use driver resource Intel-537-MostRecentVersion.tgz" >>$RECORD
-        IDENT=INTEL537
-      elif   [ "$CODECp" = "INTEL537EP" ] ; then
-         echo   " The modem has an Intel 537EP chipset"  | tee -a $RECORD
-        echo  "  Use driver resource Intel-537EP-MostRecentVersion.tgz" >>$RECORD
-        IDENT=INTEL537EP
-      elif [ "$COD" = "CXT" ] ; then
-        CXT=yes
-        Smart=
-       smart=
-       echo " The modem has a Conexant codec: $CODEC" | tee -a $RECORD
-       if test -z "$CNX" ; then
-          echo "   BUT $CNTRL is not yet supported by Linuxant code." | tee -a $RECORD
-       else
-         IDENT=CXT
-          cat<<END | tee -a $RECORD
- and there is support for the modem controller: $CNTRL
- Some Linux Distributions include the hsfmodem driver.
- Search your packages information for "hsfmodem" and "Conexant".
- If not found there, download a hsfmodem package from http://www.linuxant.com .
- For 2.4.n kernels, If there is not an exact match your kernel version: `uname -r`
- then kernel-sources must be prepared as described in Modem/DriverCompiling.txt
- before the hsfmodem driver compiling can be successfull. 
- For recent  kernel-source-2.4.6 ,configuration steps are not necessary.
-END
-         fi
-      elif [ "$CODEC" = "SIL22" ] ; then
-        echo " The Subsystem has the a SmartLink codec" | tee -a $RECORD
-        if [ "$smart" = "may" ] ; then
-          echo " with a supported $PCIDEV modem controller" | tee -a $RECORD
-         IDENT=SMART
-        else
-           echo " but sadly, support is lacking for the $PCIDEV modem controller." | tee -a $RECORD
-        fi
-      elif [ "$CODEC" = "BCM64" ] || [ "$CODEC" = "SIL24" ] ; then
-        IDENT=$CODEC
-        echo " The Subsystem has a Broadcom codec $CODEC" | tee -a $RECORD
-      elif [ "$CODEC" = "INT65" ] || [ "$CODECp" = "SIL25" ] ; then
-        IDENT=$CODEC
-        Smart=yes
-              cat<<END>>$RECORD
-              
- The Subsystem has the INTEL codec $CODEC             
- The Intel_secure-537AA driver and possibly the SmartLink driver support the modem.
- Details below and read Modem/Slmodem.txt
-END
-      elif [ "$CODEC" = "SIL24" ] || [ "$CODEC" = "SIL26" ] ; then
-        echo " The Subsystem has a Broadcom codec $CODEC" | tee -a $RECORD
-       IDENT=SMART
-      elif [ "$CODEC" = "SIL21" ] ; then
-        IDENT=Smart
-        echo " The Subsystem has a PCTel codec $CODEC" | tee -a $RECORD        
-       if [ "$MAJOR" = "2.4" ] ; then
-         IDENT=PCTEL
-         echo "The pctel-0.97 drivers may support this modem.">>$RECORD
-       fi
-      elif [ "$CODEC" = "SIL23" ] ; then
-         IDENT=Smart
-         echo " The Subsystem has Silicon Integrated Systems (SiS) codec $CODEC" | tee -a $RECORD      
-      elif  [ "$CODEC" = "SIL27" ] ; then
-        echo " The Subsystem has an Agere Systems codec $CODEC" | tee -a $RECORD
-       if [ "$MAJOR" = "2.4" ]  && [ -n "$AGR" ] ; then
-         IDENT=AGR
-         echo " Under 2.4.n kernels, there are AgereSoftModem drivers">>$RECORD        
-       else
-         IDENT=Smart
-       fi
-      else
-         echo " Please report this new SIL type to Discuss@linmodems.org "
-      fi 
-      if [ "$smart" = "may" ] && ! [ "$COD" = "CXT" ] && ! [ "$IDENT" = "ATI" ] ; then
-        Smart=may
-        echo " SmartLink software should support this modem">>$RECORD
-       if [ "$CODEC" = "BCM64" ] ; then
-         Smart=ALSA
-         echo " Only the SmartLink slmodem-2.9.9d-alsa software supports this modem">>$RECORD
-       fi
-      fi      
-    else
-      echo " There are the following routes toward support:">>$RECORD
-      echo "   Follow instructions in Modem/SoftModem.txt for identifying the modem under a Microsoft boot.">>$RECORD
-      if [ "$smart" = "may" ] ; then
-       if [ "$DISTR" = "SuSE" ] && [ "$MAJOR" = "2.6" ] ; then
-         cat<<END | tee -a $RECORD
-         
- SuSE has a slamr driver.  Please run the diagnostic:
- # su - root
- # modprobe slamr
- # dmseg | grep slamr
- and report the results to discuss@linmodems.org.  
- Read Modem/Slmodem.txt for details.
-END
-        else
-          echo "       Read Modem/Slmodem.txt instruction for doing the slamr diagnostic.">>$RECORD
-       fi
-      fi
-      if test -n "$CNX" ; then
-         echo "  Test the effectiveness of the hsfmodem package from http://www.linuxant.com/drivers/hsf/index.php.">>$RECORD
-      fi
-    # Distro specific issues
-      if [ "$DISTR" = "debian" ]  ||   [ "$DISTR" = "Ubuntu" ]   ||  [ "$DISTR" = "knoppix" ] && ! [ "$IDENT" = "ATI" ] ; then
-       cat<<END>>$RECORD
-
- The $DISTR Linux includes sl-modem packages with Smartlink drivers
-   Install the kernel-headers-$SYS.deb
-   If necessary, set a symbolic link needed for slmodem compiling:
-     # ln -s /usr/src/kernel-headers-$SYS /lib/modules/$SYS/build
-     as described in Modem/DriverCompiling.txt
-   Then install the two sl-modem/slmodem packages and follow their directions.
-   Thereafter the above slamr diagnositic can be run.
-
-END
-      elif [ "$DISTR" = "SuSE" ] && ! [ "$PCIDEV" = "1002:434d" ] && ! [ "$CODECp" = "CXT" ] && !  [ "$CODECp" = "BCM64" ] ; then
-           cat<<END>>$RECORD
-           
- Install kernel-source package, the slmodem and km_slmodem packages.
- If necessary, set a symbolic link needed for slmodem compiling:
- # ln -s /usr/src/linux-$SYS /lib/modules/$SYS/build
- Then install the packages and compile the drivers.
- The compiling process is described in:
-   http://linmodems.technion.ac.il/archive-fourth/msg00176.html
-
-END
-      elif [ "$DISTR" = "Mandrake" ] && [ "$MAJOR" = "2.6" ] ; then
-       cat<<END>>$RECORD
- Current Mandrake installations have slmodem packages.    
- http://linmodems.technion.ac.il/packages/smartlink/
-
-END
-      else
-        echo  Leaving space for expansion >/dev/null
-      fi # Distros specific
-    fi # CODECnot 
-  fi # soft
-  echo >$TMPM.2
-  if test -z "$IDENT" ; then
-    cat<<END>$TMPM.2
- 4005:0308  Avance ALS-300plus sound+softmodem combo PCI card (obsolete).
- 1055:9178  STANDARD_MICROSYSTEM
- 10b9:545a  ALI545A SL1801
- 10b9:5459  ALI 5459 SmartPCI561
- 10b9:5459  Subsystem: 10a5:5459  ALi Corporation SmartLink SmartPCI561 56K Modem (NetoDragon)
- 10ec:8197  PCI SmartLAN56 (RealTek ether/modem combo)
- 1131:3400  SmartPCI56 (Philips UCB1500)
- 10a5:3052  Racal Interlan SL1900
- 10a5:5459  Racal Interlan SmartPCI561 SL1900
- 163c:5459  SmartLink SmartPCI561 SL1900
- 2000:2800  Gateway SL2800
- 2003:8800  SmartLink  SL2800
-END
-  fi
-  # marv
-  if grep $PCIDEV $TMPM.2>/dev/null  ; then
-    IDENT=SMART
-    SMT=`grep $PCIDEV $TMPM.2`
-    cat<<END | tee -a $RECORD
-
- SmartLink drivers support this modem:
-   $SMT
-END
-    if [ "$PCIDEV" = "2003:8800" ] ; then
-      echo " But version slmodem-2.9.10 or later is necessary." | tee -a $RECORD
-    fi
-  elif [ "$Vendor"  = "11c1" ] ; then
-    IDENT=AGERE
-  elif [ "$Vendor" = "115d" ] ; then
-    IDENT=XIRCOM
-  elif [ "$v" = "127a" ] ||  [ "$v" = "14f1" ] ||  [ "$v" = "148d" ] || [ "$PCIDEV" = "158b:0001" ] || [ "$PCIDEV" = "158b:0005" ] || [ "$PCIDEV" = "158b:0015" ]  ; then 
-    IDENT=CXT
-    # Intel 536EP & 537 secton
-  elif [ "$PCIDEV" = "e159:0001" ] && [ "$SUBSYS" = "8086:0003" ] ; then
-    echo "     Use driver resource Intel-537-MostRecentVersion.tgz">>$RECORD
-    IDENT=INTEL537
-  elif [ "$PCIDEV" = "8086:1040" ] ; then
-    if [ "$SUBSYS" = "8086:1005" ] ; then
-      echo SUBSYS=$SUBSYS
-      echo "   Use driver resource Intel-537SP-MostRecentVersion.tgz">> $RECORD
-      IDENT=INTEL537SP
-    fi
-    if [ "$SUBSYS" = "8086:1000" ] ; then
-      IDENT=INTEL536ep
-      echo " Use driver resource Intel-536ep-MostRecentVersion.tgz ">>$RECORD
-      # no SMP      http://linmodems.technion.ac.il/archive-third/msg00855.html
-    fi
-  elif grep $PCIDEV Modem/SoftModem.txt >/dev/null && $LSPCI -v 2>/dev/null | grep "Intel 537" >/dev/null ; then
-   # 1st line, because of mistakes in the PCI id databset
-    echo "     Due to a PCI ID database error, the Intel 537 designation is commonly incorrect." | tee -a $RECORD
-    AMBIG=537
-  else
-    echo No definitive Intel 537 soft modem>/dev/null
-  fi
-  echo $IDENT >$TMPM
-
-  echo > $TMPM.soft
-  if test -z "$IDENT" ; then
-  # Special cases
-   if $LSPCI -v 2>/dev/null | grep CM8738 >/dev/null ; then
-     IDENT=CM8738
-   elif $LSPCI -v 2>/dev/null | grep "Intel 536"  >/dev/null ; then
-   # because Intel 536 may have PCI_IDs assigned by modem assemblers, not Intel
-     IDENT=INTEL536ep
-   elif $LSPCI -v 2>/dev/null | grep "Subsystem: Conexant" >/dev/null ; then
-   # because the PCI_IDs may be assigned by modem assemblers, not Conexant
-     IDENT=CXT
-   else
-     echo "probably not a Conexant modem" >/dev/null
-   fi
-   
-      if $LSPCI -v 2>/dev/null | grep "Smart Link HAMR5600"  >/dev/null ; then
-       # because the PCI_IDs may be assigned by modem assemblers, not SmartLink
-       #  and mistakes in the PCI ID database
-       AMBIG=$AMBIG" HAMR5600"
-       #XX some misidentified softmodem
-      fi
-    fi 
-  
-    if test -z "$IDENT" ; then
-      AMBIG=
-      cat<<END>>$RECORD
-      
- Information on several modem chipset providers is provided below,
- because ambiguities remain on the correct choice of supporting software.
-            
-END
-    fi
-    PRIMARY=
-    if test -n "$SOFT" ; then
-      VEND="$SUBven $Vendor"
-      if [ "$Vendor" = "$SUBven" ] ; then
-        VEND=$Vendor
-      fi
-    else
-      VEND="$Vendor"
-      # SUBven not important if not softmodem
-    fi
-    for v in $VEND
-    do
-      echo " == Checking PCI IDs through modem chip suppliers ==">>$RECORD 
-
-    if [ "$Vendor" = "1002" ] && ! [ "$ATI" = "done" ] ; then
-        ATI=done
-       smart=1
-      cat<<END>>$RECORD
-
- Vendor 1002 is ATI Technolgies, http://www.ati.com, producing video cards, motherboard and
- a 1002:434d  ATI soft modem controller with a variety of Subsystems.
-  There is a modem driver, snd-atiixp_modem.ko , becoming available through http://www.alsa-project.org ,
- with complementary port creation through the SmartLink slmodem-2.9.9d-alsa
- For history see:  http://website.lineone.net/~bryanrpoole/atiixp-modem.htm
- For details on setup and testing, see Modem/ATI.txt
-END
-    fi
-    if [ "$Vendor"  = "151f" ] ; then
-      IDENT=Topic
-      cat<<END>>$RECORD
-      
- Vendors $v is TOPIC SEMICONDUCTOR Corp.
- Class 0780 151f:0000 is a controller chipset modem using the standard drivers.
- See http://www.math.sunysb.edu/~comech/tools/PCImodems.html
-
-END
-    fi
-    if [ "$v" = "10de" ] ; then
-      cat<<EOF>>$RECORD
-      
- Vendor 10de is Nvidia, producing the video cards and 
- two softmodem controllers: 10de:01c1 and 10de:00d9
- For subsystems with SILnm codecs,
-     slmodem-2.9.n software in ALSA mode provides support.
-      
-EOF
-    fi 
-    if [ "$PCIDEV" = "10de:00d9" ] ; then 
-       cat<<EOF>>$RECORD
-       
- 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.   
- After installation of the software, an edit may be necessary in the file:
-   /usr/lib/hsfmodem/mod_mc97ich.c
- Search for "0x01C1" , which will reveal a line beginning:
-    { 0x10DE, 0x01C1, PCI_ANY_ID,  PCI_ANY_ID,   
- and change to: 
-    { 0x10DE, 0x00D9, PCI_ANY_ID,  PCI_ANY_ID,    
-    
-EOF
-    fi    
-    if [ "$v" = "e159" ] ; then
-      cat<<END>>$RECORD
-
- Vendor $v is Tiger Jet (TJ).
-  $v:0001  translates PCI commands to the serial link used by
-     the silabs DAA from the si3034, si3044 and si3056 family.
-  $v:0001  8086:0003  TJ320 v2.0 , with subsystem 8086:0003 is an Intel-537 soft modem
-     supported by:  Intel-537-MostRecentVersion.tgz
-  $v:0001  0359:0003  TJ320 v3.1
-
-END
-    fi
-    if [ "$v" = "1106" ]  ; then
-      VIA=1
-      cat<<END>>$RECORD
-
- Vendor $v is VIA  Technologies Inc.,producing diverse bridges including devices:
-    1106:3068    VT82C686/686A/686B AC97 Modem Codec
- Under the later, the  10cf:118e  the "Intel 537" is partially supported
-   by the SmartLink slmodem-2.7.10 software
-    Subsystem 1102:0033 has an AgereSystems soft modem chip
-
-END
-    fi
-    if [ "$v" = "13f6" ] ; then
-      PCTEL=13f6
-      cat<<END>>$RECORD
-
- Vendor $v is C-Media Electronics, which produced modem:
-     13f6:0211  C-Media Electronics Inc CM8738,
-     13f6:0211  subsystem HSP56 Audiomodem Riser
- supported under 2.4.n kernels by PCTEL software.
- BUT there is no support under 2.6.n kernels.
-
-END
-    fi
-    if [ "$v" = "14e4" ] || [ -n "$BRD" ] ; then
-      cat<<END>>$RECORD
-
- Vendor 14e4 is BroadCom 
-   14e4:4212   is a  BCM V.90 56k modem
- There is a driver for 2.2.n kernels called  BCOM_WAN_V20.
-    Search for it at http://www.dell.com 
- However the code has not been updated for some time.
- For  2.4 kernels, fix by Giacomo Comes must be used. See :
-   http://linmodems.technion.ac.il/archive-third/msg01652.html
- When serving under softmodem controllers like the Intel ICH series,
- the Broadcom Subsystem 14e4:4d64 has mc97 codec BCM64.
- For 2.6.n kernels, see success reports:
-   http://linmodems.technion.ac.il/archive-fourth/msg03690.html
-   http://oboc.ucdavis.edu/Marik/inspiron/ 
-   The support is achieved through a combination of:
-   1) the snd-intel8x0m.ko of 2.6.n kernel releases, which provides a low level interface with the modem;
-   2) an slmodemd daemon which creates ports and provides higher level functions.
-   Get the slmodem-2.9.9d-alsa.tar.gz from  http://linmodems.technion.ac.il/packages/smartlink/
-   To compile the slmodemd, it is first Necessary to install a libasound2-dev package, providing alsa headers.
-   3) After compilation and installation of slmodemd, initiate service with:
-   # modprobe  snd-intel8x0m
-   # slmodemd --alsa --country=YOURCOUNTRY hw:1
-   Read the slmodem documentation for details and Modem/Slmodem.txt
-
-END
-    fi
-    if [ "$v" = "104d" ]; then
-      cat<<END>>$RECORD
-
- Vendor 104d is Sony. Subsystem 104d:8129 under a 8086:2486 Intel modem controller
- has a Conexant chip in a Sony Vaio grx560 laptop. 
- A bootup "acpi=on" was required for IRQ acquisition.
-END
-    fi
-    if [ "$v" = "1039" ] ; then
-      echo " Vendor $v is SiS, Silicon Integrated System, producing  soft modem controllers and subsystems.">>$RECORD
-    fi
-    if [ "$v" = "1014" ] ; then
-      echo Vendor=1014 is IBM.>>$RECORD
-      if test -n "$SOFT" ; then
-        cat<<END>>$RECORD
-
- Some thinkPad laptops have soft modem Subsystems with AgereSystems codec: 1014:0227 and 1014:0524. 
- Software access is through IBM:
-       http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
-END
-      fi
-    fi #beginESS
-    if [ "$v" = "125d" ] ; then
-      IDENT=ESS
-      cat<<END>>$RECORD
-
- Vendor=$v is ESS Technologies, making devices:
- There has been no formal support for Linux since kernels 2.2.2
- Some kludges are of fading utility as the 2.4.n Linux kernels and hardware evolves:
-   http://linmodems.technion.ac.il/archive-fourth/msg00317.html   (2004Feb08)
-   http://andrew.cait.org/ess/
-   http://sidlo.penguin.cz/ES2838/index_en.html
-   http://tx.technion.ac.il/~raindel/
-   http://phep2.technion.ac.il/linmodems/archive/msg04424.html
-      
- There is no hope for support under 2.6.n kernels.
-
-END
-    fi
-    if [ "$v" = "1025" ] ; then
-      cat<<END>>$RECORD
-
- Vendor=$v is Acer, http://global.acer.com/ PC and latop manufacturer with devices including:
-  1025:5453   M5453 AC-Link Controller Modem Device
-  1025:0038   an AC97 link modem.
-
-END
-    fi
-    # beginMotorola
-    if [ "$v" = "1057" ] || [ "$v" = "11d4" ] ; then
-      IDENT=Motorola
-      cat<<END>>$RECORD
-
- -----------------------------
- Vendor=1057 is Motorola with service provided through vendor=11d4 Analog Devices Inc.
- Installers are available at: http://www.motorola.com/softmodem/sm56_download.htm
-as RPM packages containing binary images of drivers 
-applicable for installation on the following systems:
-* RedHat 7.3 (kernel version 2.4.18-3, sm56-06.05.00-1.rh7.i386.rpm)
-* RedHat 8.0 (kernel version 2.4.18-14, sm56-06.05.00-1.rh8.i386.rpm)
-* RedHat 9.0 (kernel version 2.4.20-8, sm56-06.05.00-1.rh9.i386.rpm)
-* Mandrake Linux 9.2 (kernel version 2.4.22-10mdk, sm56-06.05.02-1.mdk.i586.rpm)
-* Mandrake Linux 10.0 (kernel version 2.6.3-7mdk, sm56-06.05.02-2.mdk10_263-7.i586.rpm)
-* Suse Linux 9.0 (kernel version 2.4.21, sm56-06.05.02-1.suse90-020421-99.athlon.rpm)
-* Suse Linux 9.0 (kernel version 2.4.21, sm56-06.05.02-1.suse90-020421-99.i586.rpm)
- There is also available a Legacy driver - SM56_5.1_I386.rpm for 2.4.n kernels ONLY
- for which the advice at http://www.sm56.tk/ may be effective.
- Jan Ibanez  <jmibanez@gmail.com> is our expert on Motorola problems
- Achieving function with these drivers is often difficult.
- If you computer alternatively boots Linux and Microsoft OS,
- do a complete PowerOff before starting Linux. 
- Otherwise there may be an error during following Motorola usage:
-     SM_DisplayFatalError
-
- Some guidance for particular cases is:
-   http://linmodems.technion.ac.il/archive-fourth/msg01751.html
-   http://linmodems.technion.ac.il/archive-fourth/msg01749.html
-   http://linmodems.technion.ac.il/archive-fourth/msg01750.html
-   http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:13952:200405:enbjmmngagmdejkemacc
-   http://users.volja.net/kutulu/sm56.tar.gz
- There is a volunteer Motorola site: http://www.sm56.tk/
- The installation creates a driver sm56.o , the character devices
-      /dev/motomem
-      /dev/sm56
-         with symbolic link  /dev/modem --> /dev/sm56
-  the /etc/modules.conf lines:
-      alias char-major-24 sm56
-      options sm56 country=1
-  and documentation in  usr/share/doc/HTML/en/sm56/  and "man sm56"
-  An additional line in /etc/modules.conf
-      alias /dev/modem /dev/sm56
-  would beneficially aid driver autoloading, without which there may be a failure of the wvdial functionality test:
-  # /etc/wvdialconf /etc/wvdial.conf
- --------------------------------- End Motorola ------------------
-
-END
-    fi # begin3com
-    if [ "$v" = "10b7" ] || [ "$v" = "12b9" ] ; then
-      smart=
-      IDENT=3COM
-      cat<<END>>$RECORD
-
- 10b7 is 3COM
-       :1006    0038TA <- AC101 - TF Mini-PCI 56K V.90 WinModem  no Linux support
-       :1007    3C556 V.90 Mini-PCI    WinModem  no Linux support
- 12b9 is US Robotics. acquired by 3COM
-       :0062    erk41926a-0.6 usr 56k internal modem
-       ;1006    3cp803598  Voice          WinModem  no Linux support
-       :1007    ERL3263A-0 DF GWPCI PC99  WinModem  no Linux support
-       :1008    3cp803598  is Supported by the standard:  serial.o
- The following may be supported  by Conexant drivers at   http://www.linuxant.com
-   14f1:2f12 (3COM/USR model 3094-3095)
-   14f1:2f13 (USR OEM)
-   14f1:2f14 3COM/USR
- though they carry USR labels.
-
-END
-    fi
-    if [ "$v" = "1543" ] ; then
-echo >>$RECORD
-echo  "Vendor 1543 is Silicon Laboratories (SIL).  SIL produces "blanks" for soft modem Subsystems"  >>$RECORD
-echo  which subsequent acquire the Subsystem PCI ID from the final Subsystem assembler. >>$RECORD
-echo  Subsystems for soft modems are also produced. >>$RECORD
-echo >>$RECORD
-    fi    
-    if [ "$v" = "10b9" ] ; then
-          cat<<END>>$RECORD
-
- Vendor 10b9 is Acer Labs, producing highly integrated motherboards and Ali components.
- The tight integration unfortunately ofter blocks identification of the modem chipset.
- Desired information may be gained by using a COMM console under MS Windows,
-   and using ATI commands to elicit chipset and driver information.
- 10b9:5450  ALI 5450 and  10b9:5451  ALI 5451 are controllers for unsupported "sound  modems"
-END
-      if [ "$Device" = "545a" ] || [ "$Device" = "5459" ] ; then
-        cat<<END>>$RECORD
- $PCIDEV ALI545A SL1801 and $PCIDEV  ALI 5459 SmartPCI561 have SmartLink chipsets.
-
-END
-      fi
-
-      if [ "$Device" = "5457" ] || [ "$Device" = "5459" ] ; then
-       cat<<END>>$RECORD
-
- These messages may aid setup of soft modems under $v:M5457 controllers:
-   http://linmodems.technion.ac.il/archive-third/msg02518.html
-   http://linmodems.technion.ac.il/archive-third/msg02100.html
- The slmodem-2.9.9 support was developed for $v:5459,
-   but there a range of reports the related $v:5457 modemd controllers:
-     fully functional;
-     functional only after a power on reboot from Microsoft windows;
-     hang/crash upon initiation of modem usage.
- 10b9:5457   Modem: ALi Corporation [M5457 AC-Link Modem] 
- SubSystem 1179:0001   Toshiba America Info Systems: Unknown device 0001
- has an AgereSoftModem chip which may be supported by the Smartlink slmodem-2.9.9 driver 
-     
-END
-      fi
-    fi # beginPctel
-
-    if ! [ "$PCTEL" = "DONE" ] ; then
-      if [ -z "$IDENT" ] || [ "$IDENT" = "PCTEL" ] || [ "$IDENT" = "CM8738" ] ; then
-        if [ "$v" = "134d" ] || [ "$v" = "134c" ] || [ -n "$CM8738" ] || [ "$PCTEL" = "13f6" ] || [ "$CODECp" = "SIL21" ] ; then
-         if [ "$CODECp" = "SIL21" ] ; then
-            cat<<END>>$RECORD
-
- For Pctel AMR under $CNTRL,
- the SmartLink slmodem-2.9.n  software can serve.
- The advantage is current updates, extending into the 2.6.n kernels.
-
-END
-              smart=1
-          fi
-         echo " Read ModemData.txt  and Pctel.txt in the new sub-folder Modem/" | tee -a $RECORD
-         if [ "$PCIDEV" = "134d:2189" ] ; then   
-            echo " The 134d:2189 is a PCTel 688T modem which is currently NOT supported see:" >>$RECORD
-            echo "     http://linmodems.technion.ac.il/archive-fifth/msg00057.html" >>$RECORD      
-         fi
-                  cat<<END> Modem/Pctel.txt
-
- Vendor=134d is PCTel and Vendor=134c is Chori Joho System Co. Ltd, 
- producing idenitcal devices including deviceIDs. For supported PCtel modems
-  The PCTel Inc., modem sector has been sold to Conexant. 
-  Thus official updates for Linux support are unlikely!!
-  
-  Through volunteer efforts, there are  code releases are at 
-      http://linmodems.technion.ac.il/pctel-linux .
-  Download the pctel-0.9.7-9.tar.gz
-  Do the following preliminary steps:
-         Unpack with command :       tar zxvf pctel-0.9.7-9.tar.gz
-       Change directory:                 cd pctel-0.9.7-9
-       Read README file                   less README   (space bar goes to next page)
-       Is a compiler installed?  Test with:           gcc 
-       If not found, install it from your Linux distribution.
-       Become root:               su  root
-       Seeing lspci?                    lspci    
-         If not, install the package   pciutils .
-       Now you can follow instructions in README
-      
-  For guidance on compiling and installing the pctel drivers, read the  PCTel minHOWTO: 
-      http://www.peacefulaction.org/sayamindu/docs.php
-  and the remainder of this file
-
- The ISA card pct388p modem is not supported by the current driver series see:
-       http://linmodems.technion.ac.il/archive-fifth/msg00166.html
- The PCI ID 134d:2189 modem is a PCTel 688T modem which is currently NOT supported see:
-     http://linmodems.technion.ac.il/archive-fifth/msg00057.html 
- There are No success reports under current 2.6.nn kernels using PCTel code,
-   though volunteer efforts are in progress to achieve support under 2.6.n kernels.
- The slmodem Smartlink code can however support the AMR PCtel modems under 2.4.n and 2.6.n kernels.
- During PCtel code installations, the node made is character device /dev/ttyS15  c 62 69
- Check with:
-     ls -l dev/ttyS15
-     
- There is a pre-compiled binary component in the Pctel code which was assembled with a gcc 2.95 compiler
- A consequence is the loading fails under kernels compiled with gcc 3.n , unless forcing (-f) is used:
-       # insmod -f pctel
-        # insmod ptserial
-This can be automated by adding the following lines to /etc/modules.conf
-####### for pctel modem ######
-alias char-major-62 pctel
-alias /dev/modem ptserial
-install pctel /sbin/insmod "-f" "pctel"
-post-install pctel /sbin/insmod ptserial
-
-# country code for pctel modem, for USA
-options ptserial country_code=1
-######## pctel end ####
-
-then run:
-# depmod -a
-to inform the System and thereafter
-# modprobe ptserial
-will load both drivers,
-
- For some Systems, PCTel function requires disablement of apmd power monitoring function.
-
- System problems of various severity have been reported after modem usage.
- These may be alleviated by the following steps after a modem usage session.
- Log into a console as:
- # su - root
- # lsmod 
- to display loaded modules.
- # modprobe -r ptserial
- # lsmod
-
- For a case of a 134d:7897 modem on a VIA686 motherboard PCTEL drivers compiled with
-     hal=via686
-  did NOT provide effective drivers while the drivers were effective when compiled with
-     hal=pct789 
-     
- For pctel-0.9.7-9 with variant hal=via686a, a fix is needed:
-   # cd src
-   # make clean
-   # ./configure -auto
-Search the Makefile for a line containing DAUDIO.  Edit that line into:
-   AUDIOROUTING=-DVIA
-Then:  
-   # make
-   # make install
-    
-END
-        fi
-      PCTEL=DONE
-     fi
-    fi # IDENT
-    
-    if [ "$v" = "158b" ] ; then
-      cat<<END>>$RECORD
-
- echo Vendor 158b is Allied Data Technologies, http://
- 158b:0001 and 158b:0005 have Conexant HSF chipsets.
- 158b:0015 has a Conexant HCF chipset.
- There are 158b:xxxx modems with the Intel 536ep chipset.
-
-END
-    INTEL536ep=1
-    fi
-    if  [ "$v" = "1013" ] ; then
-      cat<<END>>$RECORD
-
- There is no CURRENT SUPPORT for the Vendor=1013 chipsets of CML, Cirrus Logic Modems,
-  with modem business acquired by Intel, Inc.
- See message: http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:9448:200210:fbhcoigfcimgkjdedjad
-
-END
-    fi
-    if [ "$v" = "1813" ] ; then
-      cat<<END>>$RECORD
-
- Vendor=1813 Ambient Tech was acquired by Intel with its HaM (Host assisted Modem) chipsets.
- Intel-v92ham-453.tgz ifor 2.4.n kernels is FINAL update for HaM modems, available at:
-    http://linmodems.technion.ac.il/packages/Intel/ham/ 
-    http://developer.intel.com/design/modems/support/drivers.htm
-    It is NOT functional when compiled under 2.6.n kernels and will NOT be updated to support
-    the 2.6.n kernels, Intel maintainer Dorian Araneda has reported.
- But under the 2.4.nn kernels, all HaM chipsets are supported,
-     with a single EXCEPTION: the odd PCI_ID 1813:4100 modems.  For the explanation, see message:
-     http://linmodems.org/cgi-bin/ezmlm-cgi?1:mss:9448:200210:fbhcoigfcimgkjdedjad
-
-END
-    fi 
-    # beginCXT
-    if test -z "$Dcnx" ; then 
-      Dcnx=done
-      echo "148d 158b 141a 127a 14f1 1024" > $TMPM
-      # hcfpciconfig
-      if [ "$IDENT" = "CXT" ] || grep $v  $TMPM >/dev/null  ;  then
-         # Conexant HSF, adapted from www.linuxant.com   HSF page
-cat<<END>$TMPM
-
-   HSFi tyes
- -----------
- 14f1:2f00, Subsystem ID 2002:14f1
- 14f1:2f00, Subsystem ID 2003:14f1
- 14f1:2f00, Subsystem ID 2004:14f1
- 14f1:2f01
- 14f1:2f02
- 14f1:2f03
- 14f1:2f04
-  
-   HSF types
- ----------
- 14f1:2013
- 14f1:2014
- 14f1:2015
- 14f1:2016
- 14f1:2f10
- 14f1:2f11
- 14f1:2f12
- 14f1:2f13
- 14f1:2f14
- 14f1:4311 (RIPTIDE - sound not supported)
- 127a:2013
- 127a:2014
- 127a:2015
- 127a:2016
- 127a:4311 (RIPTIDE - sound not supported)
- 127a:2114
-
- Basic2 / SmartDAA types
- --------------------------
- 14f1:2043
- 14f1:2044
- 14f1:2045
- 14f1:2046
- 14f1:2443
-
-  Athens (Yukon)
- -----------------
- 14f1:1631
- 14f1:1636
- 14f1:1637
-
- 8086:2486 104d:8129 SoftK56 CModem in a Sony Vaio grx560 laptop required a bootup "acpi=on" for IRQ acquisition.
-END
-
-if [ "$PCIDEV" = "14f1:2f00" ] ; then
-  echo $Vendor:2002 > $TMPM.0
-  echo $Vendor:2003 >> $TMPM.0
-  echo $Vendor:2004 >> $TMPM.0
-#  cat $TMPM.0
-  if grep 14f1:2f00 $TMPM | cut -dD -f2- | grep -f $TMPM.0 >/dev/null ; then
-    HSF=1
-  fi
-fi
-if grep $Vendor $TMPM >/dev/null ; then
-  grep $Vendor $TMPM > $TMPM.1
-  if grep $Vendor:$Device $TMPM.1 >/dev/null ; then
-    HSF=1
-  fi
-fi
-if test -n "$HSF" ; then
-   echo "  $PCIDEV is a Conexant HSF modem." | tee -a $RECORD
-fi
-# END Conexant HSF
-# the four set  127a,14f1:1025,2005 can be HCF and HSF and are included in the following HCF section
-
-# www.linuzant.com HCF page adaptation
-cat<<END>$TMPM
-# Vendor:-------devices-----  of HCF List
- 127a:1002:1003:1004:1005:1006 (71DP v90)
- 14f1:1002:1003:1004:1005:1006 (71DP v90)
- 127a:1022:1023:1024:1026
- 14f1:1022:1023:1024:1026
- 127a:1025:1085:2005 (if it doesn't work: try HSF driver)
- 14f1:1025:1085:2005 (if it doesn't work: try HSF driver)
- 127a:2004:2006
- 14f1:2004:2006
- 127a:1032:1033:1034:1035:1036
- 14f1:1032:1033:1034:1035:1036
- 127a:14f1:4321 (RIPTIDE)
- 14f1:10b3:10b4:10b5:10b6
- 127a:1802:1804:1805 (LAN/Modem combo)
- 14f1:1813:1815 (LAN/Modem combo)
- 14f1:1f10:1f11:1f14:1f15
- 14f1:1053:1054:1055:1056 (Smart HCF board rev 3)
- 14f1:1052:1057:1059 (Smart HCF board rev 4)
- 14f1:1063:1064:1065:1066 (Smart HCF US-only: Dell)
- 14f1:1453:1454:1455:1456 (Smart HCF mini-PcI board rev 3)
- 14f1:1452:1457:1459 (Smart HCF mini-PcI board rev 4)
- 1024:1024 (Zenith Data Systems)
- 148d:1003 (DIGICOM Systems)
- 158b:0015 (Allied Data Technologies Tornado VfM56x-PRc)
- 141a:1035 (Apache Micro)
-
-END
-if grep " $Vendor:" $TMPM >/dev/null ; then
-  grep " $Vendor:" $TMPM > $TMPM.1
-  if grep :$Device $TMPM.1>/dev/null ; then
-  #for the four set  127a,14f1:1025,2005
-    if grep $Vendor:1025:1085:2005 $TMPM.1 >/dev/null ; then
-       echo " $PCIDEV could be either an HSF or an HCF Conexant modem" | tee -a $RECORD
-    else
-       echo "  $PCIDEV is a Conexant HCF modem." | tee -a $RECORD 
-    fi 
-  fi 
-fi
-          cat<<END>>$RECORD
-
- Vendors 127a and 14f1 are Conexant, inheritor of  Rockwell modem  technology. There are also Conexant chipsets
- in some modems from vendors 158b - Allied Data Tech., 1024 - Zenith ,141a - Apache Micro and 148d Digicom Systems.
- With respect to software support there are two main types, hcfpcimodem* and hsfmodem* .
- Download drivers from http://www.Linuxant.com/drivers/
- At   http://linmodems.technion.ac.il/resources.html#conexant  , there are scripts aiding installation:
-      For HSF modems.
-      For HCF modems.
- There is additional Conexant information written to Modem/Conexant.txt 
-END
-   cat<<END> Modem/Conexant.txt 
-   
-  Linuxant Inc.  provides Linux drivers for Conexant chipset modems
-  Go to http://www.linuxant.com/drivers
--Find the HCF or HSF menu in the left part of the screen.
--Read README.
--Read INSTALLATION.
--Click DOWNLOAD.
--Accept conditions.
--Find text: "You can download HCF (or HSF) modem packages from the driver
-            download page." and click there.
--Look for your distribution, your processor, and your kernel.
--Download the matching file.
--Read again and, if you do this under Windows, print the installation
- instructions matching the kind of driver file which you downloaded.
--Now just follow these instructions.
-
-http://www.linuxant.com/drivers/hsf/downloads-patches.php has patches
-    that may be necessary for recent kernels. 
-
- A detailed software installation example is provided at:
-   http://linmodems.technion.ac.il/archive-fourth/msg00350.html
-   
- The HCF (Host Controller Free) modems which have a digital signal processsing (DSP) chipset,
- while the HSF in the soft modem family without a DSP.
- HSF support is included with SuSE 9.0 and later releases
- Modems with the following PCI_IDs also have Conexant HCF (Controller free) chipsets.
-  1024:1024 (Zenith Data Systems)
-  148D:1003 (DIGICOM Systems)
-  158B:0015 (Allied Data Technologies Tornado  VFM56x-PRC)
-  141A:1035 (Apache Micro)
- The following six may be either HCF of HSF modems. Test the HSF package first
-  (127a,14f1):(1025,1085, 2005)
-  Should a HCF driver installation fail to serve among there,
-  then uninstall and instead try the HSF driver resource.
- Subsystem HSF Conexant soft modems serve under AC97 or MC97 controllers. These include:
-  14f1:(5422 2002) , plus many others with vendors assigned PCI IDs.
- After loading of HSF drivers, there will be displayed by command: /sbin/lsmod
-Module                  Size  Used by    Tainted: P
-hsfich                119116   0  (autoclean)
-hsfserial              26388   0  (autoclean)
-hsfengine            1126348   0  (autoclean) [hsfserial]
-hsfosspec              35328   0  (autoclean) [hsfich hsfserial hsfengine]
-     plus many others not modem related.
- While drivers are pre-compiled for some Linux distributions,
-   the installation of the HCF/HSF packages DOES in general require kernel-source/ preparation,
-   as described in Modem/DriverCompiling.txt.
-   
- There is a conflict between modules snd-intel8x0m and  hsfmc97ich.
- The snd-intel8x0m Must be loaded first or the system may hang upon hsfmc97ich insertion.
-      http://linmodems.technion.ac.il/archive-fourth/msg03027.html
-      
- A post install suggestion for adjusting PCI latency is:
-         http://phep2.technion.ac.il/linmodems/archive/msg05210.html
-
-END
-      fi 
-    fi # cnxt # beginIntel
-
-    echo $IDENT>$TMPM
-    if [ -z "$Dintel" ] ; then
-      if grep INTEL $TMPM >/dev/null || [ "$v" = "8086" ]  || [ "$v" = "1813" ] || [ "$AMBIG" = "INTEL537" ] || [ "$CODECp" = "INT" ]; then
-        Dintel=done
-        cat<<END>>$RECORD
-
- Vendor=8086 is Intel, Inc. producing HaM and 536ep host controller free (HCF) modems, 537 soft modem
- and AC97 and MC97 controllers managing a varierty of non-Intel soft modem Subsystems.
- These subSystems often have PCI_IDs assigned by the modem assembler, rather than the chip provider.
- Download available drivers through:  http://developer.intel.com/design/modems/support/drivers.htm  with Intel-537 types at:
- http://downloadfinder.intel.com/scripts-df/Filter_Results.asp?selCat=all&strOSs=39&ProductID=1230&page_nbr=2
- Also check at: http://linmodems.technion.ac.il/packages/Intel/537/  
- for beta releases and perhaps Already compiled drivers for some Linux distributions
- A very detailed installation report cogent to 537 type modems is at:
-                  http://linmodems.technion.ac.il/archive-fifth/msg00541.html
- Setup call id with:
-       Type 1 : When the phone line is not in use                    at+vcid=1
-       Type 2 : When the phone line is already in use on a call      at+pcw=0
- ---------------------
-END
-        if [ "$IDENT" = "INTEL536ep" ] ; then
-           cat<<END>>$RECORD
-:
- The older 2.4.n driver pair have a dependency on one other.
- with result that these messages may be seen upon driver loading:
-        depmod****Unable to resolve symbol in 536ep.o
-        depmod****Unable to resolve symbol in 536epcore.o
- but function is NOT affected.
- Bur when the message is any longer, the drivers probably have not been properly compiled.
-   In which case carefully read Modem/DriverCompiling.txt
-
- A problem maintaining CONNECT under the version 4.62 drivers was resolved
- by dropping back to the 4.60 version. See:
-    http://linmodems.technion.ac.il/archive-third/msg02127.html
-
-  The Intel-537SP-MostRecentVersion.tgz driver package may alternatively provide support.
-  
-  For Debian like distros, a modified install script is:  
-http://members.lycos.co.uk/persianlinux/downloads/intel536ep/Intel536_inst_debian
-
-END
-       fi # 536ep
-       if [ "$AMBIG" = "INTEL537" ] || [ "$CODECp" = "INT" ] ; then
-          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
-         if [ "$DISTR" = "SuSE" ] ; then
-            cat<<END>>$RECORD
-
-  Within http://linmodems.technion.ac.il/packages/Intel
-  there are packages with compiled Intel 537 drivers for 2.4.nn kernels with name formats like:
-          intel-537EP_SuSE-9.0_2.4.21-99-default_ONLY.tgz
-
-END
-          fi
-         if [ "$AMBIG" = "INTEL537" ] ; then
-             cat<<END>>$RECORD
- The installer code candidate is:
-       Intel_secure-537AA-MostRecentVersion.tgz 
- But the Intel 537 readout needs confirmation !!
- Sadly there are a few mis-designations in the pciids dataset, which $0 relies on
- Too many modems are being labeled Intel537 types.
-   http://linmodems.technion.ac.il/archive-third/msg02463.html
-   http://linmodems.technion.ac.il/archive-third/msg02476.html
- This includes the distinct Agere, Conexant and SmartLink chipsets types. Conseqeuntly
- YOU must manually obtain further information under Microsoft Windows through modem ATI tests/queries
- as instructed in $RECORD2  Please include this information in any report to discuss@linmodems.org
-
-END
-          fi
-        cat<<END>>/dev/null
-
- There are Five types of Intel 537 chipsets sold to a variety of modem assemblers,
-    though they may are all called out as Intel 537  by the LSPCI tool used in $0.
-    Intel 537, a 8086:0003 subsystem PCI card  modem with TigerJet PCI Controller - e159:0001
-       The installer is:  Intel-537-MostRecentVersion.tgz 
-    Intel 537EP, an Intel PCI modem  si3052 chip(Intel 537EP(G)), si=Silicon Instruments
-       8086:1080 Intel AC97 controller with modem  subSystem 8086:100[7,8,A,0] with
-       with installer is intel-537EP_MostRecentVersion.tgz
-         at http://downloadfinder.intel.com/scripts-df/Product_Search.asp?Prod_nm=537ep
-    Intel 537SP (was known as MD5690) a PCI modem with dsp on board but disabled.
-       8086:1040 Intel AC97 controller, with modem subsyst 8086:1005
-       with installer intel-537SP-MostRecentVersion.tgz
-    There are ambiguities in identification of modems with two Intel537 AA and EA chipset types
-       http://linmodems.technion.ac.il/archive-third/msg02463.html
-       http://linmodems.technion.ac.il/archive-third/msg02476.html
-     Intel 537AA/EA, MDC/AC97 controller  with si3054 modem chip
-       currently supported AC97 controllers - Intel (ICH3,4,5), VIA, NVIDIA, SIS, Realtek, ALI, ATI
-       with installer  intel-537AA_secure-MostRecentVersion.tgz
-    serving also Intel 537EA, CNR controller with  si3038 modem chip
-
-END
-       fi # IDENT
-      fi # End Intel section
-    fi # DONE
-# EOF    
-    # Lucent or Xircom DSP
-    if [ "$IDENT" = "AGERE" ] || [ "$IDENT" = "XIRCOM" ] ; then
-     DEVICES="0x11c1:0x0440-0x045c"
-     DEVICES=$DEVICES" 0x115d:0x0000-0x000f"
-     DEVICES=$DEVICES" 0x115d:0x0440-0x045c"
-     DEVICES=$DEVICES" 0x115d:0x0010-0x03ff"
-     DEVVEN=$(( 0x`echo $PCIDEV | cut -d':' -f1` + 0 ))
-     DEVNUM=$(( 0x`echo $PCIDEV | cut -d':' -f2` + 0 ))
-     for DEV in $DEVICES
-     do
-      VENDOR=$(( `echo $DEV | cut -d':' -f1` + 0 ))
-      DEVMIN=$(( `echo $DEV | cut -d':' -f2 | cut -d'-' -f1` + 0 ))
-      DEVMAX=$(( `echo $DEV | cut -d':' -f2 | cut -d'-' -f2` + 0 ))
-      FOUND=
-      if test $DEVVEN -eq $VENDOR && test $DEVNUM -ge $DEVMIN && test $DEVNUM -le $DEVMAX
-      then
-        FOUND="yes"
-        PCI_ID="$PCIDEV"
-        MODEM_VENDOR=0x`echo $PCIDEV | cut -d':' -f1`
-        MODEM_DEVICE=0x`echo $PCIDEV | cut -d':' -f2`
-        if [ "$MODEM_VENDOR" = "0x11c1" ] ; then
-          VENDED=LUCENT
-        else
-          VENDED=XIRCOM
-        fi
-        if test -n "$PCI_ID" ; then
-          DSP=1
-          cat<<END  |  tee -a $RECORD
-
- The modem has a supported Lucent/Agere DSP (digital signal processing) chipset
-  with primary PCI_ID:  $PCI_ID
- DSP=1
-        
- Agere Systems, Inc provides periodic software releases for there DSP modems,
- which are made more Newbie friendly by volunteers.  There are some installer packages
- and also resources for compiling drivers:
- http://ltmodem.heby.de  is a repository for installers for later 2.4.2n and early 2.6.n  kernels.
-      Packages below are for compiling drivers:
-            ResourceName                Use for kernel ranges
-        --------------------------------------------------------------------------------------------------         
-        ltmodem-8.26a.tar.gz         kernels 2.4.21 and earlier
-        ltmodem-8.30a3.tar.gz       kernels 2.4.21 and subsequent 2.4.2n kernels
-        ltmodem-8.31a10.tar.gz     beginnig with 2.4.21 through and into 2.6.n  kernels 
- http://linmodems.technion.ac.il/packages/ltmodem/
-        has installers for older 2.4.n kernels moved from http://ltmodem.heby.de 
-        and subfolder kernel-2.6/  for 2.6.n  kernel support.  The latest resouce is:
-       ltmodem-2.6-7-alk-7.tar.bz2  from Alex Kondratenko
-       ltmodem-2.6-7alk.src.rpm is a repackaging for by Stephan Puck.  After installation
-           of a kernel-source package (not necessary for fedora releases) use by:
-           rpmbuild --rebuild ltmodem-2.6-7alk.src.rpm  , which will deposit an installer at:
-               /usr/src/rpm/RPMS/i586/ltmodem-kv_YourVersion.rpm          Check with  
-            # ls -l   /usr/src/rpm/RPMS/i586/ltmodem*
-           Then install with:
-           # rpm -i /usr/src/rpm/RPMS/i586/ltmodem-kv_YourVersion.rpm
-
-Support is effective at least into  2.6.11-1.14_FC3.       
-PCMCIA ltmodem support is still being  ported from 2.4.n to 2.6.n, as of May 2005
-        
- http://dag.wieers.com/packages/kernel-module-ltmodem/ for some 2.4.n installers     
- SuSE/Novell has some ltmodem installers at their repositories and newer install CDs.
- More related output is below.
-END
-
-          cat<<EOF>>$RECORD2
-
-    VENDOR $MODEM_VENDOR         DEVICE $MODEM_DEVICE
-   ------------------------------------------
-    LUCENT 0x11c1          0x0440-0x045c
-    XIRCOM 0x115d          0x0000-0x000F
-    XIRCOM 0x115d          0x0440-0x045c
-    XIRCOM 0x115d          0x0010-0x03ff
-  -------------------------------------------
- Driver installer and and their predecessor driver compiler kits are available through:
-       http://ltmodem.heby.de/  and  http://linmodems.technion.ac.il/packages/ltmodem/
-
-EOF
-        else
-          cat<<END > $TMPM
-
- While ISA and PCMCIA card modems would not be detected,
- if the modem is a PCI type it will not be served by these
- drivers for Lucent/Agere digital signal processor modems.
-
-END
-          PCI_ID=
-        cat $TMPM
-        cat $TMPM >>$RECORD
-        fi
-      fi
-     done
-    fi # end Lucent DSP section
-    ## begin LUCENT
-    if [ -z "$IDENT" ] || [ "$IDENT" = "AGR" ] || [ "$IDENT" = "AGERE" ] || [ -n "$DSP" ] && ! [ "$ALSA" = "snd-atiixp-modem" ] && [ -z "$ADONE" ] ; then
-      ADONE=1
-      if [ "$v" = "11c1" ] || [ "$CODEC" = "SIL27" ] || [ -n "$AGR" ] && ! [ "$SMART" = "only" ]  ; then
-         cat<<END>>$RECORD
-
- Vendor 11c1 corresponds to Lucent Technologies or subsidiary Agere Systems, Inc.
- Information is at:  http://www.agere.com/client/modem_dsp.html. Produced are both:
-   1) modems identifiable from their primary PCI IDs and 
-   2) soft modem Subystem chips requiring identification through codec readouts.
-END
-        fi
-       if  [ "$CODECp" = "SIL27" ] || [ -n "$AGR" ] ; then
-         Smart=AGR
-          cat<<END>>$RECORD
- AgereSoftModem drivers only support AC97 or MC97 modem controllers with codecs charcterized by one of:
-   SIL_id = 39 
-   mc97 codec is SIL27 
-   0x27 , as output by modem diagnostics under Microsoft Windows
- If uncertain, identity the softmodem codec through tests described in Modem/SoftModem.txt
- Support is currently ONLY for 2.4.n kernels and the following modem controllers:
-   8086:(2416 2426 2446 7196 2486 24C6)  , with 8086 == Intel
-   1039:7013  SIS
-   1106:3068  VIA
- Access the soft modem software through code sponsor IBM at:
-   http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
- The SmartLink slmodem-2.9.9 may serve for modems not served by this AgereSystems software.
- If may be necessary to add -DMODVERSIONS to the compile flags, 
- depending on whether your kernel was thus compiled. See
- http://linmodems.technion.ac.il/archive-fourth/msg01408.html
-
-END
-        elif [ "$Device" = "0462" ] ; then
-          cat<<END>>$RECORD
-
- 56K.V90/ADSL Wildfire Modem with PCI_ID 11c1:0462
-   http://www.lucent.com/press/0598/980505.mea.html
- currently lacks support under Linux.
-
-END
-        elif [ "$Device" = "048c" ] || [ "$Device" = "048e" ] || \
-        [ "$Device" = "048f" ] ||  [ "$Device" = "0600" ] ; then
-         smart=
-        SMART=
-         cat<<END>>$RECORD
-
-  Class 0703:  $v:$Device is still NOT supported under Linux, as of $UPDATE
-  It is a "software" modem without a digital signal processing (DSP) chipset.
-  The ltmodem drivers from http://ltmodem.heby.de resources for DSP modems do NOT provide support,
-    A dialout terminates with "No Carrier" or a Hang if usage of the ltmodem drivers is attempted.
-
-END
-        elif  [ "$Device" = "0480" ] ; then
-          echo " The Venus controller chipset 1673JV7 modems use the serial.o driver." >>$RECORD
-        elif test -n "$DSP" ; then
-          echo " Call waiting specified by, +pcw=1, is not implmented in the ltmodem drivers." >>$RECORD
-         echo  Configuration with forcing is described in:   http://linmodems.technion.ac.il/archive-fifth/msg00055.html >> $RECORD
-# Setting up board.info for grepping MODEL_DATA
-          cat<<END > $TMPM.2
- 0x0440 -- Mars 2 - data/fax/voice
- 0x0441 -- Mars 2 - data/fax only
- 0x0442 -- Mars 2 - data/fax/tam only
- 0x0448 -- Mars 2 Global Board - data/fax/voice
- 0x0449 -- Mars 2 Global Board - data/fax only
- 0x044a -- Mars 2 Global Board - data/fax/tam only
- 0x0444 -- Apollo 2 data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
- 0x0445 -- Apollo 2 Global Board data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
- 0x0446 -- Apollo 2 data/fax/voice : Modem/LAN combo board Apollo behind an Intel 82559
- 0x0447 -- Apollo 2 Global Board data/fax/voice : Modem/LAN combo board Apollo behind an Intel 82559
- 0x044c -- Mars 3 Perseus data/fax only:North America and Global board
- 0x044e -- Mars 3 Mercury data fax only
- 0x0450 -- Mars 3 Mercury data fax Global board
- 0x0451 -- Mars 3 Mercury data/fax/voice
- 0x0452 -- Mars 3 Mercury data/fax/voice Global board
- 0x0455 -- Mars 3 Perseus data/fax/voice: North America and Global board
- 0x0458 -- Mars 3 Mercury data/fax/tam only.
- 0x0459 -- Mars 3 Mercury data/fax/tam only. Global board.
- 0x045a -- Mars 3 Perseus data/fax/tam only.: North America and Global board
- 0x045b -- Apollo 3 Perseus data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
- 0x045c -- Apollo 3 Mercury data/fax only : Modem/LAN combo board Apollo behind an Intel 82559
- 0x045d -- Mars 3 Mercury data/fax/tam only. Global board for Cardbus modem product.
- 0x044c -- Mars 3.2 Mercury data fax only when no eeprom is present, North America DAA
-##############
-END
-          if grep $MODEM_DEVICE $TMPM.2 > /dev/null ; then
-            grep $MODEM_DEVICE $TMPM.2   >>$RECORD
-          fi
-         if [ "$MAJOR" = "2.6"  ] ; then
-            if [ "$SYS" = "2.6.3-4mdk" ] ; then
-              cat<<END>>$RECORD
-
- There are ltmodem packages in Mandrake. Search for ltmodem in the package lists
- and check for installation already with:
-       rpm -qa ltmodem
- There is also a ltmodem-2.6.3-4mdk.tgz at
-    at http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6  
-
-END
-            fi
-           if [ "$KVER" = "2.6.8.1" ] ; then
-             cat<<END>>$RECORD
-
- Drivers compiled with ltmodem-2.6-alk-6.tar.bz2 have been effective with Mandrake 10
- kernel versions $KVER-* . See within http://linmodems.technion.ac.il/packages/ltmodem/
- ltmodem-2.6.8.1-10mdk.tar.gz  
-  
-END
-           fi
-          fi
-          if [ "$DISTR" = "SuSE" ] ; then
-            cat<<END>>$RECORD
-
-  SuSE has a ltmodem packages for with pre-compiled drivers, beginning with the 8 releases 
-  For the SuSE 9.1 release, there is an update improving bootup automation. 
-  A failure had been reported for the 9.3 release ltmodem package, 
-  but the ltmodem-2.6-7-alk-7.tar.bz2  resource gave effective drivers.
-
-END
-          fi
-          if [ "$Device" = "0442" ] ; then
-    echo "The device=$Device  modems have an electro-optical coupling" >>$RECORD
-    echo "which in some hardware is Not adequately supported by these drivers." >>$RECORD
-    echo >>$RECORD
-          fi
-       fi #DSP  
-    fi # IDENT2
-      
-    if [ "$v" = "115d" ]  || [ "$PCIDEV" = "11c1:0420" ] ; then
-      cat<<END>>$RECORD
-
- Vendor=115d corresponds to Xircom, now an Intel subsidiary.
-   http://www.intel.com/support/peripherals/xc/modems/index.htm
-   http://appsr.intel.com/scripts-df/support_intel2.asp
-   http://support.intel.com/
-                          Device ID Range
-                            -------------
-    XIRCOM 0x115d          0x0000-0x000F
-    XIRCOM 0x115d          0x0440-0x045c
-    XIRCOM 0x115d          0x0010-0x03ff
-   --------------------------------------
- are supported by the resources at http://ltmodem.heby.de/
-
- Some other Xircom modems and Lucent 11c1:0420 modems
-    MAY BE accessed by Insertion Options
- Download from http://ltmodem.heby.de/  the:   ltmodem-$LT_VERSION.tar.gz
- Open with:    tar zxvf  ltmodem-$LT_VERSION.tar.gz
- Within the ltmodem/DOCs/  folder read the Insertion-param files
- and for fun, the history:   andreas.txt
-
- To get a recommendation for an Installer kit, run
-    $0  kit
-
-END
-      if test -z "$DSP" ; then
-        echo " The ltmodem drivers do NOT support this modem.">>$RECORD
-      fi
-    fi # Xircom
-
-    if [ -z "$ALT" ] ; then
-    # SmartLink section
-      ALT=1
-      
-       if [ "$Smart" = "ALSA" ] ; then
-                cat<<END>>$RECORD
-
- Under the controller $CNTRL,
- with modem subSystem $SUBSYS 
- Only ALSA mode usage of slmodem-2.9.n  code may provide support.
-END
-       fi
-
-       if  [ -n "$Smart" ] && ! [ "$Vendor" = "163c" ] && [ -n "$CNTRL" ] && ! [ "$IDENT" = "ATI" ] && ! [ "$Smart" = "ALSA" ] ; then
-
-          cat<<END>>$RECORD
-
- Under the controller $CNTRL,
- with modem subSystem $SUBSYS     
- Alternative supporting packages are the SmartLink slmodem-2.9.n using its proprietary slamr driver, 
- or dependent on  $CNTRL, an  Open Source driver from the  ALSA package.
- See Modem/Slmodem-ALSA.txt for details.
-  
- For SuSE 9.2 users, there is an update  for driver slamr.ko loading during bootup. 
- To find it easily, search for "slamr" within  http://www.novell.com/linux/download/updates/92_i386.html
-     
-END
-       fi
-    fi #ALT
-
-    if [ -z "$SMDONE"  ] && [ -z "$DSP" ] && ! [ "$PCIDEV" = "8086:1040" ] ; then
-      echo "163c 2000 2003 2004" > $TMPM
-      # make all KERNEL_VER=2.6.0-test7  , due to lack of  kernel-headers
-      if grep $v $TMPM>/dev/null || [ -n "$smart" ] || [ -n "$SMART" ] || [ "$IDENT" = "SMART" ] && [ -z "$CXT" ] && ! [ "$IDENT" = "ATI" ] ; then
-        cat<<END>>$RECORD
-
- SmartLink at http://www.smlink.com/ owns vendor IDs 163c, 2000, 2003, and 2004
- The official download site is:  http://www.smlink.com/main/index1.php?ln=en&main_id=40 ,
-  but http://linmodems.technion.ac.il/packages/smartlink/ has older packages and new fixes.
-      For the emerging 2.6.10 kernels, use the slmodem-2.9.9d.tar.gz  therefrom.
-      Also DO download the ungrab-winmodem.tar.gz
- For details read Slmodem.txt,  Slmodem-ALSA.txt  and 
-    http://linmodems.technion.ac.il/slmodem-serial.html
-   
-END
-      # a HowTo http://www.raspberry.co.za/michael/slmodem.html
-        SMART=
-        smart=
-      fi
-      SMDONE=1
-    fi
-    done
-    # with Vendor and SUBven
-    echo  >>$RECORD  
-
-if [ -n "$DSP" ] ; then
-  # || [ "$1" = "kit" ] ||
-  if ! [ "$DISTR" = "Not_identified" ] ; then
-    # No use if the distribution is not known
-    if [ "$DISTR" = "slackware" ] ; then
-      echo Installers are not available for Slackware Linux  >>$RECORD
-    fi
-    if [ "$DISTR" = "gentoo" ] ; then
-      cat<<END>>$RECORD
-
- LTmodem packages are within the Gentoo package system, so you can just run "emerge ltmodem".
-  This will download the source, configure, compile, and install the driver modules.
-
-END
-    fi
-    # DISTR=mandrake
-    # echo DISTR=$DISTR
-    # pick out the Distro section
-    echo >  $TMPM
-    if [ "$DISTR" = "conectiva" ] ; then
-      if ! [ "$GCCmajor" = "3" ] ; then
-        cat<<EOF>$TMPM
-
-ltmodem-kv_2.4.18_586-6.28a8-1.i386.rpm
-ltmodem-kv_2.4.19_1U80_13cl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.19_1U80_2cl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.19_1U80_5cl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.19_1U80_8cl-8.26a9-1.i386.rpm
-
-EOF
-
-      else
-        cat<<EOF>$TMPM
-
-ltmodem-kv_2.4.21_28872cl-8.26a9-1.i386.rpm
-
-EOF
-      fi
-    fi
-    if [ "$DISTR" = "debian" ] ; then
-      cat<<END>>$RECORD
-
- Add either of the following lines to the Debian  /etc/apt/sources.list
- to enable automatic updates on installer availability:
-   deb http://www.physcip.uni-stuttgart.de/heby/ltmodem/dists/debian/ ./
-   deb http://www.sfu.ca/~cth/ltmodem/dists/debian/ ./
-
-END
-      if ! [ "$GCCmajor" = "3" ] ; then
-        cat<<EOF > $TMPM
-ltmodem-2.2.20-compact_6.00c2_i386.deb
-ltmodem-2.2.20-idepci_6.00c2_i386.deb
-ltmodem-2.2.20-reiserfs_6.00c_i386.deb
-ltmodem-2.2.20_6.00c2_i386.deb
-ltmodem-2.2.21-compact_6.00c2_i386.deb
-ltmodem-2.2.21-idepci_6.00c2_i386.deb
-ltmodem-2.2.22_6.00c_i386.deb
-ltmodem-2.2.22-compact_6.00c_i386.deb
-ltmodem-2.2.22-idepci_6.00c_i386.deb
-ltmodem-2.2.25_6.00c_i386.deb
-ltmodem-2.2.25-compact_6.00c_i386.deb
-ltmodem-2.2.25-idepci_6.00c_i386.deb
-
-ltmodem-2.4.17-386_8.00a3_i386.deb
-ltmodem-2.4.17-586tsc_8.00a3_i386.deb
-ltmodem-2.4.17-686-smp_8.00a3_i386.deb
-ltmodem-2.4.17-686_8.00a3_i386.deb
-ltmodem-2.4.17-bf2.4_8.00a3_i386.deb
-ltmodem-2.4.17-k6_8.00a3_i386.deb
-ltmodem-2.4.17-k7_8.00a3_i386.deb
-ltmodem-2.4.17_8.00a3_i386.deb
-ltmodem-2.4.18-386_8.00a3_i386.deb
-ltmodem-2.4.18-586tsc_8.00a3_i386.deb
-ltmodem-2.4.18-686-smp_8.00a3_i386.deb
-ltmodem-2.4.18-686_8.00a3_i386.deb
-ltmodem-2.4.18-bf2.4_8.00a3_i386.deb
-ltmodem-2.4.18-k6_8.00a3_i386.deb
-ltmodem-2.4.18-k7_8.00a3_i386.deb
-ltmodem-2.4.18_8.00a3_i386.deb
-
-ltmodem-2.4.19-386_8.26a9_i386.deb
-ltmodem-2.4.19-586tsc_8.26a9_i386.deb
-ltmodem-2.4.19-686-smp_8.26a9_i386.deb
-ltmodem-2.4.19-686_8.26a9_i386.deb
-ltmodem-2.4.19-k6_8.26a9_i386.deb
-ltmodem-2.4.19-k7_8.26a9_i386.deb
-ltmodem-2.4.19-k7-smp_8.26a9_i386.deb
-ltmodem-2.4.19_8.26a9_i386.deb
-
-ltmodem-2.4.20_8.26a9_i386.deb
-ltmodem-2.4.20-speakup_8.26a9_i386.deb
-ltmodem-2.4.20-1-386_8.26a9_i386.deb 
-ltmodem-2.4.20-1-586tsc_8.26a9_i386.deb
-ltmodem-2.4.20-1-686_8.26a9_i386.deb  
-ltmodem-2.4.20-1-k6_8.26a9_i386.deb
-ltmodem-2.4.20-1-k7_8.26a9_i386.deb 
-ltmodem-2.4.20-1-k7-smp_8.26a9_i386.deb
-
-ltmodem-2.4.18-k7_8.26a9_i386.deb
-
-EOF
-      else
-      cat<<EOF>$TMPM
-
-ltmodem-2.4.21-5-386_8.26a9_i386.deb
-ltmodem-2.4.21-5-586tsc_8.26a9_i386.deb
-ltmodem-2.4.21-5-686_8.26a9_i386.deb
-ltmodem-2.4.21-5-686-smp_8.26a9_i386.deb
-ltmodem-2.4.21-5-k6_8.26a9_i386.deb
-ltmodem-2.4.21-5-k7-smp_8.26a9_i386.deb
-ltmodem-2.4.21-5-k7_8.26a9_i386.deb
-ltmodem-2.4.21-5_8.26a9_i386.deb
-
-ltmodem-2.4.22-1-386_8.26a9_i386.deb
-ltmodem-2.4.22-1-586tsc_8.26a9_i386.deb
-ltmodem-2.4.22-1-686_8.26a9_i386.deb
-ltmodem-2.4.22-1-686-smp_8.26a9_i386.deb
-ltmodem-2.4.22-1-k6_8.26a9_i386.deb
-ltmodem-2.4.22-1-k7-smp_8.26a9_i386.deb
-ltmodem-2.4.22-1-k7_8.26a9_i386.deb
-ltmodem-2.4.22-speakup_8.26a9_i386.deb
-ltmodem-2.4.22-1-386_8.31a3_i386.deb
-ltmodem-2.4.22-1-586tsc_8.31a3_i386.deb
-ltmodem-2.4.22-1-686_8.31a3_i386.deb
-ltmodem-2.4.22-1-686-smp_8.31a3_i386.deb
-ltmodem-2.4.22-1-k6_8.31a3_i386.deb
-ltmodem-2.4.22-1-k7-smp_8.31a3_i386.deb
-ltmodem-2.4.22-1-k7_8.31a3_i386.deb
-ltmodem-2.4.22-speakup_8.31a3_i386.deb
-
-ltmodem-2.4.25-1-686_8.30a3_i386.deb
-ltmodem-2.4.25-586tsc_8.30a3_i386.deb
-ltmodem-2.4.25-686-smp_8.30a3_i386.deb
-ltmodem-2.4.25-k6_8.30a3_i386.deb
-ltmodem-2.4.25-k7-smp_8.30a3_i386.deb
-ltmodem-2.4.25-k7_8.30a3_i386.deb
-
-ltmodem-2.4.26-1_8.31a3_i386.deb
-ltmodem-2.4.26-1-386_8.31a3_i386.deb
-ltmodem-2.4.26-1-586tsc_8.31a3_i386.deb
-ltmodem-2.4.26-1-686-smp_8.31a3_i386.deb
-ltmodem-2.4.26-1-686_8.31a3_i386.deb
-ltmodem-2.4.26-1-k6_8.31a3_i386.deb
-ltmodem-2.4.26-1-k7-smp_8.31a3_i386.deb
-ltmodem-2.4.26-1-k7_8.31a3_i386.deb
-ltmodem-2.4.26-speakup_8.31a3_i386.deb
-
-ltmodem-2.6.8-1-686_8.31a8_1.i686.deb
-EOF
-      fi
-    fi
-    if [ "$DISTR" = "mandrake" ] ; then
-      if ! [ "$GCCmajor" = "3" ] ; then
-        cat<<EOF > $TMPM
-
- Only installers compiled with gcc = 3.n are stored at http://ltmodem.heby.de
- Older packages are at  http://linmodems.technion.ac.il/
-
-EOF
-      else
-        cat<<EOF> $TMPM
-
-ltmodem-kv_2.4.21_0.11mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.21_0.13mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.21_0.13mdk-8.30a3-1.i586.rpm
-ltmodem-kv_2.4.21_0.18mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.21_0.25mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.21_0.25mdk-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.21_0.26mdk-8.26a9-1.i586.rpm
-
-ltmodem-kv_2.4.22_10mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.22_21mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.22_26mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.22_28mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.22_29mdk-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.22_30mdk-8.26a9-1.i586.rpm
-
-ltmodem-kv_2.4.22_32mdk-8.30a3-1.i686.rpm
-ltmodem-kv_2.4.22_36mdk-8.30a3-1.i686.rpm
-ltmodem-kv_2.4.25_6mdk-8.30a3-1.i686.rpm
-ltmodem-kv_2.4.25_7mdk-8.30a3-1.i686.rpm
-
-EOF
-      fi
-    fi
-
-    if [ "$DISTR" = "redhat" ] ; then
-            echo " Many installers for RedHat are available at  http://dag.wieers.com/packages/kernel-module-ltmodem ">>$RECORD
-      if [ -n "$FEDORA" ] ; then
-        cat<<EOF>$TMPM
-
-ltmodem-kv_2.4.22_1.2115.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2115.nptl-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.22_1.2129.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2129.nptl-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.22_1.2135.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2138.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2138.nptl-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.22_1.2140.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2140.nptl-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.22_1.2166.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2174.nptl-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.22_1.2174.nptl-8.30a1-1.i686.rpm
-ltmodem-kv_2.4.22_1.2174.nptl-8.30a1-1.i686.rpm
-ltmodem-kv_2.4.22_1.2197.nptl-8.31a5-1.i686.rpm
-ltmodem-kv_2.6.6_1.427-8.31a7-1.i686.rpm
-ltmodem-kv_2.6.6_1.435-8.31a7-1.i686.rpm
-ltmodem-kv_2.6.7_1.494.2.2-8.31a8-1.i686.rpm
-ltmodem-kv_2.6.8_1.521-8.31a8-1.i686.rpm
-
-EOF
-      else
-        cat<<EOF>$TMPM
-
-ltmodem-kv_2.4.20_2.2-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_2.2-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_2.2-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_2.2-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_6-8.26a9-1.athlon.rpm
-ltmodem-kv_2.4.20_8-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_8-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_8-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_8-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_13.8-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_13.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_13.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_13.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_13.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_18.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_18.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_18.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_18.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_19.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_19.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_19.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_19.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_20.7-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_20.8-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_20.8-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_20.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_20.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_20.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_20.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_24.7-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_24.8-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_24.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_24.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_24.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_24.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_27.9-8.26a9-1.athlon.rpm
-ltmodem-kv_2.4.20_27.9-8.26a9-1.i386.rpm
-ltmodem-kv_2.4.20_27.9-8.26a9-1.i486.rpm
-ltmodem-kv_2.4.20_27.9-8.26a9-1.i586.rpm
-ltmodem-kv_2.4.20_27.9-8.26a9-1.i686.rpm
-ltmodem-kv_2.4.20_30.9-8.26a9-1.i686.rpm
-
-ltmodem-kv_2.4.21_4.EL-8.30a1-1.athlon.rpm
-ltmodem-kv_2.4.21_4.EL-8.30a1-1.i686.rpm
-
-EOF
-      fi
-    fi
-
-    if [ "$DISTR" = "SuSE" ] ; then
-      cat<<END>$TMPM
-ltmodem-kv_2.4.20_4GB-8.26a9-1.i386.rpm,  SuSE 8.2
-
-END
-
-    fi
-
-################### Listing from http://ltmodem.heby.de/ ends
-
-    fi #  Done choosing DISTR block
-    echo >>$RECORD
-    echo "  The desired installer name is like:" >>$RECORD
-    echo "========================================"  >>$RECORD
-    # echo Checking for suitable ltmodem Installers
-    if [ "$DISTR" = "debian" ] ; then
-      echo ltmodem-"$FILTER""8.nn"_i386.deb >>$RECORD
-      # FILTER=2.4.18-6_
-      if grep $FILTER $TMPM > /dev/null ; then
-        grep $FILTER $TMPM > $TMPM.1
-        BEST=$TMPM.1
-      fi
-    else
-      # conectiva mandrake redhat SuSE, fedora  all .rpm
-      if [ "$DISTR" = "mandrake" ] || [ "$DISTR" = "redhat" ] ; then
-        echo ltmodem-kv-$PVER-$LT_VERSION-1.$CPU.rpm >>$RECORD
-       # http://linmodems.technion.ac.il/archive-fourth/msg03230.html Marv
-      fi
-      if [ "$DISTR" = "conectiva" ] || [ "$DISTR" = "SuSE" ] ; then
-        echo "ltmodem-kv-$PVER-$LT_VERSION-i386.rpm" >>$RECORD
-      fi
-      grep $PVER $TMPM  > $TMPM.2
-      grep $CPU $TMPM.2 >  $TMPM.1
-      if grep "ltmodem-" $TMPM.1 >/dev/null ; then
-        BEST=$TMPM.1
-      elif grep "ltmodem-" $TMPM.2 >/dev/null ; then
-        BEST=$TMPM.2
-      else
-        BEST=
-      fi
-    fi
-    # AGERES=`echo $LT_VERSION | cut -da -f1`
-    AGERES=8.nn
-    cat<<END>>$RECORD
-----------------------------------------
- ltmodem-kv-Kernel_FL-LTver--.CPU.rpm   explains the versioning.
- For your System
-            `echo Kernel_FL is  $SYS , the full kernel version displayed by:  uname -r`
-                      `echo LTver is $LT_VERSION, the release of the compiler kit`
-                               `echo $AGERES is the Agere core code designation.`
-       The proccesor type or CPU is:  $CPU      dispayed by:  uname -m
- used in compiling and assembling driver packages.
-
-END
-
-    # Results
-    if [ "$DISTR" = "redhat" ] && [ -n "$FEDORA" ] ; then
-      DISTR=fedora
-      echo " For usage with the udev file system of fedora core 3, see  http://linmodems.technion.ac.il/archive-fifth/msg01177.html">>$RECORD
-      # changed back to redhat after this message section
-    fi
-    if [ "$SYS" = "2.6.8.1-12mdk" ]  ||  [ "$SYS" = "2.6.8.1-10mdk" ]  &&  [ "$DISTR" = "mandrake" ]  ; then
-     cat<END >> $RECORD
-     
- At  http://linmodems.technion.ac.li/packages/ltmodem/kernel-2.6/
- there is an installer  ltmodem-"$SYS".tar.gz
- Unpack under Linux with: 
-     tar zxvf ltmodem-2.6.8.1-12mdk.tar.gz
-
-END
-    elif [ "$BEST" = "$TMPM.1" ] ; then
-        cat<<END > $TMPM.3
-  A suitable Installer is at    http://ltmodem.heby.de/
-    in the section:    $DISTR
-       `cat $BEST`
-
-END
-    cat $TMPM.3 >>$RECORD
-    cat $TMPM.3
-    elif [ "$BEST" = "$TMPM.2" ] ; then
-        cat<<END > $TMPM.3
- Installers that may suffice are at http://ltmodem.heby.de/
- in the section:       $DISTR
-------------------------------------------------------
- `cat $BEST`
-------------------------------------------------------
- The closest match to your   $CPU=CPU   is recommended.
- For example replacements in order of preference for an
-    i686 would be i586, i486 and i386
- The Kernel_FLavor section MUST match.
- If not the ltmodem-$LT_VERSION.tar.gz compiler MUST BE USED.
-
-END
-    cat $TMPM.3 >>$RECORD
-    cat $TMPM.3
-    else
-     echo >/dev/null
-      cat<<END>>$RECORD
-      
- A suitable installer is not available as of this $UPDATE update.
- Check in the section $DISTR at  http://ltmodem.heby.de/
-   for a subsequent Installer submission.
- Older releases have been archived at:
-   http://linmodems.technion.ac.il/packages/ltmodem/archive/
- Also there is a RPM search engine at:   http://rpm.pbone.net
- The closest match to your   $CPU=CPU   is recommended.
-   The closest match to your   $CPU=CPU   is recommended.
-   For example replacements in order of preference for an
-     i686 would be i586, i486 and i386
- If not present use the  ltmodem-$LT_VERSION.tar.gz compiler kit.
-
- The list of available Installers for $DISTR as of this $UPDATE
- is inserted into to $RECORD2
-END
-# RC2
-      cat<<END>>$RECORD2
-
-GCCmajor=$GCCmajor
------------Installer list for $DISTR --------
-`cat $TMPM`
-------- end Installer List ------------------
-END
-    fi
-  fi # DISTR not recognized
-  if [ "$DISTR" = "fedora" ] ; then
-    DISTR=redhat
-  # changed back to redhat after above message section
-  fi
-  if grep smp $TMPM >/dev/null ; then
-########### RC2
-cat<<END>/dev/null
-
-   Symmetric Multi Processors (SMP) issues
-----------------------------------------------------------------------------------
-  Beginning with the Agere version 8.00 core code, the ltmodem drivers are
-  functional on Systems with SMP kernels such as your kernel-$SYS ,
-  so far as supporting dialout and initiation of ppp.
-  However these dialout sessions  inevitable stall,
-  evidently because of inadequate interrupt handling by the core ltmodem code.
-  This problem can be bypassed with some loss of performance by
-  using the bootup option: noacpi
-
-  The November 2004  AgereSystems 8.30 release is SMP proficient.
-
-END
-############
-
-fi # DSP
-  done
- #  TESTS
-echo "  ======= PCI_ID checking completed ====== ">>$RECORD
-## RC2
-cat<<END>>$RECORD2
-
- If the Primary and Subsystem Vendor information was not adeqaute,
- it may be useful to search at  http://www.pcidatabase.com/
-
-END
-
-# Just to be sure the Update is reported:
-echo " Update=$UPDATE">>$RECORD
-
-# echo Scanning for a PCI bridge to a CardBus with:  "$LSPCI 2>/dev/null  | grep CardBus"
-echo ---------------------------------------- > $TMPM
-$LSPCI 2>/dev/null  | grep -E CardBus | cut -d' ' -f1 >$TMPM.1
-if grep 0000: $TMPM.1 >/dev/null; then
-  CARDBUS=`cat $TMPM.1 | cut -d: -f2-`
-else
-  CARDBUS=`cat $TMPM.1`
-fi
-
-if test -z "$CARDBUS" ; then
-   echo A PCMCIA CardBus is not detected on this System. >> $RECORD
-else
-    port=0
-    for i in $CARDBUS ; do
-       echo  >> $RECORD
-        echo Analyzing information for PCMCIA device at PCI Bus $i >> $RECORD
-        $LSPCI -s $i -v 2>/dev/null >> $TMPM
-        echo "GREPping for an inserted PCMCIA modem with filter:        ommunication"  >> $RECORD
-        MODEM=`$LSPCI -v 2>/dev/null | grep ommunication`
-        if test -n "$MODEM" ; then
-            port=1
-        fi
-    done
-    if test $port -gt 0 ; then
-      echo " A PCMCIA modem is detected." | tee -a $RECORD
-      cat<<END>>$RECORD
-      
- The stardard ltmodem resources should suffice for modem support:
-     http://ltmodem.heby.de/
- if the modem has a Lucent/Agere digital processing chipset.
-END
-    else
-       cat<<END>>$RECORD
- If a PCMCIA modem is currently inserted and the sockets activated by
-    /etc/init.d/pcmcia start
- then the PCMCIA bridge is NOT transparent.
-
- If the modem is known to have a Lucent digital signal processing chipset,
- then PCMCIA.tar.gz variant assembled by Joern Wustenfeld is necessary,
- rather than the standard ltmodem-$LT_VERSION.tar.gz at  http://ltmodem.heby.de/
-END
-     fi
-     echo
-fi
-
-# gcc problem
-if [ "$GCCmajor" = "3" ] ; then
-  echo GCCversion=$GCC >>$RECORD
-#########
-  cat<<END>>$RECORD2
-
- ---------------------------------------------------------------------------------------------
- The proprietary Binary component of the some current winmodem drivers were compiled with
- version 2.9n gcc compiler.  Red Hat 8.0 and Mandrake 9.0 releases utilize
- version 3.nn gcc compilers.  This currently is causing difficulties either
- in compiling and/or insertion of updated winmodem drivers.
-
- The gcc compiler version of this System is:   $GCC
- It will likely be necessary to force (-f) insertion of winmodem drivers, with credit to
- Jos Vos: http://phep2.technion.ac.il/linmodems/archive/msg04510.html
-
- For the ltmodem drivers with proprietary binary provided by Agere Systems,
- compiling with versions gcc=3.nn is successful.
- A minor edit required to compile PCTEL drivers has also been reported:
-     http://phep2.technion.ac.il/linmodems/archive/msg04684.html
-
-  Simple driver insertion fails in these cases with a message like:
-----begin error----
-% insmod lt_modem
-Using /lib/modules/2.4.18-14/ltmodem/lt_modem.o
-/lib/modules/2.4.18-14/ltmodem/lt_modem.o: The module you are trying to
-load (/lib/modules/2.4.18-14/ltmodem/lt_modem.o) is compiled with a gcc
-version 2 compiler, while the kernel you are running is compiled with
-a gcc version 3 compiler. This is known to not work.
------end error-----
-
- It is necessary as Root to force (-f) loading with commands like:
-     insmod -f pctel
-
- respecting the dependency ordering of the drivers.
- Then check for insertion with:
-    lsmod
-
- If driver insertion is successful, the forcing can be automated
- by putting the lines (credit to Bhaskaran Raman)  like the following,
-    install pctel  /sbin/insmod --force pctel
-
- In order of preference depending on your particular Linux installation.
- Put these lines into ONLY ONE of the following files,
- within any modem loading subsection if present:
-    /etc/modutils/ltmodem
-    /etc/modutils/aliases
-    /etc/modules.conf
-
- Then inform your System of the edit for Debian like Systems with
-    update-modules
- which rewrites and reads /etc/modules.conf . For other System types
-    depmod -a
- re-reads the edited      /etc/modules.conf .
-
- Thereafter module loading should behave as previously.
- For the ltmodem drivers loading,
- it should suffice to either start a ppp session or
-    modprobe ptserial
-
-END
-###############
-fi
-
-if test -d /etc/udev ; then
-   cat<<END>>$RECORD
-   
-For information on modem port creation under the UDEV device file system see:
-   http://linmodems.technion.ac.il/archive-fourth/msg03299.html  for Conexnant modems
-   http://linmodems.technion.ac.il/archive-fifth/msg01177.html  for Lucent/Agere DSP modems
-   
-END
-
-fi
-
-# A general Advisory
-ETHER=`$LSPCI 2>/dev/null  | grep Ether | cut -d' ' -f1`
-if test -n "$ETHER" ; then
-  #RC2
-  cat<<END>>$RECORD2
-
-  -----------------------------------------------------
-  The System has Ethernet capability. If not expert, 
-  shut down ethernet before initiated modem usage with:
-  # ifconfig eth0 down
-
-END
-  #RC2
-  $LSPCI -s $ETHER -v 2>/dev/null >>$RECORD2
-  echo >>$RECORD2
-fi
-if [ "$MAJOR" = "2.6" ] ; then
-  MODCONF=/etc/modprobe.*
-else
-  MODCONF=/etc/modules.conf
-fi
-############
-
-  cat<<END >>$RECORD
-The following information blocks just query some ppp support items.
-
-====================================================
-   grep -rs ppp $MODCONF
--------------------------------------
-`grep -rs ppp $MODCONF`
--------------------------------------
-END
-# Check for unziped drivers
-if [ "$MAJOR" = "2.4" ] || [ "$MAJOR" = "2.2" ] ; then
-  SUF=o
-else
-  SUF=ko
-fi 
-Modules="bsd_comp. ppp_async. ppp_generic. slhc ppp_deflate. zlib_deflate."
-for i in $Modules
-do
-  find /lib/modules/ -name $i* 2>/dev/null  >> $TMPM
-  if ! grep $i $TMPM>/dev/null ; then
-    echo " PPP support module  $i$SUF  not found!">>$RECORD
-  fi
-done
-if grep "o.gz" $TMPM > /dev/null ; then
-  cat<<END>>$RECORD
-
-  The following ppp related modules should be unpacked by root with:
-# gunzip PathTo/ModuleName.$SUF.gz
-`cat $TMPM`
-
- On most Systems, this will driven by installing the wvdial.rpm
- and the package providing the KPPP graphical dialing interface.
-
-END
-else
-  echo " Resident PPP support modules are properly uncompressed .">>$RECORD
-fi
-if test -x /sbin/ifconfig ; then
-  if /sbin/ifconfig | grep Link | grep -v Loopback >/dev/null ; then
-    echo "----active COMM services are ------------">>$RECORD
-    /sbin/ifconfig | grep Link | grep -v Loopback >>$RECORD
-    echo "This COMM mode should be closed before using the modem, or DNS services may fail.">>$RECORD
-  else
-    echo " COMM services are not active">>$RECORD
-  fi
-fi
-
-if ! grep ppp $MODCONF >/dev/null ; then
-  echo
-  echo Be sure to read the section about ppp related modules and aliases in $RECORD2 >>$RECORD
-
-  cat<<END>>$RECORD2
-
- Within /lib/modules/You_Kernel_Version/kernel/drivers/net/
- at least the following modules needed for communication should be found
-   ppp_deflate.o
-   zlib_inflate.o 
-   zlib_deflate.o 
-   bsd_comp.o
-   ppp_async.o
-   ppp_generic.o
-   slhc.o
- BUT they may be present instead as ModuleName.o.gz
- If so unpack them with a commands like:
-   # gzip /lib/modules/You_Kernel_Version/kernel/drivers/net/ModuleName.o.gz
- Alternatively, installing the dialer package KPPP may force their unpacking.
- Following a dialout attempt, display loaded modules with:
-# /sbin/lsmod
- If there are not displayed lines like:
-
-ppp_deflate             3512   1  (autoclean)
-zlib_inflate           18980   0  (autoclean) [ppp_deflate]
-zlib_deflate           18648   0  (autoclean) [ppp_deflate]
-bsd_comp                4440   0  (autoclean)
-ppp_async               7744   1  (autoclean)
-ppp_generic            16380   3  (autoclean) [ppp_deflate bsd_comp ppp_async]
-slhc                    5264   1  (autoclean) [ppp_generic
-
-addition of the following lines to $MODCONF or $MODCONF.d/ folders may be needed:
-
-### automate ppp modules loading ###
-alias /dev/ppp          ppp_generic
-alias char-major-108    ppp_generic
-alias tty-ldisc-3       ppp_async
-alias tty-ldisc-14      ppp_synctty
-alias ppp-compress-21   bsd_comp
-alias ppp-compress-24   ppp_deflate
-alias ppp-compress-26   ppp_deflate
-### end ppp block ####
-
- After any edit of $MODCONF or $MODCONF.d/ folders ,
- inform the System by logging into a console with
- # su - root
- and running the update command:
- #  depmod -a
- which re-reads /etc/modules.conf and parses all the modules dependencies.
- Debian like Distros should instead use:
-   update-modules
-
-END
-fi
-# ethernet and isdn can hinder DNS acquisition
-if test -x /sbin/ifconfig ; then
-  /sbin/ifconfig | grep Link> $TMPM
-  #RC2
-    cat<<END>> $RECORD2
-
-  Attempted or effective networking links are displayed by command:
-  #  /sbin/ifconfig
-  A block with "lo" is an internal loopback test and harmless.
-  However, ethernet "eth0" can be problematic for PPP connections,
-  because of competition for DNS (domain name service).
-  The default is to use the DNS specified for etherenet and
-  without expert configuration, this will block browser naviagation through PPP.
-  ========== ifconfig test =============
-  `cat $TMPM`
-
-  If is wisest to disable bootup establishment of ethernet in your Control Center.
-  Depending on your Linux distribution,
-      one of the following Root commands way alternatively be effective:
-  # ifdown eth0
-  # ifconfig eth0 down
-  # /etc/init.d/network stop
-  # /etc/init.d/networking stop
-
-END
-  if  grep eth $TMPM>/dev/null ; then
-    echo " Be sure to read the Ethernet section of $RECORD2 " >>$RECORD
-  fi
-  if grep tap $TMPM>/dev/null ; then
-    echo ISDN function should be stopped before initiating modem usage>>$RECORD
-    echo >>$RECORD
-  fi   
-fi
-
-if test -e /dev/ppp ; then
-  DEVPPP=`ls -l /dev/ppp`
-  echo DEVPPP=$DEVPPP  >>$RECORD
-else
-  cat<<END>>$RECORD
-
-  A port needed for the PPP protocol is absent!!!
-  echo "  crw-------    1 root     root     108,   0 Dec 31  1969 /dev/ppp"
-
-END
-fi
-
-if test -e /dev/.devfsd ; then
-  DEVFS=active
-  echo DEVFS=$DEVFS >>$RECORD
-# Check for /dev/modem link
-elif [ -L /dev/modem ] ; then
-  MODEM=`ls -l /dev/modem | cut -d'>' -f2- | cut -d" " -f2-`
-  cat<<END>> $RECORD
-
-  The current modem symbolic link is: /dev/modem -> $MODEM
-  The ports /dev/ttyS0 or 1,2,3 are for standard Controller chip modems
-
-END
-else
-  echo A /dev/modem symbolic link is not present >>$RECORD
-fi
-
-if test -f /etc/devfsd.conf ; then
-  DEVFSD=/etc/devfsd.conf
-elif test -f /etc/devfs/devfsd.conf ; then
-  DEVFSD=/etc/devfs/devfsd.conf
-else
-  cat<<END>>$RECORD
-
- No devfsd.conf file found, indicated absense of the devfsd daemon package
- for device file system (devfs) symbolic link support.
-
-END
-fi
-echo DEVFSD=$DEVFSD>>$RECORD
-
-if ! [ "$DEVFSD" = "" ] ; then
-  DEVFSD_PPP=`grep PPP $DEVFSD` >>$RECORD
-  echo tts/0 > $TMPM
-  echo tts/1 >> $TMPM
-  echo tts/2 >> $TMPM
-  echo tts/3 >> $TMPM
-  echo
-  MODEM=`grep -f $TMPM $DEVFSD`
-  if test -z "$MODEM" ; then
-    if test -d /etc/devfs ; then
-      MODEM=`grep -rs modem /etc/devfs/ | grep -f $TMPM | grep :REGISTER`
-    fi
-  fi
-  if test -n "$MODEM" ; then
-    FILE=`grep -rs modem /etc/devfs/ | grep -f $TMPM | grep :REGISTER | cut -d: -f1`
-#    echo $FILE
-    cat<<EOF>>$RECORD
-
- Supporting /dev/modem symbolic link:
- $FILE
-------------------------------
-`cat $FILE`
-------------------------------
-
-EOF
-    cat<<END>>$RECORD2
-
- Supporting /dev/modem symbolic link:
- $FILE
-------------------------------
-`cat $FILE`
-------------------------------
- is for device file system support of Controller chip modems
- and will conflict with usages of any other modem requiring a
- symbolic link:  /dev/modem --> /dev/SomeNode
-
- It will for example conflict with support for the Lucent chip modems
- with support file /etc/devfs/conf.d/ltmodem.conf
----------------------------------
-### /dev/modem symbolic link to /dev/tts/LT0
-REGISTER        ^tts/LT0$       CFUNCTION GLOBAL symlink $devname modem
-UNREGISTER      ^tts/LT0$       CFUNCTION GLOBAL unlink modem
----------------------------------
- Thus unless use of a Controller chip modem is anticipated,
- either comment out those lines with a leading #
- or move $FILE somewhere else, say /root/
- to avoid conflict with other modems!!
-
- Inform the devfsd (device file system) daemon of the edit with
- # killall -HUP devfsd
- See http://linmodems.technion.ac.il/archive-third/msg00869.html
-
-END
-  fi
-fi
-echo acpi>$TMPM
-echo disabled>>$TMPM
-echo APM>>$TMPM
-echo apm>>$TMPM
-echo " ---- dmesg queries -------" >> $RECORD
-dmesg | grep -f $TMPM  >> $RECORD
-
-
-#   cat /etc/Redhat   displays:  Fedora Core release 1 (Yarrow)
-if  grep Fedora $RECORD >/dev/null || [ -n "$FEDORA" ] ; then
-  if [ "$MAJOR" = "2.4" ] ; then
-    cat<<END>>$RECORD
-
- For usage of winmodems with the kernel-2.4.nn Fedora releases   a change in the serial-like driver code of WinModems  is necessary.
- See for guidance:  http://hepunx.rl.ac.uk/~wmurray/pctel/pctel.html
- Basically , the line:
-     if ((tty->count == 1) && (state->count != 1)) {
-  should be changed into:
-     if (atomic_read(&tty->count) == 1 && state->count != 1) {
-  This works in the ltmodem code too. See
-     http://linmodems.technion.ac.il/archive-third/msg02360.html
-  An error about "rs_close" during compiling is a signature that the fedora fix is needed
-
-END
-  fi
-  if [ "$MAJOR" = "2.6" ] ; then
-    cat<<END>>$RECORD
-
-  Beginning with Fedora 2  kernel-2.6.6-1.427, kernel-headers needed 
-  for compiling drivers are provide at: /lib/modules/kernel-version/build/
-  Thus upgrading above kernel 2.6.5-1.358 to 2.6.6-* is Stongly Recommended
-  
-  pppd version 2.4.2 may not be fully compatible with 2.6.8 kernel releases.
-  If an initial CONNECT is achieved without PPP being subsequently established,
-  drop back to a 2.4.1 version.  This has worked for PCTEL AMR modem users,
-  supported by the http://www.smlink.com  slmodem software.
-  Check pppd version with:
-    pppd --version
-  See  http://linmodems.technion.ac.il/archive-fourth/msg03167.html
-    
-END
-  fi
-fi
-### DISTR specific information.
-if [ "$DISTR" = "redhat" ] ; then
-  cat<<END>>$RECORD
-  
- For kernel-version 2.4.20-8 , a failure in utomatic loading of PPP related modules 
- has been reported. It was necessary to manually load with:
-  /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_generic 
-  /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_deflate 
-  /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_synctty 
-  /sbin/modprobe /lib/modules/2.4.20-8/kernel/drivers/net ppp_async 
- or dialout efforts failed.
-  
-  The Internet Configuration Wizard writes a configuration file:
-    /etc/wvdial.conf
-  containing a line default line
-    Stupid Mode = yes
-  Better dialup performance may be achieved by commenting out this line as:
-    # Stupid Mode = yes
-  Also non-USA Users may need to add to the [Modem0] block:
-    Init2 = AT+GCI=hexadecimal_country_code
-  but test without it first.
-
-END
-fi
-if [ "$DISTR" = "SuSE" ] ; then
-  cat<<END>>$RECORD
-
-  SuSE 9.0 has pre-compiled drivers supporting the following modem chipsets:
-     Intel HaM and 536ep
-     Conexant HSF (but not the HCF)
-     Lucent/AgereSystems ltmodem (Digital Siggnal Processing type)
-     IBM wmave
-     Smart Link soft modems
-  Unfortunately only the  Intel HaM and 536ep are on the  3 CD Personal set, pending an update.
-  Locations on the 6 CD Professional set are:
-     CD4/suse/i586/smartlink-softmodem-2.7.9-89.i586.rpm  - the slmodemd daemon
-     CD3/suse/i586/km_smartlink-softmodem-2.7.9-89.i586.rpm - slmodem driver compiling
-     CD4/suse/i586/hsfmodem-5.03.27mbsibeta02122600-92.i586.rpm - softmodem configuration
-     CD4/suse/i586/km_hsfmodem-5.03.27mbsibeta02122600-92.i586.rpm -softmodem driver code
-        installation report -  http://linmodems.technion.ac.il/archive-fourth/msg00350.html
-     CD4/suse/i586/ltmodem-8.26a-54.i586.rpm - a patch from SuSE may be needed for function
-        installation report - http://linmodems.technion.ac.il/archive-fourth/msg00458.html
-     CD4/suse/i586/Intel-536ep-4.51-200.i586.rpm
-     CD4/suse/i586/Intel-v92ham-4.51-244.i586.rpm
-     CD4/suse/i586/mwavem-1.0.4-110.i586.rpm
-Some pre-compiled SuSE 9.0 packages for the 2.4.21-99-default kernel are available at:
-      http://linmodems.technion.ac.il/packages/SuSE-9.0/
-  including AgereSoftModem and the Intel537 modems
-
-  IMPORTANT - The kernel-source-144/README.SuSE informs that the pre-assembled kernel-headers installed
-  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.
-  
-  SuSE 9.1 comes with a SmartLink slamr.ko driver installed,
-  aiding identification of softmodem codecs by:
-    dmesg | grep slamr
-  For the 9.1 Personal (single CD installation) winmodem packages
-  have be downloaded from the SuSE 9.1 repository
-  Should compiling drivers may be necessary,  the following additional packages
-  will have to be downloaded and installed:
-       make, glibc-devel, gcc-3.3.3 and kernel-source.
-  The kernel-headers are co-installed with the kernel-source.
-  Thus subsequent driver compiling does Not require additional preparations.
-    
-END
-  
-elif [ "$DISTR" = "debian" ] && [ "$Smart" = "may" ] ; then
-  cat<<END>>$RECORD
-
-  There are Debian packages with modem drivers from SmartLink:
-      sl-modem-daemon - SmartLink software modem daemon
-      sl-modem-source - SmartLink software modem driver - module building source
-  MANY modem subSystems serving under AC97/MC97 Controllers are also supported.
-
-END
-elif [ "$DISTR" = "knoppix" ] ; then
-  if [ -n "$DSP" ] || [ -n "$Smart" ] || [ -n "$SMART" ] ; then
-    cat<<END>>$RECORD
-  
- Packages with precompiled drivers for Lucent/Agere DSP modems
- and SmartLink supported soft modes are available in
- http://linmodems.technion.ac.il/packages/Knoppix/
-
-END
-  fi
-  cat<<END>> $RECORD
-
- The bootable CDs of Knoppix releases 3.4 and 3.6 have boot kernels 2.4.26 and 2.4.27
- These CDs are currently Hostile to winmodem installations for at least 3 reasons.
- 1) The kernels were compiled with gcc-2.95.  While there is provided a /usr/bin/gcc-2.95  
- the default ggc found by compilers is set as:      
-    /usr/bin/gcc --> /usr/bin/gcc-3.3
- Thus with casual usage of many winmodem driver packages,
- the drivers will be compiled with gcc-3.3 . Such mismatches between
- a kernel and driver can cause a system CRASH. 
- Thus special effort is required to insure that driver compiles utilize the gcc-2.95
- 2) Winmodem packages typically try to write drivers to /usr/lib/ 
- and installation files to /usr/sbin/ folders.
- But these folders are positioned on the ReadOnly CD, and the writes will fail;
- 3) Since compiled drivers cannot be placed in /lib/modules/, 
- they are not perceived by a dependencies reading:
-    depmod -a
- which would enable simple driver loading on demand or with a single:
-    modprobe Last_Modem_Driver
- A Bug Report/offer to help Knoppix with these problems has been filed.
- For Knoppix 3.8.1 the kernel-headers for kernel-version 2.6.11 are defective.
- A corrected package is available at
-     http://www.linuxant.com/driverloader/wlan/full/archive/scripts-knoppix-3.8.1.tar.gz
-  
-END
-elif [ "$DISTR" = "mandrake" ] ; then
-  cat<<END>>$RECORD
-
-In the Mandrake installation disks do not include the dialer utility wvdial.rpm,
-then get instructions from http://linmodems.technion.ac.il/archive-fifth/msg01480.html
-END
-else
-  echo "  $DISTR is not yet providing pre-compiled drivers for WinModems">>$RECORD
-  echo >>$RECORD
-fi
-
-if ! [ "$BN" = "scanModem" ] ; then
-  /bin/rm -r ./Modem
-  exit 0
-fi
-
-# Output text files
-  cat<<END>Modem/1stRead.txt
-   
-                The files in this Modem/ folder have the following roles:
-
-ModemData.txt - Diagnostics and accumulated information cogent to your modem.
-     If further help is needed, send a description of your problem to:
-           discuss@linmodems.org 
-    with ModemData.txt attached as a PLAIN TEXT file.  Do NOT send other files in this folder Modem/
-    Always send the ENTIRE ModemData.txt,  as It includes subtle diagnostic ouputs needed 
-    to best guide you. If your PC is a laptop, please provide Make and Model information.
-    
-    ModemData.txt with companion files on specific modems/situations may suffice to solve your problems.
-    It recommends sites for needed software, or additional tests You must perform.
-    Always use the most recent update of scanModem accessed ONLY at
-       http://linmodems.technion.ac.il/packages/scanModem.gz 
-    to produce ModemData.txt
-    URLs to cogent advice are regularly updated, so your problem may be solved therein.
-
-YourModem.txt has guidance about operating your particular System.
-It should NOT be sent to Discuss@linmodems.org
-
-Rational.txt - Motivations of this scanModem package.  
-
-DriverCompiling.txt -  Explains the roles of additional files which may have to be installed
-   to support compiling of modem drivers, and the steps to take.   
-             
-SoftModem.txt - Information and instructions about "soft modems".
-     For these modems, additional steps may be necessary for choice of supporting software.
-     The primary PCI ID is that of the "modem controller", which can support diverse Subsystems.
-     It is the "modem codec" of the Subsystem which determines the software needed.
-
-Slmodem.txt - The slmodem software from SmartLink supports a variety of soft modems.
-     However new Users need to be aware of its special port setup features.
-  
-Slmodem-ALSA.txt   About ALSA mode usage for slmodem.
-.
-ModemTesting.txt SHOULD be read, but  after drivers have been installed.
-
-InfoGeneral.txt has general information about the status of winmodem support under Linux,
-    Do read it if ModemData.txt  reports that your current modem is not supported under Linux. 
-  
- If you are Linux newcomer, please do locate your local Linux group through:
-    http://www.linux.org/groups/index.html  .  If you are not comfortable with English,
-    a local Linux user can often be of substantial assistance in getting you on to the Internet.
-END
-
-  cat<<END>>Modem/Rational.txt
-
- This script primarily utilizes the "lspci" utility from the package PCIUTILS.
- Various component scriptlets interpret the information captured by lspci.
- For many modems, directions to supporting software and/or more detailed information is enabled.
- ISA bus modems, 16 bit PCMCIA card modems and USB modems will not be recognized.
- See the output files for guidance on these cases.
-
- The script originated as scanPCI written by Chris Hebeisen,
- to recognize modems with DSP (digital signal processing) chipsets made by Lucent/AgereSystems.
- It now aspires to provide useful information on other modems as well.
- For the  Lucent/Agere DSP chip modems, System information is used to recommend Installers,
- from the Installer list output from the repository:   http://ltmodem.heby.de/
- For other modem chipsets fully identified, URLs to support sites are given.
-
- Three types of information are acquired from your System:
- 1) General system information necessary for your guidance;
- 2) The PCI_ID of the modem card, or for the increasingly prevalent "soft modems",
-  the PCI_IDs of  its AC97/MC97 controller and its modem subsystem.
- 3) For soft modems, a SIL_ID of the subsystem is either acquired
- OR instructions provided for manual agetting it.
-
- The remainder of $0 is a repository of "modem gossip" or URLs thereto.
- Only information blocks most relevant to your System will be output into
- files written to the Modem/ folder
- Should you need assistance after FIRST following all the advice and/or URLs,
- 1) Browse the general information at:  http://linmodems.technion.ac.il/ 
- 2) ONLY thereafter send ModemData.txt to:   discuss@linmodems.org
- Modem/General.txt  has common information the List need not be bothered with.
- 3) Also the archive SEARCH ENGINE at  http://linmodems.technion.ac.il/
- may be useful once PCI or SIL IDs are acquired.
-
- The scanModem script can be read and word searched with a text browser.
- Blocks of Information with little code begin and end with #####.
-
- In case of a failure concerning "lspci", rerun $0 after login to a console with
- # su - root
- as Root permission may be necessary for access to lspci.
-
- Updated on $UPDATE by  Marv Stodolsk for access through:
-     http://linmodems.technion.ac.il/packages/scanModem.gz
- Please do NOT use a scanModem.gz from any other site!!
-
-END
-  cat<<END > Modem/InfoGeneral.txt
-
- Do NOT send this  text  with common information to discuss@linmodems.org
- There are instructions to UNSUBSCRIBE from discuss@linmodems.org at http://www.linmodems.org
- ==============
- RATIONAL
- This $0 service is sadly  necessary because of the pre-compiled format
- (binary, Closed Source)  of some modem supporting code. Intellectual property
- is protected within the binary component.  But this prevents compatibility
- assessments/debugging against Linux Open Source code. Skipping many details,
- the consequence is that some Linux distributions do not deliver Closed Source code,
- or tools adequate to fully identify the modem chipset.
- This script tries to close  this information gap.
-
-  Several sections are included in this file:
-   The Summary of modem Support under Linux
-   description of the soft modem identity tests: SIL ids
-   some output from scanModem specific to your System
-   an explanation of the GCC 2.95 compiler warning
-   ethernet Interference with DNS (domain name service)
-   Please Linux Newbies read carefully, the companion
-   Modem/DriverCompiling.txt and its
-     Followup Modem/DriverTesting.txt section  with dialout examples.
-
- USB modems will not be detected through the acm.o driver with port /dev/ttyACM0
-   UNTIL proper USB support is installed.
-   See http://www.linux-usb.org/USB-guide/x332.html,
-   Linux_kernel_source/Documentation/usb/acm.txt, and
-   http://www.usb.org/developers/devclass_docs/usbcdc11.pdf (page 15)
- Among the USB modems with proprietary interfaces, there is support for
-    Conexant HSF modems are supported by the hsfmodem package at http://www.linuxant.com/drivers
-         HSF USB with Vendor:Product IDs -  0572:1300  0572:1301  0572:1302  0572:1303  08E3:0111
-           with updates at         http://www.linuxant.com/drivers/hsf/index.php
-         HCF Vendor ID: 0572 Product ID: 1290 (Cadmus2 HCF, Conexant) is supported,    
-             but NOT the Cadmus I types:  http://www.linuxant.com/drivers/hcf/faq.php#25
-         HCF USB Vendor ID: 05AC Product ID: 8202 (Cadmus2 HCF, for Apple/Mac and not PCs)
-  SmartUSB56 (ST7554) based modems with ID: 0483:7554  
-    The SWEEX USB modem has the ST7554 chipset
-    Drivers are at http://www.smlink.com/main/index1.php?ln=en&main_id=40
-    http://linmodems.technion.ac.il/archive-fourth/msg00176.html is an installation report.
-    To write out Smartlink information, use the proxy entry
-      ./scanModem test 1131:3400
-
- PCMCIA card modems can serve if your laptops modem is not supported under Linux.
-   http://freewebhosting.hostdepartment.com/g/gromitkc/pcmcia_list.html
- The 3COM,Inc 3CXM556 and AgereSystems FM560LK chip modems use the Open Source serial-cs.o driver.
-
-It is the CHIPSET, and Not the modem BrandName which is informative for Linux support.
- For modems not recognized by $0, chipset information may be obtained under Microsoft Windows through:
- 1) Start > Settings > Control Panel > Classical View (for WinXP) > Modem  
- or alternatively under Linux
-# cat  /proc/asound/mc97*
-      Try to identify the modem setup file, with name perhaps MODEM.INF
- 2) Open a COMM console, and send ATI commands to the modem (ATI, ATI1, ATI2, etc)
-   which may elicit chipset and driver information. Here is an example
-       ATI3 - Agere SoftModem Version 2.1.22
-       ATI5 - 2.1.22, AMR Intel MB, AC97 ID:SIL REV:0x27
-   successfully identifying an Agere SoftModem chipset, both by name and through
-   the:softmodem SIL ID:              AC97 ID:SIL REV:0x27
-
- SUPPORT SUMMARY - as of $UPDATE
- -------------------------------------
- Controller chipsets are used in the most expensive modems and are supported.
-  They utilize the same driver, serial.o , and most commonly the ports /dev/ttyS0 thru 3.
-  Such chipsets are produced by 3Com, AgereSystems (the Venus chipset),
-  Topic Semiconductor Corp., and others. But the same companies may
-  produce unsupported WinModems. Do not depend on the Brand Name.
-  Look for an explicit statement of Linux support
-
- AVOID the following modem chipsets:
-   ESS -       no formal support since 2.2.2 kernels, though there are kluges:
-      http://andywettstein.home.comcast.net/ess/
-      http://tx.technion.ac.il/~raindel/
-   3Com/US Robotics winmodems - never supported under Linux
-
- SmartLink - newer chipsets are supported:   http://www.smlink.com
-   ftp://ftp.smlink.com/linux/unsupported/
-   Moreover, the slmodem-2.9.10  drivers will support Many but not all modem Ssubsystems
-   that serve under AC97/MC97 controllers.
-
- Conexant -  all modems supported with drivers at:  http://www.linuxant.com
-   Testcode for slow 14,400 mH support is free, BUT
-   there is a one time charge for the full speed support.
-
- Intel Inc. -  http://developer.intel.com/design/modems/support/drivers.htm
-   For early releases check at: http://linmodems.technion.ac.il/resources.html
-    The HaM modem is supported, but code is no longer being updated;
-      there will likely be failures under emerging 2.6 kernels.
-    The 536ep and five Intel537 modem chipset variants are actively supported.
-
- Lucent /AgereSystems
-   The Venus chipset modem uses the serial.o driver and is thus supported.
-   Modems with digital signal processing (DSP) chipsets are supported:  http:/ltmodem.heby.de
-   For AC97/MC97 soft modems. Initiate software access through code sponsor IBM:
-       http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52698
-   Coding of support for has Not yet begun PCI soft modems with PCI_IDs 11c1:048?
-    and probably will first be available within 2004.
-
- Motorola support is at: http://www.motorola.com/softmodem/sm56_download.htm
-   through 2.4.22 kernels.
-
- PCTel modem business has been sold to Conexant
-   Driver compiler resources are at: http://pctelcompdb.sourceforge.net/
-  However, the pre-compiled binary component is yet to be assembled
-   with the gcc 3.nn used in newer Linux releases,
-   so forced (-f) insertions may be necessary:
-     insmod -f pctel
-   Some of the HSP soft modems are supported by the SmartLink slmodem-2.9.10 drivers.
-
- Broadcom modems in Dell laptops and PCs - can be made to function under 2.4 kernels, but code has not been updated recently.
-
- --------- end chipset section ----------------------
-
-  SUPPORT under the current 2.6.nn kernels.
-
- The more expensive Controller chipset modems are functioning.
- SmartLink slmodem-2.9.9 drivers are functioning.
- Conexant has 2.6.n support
- The Lucent/Agere digital signal processing (DSP) chipsets do have
-   informal service into 2.6.n kernels and an AgereSystems release is soon expected.
- Intel, Agere Systems and Linuxant are firmly expected to continue support into 2.6.nn,
-   though the Intel HaM software will not be updated to 2.6.n service
-
- ------------------------------------
-  Preparing winmodem drivers will generally require compiling.
-  If you are not familar with this process DEFINITELY read carefully
-  the Modem/DriverCompiling.txt
-  
-END
-
-cat<<END>Modem/DriverCompiling.txt
-
- =======================================================
-          COMPILING DRIVERS, for Linux Newbies
-         
-Within the workshop there is an instruction set, the Makefile, and a few tools.   You command:
-       make clean
-An elf named "make" comes in, reads Makefile and then cleans up any debris of previous efforts.  
-Do ALWAYS command "make clean" as a first step before new driver compilations.
-The major work of compiling drivers and any associated tools is commanded with:
-       make  
-or perhaps  
-       make DriverName
-There only remains to command installation of the modem driver(s) and tools with:
-       make install
-Configuration of a dialout utility is done elsewhere, and you can access the Internet.
-
-It is really that simple, once the workshop with tools has been prepared.
-But new drivers have to be compiled with every operaing system update.
-The remainder of this text is thus aids you in the preparations, dealing with a variety of special cases.
-Most  points are covered in much more detail in the Linux Kernel-HOWTO, likely included among the
-HOWTO documentation set installed within /usr/share/doc/ folders.
-
-The core operating system of a PC is comprised of a motherboard, the software kernel, 
-and its auxilliary code modules.  The kernel is the file  /boot/vmlinuz-$SYS. 
-Modules located in subfolders of /lib/modules/$SYS/  .  They can be inserted into or removed 
-from the acting kernel upon demand. This provides adaptablity to the diverse 
-hardware components of PCs and changing requirments. 
-
-Modem drivers are one type of module.  As contrasted to most Linux software, modem driver codes have
-some non-public code components. That is the drivers are not fully Open Source, to protect 
-Intellectual Property of the providing companies.   This has a consequence that many Linux distributions
-will not or cannot legally  supply proprietary  modem drivers.  Rather the Users must get the 
-modem code package and direct  compiling of the code and driver installation.
-
-A complementary resource for compiling is a family of FileNames.h, collectively called kernel-headers.
-They are both code bits themselves and also call for other code bits their functioning depends on.
-Depending on the Linux distribution, kernel-headers may not be automatically installed.
-If not they will always be made available on installation media or some Linux repository.
-They can be searched for by package names including:  kernel-source, linux-source, kernel-headers and linux-headers
-There are always some kernel-headers in afolder /usr/include/.   But these are an INCOMPLETE, too small collection 
-and DO NOT suffice for compiling processes.
-
-In addition some software utilities may have to be installed.  The instructions for compiling are read by make.
-A set of compiler tools are installed as a  gcc-SomeVersion package.  After compiling, the various pieces 
-and linked dynamically together with "ld". Together wiith some simpler software tools, the ld will 
-already be installed on Linux systems.  Systems using the Debian style maintanence system
-additionally require a package "kernel-kbuild-3.n" to properly utilize kernel-headers or 2.6.n kernels.
-
-The  "kernel-headers" are matched with an installed kernel, or must be generated from a kernel-source package. 
-These are provided in different ways by the various Linux distributions, under 2.6.n kernels:
-     Redhat and Fedora - installation is coincident with kernel installation, 
-         with placement of the kernel-header base folder in /lib/modules/$SYS/build/
-    Mandrake and SuSE/Novell - installation as part of a kernel-source or linux-source  packages,
-         with location at /usr/src/kernel-headers-$SYS  or /usr/src/linux-$SYS 
-    Debian and distros using its Package.deb format have names:
-          kernel-headers-$SYS
-         linux-headers-$SYS  for Ubuntu
-         and installation is into  /usr/src/
-    Others - ???
-
-For  the prior generation of 2.4.n kernels, there are special cases.  Skip this if your kernel is a 2.6.n or a Debian type.
-For RPM using distros, the kernel-source-$SYS or linux-source-$SYS packages must be installed and configured as described below:
- 1) SuSE with KernelVersion 2.4.21-144-* or later - install the matching kernel-source package, which does also contain the kernel-headers;
-2) for Fedora II or later, kernel-headers are/were coinstalled with the kernel package;
-3) for all other cases of 2.4.n kernels, the kernel-headers must be prepared from kernel-source.      
-  The preparation can be summarised in a few steps/actions:
-  Install a kernel-source package representing your kernel.
-  Change directory (cd) into its base folder. The kernel-source in general
-  will match only one of several kernels that could have been installed
-  and NOT necessarily yours. Thus clean out any remnants of earlier usages with:
-       make mrproper
-  Copy in your kernel configuration file and have it read with:
-       make oldconfig
-  If necessary edit ONLY the fourth line of the Makefile, which completes
-  the specification of where drivers will be installed to (details below).
-  The kernel-headers are then assembelled by either: 
-  a) for 2.4.nn kernels by
-       make dep
-  b) for 2.6.n kernels,
-        make bzImage
-which includes an integral "make dep" step. 
-
-Modem related resources may or may not have been installed during the primary Linux installation,
-as WinModem hardware is often NOT recognized.  Search your Distro's package
-descriptions for "modem" to reveal the status of related resources.  Read
-the package description to determine whether pre-compiled modem drivers were provided.
-RESOURCES of a few types are needed to get on line. Do PREFERABLE use your System's
-package maintenance system for the installation. This should guarantee that
-any DEPENDENT packages will be called into the installation process. As a preliminary
-1) Install your distributions package providing the KPPP, WVDIAL and MINICOM dialer utilities.
-Dependencies within such packages will also drive the unpacking of ppp related modules
-from compressed to a functional form :
-   module.o.gz --> modules.o
-or for 2.6.n kernels
-   module.ko.gz --> module.ko
-In addition these dialers will later aid testing and configuration,
-which is to be performed only AFTER, the modem's drivers are installed.
-
-2) Download if necessary and modem driver package specific to your modem hardware.
-3a) Install if necessary your distrbution's kernel-source package, necessary for preparing kernel-headers under 2.4.n kernels
-Or for Debian style distributions,
-3b) install the kernel-header-$SYS.deb package matching your kernel version $SYS.
-
-A KERNEL-SOURCE package must be installed, if a full kernel-header set
-is not otherwise provided. Kernel-source packages are now some 30-40 MB now even in compressed form.
-The package provided by your Linux Distro SHOULD preferentially be used.
-It will usually have some differences from that initially released at http://www.kernel.org .
-Typically the installation process will set two symbolic links:
-  /lib/modules/$SYS/build -->  PATH_to/kernel-source-version/
-  /usr/src/linux --> PATH_to/kernel-source-version/
-These later enable access to the kernel-headers needed during the modem driver compiling. Check with:
-  ls -l /lib/modules/$SYS/build
-  ls -l /usr/src/linux
-The former link is more usefull for Systems with alternative boot kernels,
-and is mandatory for some modem compiler packages.
-
-HIGHLY IMPORTANT: the kernel-source as installed in generally does NOT
-represent your current kernel version, EVEN if the kernel-version is the same.
-Only one of several possible kernels was installed on your System,
-and the unpacked kernel-source need NOT represent it exactly!!!
-For example, in the RedHat Distro there is a set of kernel-configuration files within
-   /usr/src/linux/configs/
-Each is specialized for a different CPU (i586, i686, K6, etc),
-Yet each will be represented by the VERY SAME version name: "uname -r" .
-!!!! Thus a PROPER CONFIGURATION MUST BE DONE by You, before compiling drivers !!!!
-
-Examples provided below are partially customized from your System settings.
-CONFIGURATION is started by moving into the kernel-source folder with one of:
-  cd  /lib/modules/$SYS/build
-  cd /usr/src/linux
-END
-if test -f /lib/modules/`uname -r`/build/Makefile ; then
-  MKFL=/lib/modules/`uname -r`/build/Makefile
-
-elif test -f /usr/src/linux/Makefile ; then
-  MKFL=/usr/src/linux/Makefile
-else
- echo Makefile not found>/dev/null
-fi
-if test -n "$MKFL" ; then
-  cat<<END>>Modem/DriverCompiling.txt
-
- There is a Makefile on your System at:  $MKFL
- with first few lines:
-
-END
-  grep -A3 -m 2 VERSION $MKFL >>Modem/DriverCompiling.txt
-  echo>>Modem/DriverCompiling.txt
-else
-  echo " A kernel-source packages is not evident on your System">>Modem/DriverCompiling.txt
-fi
-cat<<END>>Modem/DriverCompiling.txt
-For your current kernel, the fourth line should be
-   EXTRAVERSION = -$KEXT
-where -$KEXT has been read from your current kernel version: $SYS.
-But it this does not match what is Actually in the Makefile,
-then it represents a Different kernel-header set then that of your kernel!!!
-
-For Mandrake Linux their will generally be an included "mdk", such as:
- EXTRAVERSION = -3.1mdk
-SuSE 9.0 had:
- EXTRAVERSION = -99-default
-The first four makefile lines specify that:
-a)  the compiled kernel modules/drivers will have encoded version labels such as:
-   2.4.21-3.1mkd  OR   2.4.21-99-default
-b)  such modules including modem drivers are installed into sub-folders of
-   /lib/modules/2.4.21-3.1mkd/
-   /lib/modules/2.4.21-99-default/
-The major points are that compiled drivers must be both
-kernel-release (the 2.4.21) AND EXTRAVERSION matched with the installed kernel.
-Otherwise they may be installed uselessly and not be detected by the kernel
-OR there will be a failure upon attempted insertion, with message including:
-  a list of "unresolved symbols ".
-
-Kernel-headers may be resident from a prior usage of the kernel-source/.
-Check with:
-  ls include/linux/
-which may display abundant FileNames.h
-The version of these headers will be in the UTS line displayed by
-  cat include/linux/version.h
-     #define UTS_RELEASE "2.4.21-3.1mdk" (as an example)
-
-Next, list completely the contents of the kernel-source  with:
-  ls -a
-Where the " -a " additionally reveals ".dot-prefixed-confguration-files" such as
-    .config  .hdepend .depends
-which may be left over from the prior usage of the kernel-source. Below is an example:
- -------------------
-    .config  .hdepend .depends
-COPYING        Makefile        Rules.make    init    mm
-CREDITS        README          arch        drivers  ipc     net
-Documentation    conf.vars   fs       kernel  scripts
-MAINTAINERS    REPORTING-BUGS  crypto      include  lib
-
-Configuration of the kernel-source is where almost all the Mistakes occur!!!
-Here is a way to do it correctly (but read through EXCEPTIONAL CASES below).
-1)Within kernel-source/ folder, browse the README file for general guidance.
-It will relate that the command:
-#    make mrproper
-cleans up leftovers from any previous usage .dot-files and the include/linux/ folder.
-Additionally you may need to do an edit within Makefile, but ONLY that 4th line.
-2) If necessary to edit, FIRST make a backup:
-  cp Makefile Makefile.backup
-then edit ONLY the 4th line of Makefile to match the EXTRAVERSION of $SYS
-   EXTRAVERSION = -$EXT
-NEVER change anything else within the Makefile.
-
-3) Set the dependencies of the current kernel.
-For SuSE 9.0 and later, there is a command which does the following steps
-   #  make cloneconfig && make dep
-   Also browse the excellent README.SuSE in the kernel-source/ folder
-For other Distros, the following steps are necessary, within the kernel-source/ folder
-  copy the kernel-config file to  .config
-          and DO SPECIFY that " . "
-But where is it? For many Distros, it will be the file like
-   /boot/config-$SYS
-matching the output of:
-  uname -r
-Or it may be the target of a symbolic link:  /boot/config -->
-So
-  cp /boot/config-$SYS .config
-For SuSE 8.0 and earlier versions it is:
-  cp /boot/vmlinuz.config  .config
-PLEASE do not omit that "." in  .config as it is crucially necessary.
-View .config with a text browser.
-It is simply a listing of the code components used in the kernel and its modules:
-  #
-  # Automatically generated make config: don't edit
-  #
-  CONFIG_X86=y
-  # CONFIG_SBUS is not set
-  CONFIG_UID16=y
-etc.
-
-4) The  .config file will be read during
-#  make oldconfig
-which feeds its specifications through a process specifying
-the SAME inter-dependencies previously used in compiling your kernel,
-and may generate additional .dot-config files . They can be displayed with:
-#   ls -al
-
-5) Though it may be redundant after "make mrproper", it will do no harm to:
-   make clean
-5a) For the SuSe Linux versions 8.0 and previous , there will exist files:
-  /boot/vmlinuz.autoconf.h
-  /boot/vmlinuz.version.h
-They MUST be copied as:
-  cp /boot/vmlinuz.autoconf.h  /usr/src/linux/include/linux/autoconf.h
-  cp /boot/vmlinuz.version.h    /usr/src/linux/include/linux/version.h
-
-6) Now build kernel-headers with:
-       make dep
-for 2.4.n kernels or for 2.6.n kernels
-       make bzImage 
-during which you can walk your dog, take a shower, have tea, etc.
-7) Check for resultant FileNames.h with:
-       ls  include/linux/
-and
-       cat include/linux/version.h
-to verify the version.
-
-COMPILING the MODEM DRIVERS can now finally be done.
-Unpack the compiler kit for your modem drivers,
-cd into its folder, read any README or INSTALL files,
-   make clean
-FINALLY, your modem drivers will compiled by a command like
-   make OR  make ModuleName
-or perhaps
-   make all
-During this process, some of the kernel-header code with be joined
-with the supplied modem specific code, and ModemDrivers.o will be produced.
-Follow and further instructions in the modem code resource
-to install the drivers, often with:
-   make install
-
-               THEORETICAL ISSUES      
-
-WinModem driver packages commonly include:
-1) a readible Open Source component, which can be readily debugged by
-experts in code. This component provides "wrappers" to common
-kernel functions for an already complied, or BINARY format, component of the modem code.
-
-2) A Closed Source component compiled into the binary form, in which
-proprietary information is encrypted. This will include the copyrighted Vn.nn compression algorithms.
-In 2004, pre-compiled modem drivers are beginning to be included
-for a few winmodems by some Linux distributions.
-But the binary format precludes incorporation of the modem drivers in some Linux distributions
-for legal reasons, practical reasons, and/or reasons of principle.
-
-Since almost all the newer PCs are now equipped with WinModems,
-many users will have to compile their own linux modem drivers.
-Exceptions are the more expensive modems with Controller chipsets,
-characteristic of the earliest modems.
-They are supported by Open Source serial code included in Linux
-distributions (Distros hereafter).
-
-Winmodems are less expensive because of greatly reduced hardware costs.
-They lack Controller chips of the earliest modems, and may additionally lack Digital Signal Processor (DSP) chips of second generation modems.
-Functions of Controller based chipsets are replaced by a combination of 
-software code and/or other System hardware.
-
-Modems without a controller chip are referred to as "controllerless modems" and
-modems lacking both a DSP and controller chips are referred to as "soft modems".
-With faster central processor units (CPU), some processing tasks are performed
-by the CPU for the controllerless modems. The CPU does nearly all
-the signal processing for the "soft modems" lacking a DSP. 
-
-AC97 or MC97 soft modems conform to an ac97_codec, and can host a variety of Subsystems It is the CODEC of the Subsystem which determines which software should be utilized!! 
-and any modem controllers can host one of a variety of soft modem Subsystems.
-There are additionally soft PCI modems without such controllers, which still utilize
-the common ac97_modem.o driver. In general it will be YOUR task to identify
-the Subsystem codec and compile the needed driver.
-   
-## end Modem/DriverCompiling.txt
-
-END
-
-  cat<<END> Modem/Slmodem-ALSA.txt
-  
-  The ALSA ( Advanced Linux Sound Architecture)  package includes some modem
-   drivers which provide low level support  for a few soft modem controllers.
-   Pulse dialing (ATDP) is Not supported with these ALSA modem drivers however.
-   
-    As of this update $UPATE there is support for the following soft modem controller types:
-      PCI  ID                  controller name/source          low level Module
-    =======        ===============    ===============
-    8086:xxxx           several Intel ICH types         snd-intel8x0m
-    10de:00d9          Nvidia Corp                                        "
-    1002:434d          ATI                                           snd-atiixp-modem
-    1106:3068          VIA                                           snd-via82xxx-modem
-    10b9:5451          ALI 5451                                  snd-ali5451-modem.ko  (in progress)
-    
-  To use ALSA modem drivers,  the SmartLink slmodem package   must be compiled 
-  with an ALSA support option.    The resultant slmodemd daemon provides for 
- creation of a port and /dev/pts/N  (N a number) and a symbolic link to it:
-        /dev/ttySL0 --> /dev/pts/N
-  The command seqeunce is:
-                  modprobe Module
- with Module being one of the four above
-                  /usr/bin/slmodem --country=YourCountry  --alsa  hw:1   &
-  hw is short for hardware port.  hw:0 is typically reserved for the audio card.
-  The & merely puts the daemon function in the backgound, so that the command prompt is recovered.
-  The slmodemd shutdown can later be done by:
-                  fg slmodem
-                 Ctrl-C
- This service has the additional requirements:
- 1) The subsystem must be one of those compatible with slmodemd.
- Excluded are Conexant Subsystems, which are alternatively supported by the  hsfmodem package from
-       http://www.linuxant.com/drivers/
-       
-  For many other Subsystems, the instructions below on using SmartLink slmodem software 
-  in ALSA mode is cogent.  Slmodem.txt and Testing.txt complement the information herein. 
-  
-2) The modules must be compiled form  ALSA release of at least 1.0.6a or later version. 
-Check your System with
-# alsactl --version
-     alsactl version 1.0.6
-on my Debian 2.6.10 System. So more current code would be necessary.  
-Should your System be less than 1.06a, follow the instructions here in.
-Should a message " error: mixer setup: Off-hook switch not found for card hw:1"
-be delivered while dialing, use at least version  1.0.9rc3 .
-If later, just skip to the next section.
-Download software from http://www.alsa-project.org, The release of May 2006 is 1.08. 
-Download both alsa-lib and alsa-driver packages. Make a folder:
-        mkdir newALSA
-Unpack both packages in the newALSA/
- Follow the compilation and installation instructions therein, which will 
-install the ALSA modules and complementary software.
-3) Compilation of slmodemd with ALSA support requires prior installation of
-a package  libasound2-dev, which will be provided by your Linux distrbution.
-It has header files needed for the slmodemd compilation.  For for Mandrake/Mandriva,
- the package name is  libalsa2-devel .  Use the slmodem-2.9.9d-alsa.tar.gz package
- downloaded from  http://linmodems.technion.ac.il/packages/smartlink/
- Also download the ungrab-winmodem.tar.gz which will be necessary for some Systems,
- providing an upgrab-winmodem.ko modules.  See  http://linmodems.technion.ac.il/slmodem-serial.html
-
-4) Login to a console as;
-# su - root
-Shift into the slmodem-2.9.9d-alsa folder. Look at contents:
-# ls 
-         COPYING  Changes  Makefile  README  drivers  modem  patches  scripts
-Clean up any old remnants with:
-#  make clean
-The slmodemd will be compiled by make:
-# make
-and installed to   /usr/bin/slmodemd by:
-#  make install
-An initial check for functionality is:
-        modprobe Module
-with Module being the appropriate ALSA modem driver.
-Should there be a failure, with message "grabbed by serial driver", First
-       modprobe ungrab-winmodem
-before
-       modprobe Module
-       
-Start the daemon with one of:
-        slmodem --country=YourCountry --alsa  hw:1   &
-        slmodem --country=YourCountry --alsa  modem:0   &
-        slmodem --country=YourCountry --alsa  modem:1   &
-When Module is  snd-atiixp-modem  , instead use
-        slmodem --country=YourCountry --alsa  modem:0   &
-        
- Subsequently follow the details in Slmodem.txt  and Testing.txt
-END
-
-cat<<END>Modem/Testing.txt
-                       MODEM TESTING
-                        
-This text is complemented by the Post-Install at http://linmodems.technion.ac.il
-Please so consult it if the following does not suffice.
-
-The wvdial package provides for an automated hardware+driver test.
-This utility searches through ports with syntax: /dev/ttyS*  (i.e. S0, S1, SL0 etc.)
-and also follows a symbolic link:
-       /dev/modem --> /dev/ModemPort
-If your modem port name does not satisfy these requirements already,
-do a console login as:
-       su - root
-Make the symbolic links as:    
-       ln -sf /dev/ModemPort /dev/modem
-       ln -sf /dev/ModemPort /dev/ttyS15
-wherein /dev/ttyS15 is reserved for experimental usage.
- Should there be problems with wvdial version 1.54.1-1 , drop back to 1.54.0-1 
-
-For recent RedHat and Fedora releases, wvdialconf is used by the Internet Wizard.
-Within the pop-up menus find the Wizard. Its actions will write a configuration file:
-       /etc/wvdial.conf
-For other Linux distros, open a console and login with
-       su - root
-If necessary load the modem drivers:
-       modprobe DriverNames
-Then run the test:
-       wvdialconf /etc/wvdial.conf
-Checks /dev/modem and ports /dev/ttyS*, a success at port /dev/ttySLT0 would be:
-  ttySLT0<*1>: ATQ0 V1 E1 -- OK
-  ttySLT0<*1>: ATQ0 V1 E1 Z -- OK
-  ttySLT0<*1>: ATQ0 V1 E1 S0=0 -- OK
-  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
-  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
-  ttySLT0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK 
-    etc.
-The /etc/wvdial.conf written looks like:
- [Dialer Defaults]
-Modem = /dev/ttySLT0
-Baud = 115200
-Init1 = ATZ
-Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
-ISDN = 0
-Modem Type = Analog Modem
-; Phone = <Target Phone Number>
-; Username = <Your Login Name>
-; Password = <Your Password>
-
-For systems using the SmartLink slmodem drivers,
-the following line should be added to its /etc/wvdial.conf
-  Carrier Check = no
-So after editing in your personal information a functional file is like:
- [Dialer Defaults]
-Modem = /dev/ttySLT0
-Baud = 115200
-Init1 = ATZ
-Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
-# if there is problem with dial tone acquisition, add into the above line:
-#    X3
-#       meaning "dial without waiting"
-ISDN = 0
-Modem Type = Analog Modem
-Phone = DialupPhoneNumber
-Username = Your_Login_Name
-# for MSN.net, use instead
-#  Username = MSN/Your_Login_Name   
-Password = Your_Password
-# if usging the SmartLink slmodem drivers, uncomment:
-#  Carrier Check = no
-
-The lines above beginning with " # " are Comments not read as code.
-Remove the " # " to activate a line.  Then try getting on line with:
-# wvdial
-The /etc/wvdial.conf generated by the RedHat/Fedora Internet Wizard 
-has a different format, adapted to its own dialer.  This includes a line
-       Stupid Mode = yes
-More informative dialup feedback May be obtained if it is commented out:
-#      Stupid Mode = yes 
-
- A dialout with wvdial will then display like:
-# wvdial &
---> WvDial: Internet dialer version 1.53
---> Initializing modem.
---> Sending: ATZ
-ATZ
-OK
---> Sending: ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
-ATQ0 V1 E1 M1 S0=0 &C1 &D2 +FCLASS=0
-OK
---> Modem initialized.
---> Sending: ATDT3019178111
---> Waiting for carrier.
-ATDT3019178111
-CONNECT 53333 V42bis
---> Carrier detected.  Waiting for prompt.
-** APX1.LNH.MD.RCN.NET Terminal Server **
-Login:
---> Looks like a login prompt.
---> Sending: LoginName
-LoginName
-Password:
---> Looks like a password prompt.
---> Sending: (password)
-    Entering PPP Session.
-    IP address is 66.44.1.6
-    MTU is 1006.
---> Looks like a welcome message.
---> Starting pppd at Sat Jul 26 13:59:03 2003
---> pid of pppd: 2404
-: pppd 2.4.1 started by root, uid 0
-: Using interface ppp0
-: Connect: ppp0 <--> /dev/tts/LT0
-Jul 26 13:59:08 stodolsklap kernel: PPP BSD Compression module registered
-Jul 26 13:59:08 stodolsklap kernel: PPP Deflate Compression module registered
-: local  IP address 66.44.1.6
-: remote IP address 208.59.89.132
-: primary   DNS address 207.172.3.8
-
-The & in "wvdial &" puts the process into the background, 
-allowing further usage of the command prompt.  To stop a backgrounded process:
-# fg wvdial
-# Ctrl -C 
-
-TROUBLE SHOOTING
-
-Check for modem driver loading.
-Do FIRST read INSTRUCTIONS files provided with the modem driver resource.
-Some may have installed to /usr/share/doc/Modem_or_Driver_Name/
-For RPM using distros, documentation files will be listed through
-   rpm -q -d packageName (less the version part, sometimes)
-and all directly installed files can be listed by
-   rpm -q -l packageName
-Depending upon your installation, the modem drivers may/may_not be autoloaded.
-Login as Root in a console with:
-# su - root
-# lsmod
-If the modem drivers are not already loaded onto the kernel, insert them with command
-# modprobe ModuleDriver
-If there are multiple drivers such as the lt_modem.o and lt_serial.o pair,
-commanding the serial like driver:
-# modprobe lt_serial
-should autoload all modules it depends on.  Check with:
-# lsmod 
-This proceeds through a reading of dependency files
-written to /lib/modules/$SYS/ during boot up through the "depmod -a" command.
-In constrast
-# insmod lt_serial
-would only attempt loading of that single driver and will FAIL, if its dependency on
-lt_modem.o has been satisfied by prior lt_modem.o insertion.
- Do read "man wvdial" and /usr/share/doc/vwdial  documentation
-sometime browse the documentation that is written to /usr/share/doc/wvdial/
-Therein are instructions for setting up alternative dialouts.
-
-%%% This wvdialconf action if successful generates the files:
- /etc/ppp/peers/wvdial
- /etc/ppp/peers/wvdial-pipe
-in addition to the /etc/wvdial.conf
-
-Many Users prefer to use the dialout utility KPPP. This is fine.
-But each User MUST run the configuration process separately.
-In principle, different Users on the same Linux System could
-have different Internet providers and/or use different modems.
-The configuration process generates a file:  /home/UserFolder/.kde/share/config/kppprc
-Therein, non-standard modem port names can be entered, such as:
-      [Modem]                 
-      Device=/dev/ttySHSF0
- for the Conexant hsfmodem port.  
-
-Preparation for  dialout if other COMM modes are active.
----------------------------------------------------------------------------
-Concurrent ethernet capability will compete for
-the Domain Name Service (DNS) needed for browser naviagation. So as root:
-# /sbin/ifconfig eth0 down
-before starting a dialout!
-With a Mandrake installation, it will be necessary to:
-# /etc/init.d/network stop
-
-Internet clients such as Netscape, Mozilla, Explorer etc.
-should be CLOSED during your first dial out trials.
-Should a URL on the Internet be specifed as the default URL/connect,
-then the Client may compete with ppp for connectivity functions.
-After PPP functionality has been verified, the effects of opened
-or launched browsers can be checked
-
-If you have installed the DIALD (dial on demand) package, stop it for initial tests:
-# /etc/init.d/diald stop
-Otherwise diald function will be initiated with modem usage,
-and could compilate issues. Test diald only after ppp by itself is fine.
-
-If your internet provider assigns DNS dynamically then add to /etc/ppp/options:
- usepeerdns
-
-To analyze a dialout attempt, it is useful to display kernel messages with:
-# tail -f /var/log/messages &
-The & puts the commanded process in the "background" allowing recovery of the command prompt.
-
-Some dialer packages (kppp etc) may automate the above steps.
-
-
-Note that for some Linux distributions (Mandrake for one),
-maintain modules in compressed module.gz format, if modem service was not specified
-during the Linux installation. A subsequent installation of any dialer package:
-  wvdial - PPP dialer with built-in intelligence.
-  kppp - PPP dialer for KDE
-  dtmfdial - A DTMF Tone Dialer
-  gkdial - Gtk-based PPP dial-up configuration tool.
-  gkdial-gnome - GNOME-based PPP dial-up configuration tool.
-  masqdialer - daemon for remote control of masqueraded dialup links
-  pppconfig - Debian configuration toolset with command: pppconf
-will stimulate unpacking of ppp related modules during bootup.
-
-The cogent ppp related modules loaded during such a CONNECT are displayed within the output from:
-# lsmod
-ppp_deflate             3512   1  (autoclean)
-zlib_inflate           18980   0  (autoclean) [ppp_deflate]
-zlib_deflate           18648   0  (autoclean) [ppp_deflate]
-bsd_comp                4440   0  (autoclean)
-ppp_async               7744   1  (autoclean)
-ppp_generic            16380   3  (autoclean) [ppp_deflate bsd_comp ppp_async]
-slhc                    5264   1  (autoclean) [ppp_generic
-
-For ealier 2.4.nn kernels, loading of these modules may require the following lines within
-  /etc/module.conf :
-### automate ppp modules loading ###
-alias /dev/ppp          ppp_generic
-alias char-major-108    ppp_generic
-alias tty-ldisc-3       ppp_async
-alias tty-ldisc-14      ppp_synctty
-alias ppp-compress-21   bsd_comp
-alias ppp-compress-24   ppp_deflate
-alias ppp-compress-26   ppp_deflate
-### end ppp block ####
-For more recent kernels with their modutils,
-these lines are no longer needed.
-
-For  potential causes of a NO DIALTONE failure, read the Post-install.html
-at  http://linmodems.technion.ac.il/  Not setting the Country Code may be
-and additional problem.
-
- COUNTRY CODE Issues
- ====================
- The modem which you purchase locally or abroad may not be preset
- with the proper Country Code setting.  An incorrect setting can
- hinder acquisition of dial tone.
- Inclusion of an X3 (dial without wainting) in the modem Init string
- of under wvdial, including in /etc/wvdial.conf a line
-   Stupid Mode = yes
-
- Dialtone recognition depends on the setting of country
- and/or local phone line equipment.
-
- To properly get dialtone for your country phone experiment use
- AT+GCI=xx  where xx is country code in hexidecimal format.
- Theoretically there could be 256 different countries but
- not all are valid. Tables in manuals are way off date,
- you have to write a small script to try all combinations
- for yourself if you can't guess by chance.
-
- After country select you can check textual name of the country it represents.
- For example:
-   at+gci=00
-   OK
-   ati9
-   Japan
-
- If you can't find exact country, choose the nearest one available.
- Nearby countries tend to have similar equipment and compatible dialtones.
-
- These comments from:   Emard <emard@softhome.net>
- =================
-
-8) After a successful CONNECT, the Domain Name Service (DNS) needed
- for Browser navigation can be checked with:
-# ping corel.com
-PING corel.com (206.47.20.85): 56 data bytes
-64 bytes from 206.47.20.85: icmp_seq=0 ttl=52 time=209.1 ms
-64 bytes from 206.47.20.85: icmp_seq=1 ttl=52 time=189.9 ms
-64 bytes from 206.47.20.85: icmp_seq=2 ttl=52 time=180.0 ms
-64 bytes from 206.47.20.85: icmp_seq=3 ttl=52 time=179.9 ms
-# Ctrl-C
-     aborts ping
---- corel.com ping statistics ---
-4 packets transmitted, 4 packets received, 0% packet loss
-round-trip min/avg/max = 179.9/189.7/209.1 ms
-
-# ping 206.47.20.85
-PING 206.47.20.85 (206.47.20.85): 56 data bytes
-64 bytes from 206.47.20.85: icmp_seq=0 ttl=52 time=179.8 ms
-64 bytes from 206.47.20.85: icmp_seq=1 ttl=52 time=190.0 ms
-64 bytes from 206.47.20.85: icmp_seq=2 ttl=52 time=170.0 ms
-# Ctrl-C
-     aborts ping
-
-Should there be a success with:
-# ping 206.47.20.85
-BUT a failure with the named address:
-ping corel.com
-Then DNS has not been acquired.
-Note that failure to stop ethernet service
-# /sbin/ifconfig eth0 down
-before starting a dialout, will commonly block DNS under ppp.
-
-To terminate the wvdial session, bring the action to the foreground (fg):
-# fg wvdial
-  Ctrl-C    to terminate:
-wvdial
-Caught signal #2!  Attempting to exit gracefully...
-: secondary DNS address 207.172.3.9
-: Terminating on signal 15.
-: Connection terminated.
-: Connect time 7.8 minutes.
---> Disconnecting at Sat Jul 26 14:06:53 2003
-
-The Debian distribution provides a utility:
-# pppconfig
-for setting up a chatscript for ppp initiation.
-Most dialers do use chatscripts and will produce similar records.
-Below is the record of a dial out initiated by:
-
-# pon
-: pppd 2.4.1 started by marv, uid 1000
-: abort on (BUSY)
-: abort on (NO CARRIER)
-: abort on (VOICE)
-: abort on (NO DIALTONE)
-: abort on (NO DIAL TONE)
-: abort on (NO ANSWER)
-: abort on (DELAYED)
-: send (ATZ^M)
-: expect (OK)
-: ATZ^M^M
-: OK
-:  -- got it
-: send (ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M)
-: expect (OK)
-: ^M
-: ATQ0V1E1M0S0=0W2&C1&D2+FCLASS=0^M^M
-: OK
-:  -- got it
-: send (ATDT3019178111^M)
-: expect (CONNECT)
-: ^M
-: ATDT3019178111^M^M
-: CONNECT
-:  -- got it
-: send (\d)
-: Serial connection established.
-: Using interface ppp0
-: Connect: ppp0 <--> /dev/modem
-: kernel does not support PPP filtering
-Jul 26 14:08:39 stodolsklap kernel: PPP BSD Compression module registered
-Jul 26 14:08:39 stodolsklap kernel: PPP Deflate Compression module registered
-: local  IP address 66.44.1.195
-: remote IP address 208.59.89.132
-: primary   DNS address 207.172.3.8
-
-Once your first CONNECT has been established, than in the future if should suffice
-just to use your dialer of choice: wvdial , kppp  .gnomeppp or whatever.
-
-Good surfing to you.
-
-10) GENERAL ITEMS
-
- If attemped insertion of a modem driver evokes a complaint like:
-         unresolved symbol do_SAK_R9a0bcb74
- then the kernel-headers using in compiling the modem drivers
- do not match those of your current kernel whose KernelVersion is displayed by:
-    uname -r
- and whose kernel config file is often located at /boot/config-KernelVersion
- The section above "COMPILING DRIVERS, for Newbies" relates how to make corrections.
-
- There are definitely IPs whose login protocols are Linux hostile.
- If you cannot achieve a login, try another Internet Provider (IP).
- or ask for someone on discuss@linmodems.org to test your IP.
-
- Many driver packages provide for loading modem drivers on bootup.
- Here is a description on how to set it up, if necessary:
-   http://linmodems.technion.ac.il/archive-fourth/msg00451.html
-
- PLEASE include the diagnostic output of the following Root command in any problem reports:
- # setserial -agv /dev/ttyS*
-
- For instructions on having modem drivers loaded on bootup,
-   particularly the SmartLink slmodem drivers see:
-   http://linmodems.technion.ac.il/archive-fourth/msg00451.html
- For automated removel of drivers after a PPP session see:
-   http://linmodems.technion.ac.il/archive-fourth/msg00145.html
-
-  For general upto date advice:
-    http://linmodems.technion.ac.il/
-    http://linmodems.technion.ac.il/resources.html
-    available in Russian at  http://linmodems.nm.ru
- for a general PCI_ID database
-    http://www.pcidatabase.com/
- the original Linux winmodems URL is:
-    http://linmodems.org
- with a mailing list on Winmodems:
-    discuss@linmodems.org
- whose archives can be searched at:
-    http://linmodems.technion.ac.il/ (near bottom of the page)
- There is an extensive modem database at:
-    http://start.at/modem/
- Locate your local Linux groups through:
-    http://www.linux.org/groups/index.html
- USB modem information:  http://www.linux-usb.org/USB-guide/x332.html
- Laptop users should browse http://tuxmobil.org/modem_linux_add1.html
- For debugging ppp:
-   http://www.cisco.com/warp/public/471/debug_ppp_negotiation.html
-
----------- end FOLLOW UP STEPS ---------------
-
-END
-
-       cat<<END>Modem/Slmodem.txt
-               SLMODEM PACKAGE USAGES and TESTING
-
-Summary
------------------             
-SmartLink (SML hereafter, http://www.smlink.com) produces chipsets for PCI card and USB modems
-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 
-from other chipset manufacturers.  The installed software has components:
-       /usr/bin/slmodemd  - a daemon that  provides most services, including dynamic port creation.
-       /dev/slamrN  and /dev/slusbN  (N = 0,1,2 or 3) are proxy devices used by 
-               slmodemd in port creation  for PCI and USB modems respectively.  The true port is of type 
-               /dev/pts/N  , N a number,  with a symbolic link to it also created:
-                     /dev/ttySL0 --> /dev/pts/N
-       slusb.ko - driver for the USB modems
-       slamr.ko -  a low level driver which accesses the port, 
-              There are subsititutes for slamr.ko within the Open Source ALSA package
-               (snd-intel8x0m.ko , snd-via82xx-modem.ko  or   snd-atiixp-modem.ko ) working with most
-              modem hardware, and provided that slmodemd was compiled with ALSA (Advanced
-              Linux Sound Architecture) support. (See the companion Slmodem-ALSA.txt)
-       the code folder  slmodem-2.9.n/scripts/  contains scripts which can provide  bootup automation
-Details follow.
-
-  Slmodem support
-   -------------------------------
- The software features support for :
-      FAXing, though not the AT&F command; 
-      SMP (Symmetric MultiProcessor) mother boards;
-      64 bit AMD x86_64 processor mother boards, see
-        http://linmodems.technion.ac.il/archive-fourth/msg02594.html;
-      the SmartUSB56 (ST7554) chipset with vendor/product usb ids  0483:7554, 
-          see report at  http://linmodems.technion.ac.il/archive-fourth/msg03609.htm
- A few modem hardware types are supported:
-      the USB modems ;
-      several BrandName modems, for which the primary PCI suffices for chipset identification; 
-      many soft modems, for which a "mc97 codec" as well as PCI ID must be acquired, 
-          as described in the companion SoftModem.txt and below.
-Software download sites are:
-    SML -  http://www.smlink.com for slmodem-2.9.10.tar.gz, with license to support only SML 
-        chipset modems.  The slmodem package maintainer is Sasha Khapyorsky.  His quick fixes are at:
-   http://linmodems.technion.ac.il/packages/smartlink/   Currently cogent packages are:
-           ungrab-winmodem.tar.gz  - necessary for some Systems which falsely presume that
-                the modem is a serial port modem type.  See  http://linmodems.technion.ac.il/slmodem-serial.html
-           slmodem-2.9.9d.tar.gz - providing compiling resources for slmodemd, slamr.ko and slusb.ko
-          slmodem-2.9.9d-alsa.tar.gz - providing for compilation of slmodemd  with ALSA support, 
-               so that the ALSA driver alternates described can be utilized.
-          This  2.9.9x version software is licensed for use with any compatible softmodem.   
-
-The slamr diagnostic
------------------------------
-If you have just downloaded the slamr.ko driver matching your kernel, 
-just move into the folder with slamr.ko  and
-# insmod  slamr.ko 
- will generate a warning about "Tainted kernel", and perhaps about non-SmartLink chips.
- So long as the driver loads, just ignore them. Read related kernel messages with
-# dmesg | grep slamr
-The output should include a line like:
-      slamr: mc97 codec is CodecName
-  wherein the CodecName is needed to choose the correct software
-  
-Should the be an output like like:
----------------
-slamr: unsupported module, tainting kernel.
-slamr: module license 'Smart Link Ltd.' taints kernel.
-slamr: SmartLink AMRMO modem.
-slamr: device 10b9:5457 is grabbed by driver serial
-------------
-The "grabbed by driver serial" indicates a compensating driver is needed.
-Use the ungrab-winmodem.tar.gz resource to compile the ungrab-winmodem.ko
-After installation, first do
-# modprobe ungrab-winmodem
-before
-# modprobe slamr
-# dmesg | grep slamr
-
-
- A slamr.ko driver may already be installed (SuSE/Novell Linux).  Please run the following test sequence:
- # su - root
- # modprobe -r slamr
- Ignore any warning message
- # modprobe slamr
-Then same as above. Get the CodecName and send the information to Discuss@linmodems.org
- Explanation and details follow  below.
-
-  Special cases:
-  ---------------------------   
- For BCM64/Broadcom and ATI softmodem support, only the slmodem-2.9.9d-alsa.tar.gz can serve. 
- Within the Modem/ folder output by scanModem, browse Slmodem.txt, Slmodem-ALSA.txt and Testing.txt
- There have been a few reports of problems being solved by using Bootup options:
-              noapci and/or apci=off
- thus dropping back to the APM power management mode.
- Solution of a CONNECT problem has been achieved by specifying a slower V32 modulation 
-       see  http://linmodems.technion.ac.il/archive-fifth/msg00137.html
-
-  General installation:
-  -----------------------------
-  If your Linux distribution provides a slmodem package, the package manager will typically
-  install it to  /usr/src/moduels/slmodem-2.9.N   .  But it downloaded as a slmodem-2.9.N.tar.gz,
-  if could be unpacked in a folder of your choice.  The following directions assume installation to:
-         /usr/src/moduels/slmodem-2.9.N
- Do  a Root login into a command console:
- #  su -  root
- # cd   /usr/src/moduels/slmodem-2.9.N
- Look at contents:
- # ls
-   COPYING  Changes  Makefile  README  drivers  modem  patches  scripts
-   
- For Debian related Distros there is an sl-modem-daemon.deb package providing
- slmodemd and initializaton scripts.  A separate  sl-modem-source.deb packages
- houses the slamr and slusb driver code.  It is installed as:
-    /usr/src/sl-modem.tar.bz2
- Unpack by
-  #  cd /usr/src/
-  #  tar jxf sl-modem.tar.bz2
-  which opens into:
-    /usr/src/modules/sl-modem/
-  Move in with:
-  # cd /usr/src/modules/sl-modem/drivers
-  for subsequent steps.
-  
-  The routine compiling steps are:
-  # make clean
-  # make
-  # make install 
-A detaile example is  http://linmodems.technion.ac.il/archive-fourth/msg00176.html
-          
-  Also install the wvdial package if your Distro provides it.
-  The wvdialconf provides a first simple test of Hardware + Software functionality.
-  
- Afterward a test can be performed:
- # modprobe slamr
- See a resulting the kernel report with:
- # dmesg | grep slamr
- which may contain a line:
-   slamr:  mc97 codec is CodecName
- with CodecName being a variable diagnostic output.
- There are 4 cases:
-  a) codec is SILnm , with n,m numbers
-    there are good prospects for the modem being supported by the slmodem resources.
-  b) codec is INT65
-   The Intel_secure-537AA-CurrentVersion should serve, 
-   with slmodem support an alternative for compatible modem controllers.
-  c) codec is CXTnm
-    the softmodem is a Conexant type.  
-    ONLY hsfmodem drivers from http://www.linuxant.com can be utilized.
-    Do remove the slmodem installation first with:
-      # make uninstall
-    before proceeding further.
-  d) codec is BCM64
-    the soft modem has a Broadcom codec and the slmodem-2.9.9d-alsa MUST be used.
-    See http://oboc.ucdavis.edu/Marik/inspiron/ 
-    But readon first for general information
-    
-
-Testing
--------------------------------------------         
-To being testing , Watch your kernel messages with:
-# tail -f /var/log/messages  &
-The "&" just  backgrounds the process, or else the command prompt is lost.
-The low level interface driver is loaded with:
-# modprobe  Module
-Then
-# slmodemd --help
-just to see what it provides.  
-
-Check for support
- of your country with:
-# slmodemd --countrylist
-The default is USA.
-# slmodemd --countrylist &> CL.txt
-will write the list to CL.txt if desirable.
-Use your own COUNTRY from the second column for the port creations command:
-
-Simple usage
--------------------------
-It may be necessary to
-# modprobe upgrab-winmodem 
-before inserting the low level driver:
-# modprobe Module
-where Module is:
-       slamr  for PCI card modems OR
-       slusb  for a USB modem 
-       one of the ALSA drivers mentioned above
-Start the deamon with corresponding:
-# slmodemd -a --c YourCountry  /dev/slamr0   &
-for the PCI card modems
-# slmodemd -a --c YourCountry  /dev/slusb0   &
-for the USB modes
-# slmodemd -a --c YourCountry  hw:1  &
-when using an ALSA driver, except for the ATI modems use:
-# slmodemd -c YourCountry modem:0   &
-
-These commands will creat the real port  /dev/pts/N and a symbolic link
-    /dev/ttySL0 -->  /dev/pts/N
-and provide higher level functions of the slmodem code
-The first functionality test is:
-# vwdialconf  wvdialtest.txt
-if the modem is thus found prospects are good for success.
-
-1) For Redhat and Fedora, use the Internet Wizard within the popup menus to 
-configure a dialout,  A file /etc/wvdial.conf will be created. 
-
-2) For other Linux distros do:
-# wvdialconf /etc/wvdial.conf
-Edit three lines of your personal information into /etc/wvdial.conf,
-replacing the  <text>,    including the < >
-
-In both cases add to  /etc/wvdial.conf  a line needed by slmodemd
-  Carrier Check = no
-Using other dialer utilties (such as KPPP) is OK, and they will not need the:
-     Carrier Check = no
-     
- However should a "No carrier" message be returned during a dialout attempt see:
-     http://linmodems.technion.ac.il/archive-fifth/msg00552.html
-
-Then try a dialout, with:
-# wvdial & 
-
- The discretionary " & " just allows recovery of the command prompt.
- To stop a command thus started:
- # fg wvdial
- puts the process in the foreground, so it can be stopped with
- # Ctrl-C
- Preferably use wvdial for testing if your distribution provides it. Otherwise use Minicom.
- If there is a failure to acquire a dial tone, add an X3 in the /etc/wvdial.conf line like:
-   Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
- to:
-   Init2 = ATQ0 X3 V1 E1 S0=0 &C1 &D2 +FCLASS=0
- For dialers using a chatscript, the edit would be like:
-   ATQ0X3V1E1S0=0&C1&D2+FCLASS=0
-  
-  Read Modem/Testing.txt for further testing guidance,
-  and Modem/Slmodem-ALSA.txt  for details on ALSA mode.
- If success has been achieved using the slamr driver, after a while
- it is worth also testing the slmodem-2.9.9d-alsa or later  resource .
-   but do fully UNINSTALL slmodem-2.9.n first!!!
- Only the slmodemd for creating ports is provided in ALSA mode
-  The complementing Open Source ALSA
- drivers comes with kernel-image packages.
- For the slamr and usb drivers the proxy ports can be displayed with:
-  # ls -l /dev/sl*
-crw-------  1 root root 212, 0 Apr 29  2004 /dev/slamr0
-crw-------  1 root root 212, 1 Apr 29  2004 /dev/slamr1
-crw-------  1 root root 212, 2 Apr 29  2004 /dev/slamr2
-crw-------  1 root root 212, 3 Apr 29  2004 /dev/slamr3
-crw-------  1 root root 213, 0 Apr 29  2004 /dev/slusb0
-crw-------  1 root root 213, 1 Apr 29  2004 /dev/slusb1
-crw-------  1 root root 213, 2 Apr 29  2004 /dev/slusb2
-crw-------  1 root root 213, 3 Apr 29  2004 /dev/slusb3
-  If your System is using the udev file system for devices. A proxy report 
-will NOT be present until the driver is inserted:
-# modprobe slamr
-OR
-# modprobe slusb  
-
- The slmodem packages way contain a scripts/ folder , with scripts for
- automating driver loading and port creation upon bootup. For some Systems, 
- it has proven beneficial to cause a pause after driver loading by inserts
-       sleep 1 (or maybe 2 or 3 if necessary)
- before the line:
-       echo -n "Starting SmartLink Modem driver for: $SLMODEMD_DEVICE"
- Without the pause, the driver diagnositics may not complete 
- before the following step is attempted, with a resultant failure.
- Call back support is implemented in slmodem-2.9.10 and slmodem-2.9.9b
-See  http://linmodems.technion.ac.il/archive-fifth/msg00219.html
-   
-END 
-cat<<END>>$RECORD
-
- The Modem/DriverCompiling.txt  is a MUST READ,
- if you are not experienced in configuring kernel-source/
- or get "unresolved symbols" upon driver insertion.
-
-  Most recent WinModem fixes are in:  http://linmodems.technion.ac.il/FAQ.html
-  
-(4) For guidance on automation see  http://linmodems.technion.ac.il/archive-fourth/msg03734.html
-and the scripts in the slmodem-2.9.n/scripts folder/
-
-END
-
-if [ "$DISTR" = "debian" ] && ! [ "$BEST"  =  "" ] ; then
-    echo " For Debian users, the kernel-headers-$SYS.deb can be used instead of kernel-source/" >> $RECORD
-    echo >>  $RECORD
-fi
-if [ "$BN" = "scanModem" ] ; then
-  if ! [ "`pwd`" = "/" ] ; then
-    FILES=`ls Modem`
-    cat<<END
-    
-   A subfolder Modem/  has been written,  containing these files with more detailed Information: 
- ------------------------------------------------------------------------------------------
- `echo $FILES`  
--------------------------------------------------------------------------------------------
-       Please read 1stRead.txt first for Guidance.  
-END
-  fi
-
-  if test -z $FAST ; then
-    rm $TMPM $TMPM.* &> /dev/null
-  fi
-else
-  echo  -------------- ending SCANMODEM section ---------------- >>$RECORD
-fi
-echo
-
-