1) general info

  LSppp is a small MSDOS PPP packet driver.  It is compatible with the 
  needs of WATTCP and trumpet stacks.  The resident size is approximately
  28K.

  LSppp loads as a class one ethernet driver and handles all 
  aspects of the connection from dialing onward.  Optionally, an external 
  dialer may be used to dial an ISP prior to running LSppp; it will 
  detect the carrier and go immediately into internet communications 
  setup.
  
  LSppp is capable of auto-configuring WATTCP through the bootp mechanism 
  and will do so automatically.  However, for this to work properly LSppp
  will have to be supplied with name server information.  LSppp will 
  attempt to automatically load name server information from the ISP 
  if none is specified on the command line, however, this is an optional 
  feature your ISP may not support.  To see if it is supported run LSppp
  without specifying the name server switch (/N) and see if it places
  DNS addresses in the IP-UP.bat file

  LSppp does not use configuration files; all parameters are placed on 
  the command line. Configuration options include user name and password,
  number to dial, nameserver information, and various options to set up
  a communications port to use or customize the timeout mechanisms.

  The current version does not have a lot of backwards compatability for 
  old versions of the protocols.  If you have problems running it use the
  undocumented /z switch and send the resulting LSPPP.LOG file to the
  author for analysis.  Note that to get a log file you MUST use the /z
  switch; the /l switch is now used for local mode.

  Note that the undocumented /l option has been changed to the 
  undocumented /z option.  Use of the new /l option will in general cause
  internet connections to not work.

2) Disclaimer and license

     LSPPP - DOS PPP Packet Driver
     Copyright (C) 1997-2003  David Lindauer
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
     (for GNU General public license see file COPYING)
 
     you may contact the author at:  mailto::camille@bluegrass.net
  
     or by snail mail at:
 
     David Lindauer
     850 Washburn Ave.  Apt  99
     Louisville, KY 40222

 
3) Configuration

When dialing the modem sends the following configuration string:

ATZ

Also if /dm:# is specified the modem will be told to mute the speaker.

At any time before LSPPP goes resident, you may press 'esc' to end the 
session and hang up.

Configuration options are as follows:

/a:$    set async map
    set an asynchronous control map.  Characters in the map will be
    treated as purely control characters and will be escaped during
    transmission.  For example if the modem uses XON and XOFF you 
    would specify a map of 0x000A0000.  
    The default is a map of zero, meaning no characters are escaped.

/d:* Dial phone number
    Set the phone number to dial.
       Example:  /d:5551214 
       Example:  /d:#777
       default: LSPPP does not dial

/h or /?
    Displays the help text

/l  Local mode
    Forces LSPPP to not dial (local mode connection)
    Also turns off use of modem control signals

/m:#,#  set MRUs
    sets the maximum recieve unit for both sides of the link.
    The first number is what the number which this client can transmit
    which will be passed to the TCP stack; the second number is the
    amount this client can receive.

  default: /m:576,576

/p  ppp driver interface
   set the driver to use the native PPP packet interface.  By default
   LSPPP will use the non-native class 1 ethernet interface.  Using the
   native PPP interface has slightly less overhead than using the class 1
   interface, for those TCP stacks that support it.
 
/u      Unload TSR 
    unloads the tsr

/x  xon/xoff

    use the xon/xoff protocol instead of modem control signals

/A:#,#    PAP timeout and count

    Set the timeout and count governing password authentication.  
    The timeout is in seconds and is the time between retries; when 
    count retries have been done LSPPP will give up.  default: 
    /A:3,10

/B:#    Baud rate 
    
    Set the baud rate
    example: /B:57600
    default: /B:19200

/D:#,#,#  Dial timeout & count & delay
    
    Set the timeout and retries for dialing.  This is the time 
    LSPPP will wait for a connection (in seconds) and the number of 
    retries to make before LSPPP gives up entirely.  The third
    parameter is optional and is the number of seconds after 
    dialing before it tries to connect to the ISP.

   default:  /D:45,1,0

/I:#,#  IPCP timeout & count 

    Set the timeout and count governing IP configuration.  
    The timeout is in seconds and is the time between retries; when 
    count retries have been done LSPPP will give up.  
    default: /I:3,10

/L:#,#  LCP timeout & count 
    
    Set the timeout and count governing initial link configuration.  
    The timeout is in seconds and is the time between retries; when 
    count retries have been done LSPPP will give up.  
    default: /L:3,10

/M:*    Modem init string
    
    Specify a string to use to initialize the modem when dialing.  
    A typical example is AT&F to initialize defaults.  Note that 
    the dialer will always send ATZ prior to sending the initialize 
    string, which resets the modem.  Also the 'm' parameter on the
    dialer can be used to automatically send ATM0 (mutes the modem)
    in addition to this initialize string

  default:  no initialization string used


/N:@[,@]        DNS address 

    Set the DNS name server address[s].  First address is primary
    and second address is secondary.  If no name servers are 
    specified LSPPP will attempt to auto-configure them from the 
    server.
    example:  /N:198.77.33.2,198.77.33.1
    default: /N:0.0.0.0,0.0.0.0 (autoconfigure)
/P:*    passwd

    Set the login password
    example: /P:truely
    default: no login password

/S:@    Suggest address

        Suggest an IP address for the server to assign to LSPPP
        example: /S:199.62.66.44
        default: no address suggested
        
/U:*    User name

    Set the login user name
    example: /U:dinosaur
    default: user name

/V:$    Packet driver vector

    Set the packet driver vector to use
    example: /V:60
    default: LSPPP searches for a free vector



4)  USB CDC_ACM
          USB Communications Device Class (CDC) definitions;
          USB Abstract Control Model driver for USB modems;

    /Y:HostIndex,DeviceAddress,IntfStat,Pstat,Pin,Pout
        HostIndex,DeviceAddress  -in accordance with stack from "www.bretjohnson.us"
        IntfStat    number of interface, which belongs to interrupt-point Pstat (set status line)
        Pstat       interrupt-point   (get status line: DSR CD CTS ring frame_error e.t.c)
        Pin         input bulk-point  (received bytes)
        Pout        output bulk-point (sent bytes)


An example of a valid command line is:

    GMUS-03 + Siemens AX-75  => MTS
lspppacm.exe /Y:1,5,1,1,2,3  /d:*99***1# /M:ATZ^MAT+CGDCONT=1,"IP","internet.mts.ru"

    AnyData ADU-310A  => SkyLink
lspppacm.exe /Y:1,5,0,1,2,2   /U:mobile /P:internet  /d:#777

    Huawei E1550  =>  Megafon
lspppacm.exe /Y:1,5,0,1,1,2   /d:*99#