Apple SNA•ps

From Try-AS/400
Revision as of 15:45, 14 March 2024 by PoC (talk | contribs) (→‎AS/400 configuration: ALWVRTAPPN)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Active 5250 client connection
SNA•ps Gateway information windows

Apple SNA•ps is an application software package for Apple Macintosh computers running System 7. Its purpose is to provide Macintosh users access to resources located on IBM Midrange and Mainframe computers. It is the result of a collaboration between Apple and IBM in the early 1990s and has been developed by Orion Software. SNA•ps is short for Systems Networking Architecture protocols and services.

SNA•ps uses IBMs proprietary Systems Network Architecture family of network protocols to talk to the IBM side of affairs,[1] and Apple’s proprietary AppleTalk on the Macintosh side.

So far, only two publicly available releases are known: version 1.1 from 1992, and version 2.0.1 from 1994. The beta-level release of SNA•ps 1.1 was available during 1991 and was the primary testing level for the IBM/Apple IBM Enterprise Networking Guide for SNA Products guide.

The main differences between version 1.0, and version 1.1 are the introduction of 3287 printer emulation, and 16 Mbps Token Ring support.

SNA•ps comprises of a client and server component. Both can run on the same Macintosh computer, though.

  • Gateway software with a license dependent maximum count of
    • 8, 32, or 64 LU-sessions for version 1.1
    • 10, 35, or 70 users for version 2.0.1
  • Gateway Client[2] for 3270 and 5250 terminal services, as well as printing services.

Note: Further restrictions in terms of session count may apply depending on selected transport option technology, and available memory on said transport option.

This article focuses on AS/400 and thus on 5250 connectivity. Since the AS/400 platform also has 3270 compatibility support, the SNA•ps 3270 client for 3270 sessions can be used when required, and with an appropriately configured AS/400 system. See below for Macintosh System Software version requirements.

Different versions of SNA•ps are available on Apple’s Computer's Connectivity Demonstration and Support Network Reference CD at Macintosh Garden. Note that version 2.0.1 requires a serial number to be entered at install time.

General overview

The SNA•ps Gateway makes resources provided by the mainframe or the AS/400 via SNA PUs/LUs or APPN/APPC available to AppleTalk connected Macs. This means that an (expensive) card for connecting to the mainframe does not have to be installed in every Mac, but one can be shared by many users. Also, adding such a card is not possible in some cases: Compact Macs like the Mac Plus or Mac SE have no or only limited expansion options. In addition, the required network cabling may not exist.

Examples of clients are the terminal emulations 3270, and 5250). These allow Macs that are connected to the AppleTalk network (e. g. via LocalTalk) to establish terminal sessions to a SNA host.

An example of reverse direction is printing support. The SNA•ps Print client emulates an IBM 8312 printer. Print jobs spooled into a printer queue on the AS/400 are picked up by SNA•ps Print, to be printed using the default (AppleTalk) printer, set in the Chooser, or saved as text in a file.
This was a way of making the Apple LaserWriter usable from midrange, and indirectly from mainframe computers. The LaserWriter was very expensive at its introduction time.

The counterpart to the SNA•ps Gateway is a system extension called SNA•ps Access. Client applications use API routines provided by this extension. The SNA•ps API can also be used by third parties; examples have been published by Apple through their developer CDs. An example of this is DAL for the Macintosh. It can utilize several ways to connect to the actual database; such as IP (via MacTCP) and SNA (via SNA•ps Access).

In the 1990s, IBM made LocalTalk add-on cards for the older AS/400's SPD slots, and released additional software for OS/400 to implement the AppleTalk protocol stack on the AS/400 as well. The implementation on the AS/400 corresponded roughly to the SNA•ps gateway, so that no Mac was required as a gateway: the necessary software ran only on the AS/400. It was only meant to provide display and print functions instead of full APPC capabilities, though. This enabled Macs to function as a console device to the AS/400, but made it impossible to use APPC based services, such as DAL, over the integrated LocalTalk connection.

The IBM document Using Apple Macintosh with the AS/400, Document Number GG24-4071-00 (March 1994) provides detailed insight about SNA•ps, and AS/400 configuration. Unfortunately, this document is no longer available publicly.

System compatibility

The SNA•ps 5250 client requires System 7.0 or higher. Launching it on System 6 gets you a corresponding error message, and the client does not open. Saying that, the 3270 terminal client officially runs under System 6.0.5, and later, though.

The client works on Mac operating system versions up to, and including 8.1. OpenTransport compatibility seems sufficient to support that old software without changes. The client crashes upon connecting via a SNA•ps gateway when ran on PowerPC Macs, though.

A connection via TCP (possible with client version 1.1) provokes the message that the other party doesn’t use the 5250 protocol. This is reproducible under System 7.6.1/OT/PPC as well as under 7.1/MacTCP/68k. Reasons are unknown.

The gateway software requires special hardware for the SNA network connection and is therefore limited to NuBus systems. Documentation states, the gateway needs at least System 7.0 to run. This has not yet been verified. Testing of the gateway software on the first generation NuBus equipped PowerMacs also hasn’t been done, yet.


Comfortable performance can be attained by running at least the client on 68040 equipped Macs, connected to the gateway through Ethernet.[3] This provides answer times of less than a second, e. g. when scrolling through help texts, etc. Measuring of answer times for the gateway running on different classes Macs has not been done, yet.

Running the client on Low End Macs such as the SE/30 yields answer times of around two seconds. All in all, fluid work is not attainable. Comparing LocalTalk and Ethernet with the SE/30 shows no significant differences in answer time, hinting towards the network not being the bottleneck.

Network transport options

The following options to connect to IBM machinery are supported in general:

Phy Hardware
Serial/SDLC Apple Serial NB Card
Token Ring Apple Token Ring 4/16 NB Card, Apple TokenTalk NB Card[4]
Twinax[5] Apple Coax/Twinax Card

All of these cards feature their own 68000 CPU, and local memory. They conform to the Macintosh Coprocessor Platform specification. A more or less small process runs on the card, which exchanges data via message passing with its counterpart A/ROSE in the Mac OS.

As a novel feature, part of the SNA•ps gateway software runs on the processor of the respective MCP card. Along with the rest of the software running on the Mac’s main CPU, APPC sessions are encapsulated in AppleTalk, and available to other Macs connected to the network, including LocalTalk. The minimum amount of memory for SNA•ps use is 1 MB. For the 64 LU- and 70 user license, 2.5 MB are required.

I do not own an Apple Serial NB card, yet.

AS/400 configuration

On the AS/400 side, autoconfiguration for controller, and device descriptions should — at least temporarily — be allowed. See the WRKSYSVAL command and the QAUTOCFG, QAUTORMT and QAUTOVRT variables. Maybe also adjust the variables QLMTDEVSSN and QLMTSECOFR. See help texts for details.

The setting of the network attribute ALWVRTAPPN doesn't matter.

A working Token Ring connection is also required. In its line description, the AUTOCRTCTL parameter should (temporarily) be set to *YES. It is recommended that the associated AUTODLTCTL parameter be set to *NONE if AUTOCRTCTL(*YES) is to be retained.

This preparation saves the tedious and error-prone configuration of the OS/400 controller (*CTLD) and device (*DEVD) descriptions for communication with the gateway on the Mac side.

In addition, the IBM/Apple IBM Enterprise Networking Guide contains detailed configuration for configuring 3270 sessions to an AS/400 starting page 30 (PDF page 40).

Gateway configuration

Overview of the filled configuration window

The configuration is created with the SNA•ps Config program and built layer by layer.

It is easily possible to configure several AS/400 peers in one configuration document. To do this, each machine must have its own definitions created for

  • Lines,
  • Partners,
  • Remote 6.2 LUs,
  • Modes.

Contrary, Local 6.2 LUs und Transaction Points apply to all configured peers.

If several AS/400’s are already internetworked via APPN, the gateway configuration can be made much easier. Just configure the AS/400 designated as APPN Network Node as partner connection. APPC sessions originating on the Macs are forwarded by the gateway to the (directly adjacent) Network Node AS/400. This one in turn forwards the LU sessions to the destination machines.
Note that the Network Node machine needs to have adjacencies to the desired other machines for this to work. SNA•ps can only use connections being already configured.


Line configuration

First, the Line configuration needs to be created. The name can be chosen relatively freely.[6]
Increasing the Maximum I-Field Length parameter increases the data throughput and thus the speed at which data is forwarded through the gateway. The highest accepted value is 4105 bytes. Use of the maximum value is recommended. The line description of the AS/400 — corresponding to the line configuration of SNA•ps — usually contains 16393 bytes. The actual value used is negotiated dynamically at session establishment time.

Leave the other settings at default values.


Partner configuration

As long as the just created line is highlighted, the description for the actual network connection to the AS/400 can be defined in the partners field next to it.
The following table shows parameters of the partner configuration and the related parameters on the AS/400:

Partner setting Corresponding AS/400 setting Remark
Name DSPNETA, local control point name (LCLCPNAME) Naming restrictions as in the line configuration apply.
Link Address DSPLIND, local adapter address (ADPTADR)  
Partner XID DSPLIND, exchange identifier (EXCHID)  
Gateway XID   Generate yourself. Has to start with 056, and must be unique at least on both sides of the adjacency-link.[7][8]
Gateway Network Name   Generate yourself. You can probably use the name from the Sharing control panel. Naming restrictions as in the line configuration apply.
Gateway Network Qualifier DSPNETA, local network ID (LCLNETID)  

Other necessary Characteristics settings are:

  • Peer: Set to Node Type 2.1,
  • SAP address, (remains at) 4.

Local 6.2 LUs

Local 6.2 LUs
LU setting Corresponding AS/400 setting Remark
Name   Must be PASSTHRU. Corresponds to the SNA•ps Access Control Panel setting on the SNA•ps clients.
Network LU Name   Desired name for the gateway on the APPN network. Naming restrictions as in the line configuration apply.
Network Qualifier DSPNETA, local network ID (LCLNETID)  

Transaction points (TPs)

Transaction Points

The Local 6.2 LU just defined must be highlighted so a new transaction point can be created.

TP setting Corresponding AS/400 setting Remark
Name   Must be * (asterisk).
Network LU name DSPNETA, local control point name (LCLCPNAME)  
Network name DSPNETA, local network ID (LCLNETID)  

Leave the other settings at default.

Remote 6.2 LUs

Remote 6.2 LUs

The partner created above must be highlighted in order to create an associated LU configuration.

LU setting Corresponding AS/400 setting Remark
Name DSPNETA, local control point name (LCLCPNAME)  
Network LU name DSPNETA, local control point name (LCLCPNAME)  
Network Qualifier DSPNETA, local network ID (LCLNETID)  

Leave the other settings at default.

If you have more than one AS/400 in an APPN network, just add the corresponding LU names and Network Qualifiers from the other AS/400’s in the same manner. This enables session forwarding by the Network Node AS/400 as described above.


APLSNAPS mode description

The Remote 6.2 LU(s) created above must be highlighted in order to create an associated mode description.

Since there is no good enough mode description on the AS/400 by default, create a custom mode APLSNAPS:


Now, set the values of the fields on the right side in the Characteristics pane in the Window as follows:

Mode setting Value Corresponding AS/400 setting
Maximum Sessions 32 Maximum sessions (MAXSSN)
Contention Winner 32 Maximum conversations (MAXCNV)
Prebound Sessions 0 Pre-established sessions (PREESTSSN)
Send Pacing 7 Inbound pacing value (INPACING)
Receive Pacing 7 Outbound pacing value (OUTPACING)
Maximum RU Upper 4096  
Maximum RU Lower 256  

Leave the other settings at default.

Note: Modes aren’t shared. For each remote LU, you need to re-enter the values outlined above.

It may happen that the gateway refuses to start because it claims there isn’t not enough memory (on the MCP card). Recommended action is to lower Maximum Sessions, and Contention Winner settings locally, and on the AS/400 with the CHGMODD command.

Gateway Activation

After the gateway configuration has been saved, it is assigned to the existing physical connection using the SNA•ps Admin application. Launch it. The Network Gateway Status window appears. One line is displayed for each SNA capable card in the Mac, as shown in the second screen shot above.

Highlight the desired card’s entry, and choose Select configuration… from the Gateway menu. Use the dialog box to locate and select the configuration file you've created and saved before.
In the same menu, select Change Settings … and

  • probably assign a nicer AppleTalk name to the gateway, and
  • in Characteristics tick all checkboxes except Initially Log Line Trace.

The gateway can then be started in the Gateway menu with Start Gateway …. A dialog window is shown with a summary. Click Start.

Note: It has been shown that — at least with SNA•ps Gateway version 1.1 — trying out configuration settings with manual stop and start sometimes provokes the message that there is insufficient memory. This statement refers to the memory on the corresponding MCP card. Apparently, resources there are not reliably freed. After restarting the computer, the error message is gone.

Also in the Gateway menu, an overview of the available resources can now be displayed with Show Gateway …. An example can be seen in the second screen shot above.


These screenshots show examples of all entities being displayed in short in the Show Gateway… window, in the second screen shot above.

Client configuration: SNA•ps 5250

In the SNA•ps Access/5250 control panel, switch to Virtual Controller in the Display Configuration. The controller name is usually QPACTL01; the default entry has way too many zeros. Close the control panel to save the changes.

Dialog window to select a default session

The minimal client configuration just requires the selection of the default connection in the Pref(erence)s menu. Alternatively, the desired session can be configured directly in the client: Menu SessionConnection …. Both ways show a dialog window to select a gateway resource in the AppleTalk network.

Finally, the connection to the SNA gateway selected above is established by selecting Connect from the Session menu. After a few seconds, the familiar AS/400 sign-on screen should appear.

Other parameters can then also be set: Larger font for large monitors, alternative key assignments for small Mac keyboards: the numeric keypad is ideal here as a substitute for the lack of function keys, etc. The settings then can be saved in a connection document. When opening such a document, the session is established automatically.

All other settings can be made according to taste.

Client configuration: SNA•ps Print

Before using this function, a printer on the AS/400 must be configured in the SNA•ps Access control panel.

In the Printer Configuration section of the Control Panel, click Printer Device List… and type in a valid AS/400 style print queue name. This name should not exist on the AS/400, it will be automatically created with the correct settings.

Close the control panel to save the settings. If you get an error message stating the control panel can't be opened, you probably have the SNA•ps 5250 client running in the background. Close it, and try again.

After launching SNA•ps Print you will be asked for a file name for the newly to-be-created printer connection. Simply save this document with a meaningful name.

The minimal configuration just requires the selection of the default connection in the Pref(erence)s menu. Alternatively, the desired session can be configured directly in the client: Menu SessionConnection …. Both ways show a dialog window to select a gateway resource in the AppleTalk network.

Finally, the connection to the previously selected SNA gateway is established in the Session menu by selecting Connect. The AS/400 creates a printer device file (*DEVD) and a corresponding output queue (*OUTQ) which can then be used by applications on the system.

An IBM 3812 Model 1 printer in SCS mode is emulated.

Everything that is spooled to this new queue ends up in the print routine of SNA•ps Print.

See the other menu items for the mostly self-explaining further functions of SNA•ps Print.


  • Neither SNA•ps 5250, nor SNA•ps print can be used on PowerPC machines when connecting via a SNA•ps gateway. As soon as the connection is to be set, the client crashes with an illegal instruction error.[9]
  • Using the AppleTalk diagnostic tool Trawl on the gateway Mac itself somehow messes up the AppleTalk stack on it, so that the gateway no longer appears in the manager application. Only a reboot of the gateway computer fixes that error.

External links


  1. Newer versions of the SNA•ps 5250 client also support IP/tn5250 as alternate network transport.
  2. Designated GC in product descriptions.
  3. AppleTalk and IP performance for AFP transfers over the Apple Token Ring 4/16 NB Card do not exceed 200 kiB/s. In this regard, attainable performance is less than optimal.
  4. This is a pure 4 Mbps card, but already designed according to MCP specs.
  5. 5250 sessions over Twinax are not supported. Implementation was planned, but never was put into code before development ceased. The Enterprise Networking Guide mentions third party products having been available which can utilize the twinax feature on this adapter.
  6. Only CAPS, may not start with a number, and may only contain these special chars: #$_
  7. This value is copied to the AS/400’s controller description at the connection’s first start by auto configuration.
  8. XID exchanges stay local to directly adjacent hosts, thus XID duplicates should not matter network-wide.
  9. This is the first and so far only (productivity) 68k program I’m aware of not running on PowerPC.