PACKET SWITCHING NETWORKS
PACKET SWITCHING NETWORKS
If you are interested in CompuServe access and file transfer through packet switching networks like those found in some 50 countries all around the world - read on. I have solved the problem of downloading from CompuServe through DATEX-P (Germany) and jumped 3 meters high when it finally worked. The solution applies to other countries also.
 QUICK INTRODUCTION
If you are not interested in the details - the next time you enter CompuServe via a packet switching network do this:
- Logon until you see the "User ID:" prompt. (Any time later than this will also work.)
- Enter a Ctrl-P (hold down the Ctrl key and press P once). You are now talking to your network instead of CompuServe.
- Enter "set 3:126,4:0,5:1,9:0,12:0,118:8,119:21,120:22,125:10" without the quotes and press Return.
- Press Return a second time.
- Enter your user ID and continue as usual.
This gives you
- prompt response to Ctrl command characters like Ctrl-C and Ctrl-O,
- uninterrupted text uploads
- no disturbing fill characters,
- cheaper local PAD line editing with Backspace, Ctrl-U and Ctrl-V and mostly clean lines when in an online conference.
(1) Check if your network's command prefix is really Ctrl-P by entering Ctrl-P, then a nonsense command, then one Return. If you get a network error message Ctrl-P is allright. If you get a CompuServe message like ?XXXXXX - INVALID USER ID - TRY AGAIN / User ID: then Ctrl-P is wrong for you and you have to ask the network operator for the correct network command prefix or attention character.
(2) Your computer may freeze especially after finishing a connection. Type a Ctrl-Q (hold down Ctrl and press Q) and continue normally.
(3) See chapter --- XMODEM FILE TRANSFERS --- if necessary.
 DETAILED EXPLANATION
THE SYSTEM: Connection to CompuServe is normally done in the following way.
Async Terminal or Microcomputer - PAD - Packet Switching Network - Gateway - CompuServe Network
THE PROBLEM: Using a microcomputer I can hardly afford a direct X.25 channel to the network. So I use the public PAD (Packet Assembly and Disassembly) unit provided by the "Post" which accepts the standard async signals, 300 or 1200 bps full duplex. The PAD's behaviour is the source of all potential trouble.
Fortunately the PAD can be controlled by the user to such an extent that even XMODEM and similar file transfers can be facilitated. The standard settings, however, are completely inadequate, especially for binary file transfers.
Uploading (from you to CompuServe) is more difficult than downloading because the PAD normally interprets some special characters send by your asynchronous terminal or microcomputer which do not occur in the other direction, e.g. X-ON, X-OFF and PAD command prefixes.
THE SOLUTION: Let us look at the problems in detail. In the following the PAD parameter numbers and settings apply directly to the German DATEX-P network. The international parameters as well as the basic problems and processes, however, apply to all packet switching networks that are accessed by asynchronous terminals through PADs.
PAD COMMANDS: "SET parameter_no : value , parameter_no : value , ..." sets PAD parameters. "PAR?" lists the current parameter settings. "PROF profile_no" resets all parameters to predefined values and "PROF? profile_no" lists the predefined values of profile_no without applying them. Do not key in the quotes. In most cases you will only need the SET command.
 INTERNATIONAL PAD PARAMETERS
PAD COMMAND PREFIX: When connected with CompuServe you can still issue commands to the PAD. A special character (DLE=^P, Ctrl-P, check for your particular network) switches the PAD into command mode. The following lines are not sent to CompuServe any longer but are taken as commands by the PAD. Two consecutive Returns get you back into the connection. For example to set parameter 3 to the value of 126 and parameter 4 to zero you have to do this: Key in ^P to switch the PAD into command mode, then key in "set 3:126,4:0". Do not key the quotes. Finally press Return twice to get out of command mode again.
This enables you to change PAD parameters while you are alredy connected. We need this facility to adjust the PAD to our needs, especially because setting the PAD parameters before establishing the connection does not always work. In DATEX-P the parameters change when the connection is established and these changes are not always favourable.
You can tell the PAD to let DLE (^P) characters pass unnoticed with "set 1:0". However you will be able to get into command mode never again during the course of that connection. For binary uploads "set 1:0".
PAD ECHO: The PAD will usually echo everything you send back to you. This enables you to use full duplex transmission so you can see all transmission errors. For file transfers switch the echo off with "set 2:0". Afterwards switch the echo back on with "set 2:1".
FORWARD DATA CHARACTER: The PAD can be told to form a packet and forward it before the packet is filled completely. This is necessary because often you will not fill up a packet. Imagine you want to enter a menu selection. You key just one digit and a Return. Without a Forward Data Character setting the PAD would now wait for you to fill the remaining 126 bytes of this packet before it is sent on its way to CompuServe. You will also want the PAD to forward control characters like ^C and Escape immediately.
For file transfers, especially binary uploads, it is not desired to forward packets that are not completely filled for economic reasons. After all you pay for the packet, not the characters in it (more exactly for the segment). "set 3:126" to forward data after all control characters and DEL. "set 3:2" to forward data after Return characters only. "set 3:0" (no Forward Data Character) for file transfers.
FORWARD DATA TIME LIMIT: If you have no Forward Data Character you have to tell the PAD to forward data anyway after a certain time because the transfer protocol (e.g. XMODEM) will not always fill the packet completely. "set 4:8" for file transfers. This yields a .32 s limit (8 * 40 ms). "set 4:0" for normal operation with a Forward Data Character (no time limit). The maximum value for this parameter is 255.
X-ON/X-OFF FROM PAD TO DTE: This parameter enables the PAD to stop and restart your transmission by sending X-OFF and X-ON bytes to your computer. "set 5:0" if this is not desired. "set 5:1" for uploads.
There is a minor problem when you allow the PAD to send X-OFFs to you. Sometimes, especially after finishing or breaking a connection, the PAD sends an X-OFF and your computer seems to freeze. Simply key a Ctrl-Q (X-ON) and everything is allright again.
PAD MESSAGES: You may forbid the PAD to send its own messages to you with "set 6:0" during a straight text download if you are afraid of "Parity Error" or similar messages in the middle of a received file. "set 6:1" normally.
BREAK: There are different PAD reactions to a break signal sent by you. Parameters 7 and 8 deal with these. Leave them alone, we do not normally use break signals.
NUMBER OF FILL CHARACTERS AFTER RETURN: Always "set 9:0" unless you have a real Teletype that cannot return the carriage in time.
LINE LENGTH: Always "set 10:0" unless you want the PAD to break long lines with additional Returns and Linefeeds. (Max value 255)
X-ON/X-OFF FROM DTE TO PAD: "set 12:0" for binary uploads to make the PAD ignore X-ON and X-OFF characters. "set 12:1" otherwise.
 NATIONAL PAD PARAMETERS (DATEX-P AND OTHERS)
DELETE CHARACTER, DELETE LINE, REPEAT LINE, ADDITIONAL FORWARD DATA CHARACTERS: These parameters allow local line editing performed by the PAD. With "set 118:8,119:21,120:22" the PAD can be instructed to perform the duties of the Backspace, Ctrl-U and Ctrl-V commands locally which saves you money whenever you use these commands. If in doubt "set 118:0,119:0,120:0,121:0,122:0".
PARITY: If you use 7 bit with parity you may "set 123:1" to make the PAD check your parity bit. "set 123:0" for 8 bit character length and for all binary file transfers.
DELAY OUTPUT DURING INPUT: Parameter 125 can make the PAD hold incoming data until you have finished typing a line, a very handy feature for online conferences. "set 125:10" for a maximum hold time of 10 seconds. Don't worry, the PAD will not hold all incoming data for 10 seconds when you type. As soon as you press Return all upheld data will start flowing again. "set 125:0" for file transfers under protocol.
INSERT LINEFEED: Try whether "set 126:0" works with your equipment. If the Return key does not advance to the next line let the PAD echo a linefeed after each Return sent by you with "set 126:4" which is the standard setting. (Other settings are: 1 = insert linefeeds after Returns sent by host through PAD to DTE, 5 = both 1 and 4.)
 XMODEM FILE TRANSFER
CompuServe's XMODEM has a special problem. When you initiate an XMODEM file transfer CompuServe automatically sets a Transparent Profile (which is nice) but does this just an instant too late. Thus the initial handshaking is spoiled and the file transfer always gets stuck.
Fortunately we now know enough to take things into our own hands and control the PAD ourselves until the CompuServe programmers get this fixed.
Being too lazy to SET all those parameters individually we can make use of the Transparent Profile our networks offer. In Germany and Canada and probably many or all other countries the Transparent Profile is called "PROF 3".
To start an XMODEM file transfer do this:
1. Go to the point in CompuServe approximately one command before starting the download or upload.
2. Enter Ctrl-P (^P, DLE, the network's command prefix, check for your particular network).
3. Type "prof 3" without the quotes and press Return.
4. Press Return a second time. You are now back in connection with CompuServe.
5. Issue the last command(s) to start the download or upload process. There is no echo any more, i.e. you don't see what you are typing. Don't worry, just carry on.
6. After the transfer, if you don't like the standard parameter setting, SET the parameters again by using a ^Pset command.