home *** CD-ROM | disk | FTP | other *** search
-
- HST (DS) Setup Notes
- ----------------------
-
- John Souvestre & Jim King
-
- July 19, 1990
-
-
- These notes describe how to set up the U. S. Robotics Courier
- HST (14.4K bps), or HST Dual Standard, modem and typical,
- IBM-type, PC communications software, such as:
-
- FOSSIL BBS Driver Terminal
- -------- ----------- ------ ------------
- BNU BinkleyTerm DSZ ProComm Plus
- OpusComm D'Bridge QModem
- X00 FrontDoor Telix
- Maximus
- Opus
- RBBS
-
- The first section has some miscellaneous information about
- running a high speed modem. The next section covers the setup
- for the HST itself. The remaining four sections cover typical
- FOSSIL, BBS, Driver, and Terminal program setups.
-
- This note is not a tutorial on modems in general, or on the HST.
- It is a "setup philosophy" for the HST. We highly recommend
- that you read the HST manual, even if you don't understand all
- of it.
-
- If you have any questions, suggestions, or setup information for
- other programs, please contact us via The Southern Star BBS,
- FidoNet 1:396/1, 504-885-5928. On this BBS you will also find
- a current version of this file under the name HST_SET.ZIP.
-
-
- ================================================================
-
-
- General Notes on High Speed Modems
- ------------------------------------
-
-
- The RS-232C cable connecting the modem to the computer's serial
- port should have at least the following pins connected: 1, 2,
- 3, 4, 5, 6, 7, 8, and 20. Get an Ohm Meter, Multimeter, or
- other form of continuity tester, and check your cable. Some
- connectors have pins which are looped back, and which are not
- connected to the connector at the other end of the cable.
-
- To get the "most" out of your HST you will have to set the
- computer-to-modem speed higher than the modem-to-modem speed.
- This is called "locking" the serial port, since it won't be
- operating at the same speed as the modem itself is. Why is this
- necessary?
-
- For a few reasons: Most computer serial ports don't operate at
- 14400 bps, the basic speed of the HST. Thus the computer has to
- operate at a higher speed. Because of this, however, the
- computer and the modem have to be able to "handshake" to prevent
- overrun, and loss of data. This is called "flow control".
- Hardware handshaking, using the RTS and CTS lines (in the cable
- mentioned above) does the job. Avoid software handshaking, as
- it is protocol sensitive.
-
- Another reason is that the HST does not need to send the start
- and stops bit which make up part of the the asynchronous data
- from/to the computer. This means that for every 10 bits of
- computer-to-modem data, there is only 8 bits of modem-to-modem
- data.
-
- Given that each of these represents one character, the cps
- (characters per second) rating of both links is the same. When
- talking about bps (bits per second) however, this means that the
- computer-to-modem link needs to be 25% faster to keep up with
- the modem-to-modem link, even though both are at the same cps
- rate! Thus it is possible to get more than 100% throughput with
- an HST.
-
- Now let's talk about data compression. MNP compression adds
- about 5% overhead to the data you are sending. So, if the data
- is already compressed, with PKZip for example, then you will
- probably just end up losing the 5%. If you are sending ASCII
- text however, the HST's compression will buy you about 50-100%
- improvement.
-
- The HST allows you to set up compression in one of 3 ways:
- Always on, always off, and do what the other end wants. In
- general, the calling modem should be set to optimize the type of
- transfers it expects to be doing. The answering modem should
- allow the caller to choose whether he wants compression or not.
-
- If your HST has the V.42 option, then you have an additional
- mode. It allows you to use V.42 compression (which will not add
- any overhead for an already compressed file), but not MNP
- compression.
-
- Transfers using compression, at 14400 bps, should generally lock
- the serial port at 38400 bps. 19200 bps probably won't be fast
- enough to allow the modem to run at full speed, depending on the
- type of file being compressed.
-
- In general, unless you expect to be doing lots of transfers
- using compression, it is our opinion that locking the serial
- port at 19200 bps is the better way to go. It is less demanding
- of the computer, thus reducing the chances of losing data in
- marginal cases.
-
- When transferring previously compressed data, where the modem is
- not doing the compression, the maximum rate you will be able to
- achieve is approximately 1700 cps (180% of 9600 bps) on the
- computer-to-modem link. [Note: 1700 cps is 14400 bps, plus 25%
- due to start/stop bit stripping, minus 4% for modem-to-modem
- overhead.] If you are running an older 9600 bps HST, the
- maximum rate is about 1150 cps (120% of 9600 bps).
-
- When testing to determine your transfer rate, test with a known
- good system! If the other system isn't working properly, then
- you are just wasting your time. Be sure to use a previously
- compressed file which takes at least a few minutes to transfer.
-
- Test both transmitting and receiving. Don't trust your
- communications program's timer - some have been know to be off
- by as much as 20%. An efficient protocol will have an overhead
- of 2 - 4%. Some programs count this overhead in the total
- (total characters transferred), while others don't ("useful"
- characters transferred).
-
- For the rest of this note we will assume that you want to lock
- the serial port at 19200 bps. If you want to lock at 38400 bps
- instead, just change the "19200"s to "38400"s.
-
- Some communications programs and most FOSSILs allow you to
- specify the size of the receive and/or transmit buffers. The
- best size will depend on many factors, and may require a bit of
- testing on your part. For starters however, we recommend that
- you make the both the transmit buffer and the receive buffer
- 1K. If you are running under a multi-tasking operating system
- then you might want to start with both, or just the receive
- buffer, set to 2K, instead.
-
- One thing that you will notice when running a high speed modem
- is that all file protocols are not created equal! Protocols
- which require an "Ack" for every block sent do not perform well.
- Thus you will want to avoid XModem, for example. YModem does
- better because it uses a larger block size.
-
- Streaming protocols, such as ZModem, work fine. However, avoid
- protocols like YModem-G, which use error detection, but no error
- recovery, simply aborting the transfer upon an error. Although
- the modem-to-modem transfer is guaranteed by a 16 bit CRC used
- by the modems themselves, errors can still occur between the
- computer and the modem at either end. In some situations it is
- not uncommon to lose an occasional character (see below). It is
- not worth this chance for a speed advantage of less than 1%.
-
- We highly recommend replacing the serial interface chip (UART),
- a 8250 or 16450, with a 16550A. This chip contains a 16
- character FIFO, as opposed to a double buffer. If your
- communications program makes use of the FIFO, it will allow you
- longer interrupt latency and/or less interrupt overhead.
-
- Various manufacturers make versions of the 16550A. National
- Semiconductor was the first. Their full part number for the
- 40-pin DIP is NS16550AN or NS16550AFN. Make sure that the part
- you get is a 16550A, and not the older 16550. Avoid the Western
- Digital version (WD16550...).
-
- In all the cases that follow we recommend installing a 16550A.
- In some of the cases alternatives are also presented.
-
- Some computers (particularly 4.77 MHz, 8088 machines) are not
- fast enough to support 19200 or 38400 bps. If you have this
- type of computer, you can use 9600 bps instead, but this will
- not give you the HST's full speed.
-
- Certain disk controllers, with 1:1 track buffers, can cause
- problems. Perstor disk controllers can also cause problems. We
- understand that Perstor has a BIOS upgrade which helps.
-
- If you are running a program that makes heavy use of extended
- memory, like a RAM Disk or a Cache, you may lose characters.
- This is mainly a problem on 286 machines. With some programs,
- like VDisk, reducing the sector size and/or the number of
- sectors transferred at a time (transfer block size) will help.
-
- Certain TSRs interfere with communications programs. If you
- find that you are having trouble, one thing that you should try
- is to reboot with only the bare essentials in your Config.Sys
- and AutoExec.Bat. If this makes a difference, then you get to
- play detective.
-
- With some multitasking operating systems, or add-ons, locking
- the serial port at 19200 might not give you maximum performance.
- Do some testing and see what works best for you. If you can,
- set the priority of the communications task fairly high. This
- helps guarantee the required CPU time and reduces latency.
-
- If you are running DesqView, keep the number of foreground and
- background ticks fairly low. We suggest anything from 1:1 (on a
- fast machine) to 2:2 (on a slow machine, where task switching
- overhead is significant).
-
- If you are running DesqView with EEMS or EMS 4.0 memory which
- only has only 1 (or no) alternate map register then you should
- run the communications program in the first window. Newer AST
- memory boards have multiple registers. On 386s, using QEMM, you
- can specify how many registers to provide (default is 8).
-
- Under OS/2, running a communications program in the DOS
- compatibility box at 9600 bps or above, you will probably lose
- characters, unless you have a 16550A and a program that makes
- use of it. All of the communications programs and FOSSILs
- described in this note will work fine except for ProComm Plus.
- Or, you could always get a communications program written for
- OS/2.
-
- At the end of this note there is a list of some distributors who
- sell the 16550A.
-
-
- ================================================================
-
-
- Setup for U. S. Robotics Courier HST (DS)
- -------------------------------------------
-
-
- First, check to make sure that you have current ROMs. Use the
- I7 command. Compare the version and release dates with these:
-
- Supervisor date 05/03/90
- Supervisor rev 2.0
-
- IOP date 12/19/88 or 05/17/89 / 08/08/89 / 09/20/89
- IOP rev 1.0 or 1.0 / 1.1 / 1.2
-
- DSP date 09/18/89
- DSP rev 2
-
- If either your Supervisor or DSP are older, call USR's tech
- support at 1-800-982-5151 and get current versions. USR says
- that all four versions of the IOP are functionally equivalent.
-
- If you find that you are having problems connecting with "low
- cost" 2400 bps modems, make sure that you have the current ROMs,
- especially the DSP! As a last resort, recommend to the 2400 bps
- caller that he set his S9 register to 30 when calling you. This
- helps in some cases.
-
- Also, be sure to get Additions and Corrections, 1.015.403 Rev.
- A, or later. However, ignore the Settings Supplement, as it is
- not very accurate.
-
- Check the DIP Switches at the rear of the HST. Please note that
- USR has changed the factory default settings, so check them all:
-
- 1 - Up Necessary - Data Terminal Ready follows pin 20
- 2 - Up Probably - Most programs use the verbal codes
- 3 - Down Probably - Enables result codes
- 4 - Up Probably - Local Echo, confuses some programs
- 5 - Down Probably - Auto Answer disabled
- 6 - Up Necessary - Carrier Detect follows signal
- 7 - Up Probably - Both originate and answer results
- 8 - Down Necessary - Enables command mode
- 9 - Down Probably - Escape code maintains connection
- 10 - Up Necessary - Power up to NVRAM settings
- Quad - Up Probably - Normal, see manual
-
- Note: We consider it bad form for a communications program to
- expect the modem to auto-answer the phone. This allows a modem
- to continue answering the phone after the program has crashed.
- Certainly, any program which demands this anyway should make it
- part of its modem init string, and not expect the modem to
- power-up in that mode.
-
- The following assumes a locked line rate between the computer
- and the modem. Also, the settings favor dialing out and
- transferring previously compressed data, because this is the
- most common case and because a BBS can take care of any
- differences in its modem init string.
-
- Start by setting your communications program to 19200 bps, N81
- (no parity, 8 bits per character, 1 stop bit). Reset the HST to
- factory defaults (&F command), then change the following:
-
- S7=50 [Optional - Longer for international calls]
- S10=10 [Recommended - Helps reduce line dropouts]
- S11=50 [Optional - Increase dialing speed, test to see how
- fast your exchange will allow it to be set]
- S15=8 [Optional - Reduce Tx buffer for non-ARQ connects]
- S19=5 [Optional - Set inactivity timer]
- S28=4 [Recommended - Improves some 2400 bps connects]
- B1 [Recommended - DS only - Try for HST connect
- 1st, if fails will try for V.32 connect]
- T [Optional - Touch-tone dialing]
- X7 [Necessary - X6 gives false "voice" sometimes]
- &A2 [Recommended - Unless it confuses your software]
- &B1 [Necessary - Locked computer-to-modem line rate]
- &H1 [Necessary - Hardware flow control for transmit]
- &K0 [Optional - No compression, or use &K1 for auto]
- &R2 [Necessary - Hardware flow control for receive]
- &S1 [Necessary - Modem controls DSR]
-
- If you have the V.42 option, in place of the &A and &K above, use:
-
- &A3 [Recommended - Unless it confuses your software]
- &K3 [Optional - V.42 compression, or use &K1 for auto]
-
- Finally, save the new settings (&W command). Note: When making
- changes, be sure to use the &F command immediately before
- entering the changes and saving them, otherwise you will be
- changing the "current" setup - which might not match the "saved"
- setup.
-
- Now, with the I5 command you should see (for a HST DS with V.42)
- something like:
-
- USRobotics Courier 14400 HST Dual Standard NRAM Settings...
-
- DIAL=TONE B1 F1 M1 X7
- BAUD=38400 PARITY=N WORDLEN=8
-
- &A3 &B1 &G0 &H1 &I0 &J0 &K3 &L0
- &M4 &N0 &P0 &R2 &S1 &X0 &Y1
-
- S02=043 S03=013 S04=010 S05=008
- S06=002 S07=050 S08=002 S09=006
- S10=010 S11=050 S12=050 S13=000
- S15=008 S19=005 S21=010 S22=017
- S23=019 S24=150 S26=000 S27=000
- S28=004 S38=000
-
- In the modem strings which follow, drop the B0/B1 if you are not
- using a DS.
-
- If you have one of the internal HST models, it includes the
- 16550A UART as it's serial interface.
-
- We understand that for use with an Amiga, it is necessary to
- leave &S set to 0.
-
- While the default setting for &G of 0 works fine for U.S.
- operations, in other countries you might need to change it to 1
- or 2.
-
- It is possible to program the HST with what shows up in the
- following Modem Init strings, too. If you use the HST with only
- one program, then this is a good idea. The Modem Init string
- can then be shortened to just ATZ. We prefer to set up the HST
- with the "common" commands listed above, and let the Modem Init
- strings do the rest.
-
-
- ================================================================
-
-
- Setup for FOSSIL Programs
- -------------------------
-
-
- The most important thing to do when setting up a FOSSIL is to
- lock the baud rate of the comm port. Be sure to lock the
- correct port number. Some FOSSILs refer to com1 as "port 0"
- while others use "port 1".
-
- When running locked, most FOSSILs default to hardware
- handshaking. Check to be sure that yours does, and if it does
- not, then turn on hardware handshaking.
-
- Most FOSSILs default the size of the receive and transmit
- buffers to 1K each. This is fine for most systems. If you are
- multi-tasking you might need to increase this to 2K or 4K. Try
- 1K first, and increase it till you get full performance. If
- increasing it makes no difference, return it to the previous
- setting.
-
- The BNU FOSSIL offers a switch (Z) which lets you optimize the
- way that the 16550A receive FIFO is set to interrupt. The
- default (0) is to not interrupt till the receive FIFO is nearly
- full. This minimizes CPU overhead but allows for the least
- amount of interrupt latency.
-
- If you find that you are losing characters, then your system's
- interrupt response isn't fast enough. Increase the value (up to
- 5) of the Z switch till it works OK. This procedure will keep
- your interrupt overhead as low as possible, within the bounds of
- the interrupt latency that your system can handle.
-
- The X00 FOSSIL offers a FIFO switch. However, this switch only
- serves to reduce the size of the transmit FIFO, leaving the
- receiver FIFO set to full. We do not recommend using this
- switch, as all that we can see it doing is increasing overhead.
-
- ================================================================
-
-
- Setup for BBS Programs
- ----------------------
-
- If you are using a FOSSIL, then do not lock the BBS program's
- speed. The FOSSIL will take care of that for you. On the other
- hand, if the BBS program is directly driving the serial ports,
- then you will need to tell it to lock the speed. Most BBS
- programs now support 19200 bps, but not all support 38400 bps.
-
- The Init string should look something like:
-
- |ATZ||~~ATB0E0H0M0Q0V1S2=255&K1&M4&N0&Y0||
-
- The Init string starts off by resetting the modem - a good
- practice, in general. There is a 1 second delay (~~) after this
- to allow the modem time to initialize itself. Note: Opus does
- not delay a fixed amount of time per ~. Hence, the faster the
- machine you run it on, the more ~'s you will need.
-
- The modem will not auto-answer, rather the BBS will tell it when
- to answer. If your BBS program requires that the modem
- auto-answer, then add S0=1 to the Init string. Most BBSs use
- the verbal result codes. If yours requires the numeric result
- codes, use V0 instead.
-
- The modem is set to answer either HST or V.32 calls (B0),
- whichever the caller chooses. It also follows the compression
- wishes of the caller (&K1). These allow the BBS to suit the
- needs of the caller.
-
- The double returns (||) are used to avoid an HST bug. If the
- line rings while it is being sent command strings, sometimes the
- HST gets very confused, and refuses to do anything from that
- point on. For some reason, the double return seems to help.
-
- The Busy string should look like:
-
- |ATH1M0||~v
-
- This will tell the modem to go on-hook and turn the speaker off.
- Then DTR is dropped, to be sure that the modem ignores any
- "junk" on the serial line, till DTR is raised again.
-
- The Answer string is simply:
-
- |ATA||
-
- If you BBS is the type that also makes outgoing phone calls,
- then it will need a Dialing Prefix. That string looks like:
-
- |ATB1&K0&M4&N0DT
-
- The B1 causes the modem to attempt a HST connection first, then
- V.32. It also disables compression (&K0), under the assumption
- that whatever you are about to transfer is already compressed.
-
- Both the Init and Dialing Prefix strings reset the modem to ARQ
- (&M4), variable link (&N0) in case a specific phone number
- contains other instructions, embedded in it.
-
- If the BBS offers handshaking options, choose hardware, not
- software. Hardware is also know as CTS and RTS, while software
- is known as XON and XOFF.
-
- Door programs, which run "under" the BBS program, are another
- whole story. Some will use a FOSSIL, if present, some won't.
- You will probably have to call them with the locked speed of the
- serial port, but be careful to check that they will run at the
- speed which you are locked at.
-
-
- ================================================================
-
-
- Setup for Driver Programs
- -------------------------
-
-
- ZModem works great with the HST! Here are typical DSZ command
- lines for ZModem receive:
-
- DSZ port 1 handshake on rz -m -rr
-
- and ZModem send:
-
- DSZ port 1 handshake on sz -m -Z -rr filename.ext
-
- The "handshake on" command enables hardware handshaking. The
- rest are just standard DSZ commands which you would use with any
- modem.
-
-
- ================================================================
-
-
- Setup for Terminal Programs
- ---------------------------
-
- Use the following for the general modem setup:
-
- Default speed 19200
- Initialization AT Z^M^M~~AT E1 M3 Q0 V1^M^M
- Dialing prefix AT B1 &M4 &N0 DT
- Dialing suffix ^M^M
- Hangup ~~+++~~AT H0^M
- Auto answer AT B0 &K1 &M4 &N0 S0=1 S2=255^M
- Auto speed detect Off
- Hardware flow control On
- or RTS/CTS
- Software flow control Off
- or XON/XOFF
- Drop DTR to hangup Yes
-
- Where ^M means Carriage Return, and ~ means a 1/2 second delay.
-
- In the dialing directory set all entries to 19200. If you can
- set up dialing codes, then set:
-
- A = &M4 [Enables ARQ - default]
- B = &M0 [Disables ARQ]
- C = &N1 [Force 300 bps]
- D = &N2 [Force 1200 bps]
- E = &N3 [Force 2400 bps]
- F = &K1 [Enables data compression]
- G = &K0 [Disables data compression]
- H = &K3 [Disables only MNP data compression]
-
- The default is to call at 14400 bps with ARQ enabled. The first
- time you call a new number (ex: 555-1212) wait till you see the
- CONNECT message then look at the ARQ light on the modem. If the
- light is on then suffix the phone number with "-A" (ex:
- 555-1212-A). If the light is out then suffix the phone number
- with "-B" (ex: 555-1212-B). Disabling ARQ will speed up the
- connection by about 5 seconds. The "-A" suffix does nothing,
- functionally, but lets you know that you have determined that
- this phone number does have ARQ and makes your directory entries
- line up.
-
- The "-C", "-D", and "-E" suffixes (use only 1 at a time) will
- limit the modem to 300, 1200, or 2400 bps, respectively. This
- is handy for testing and diagnosing problems. Ex: 555-1212-BE
- would force a connection at 2400 bps, with a troublesome 2400
- bps modem, by not attempting high speed and ARQ connects first.
-
- If your program does not support dialing codes, then to force a
- connection at a lower speed, set the speed in the dialing
- directory accordingly. You can also add suffixes to the phone
- numbers to set the ARQ mode and data compression mode, as needed.
-
- ProComm Plus does not allow 38400 bps in the dialing directory,
- so 19200 bps must be used. Also, ProComm Plus does not support
- the 16550A.
-
-
- ================================================================
-
-
- 16550A Distributors
- ---------------------
-
-
- APT Technology, Inc.
- 5539 Prospect Road, Suite 119
- San Jose, CA 95129
- 408-370-9077
-
- Arrow Electronics
- 800-932-7769 and 516-467-1000
-
- Fry's Electronics
- Sunnyvale, CA
- 408-733-1770
-
- Jameco Electronics
- 1355 Shoreway Road
- Belmont, CA 94002
- 415-592-8097
-
- JDR Microdevices
- 2233 Branham Lane
- San Jose, CA 95124
- 800-538-5000 and 408-995-5430
-
- MicroProcessors Unlimited Inc.
- 24000 South Peoria Ave.
- Beggs, OK 74421
- 918-267-4961
-
- Modular Semiconductor Inc.
- 138 Kifer Court
- Sunnyvale, CA 94086
- 408-733-5000
-
- ================================================================
-
- (end)
-