" NOTICEThe information contained herein is proprietary and is provided solely for the purpose of allowing customers to
operate and service Intermec manufactured equipment and is not to be released, reproduced, or used for any
other purpose without written permission of Intermec.
Disclaimer of Warranties. The sample source code included in this document is presented for reference only.
The code does not necessarily represent complete, tested programs. The code is provided AS IS WITH ALL
FAULTS." ALL WARRANTIES ARE EXPRESSLY DISCLAIMED, INCLUDING THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
We welcome your comments concerning this publication. Although every effort has been made to keep it free of
errors, some may occur. When reporting a specific problem, please describe it briefly and include the book title
and part number, as well as the paragraph or figure number and the page number.
Send your comments to:
Intermec Technologies Corporation
Publications Department
550 Second Street SE
Cedar Rapids, IA 52401
ANTARES, INTERMEC, NORAND, NOR*WARE, PEN*KEY, ROUTEPOWER, TRAKKER, and TRAKKER
ANTARES are registered trademarks and ENTERPRISE WIRELESS LAN, INCA, TE 2000, UAP, and
UNIVERSAL ACCESS POINT are trademarks of Intermec Technologies Corporation.
2000 Intermec Technologies Corporation. All rights reserved.
This publication printed on recycled paper.
Acknowledgments
Hayes is a registered trademark of Hayes Microcomputer Products Inc.
Microsoft, MS, and MSĆDOS, and Windows, are registered trademarks and Visual Basic for Windows, and
Windows for Pen are trademarks of Microsoft Corporation.
FCC Computer Compliance
"
NOTICEThis equipment meets Class A digital device limits per Part 15 of FCC Rules. These limits protect against
interference in a commercial area. It emits, uses, and can radiate radio frequency energy. If you do not install
and use the equipment according to its instructions, it may interfere with radio signals. Using it in a residential
area is likely to cause interference. If this occurs, you must correct the interference at your expense.
Canadian Computer Compliance
This Class A digital apparatus meets all requirements of the Canadian InterferenceĆCausing Equipment
Regulations.
Cet appareil numérique de la classe A respecte toutes les exigences du Reglèment sur le material boilleur du
Canada
NOTE:This publication supersedes the 4980 Network Controller Programmer’s Guide (P/N:
977-028-001) and the 4985 Network Controller Programmer’s Guide (P/N: 977-028-006).
The 6980/6985 Network Manager provides a data communications interface beĆ
tween the host computer and INTERMEC
R
devices. The network manager is
programmable and can be configured many ways. The two functions in this reĆ
lease of the 6980/6985 Network Manager are:
" An asynchronous (async) or IPĆbased communications gateway to a host
computer
" A handĆheld computer network manager.
In the first function, the network manager is directly connected to a customer's
host computer and provides a gateway through which data and data requests
pass from handĆheld computers to the host on logical channels.
In the second function, the network manager is usually located at a remote site
and provides an interface between handĆheld computers and a host. Section 2
provides illustrations of several possible system configurations.
A host telecommunication program and associated support programs are reĆ
quired to interface to a 6980/6985 Network Manager. This function can be proĆ
vided by the Norand
R
6920 Communications Server or some other host applicaĆ
tion.
The RSĆ232 host link can be configured for speeds up to 115,200 bps async or a
10 Mbps TCP/IP interface. See Section 4 for more on developing your host interĆ
face.
The network manager initiates the session placing the host in a loop reading
data and request records from network managers.
6980/6985 Network Manager Programmer’s Guide 1-1
Page 8
About this Guide
These paragraphs detail topics discussed in each section:
Section 1 Ċ Introduction
Introduces the manual and provides customer support information.
Section 2 Ċ Getting Started
Covers the hardware configuration of the network, the physical port assignments
on the network manager, and the logical port assignments.
Section 3 Ċ HostĆtoĆNetwork Manager Records
Lists hostĆtoĆnetwork manager records and other processing information from
the host.
Section 4 Ċ Network ManagerĆtoĆHost Records
Contains networkĆtoĆmanager records and other processing information, and staĆ
tus and error codes returned from the network manager.
Section 5 Ċ EM611 Header Information
Defines the EM611 IP framing structure.
The appendixes have several program examples and 4980ĆtoĆ6980 conversion
information.
SECTION 1Introduction
Related Publications
The following publications have information related to the 6980/6985 Network
Manager.
6980/6985 Network Manager User's Guide
P/N: 961Ć055Ć003
R
Norand
P/N: 962Ć055Ć005
Norand
P/N: 961Ć021Ć014
Norand
P/N: 977Ć021Ć001
6920 Communications Server Installation Guide
R
6920 Communications Server User's Guide
R
6920 Communications Server Reference Manual
Customer Support
Customer Response Center
The Customer Response Center (technical support) telephone number is
800Ć755Ć5505 (U.S.A. or Canada) or 425Ć356Ć1799. The facsimile number is
425Ć356Ć1688. Email is support@intermec.com.
If you email or fax a problem or question include the following information in
your message: your name, the company name and address, phone number and
email to respond to, and problem description or question (the more specific, the
better). If the equipment was purchased through a ValueĆAdded Reseller (VAR),
please include that information.
Factory Service
If your unit is faulty, you can ship it to the nearest authorized Service Center for
factoryĆquality service. The addresses and telephone numbers are included in
the Warranty Card shipped with your product.
1-2 6980/6985 Network Manager Programmer’s Guide
Page 9
SECTION 1Introduction
Web Site
The Customer Support File Libraries, including Hot Tips and Product Awareness
Bulletins, are available on the Internet. New users start at the Intermec web
site: http://corp.intermec.com. Choose Support," then Product Support," then
Conference Area." Look on the main page for a link to register new customers.
A PDF version of this manual is available at:
http://corp.intermec.com/manuals/english.htm or choose products," manuals,"
english" via the home page.
Bulletin Board Service
The Customer Support Bulletin Board (BBS), maintained by the Intermec
Technologies Corporation, provides software and documentation:
Protocol:
Full duplex, ANSI or ANSIĆBBS; 300 to 28,800 bps; v.32bis; 8 bits, no parity, 1
stop bit. For highĆspeed modems, disable XON/XOFF and enable RTS/CTS.
This is the same location available via the internet site. If you have highĆspeed
access, the web interface provides a faster response.
6980/6985 Network Manager Programmer’s Guide 1-3
Page 10
SECTION 1Introduction
1-4 6980/6985 Network Manager Programmer’s Guide
Page 11
Section 2
Getting Started
""""""""""""""""""""
Modem Support
The 6980/6985 Network Manager supports a number of HayesĆcompatible conĆ
figuration and autodial modem types. Support provided is subject to changes
made in the modem interface by the modem vendor.
Error Codes
Error codes via the LED display and PowerĆUp SelfĆTest errors are located in the
6980/6985 Network Manager User's Guide (P/N: 961Ć055Ć003).
Enhancements
The network manager provides a number of new features:
File support
The network manager allows the host computer to download a limited number of
files that can be stored on the network manager compact flash. These files can
include customer data files, which can be forwarded to a handĆheld computer at
the direction of the host computer; or boot files, which can boot a handĆheld comĆ
puter independently of the host computer. The host may upload or delete data or
boot file from the network manager.
Line disciplines
The network manager supports a variety of line disciplines, including Norand
TTY, Async, and Norand
Autodial/Autoanswer
Ports on the network manager can be toggled as either autodial or autoanswer.
A timeout can be specified for autoanswer ports.
Data Record Length
The network manager data record length is 256 bytes for Async or 256 or 1024
for IP, not including channel and record type bytes. The 4980 data record length
is 256 bytes.
Booting HandĆHeld Computers
Boot files can be downloaded from the host into a DATA" directory in the 6980
Network Manager CompactFlash flash.
R
Portable Communications Protocol (NPCP).
(Future release)
Modifying System and Port Configurations
The network manager system and port configurations can be modified using the
6980 Web Interface. See the 6980/6985 Network Manager User's Guide for deĆ
tails.
6980/6985 Network Manager Programmer’s Guide 2-1
Page 12
Communication Session
The 6980/6985 Network Manager uses the hostĆtoĆhandĆheld computer commuĆ
nications sessions. The network manager provides the physical connection for
the communications session and maintains the session on a logical channel.
A logical channel between a handĆheld computer and the host computer will alĆ
ways pass through a network manager. All data sent to the host from a network
manager is prefixed by a device ID and logical channel identifier.
Table 2Ć1 summarizes the communication abilities of each of the handĆheld comĆ
puter types in specific environments. Other environments may be possible with
special adapters.
Network Manager Environments
SECTION 2Getting Started
Table 2Ć1
HandĆHeld
Computer Type
4000/6000 SeriesTTY
601 and 602
(DOS only)
"
NOTE:The network manager supports only full-duplex modems.
Protocol
OptionEnvironment
Modem (single dock)
NPCP
TTY
NPCP
Single or multidock directlyĆconnected to a network
manager
Modem (single dock)
Single or multidock directlyĆconnected to a network
manager
As an example, Table 2Ć1 indicates that a 4000 or 6000 Series handĆheld computĆ
er can communicate using TTY or NPCP. If NPCP is used, the handĆheld comĆ
puter must be in a dock which is directly cabled to a network manager.
The network manager minimizes the differences between Norand handĆheld
computers. After the physical connection is established, the communications sesĆ
sions for all of the handĆheld computer types are identical.
The communication session for a handĆheld computer, currently, consists of:
" An upload" file transfer from handĆheld computer to host computer.
" A download" file transfer from host computer to handĆheld computer.
" An endĆofĆsession" from the handĆheld computer.
Typically, the handĆheld computer sends identification information in the first
upload record, which can be used by the host to tie a specific set of download
data files to the unique route or driver assigned to that particular handĆheld
computer. This download part is optional.
EXAMPLE:The host receives upload records from a hand-held computer, on a device ID and logical
channel, until the upload is complete. After the upload is complete, the host receives download data requests, on the same device ID and logical channel, for the hand-held computer.
The host responds with download data until finished, then an end-of-data record is sent. The
host then receives an end-of-session record with the hand-held computer session status.
The user must be aware of handĆheld computer differences in the INTERMEC
Wide Area Network (WAN) to make the correct physical connection to a given
remote site.
See the 6980/6985 Network Manager User's Guide for a table that specifies the
possible configurations for network manager ports and the environments to
which the ports can connect.
2-2 6980/6985 Network Manager Programmer’s Guide
Page 13
SECTION 2Getting Started
Network Configurations
Each 6980/6985 Network Manager is treated as a unique connection to the host
application allowing a single host application to simultaneously communicate
with several network managers. The 6980/6985 Network Manager, using NPCP
as its main connection protocol, allows the host to make a high speed connection
to each network manager.
This type of configuration allows for a simple migration from a 4980 CommuĆ
nications Controller to a 6980 Network Manager. See Section 5 to learn about
the 6980 NPCMux application.
See the 6980/6985 Network Manager User's Guide for sample configurations.
Contact your account representative for more detailed information.
Physical Ports
The 6980 Network Manager has five possible physical ports for client connecĆ
tions. The 6985 Network Manager has one physical port.
Table 2Ć2
Physical Ports for Client Connections
Physical
PortHardware Type
6980 Network Manager
Port A1RSĆ485 ConnectionsNPCP1ć5
Port A2RSĆ485 ConnectionsNPCP1ć5
Port B1RSĆ232 ConnectionsTTY1
Port B1RSĆ232 ConnectionsTTY1
Port C1PC Card ModemTTY1
6985 Network Manager
Port A1RSĆ485 ConnectionNPCP1ć5
Supported
Client Protocol
Logical
Channels
The 6980 Network Manager configuration connects with a maximum of 13 handĆ
held computer (client) channels simultaneously. The 6985 Network Manager
connects with a maximum of 5 channels. Thus, when a network manager is
communicating to a host computer, clients will send their upload and receive
their download on 1 of 5 or 13 possible logical channels. There is no correlation
between what logical channel is assigned to a client and the physical port the cliĆ
ent communicates on.
The network manager, pending its configuration, has a pool" of channels indiĆ
vidually assigned to client connections. The client uses its assigned channel to
communicate its upload and receive its download. When the client ends its sesĆ
sion, the channel is returned to the pool for reuse.
6980/6985 Network Manager Programmer’s Guide 2-3
Page 14
Logical Channels
Records from the network manager specific to a port (such as Activate Requests)
always use the logical channel which equates to the logical port ID. After the
physical connection on a port is established, data to or from a client is sequential
on a logical channel, and the location of the logical channel should not concern
the host programmer.
Compact Flash
The 6980 Network Manager stores Windows CE, Web Server, FTP Server, 6980
protocols, and handĆheld computer applications on the compact flash within. The
compact flash can be viewed using FTP (either command line or through a
browser) and has a cfata" folder.
Removing or editing files on the compact flash can cause the network manager to
fail. Under some extreme circumstances, the network manager may not be
recoverable. In these extreme cases, the CompactFlash Card must be reimaged.
The compact flash has the following folder structure:
SECTION 2Getting Started
Folder NameDescription
\cfata\WebsrvContains all the Web Server pages andthe location of the
configuration file for the network manager (6980CE.INI).
\cfata\6980Location of the 6980 application that provides host and
client communication protocols.
\cfata\6980\dataLocation for all locally stored client boot applications and
download request data files.
\cfata\UpdFilesOverrides any Kernel resident files. At cold boot, any file in
this directory is copied to the \Windows" folder and the
system is warmĆbooted. Only KernelĆlevel files reside in
this directory.
\cfata\AppFilesLocation to store any new applications that may run in the
\Windows" folder (known as the object store" in Windows
CE) once the network manager is started.
Some of the important files which reside on the network manager:
File Location\Name
\cfata\boot.iniA file containing a list of applications to start when
cfata\Websrv\6980ce.iniConfiguration file for the network manager
cfata\Websrv\6980ini.def Default configuration file for the network manager
Description
the network manager is started.
(normally modified using Web Pages (see the
6980/6985 Network
details).
(this file returns the network manager to its factory
default).
Manager User's Guide for
2-4 6980/6985 Network Manager Programmer’s Guide
Page 15
SECTION 2Getting Started
Device Channel Option
Each record from the network manager is preceded by a device ID, a logical
channel identifier, and a record type field.
There are eight hostĆtoĆnetwork manager record types. Some are request records
which require a response from the host computer. Each record from the host
computer is preceded by a record type field. There are six hostĆtoĆnetwork manĆ
ager record types.
"
NOTE:IP-based communications require a 6-byte header prefixed to each record. See Section 5 for
EM611 IP Header information.
The first data the host will receive on the new device channel is an identification
record. That record contains a userĆdefined ID and configuration information
about the remote network manager. Device channels require the host to index
state variables and file variables by device and handĆheld computer channel
number.
All records from the 6980 Network Manager are preceded with a device number
and channel number.
The partial record layouts illustrate the differences in the logical channel opĆ
tions:
EM311 for 4980 Series Communications Controller:
Position 1Device channel disabled (optional)
Position 2HandĆheld computer channel
Position 3Record type
Position 4+TypeĆdependent
EM311 for 6980/6985 Network Manager:
Device channel enabled:
Position 1Device channel
Position 2HandĆheld computer channel
Position 3Record type
Position 4+ TypeĆdependent
6980/6985 Network Manager Programmer’s Guide 2-5
Page 16
SECTION 2Getting Started
2-6 6980/6985 Network Manager Programmer’s Guide
Page 17
Section 3
Host-to-Network Manager Records
""""""""""""""""""""
The file transfer protocol between the network manager and host is implemented
with six hostĆtoĆnetwork manager record types.
This section explains the function of each hostĆtoĆnetwork manager record type.
EM311 Protocol Interface
Each record sent from your host must have a record type field. There may be
eight record types sent from your host to the network manager.
This explains the function of each record type. Actual record layouts appear afĆ
ter the record description starting on page 3Ć2.
Each record from an async host must begin with a oneĆbyte beginningĆofĆrecord
delimiter (a slash /") and a oneĆbyte command code (ASCII) 0" through 7".
The host sends records in response to requests from the network manager, except
for the initialization record. The initialization record is sent to activate an inacĆ
tive network manager.
The host may also send two special commands to the network manager, a quesĆ
tion mark ?" and an asterisk *". A question mark indicates the host is ready to
receive data and serves as an acknowledgement record. The asterisk resets the
network manager, although the network manager will reset itself if the host isĆ
sues an invalid record or fails to respond within the host timeout period.
The record includes an endĆofĆrecord delimiter, by default <CR>, which is configĆ
ured in the initialization record.
Data records from the host (not including special commands) must be of the
same fixedĆlength, and may include endĆofĆline pad bytes. The network manager
uses the initialization record sent from the host to determine record size and endĆ
ofĆline pad lengths. IPĆbased communications have a 6Ćbyte header prefixed to
each record. See Section 5 for EM611 header information.
6980/6985 Network Manager Programmer’s Guide 3-1
Page 18
SECTION 3Host-to-Network Manager Records
Record Types
This section specifies the record types for the Async host interface. For IPĆbased
interfaces, an EM611 header must prefix all records sent to a 6980 Network
Manager.
Table 3Ć1
Host-to-Network Manager Records
Record IDTypeDescription
0Download
Data
1EndĆofĆdataThe host sends endĆofĆdata records in response to a download request from
2Initialization An initialization record is sent at the beginning of a host/network manager
3Activate
autoanswer
4Activate
autodial
5Deactivate
for one
minute
6Host
Directive
The host sends download data records in response to a download request.
Information obtained from upload data links download data with a specific
handĆheld computer on a logical channel.
the network manager. This indicates that no more download data exists for
this session. EndĆofĆdata records are also sent in response to a file request to
terminate file processing.
session to set the system mode parameters and default port activation paĆ
rameters.
The host sends an activate record in response to a request record. If the reĆ
cord contains a phone number parameter, an autodial is attempted, else the
port is configured for autoanswer. Nonswitched (direct) connections are conĆ
sidered to be autoanswer.
The host sends an activate record in response to a request record. If the reĆ
cord contains a phone number parameter, an autodial is attempted, else the
port is set to autoanswer. Nonswitched (direct) connections are considered to
be autoanswer. The network manager processes autoanswer and autodial
activate records identically. A handĆheld computer port can be defined as
TTY. The activate record specifies the protocol type (TTY) to use for the next
connection.
Deactivate records can postpone activating a port for one minute. Causes a
delay between phone number dials or implements an activation window for a
port.
The host sends a directive in response to a special or download data request
from the network manager. Six subtypes of host directives are available:
" Types 1ć3 manage user data files.
" Type 4 sends download data to a handĆheld computer.
" Type 5 deactivates a request, and
" Type 6 cancels file processing.
3-2 6980/6985 Network Manager Programmer’s Guide
Page 19
SECTION 3Host-to-Network Manager Records
Download Data Record (Type 0)
The host sends a download data record in response to a download request. InĆ
formation obtained from upload data links download data with a specific computĆ
er on a logical channel.
Beginning delimiter = “/”
Command code = Download Data “0”
Download data = “xxx”
Optional CRC bytes = 2
Optional pad = “ppp”
Optional end-of-record delimiter = <CR>
6980/6985 Network Manager Programmer’s Guide 3-3
Page 20
End-of-Data Record (Type 1)
The host sends an endĆofĆdata record in response to a download request from the
network manager. This indicates that no more download data exists for this sesĆ
sion or file. The host also sends endĆofĆdata records in response to a file request
to terminate file processing.
At the beginning of a hostĆtoĆnetwork manager session, an initialization record
sets the system mode parameters and default port activation parameters.
Table 3Ć4
Type 2 — Initialization Record
PositionBytes Description
11Beginning delimiter: /"
21Command code: 2"
3256Initialization parameters list. The parameter list terminates with a slash /."
Beginning delimiter = “/”
Command code = Initialization Record “2”
Parameter initialization list = “xxx”
Optional pad = “ppppp”
Optional end-of-record delimiter = <CR>
The host sends the initialization record to the network manager at the beginning
of each communication session. The host can activate file processing in the netĆ
work manager using the system mode parameter (-S) in the initialization record.
EXAMPLE:/2 –S744/
Initialize network manager with the network manager file processing enabled.
The host can change system parameters with an initialization record sent at the
beginning of a session. These parameters are subdivided into system, host, and
port.
A slash /" terminates initialization parameters if the initialization record is
padded without spaces. The initialization record size is 258 bytes, minimum.
A parameter list has this general format: –[type]parm
[type]OneĆbyte field specifying the parameter type.
parm"Parameter value.
6980/6985 Network Manager Programmer’s Guide 3-5
Page 22
System Mode Parameters
The network manager configuration can be customized using system
parameters. —S[system mode]
The system mode is a 1Ć to 5Ćdigit numeric (base 10) field adjusting the operaĆ
tional mode for the network manager. Mode parameters have a value and are
turned on by adding in the values for each specific mode.
These parameters are supported in the initialization record:
/* defined bits in “S” record mode */
/* system mode parameters */
/* LABELDECIMALBINARY*/
Enabled when a LAN port is installed and a list of boot files exists on the
network manager's system disk.
SECTION 3Host-to-Network Manager Records
Table 3Ć5
322Ćbyte channel
option.
64Remote ID on.Forward ID from remote controller to host. (Required)
128Network manager
file processing.
512Local ID on.Forward ID from remote controller to host. (Required)
All records to host are preceded by a 2Ćbyte channel identifier. (Required)
When added in, the host is prompted with file requests at the beginning of
a hostĆnetwork manager communications session.
3-6 6980/6985 Network Manager Programmer’s Guide
Page 23
SECTION 3Host-to-Network Manager Records
Host Parameters
The network manager's host parameters can be customized in the initialization
record.
Table 3Ć6
Host Parameters
ParameterDefault Description
-C[parity]01 digit numeric field setting parity and number of data bits. Valid values are:
0" = No parity/8 data bits(-C0)
1" = Odd parity/7 data bits (-C1)
2" = Even parity/7 data bits (-C2)
-D[stopbits]11 digit numeric field setting stop bits. Valid values are:
1" = One stop bit (-D1)
2" = Two stop bits (-D2)
3" = Three stop bits (-D3)
-E[delimiter]131Ć to 2Ćdigit numeric field specifying collating sequence number of character
marking end of all records sent from network manager to host. A delimiter of
0" specifies no endĆofĆrecord delimiter.
-B[block size]0Numeric field ranging from 256 to 4906 (multiples of 256 Ċ 256, 512, 1024,
2048, or 4096); specifies the minimum network managerĆtoĆhost record block
size. Does not include the endĆofĆrecord delimiter character. Records shorter
than the block size are padded to the block size and the delimiter character is
appended. Forces network manager to send fixedĆlength blocks to the host.
-G[pad char]321Ć to 3Ćdigit numeric field specifying the characters that pad short blocks
when a minimum block size is specified.
-H[ready char]631Ć to 3Ćdigit field specifying the host ready" directive.
-I[read timeout] 302Ć or 3Ćdigit numeric field specifying the maximum seconds the network manĆ
ager waits for a response from host. If no response received within set time,
the network manager will reset and await an initialization record from the
host. Valid values are 10 to 120.
-J[hostĆdelay]01Ć or 2Ćdigit numeric field specifying delay in hundredth of seconds before
network manager sends next message to host after receiving a ready characĆ
ter from host. Valid values are 0 to 50.
-K[charĆgap]101Ć or 2Ćdigit numeric field specifying maximum intercharacter gap time in
whole seconds allowed in a block of data sent from host. Valid values are 9 to
40.
-L[ctsĆgap]51Ć to 3Ćdigit numeric field specifying maximum time in tenths of seconds the
network manager waits for CTS after RTS. Valid values are 0 to 100.
EXAMPLE:/2–E0–I60–K30/
6980/6985 Network Manager Programmer’s Guide 3-7
Page 24
SECTION 3Host-to-Network Manager Records
Activate Autoanswer (Type 3)
The host sends an activate record in response to an activate request record.
Nonswitched (direct) connections are autoĆanswer connections.
Table 3Ć7
Type 3 — Activate (Auto-Answer) Record
Position Bytes Description
11Beginning delimiter: /"
21Command code: 3"
31ASCII blank "
4255Optional activation parameters list. This list terminates with a slash /" and the reĆ
Beginning delimiter = “/”
Command code = Activate Record “3”
ASCII blank = “ ”
Activation parameters list = “xxxx”
Optional pad = “ppppp”
Optional end-of-record delimiter = <CR>
3-8 6980/6985 Network Manager Programmer’s Guide
Page 25
SECTION 3Host-to-Network Manager Records
Activate Autodial (Type 4)
"
NOTE:“Activate Autodial” is not supported in the initial release.
The host responds to an activate request record with an activate record. NonĆ
switched (direct) connections are autoĆanswer connections. The network managĆ
er processes autoĆdial activate records for connections that are dialĆout. This is
used on the 6980/6985 Network Manager and is presented here for compatibility.
Table 3Ć8
Type 4 — Activate (Auto-Dial) Record
Position Bytes Description
11Beginning delimiter: /"
21Command code: 4"
31ASCII blank "
4255Optional activation parameters list. This list terminates with a slash /". When used,
The host sends a directive in response to a special download data request from
the network manager. Five subtypes of host directives are available. Types 1",
2", and 3" manage user data files. Type 4" sends download data to a handĆ
held computer and type 6" cancels file processing.
4256Directive information. The information required for this field depends on the directive
type used.
259+Optional pad up to 5 bytes
If file processing is enabled using the system mode parameter in the initializaĆ
tion record, the host will receive file requests from the network manager at the
beginning of a hostĆtoĆnetwork manager session and after the host acknowledges
a network manager Directive Status Record. These requests can have one of
several host directives.
"
NOTE:The network manager sends a directive status to the host immediately after completing a
host directive.
The host sends a directive record only during the file processing phase of a comĆ
munication session. This record requests information from the network manager
or file uploads with the network manager.
A host directive may be sent by the host in response to a special request from the
network manager. Types 1" to 3" manage user data files (or handĆheld computĆ
er boot files) stored on the network manager. (If file processing, a system mode
parameter is enabled and the host is prompted with file requests at the beginĆ
ning of a hostĆtoĆnetwork manager session.) Type 4" sends a file stored on the
network manager to a handĆheld computer requiring download data.
"
NOTE:For all of the following examples, asterisks indicate spaces in commands. Complete com-
mands may not be shown. “6980” is short for “6980 Network Manager.”
6980/6985 Network Manager Programmer’s Guide 3-11
Page 28
File Upload Directive “1”
The host sends an upload directive, in response to a file processing special reĆ
quest, to upload a file stored on the 6980/6985 Network Manager (usually the
directory file).
NOTE:IP-based structures have length information prefixed to each record between the network
manager and the host computer.
For example: IP/61FILENAMEEXT. . .xxxxxppppp<CR>
3-12 6980/6985 Network Manager Programmer’s Guide
Page 29
SECTION 3Host-to-Network Manager Records
File Create or Load Directive “2”
This directive is sent, in response to a file processing special request, to create a
data file on the network manager. This must contain a user data file directory
entry with filename and userĆdefined information. The file is saved on the ComĆ
pactFlash storage card. After the network manager receives a create directive, it
sends the host data request records. The host then sends data records until all
the data is sent. An endĆofĆdata record from the host marks the end of data for
the file.
Table 3Ć12
File Create or Load Directive “2”
Position Bytes Description
11Beginning delimiter: /"
21Command code: 6"
31Directive type: 2"
48DOS compatible filename (required)
123DOS compatible file extension (required)
156Date field (YYMMDD)
21424Ćhour time (HHMM)
252UserĆdefined filler
271UserĆdefined file type 0" or blank indicates a handĆheld computer boot file.
281Filler (should be zeroĆfilled 0x30)
291File status:
0" = Good
1" = Undefined
2" = Deleted
3" = System
The host sends this record type in response to a request for download data from a
computer. After receiving a download directive, the network manager opens the
file specified and downloads it to the computer. The network manager must conĆ
tain this file (created with File Create).
The host sends this directive to inform the network manager that a file error ocĆ
curred on the host. If currently downloading or creating a file on the network
manager, the network manager responds by deleting the current file being
created or downloaded. Telecommunications then begins with the handĆheld
computers. HandĆheld computer coldĆstarts are not possible in a locked file sysĆtem. Files unlock after a successful file processing session.
The host may send two special commands to the network manager. Records
from the host, except for the special commands, must all be of the same fixedĆ
length, and may include endĆofĆline pad bytes.
IPĆbased commands must also have a prefixed record length field attached.
Type ? — Host Ready Command
The host sends this record to the network manager when ready to receive data.
This command can be changed to a different value using the ćH parameter in
the initialization command.
Table 3Ć16
Type ? — Host Ready Command
Position Bytes Description
11Question mark ?"
EXAMPLE:(CR = end of record marker)
?<CR>
Type * — Reinitialization Command
The host sends this record to reset the network manager when the network manĆ
ager is expecting a ready command.
Position Bytes Description
11Asterisk *"
EXAMPLE:(CR = end of record marker)
*<CR>
Table 3Ć17
Type * — Reinitialization Command
6980/6985 Network Manager Programmer’s Guide 3-17
Page 34
SECTION 3Host-to-Network Manager Records
EXAMPLE 1:This is a sample of file processing when the files on the target 6980 Network Manager are up
to date with the 6920 Communications Server files.
69206980Description
<–––Connection Request
–––>Reply to Socket
<–––018CE6980. . .Controller ID Record
/2*–D1*-S744. . .–––>Initialization Record
?–––>Host Ready
<–––0161File Processing Request
/61NCDIR***NCC–––>Upload Directive: NCDIR.NCC
?–––>Host Ready
<–––010NETRPL**LST000124. . Uploads NCDIR.NCC
?–––>Host Ready
<–––01710Host Directive Status Record
?–––>Host Ready
<–––0161File Processing Request
/63NETRPL**LST–––>Delete Directive: NETRPL.LST
?–––>Host Ready
<–––01730Host Directive Status Record
?–––>Host Ready
<–––0161File Processing Request
With no files to download, 6920 sends down a directive to create the NETRPL.LST file.
The file transfer protocol between the network manager and host is implemented
with eight network managerĆtoĆhost record types.
Record Formats with 2-byte Channel ID
Network managerĆtoĆhost record types implement the file transfer protocol and
status information between the network manager and the host. A 2Ćbyte chanĆ
nel ID is always activated.
There may be nine status and request record types sent from the network manĆ
ager to your host that require a response from your host.
Records from network managerĆtoĆhost use a 2Ćtype channel ID that consists of a
1Ćbyte device channel" field and a 1Ćbyte HandĆheld computer channel" field.
HandĆheld computer channels belong to the active device on the corresponding
device channel.
Device channel 0" is reserved for the network manager directĆconnected to the
host.
The record formats with the 2Ćbyte channel option are the same as 1Ćbyte chanĆ
nels. The difference is that the device channel ID is attached to the beginning of
each record.
Device channels are for remote network managers. The record formats for the
2Ćbyte channel option are the same as the 1Ćbyte channel option except that the
device channel ID is prepended to each record from the network manager.
The 2Ćbyte channel ID format, required for the 6980/6985 Network Manager, is
shown in Table 4Ć1.
Table 4Ć1
2-Byte Channel ID
PositionBytesDescription
11Device ID (Hex): 0x31"
21HandĆheld computer Channel ID (Hex): 0x30ć0x3E
3+Records defined below starting at position 2.
6980/6985 Network Manager Programmer’s Guide 4-1
Page 38
SECTION 4Network Manager-to-Host Records
Record Types
This section specifies the record types for Async host interfaces. An EM611
header is prefixed on all records sent from a 6980 Network Manager for IPĆbased
communications. See Section 5 for EM611 header information.
Table 4Ć2
Network Manager-to-Host Record Types
Record IDTypeDescription
0Upload DataThe handĆheld computer sends contiguous upload data records to the host on
a logical channel.
1End of
Session
Status
2Data Request The handĆheld computer sends a download data request to the host. The
3Inactive
Status
4Active StatusActive status records indicate a logical port status. The host port uses active
5Activation
Request
6Special
Request
7Directive
Status
8Identification The network manager sends an ID record to the host at the beginning of
CBegin of CallSent by the 6980 Network Manager to the host computer when a handĆheld
Indicates the status of a single handĆheld computer session. Each handĆheld
computer sends an endĆofĆsession record as its session ends. See page 4Ć4.
host sends back a download data record, an endĆofĆdata or a download file
directive.
This record indicates the status of a logical port. The host port uses inactive
status records as timeĆfill records whenever it is idle. The host program
discards or ignores these records.
status records as timeĆfill records whenever it is idle. The host program
discards or ignores these records.
The host activates a port using the activation request records. Requests are
sent for an enabled port whenever the port disconnects. The prior
connection status for the port is also in the request record. The host
responds with an autodial record, autoanswer activate record, or a
deactivateĆforĆoneĆminute record.
Special request records group a variety of special records into one record
type. A subtype field determines the actual request type. There are two
subtypes specified, see Table 4Ć12 on page 4Ć8.
The network manager sends directive status records to the host after
completing a host directive (with or without error). See page 4Ć9.
each session with a remote network manager. The ID record serves two
purposes. It identifies the just connected remote network manager, and it
opens a new device channel. See page 4Ć1.
computer is about to begin a session.
4-2 6980/6985 Network Manager Programmer’s Guide
Page 39
SECTION 4Network Manager-to-Host Records
Upload Data (Type 0)
The handĆheld computer sends contiguous upload data records to the host on a
logical channel.
Device channel ID = 0
Hand-held computer channel ID = 0x30h
Record type = upload data
“x’s” are uploaded data
<CRC><CRC> = 2 CRC bytes for upload data
6980/6985 Network Manager Programmer’s Guide 4-3
Page 40
End of Session Status (Type 1)
This record indicates the status of a single handĆheld computer session. Each
handĆheld computer sends an endĆofĆsession record when finished communicaĆ
ting.
Table 4Ć4
Type 1 — End of Session Status Record
Position Bytes Description
11Device channel ID: 0"
21HandĆheld computer channel ID (Hex): 0x30ć0x3E
31Record type: 1"
41End of session status code and meaning are in Table 4Ć5.
54HandĆheld computer application status information
Device channel ID = 0
Hand-held computer channel ID = 0x30h
Record type = end of session
End of session is good.
Local port identifier is 1
Optional diagnostic data is indicated by “x’s”.
An endĆofĆsession record is sent to the host at the end of each handĆheld computĆ
er session. End of session status codes are ASCII numeric characters and are
listed in Table 4Ć5.
Table 4Ć5
End of Session Status Codes
Code Description
0Good status
1Abort. The port connection was lost.
4Disconnect. The session was disconnected, probably due to a datalink protocol error.
8HandĆheld computer logic error. The handĆheld computer detected a logic error in the file transfer
process. Status information from the handĆheld computer follows the status code.
4-4 6980/6985 Network Manager Programmer’s Guide
Page 41
SECTION 4Network Manager-to-Host Records
Data Request (Type 2)
Table 4Ć6
Type 2 — Data Request Record
Position
11Device channel ID: 1"
21HandĆheld computer channel ID (Hex): 0x30ć0x3E
31Record type = 2"
EXAMPLE:(CR = end of record marker)
Bytes Description
012<CR>
Device channel ID = 0
Hand-held computer channel ID = 0x30h
Record type = data request
Inactive Status (Type 3)
Table 4Ć7
Type 3 — Inactive Status Record
Position Bytes Description
11Device channel ID: 1"
21HandĆheld computer channel ID (Hex): 0x30ć0x3E
31Record type = 3"
EXAMPLE:(CR = end of record marker)
013<CR>
Device channel ID = 0
Hand-held computer channel ID = 1
Record type = Inactive Status
6980/6985 Network Manager Programmer’s Guide 4-5
Page 42
Active Status (Type 4)
Active status records indicate a logical port status. The host port uses active staĆ
tus records as timeĆfill records whenever it is idle. The host program may disĆ
card or use these records to maintain realĆtime status information.
Table 4Ć8
Type 4 — Active Status Record
Position Bytes Description
11Device channel ID: 1"
21HandĆheld computer channel ID (Hex): 0x30ć0x3E
31Record type = 4"
EXAMPLE:(CR = end of record marker)
014<CR>
Device channel ID = 0
Hand-held computer channel ID = 0x30h
Record type = Activate Status “4”
SECTION 4Network Manager-to-Host Records
Activation Request (Type 5)
Host activates the LAN port in response to activate request records. Network
manager sends request to host to activate enabled port after start of session and
after each port disconnect. Port's prior connection status is also in request reĆ
cord. Host should respond with record types 3" or 4."
Table 4Ć9
Type 5 — Activation Request Record
Position Bytes Description
11Device channel: 0"
21HandĆheld computer channel ID (Hex): 0x30ć0x3E
31Record type: 5"
41For previous port activation status code and meaning, see Table 4Ć10 on the next page.
54Reserved for diagnostic information
9252Required padding
EXAMPLE:(CR = end of record marker)
015xyyyy<CR>
Device channel = 0
Hand-held computer channel ID = 0x30h
Record type = Activation Request “5”
“x” = Previous activation status code
“y” = Diagnostic information
4-6 6980/6985 Network Manager Programmer’s Guide
Page 43
SECTION 4Network Manager-to-Host Records
An activation request record is sent to the host whenever a port is inactive. The
request contains a status code indicating the state of the previous activation atĆ
tempt or connection. The status codes are ASCII numeric characters and are
listed in Table 4Ć10.
Table 4Ć10
Activation Request Status Codes
CodeDescription
0Good
1Abort. Port disconnect due to protocol error. Physical connection was lost.
2No answer.
3Modem configuration error or bad modem status.
4Disconnect, line protocol error.
5Bad activation parameter error.
6Error activating port.
7Autoanswer port timeout. If a timeout is defined for a handĆheld computer port, and the
timeout period expires with no activity, the port deactivates with a timeout status code.
8HandĆheld computer error.
9Line busy.
: (colon)Modem reported no dial tone.
; (semicolon)Modem reported no carrier.
< (less than)Call collision, modem reported ring
6980/6985 Network Manager Programmer’s Guide 4-7
Page 44
Special Request (Type 6)
Special request records group a variety of special records into one record type. A
subtype field determines the actual request type. Currently there is only one
subtype defined.
Table 4Ć11
Type 6 — Special Request Record
Position Bytes Description
11Device channel ID: 0"
21Channel ID: 1"
31Record type: 6"
41Special request subtypes and meanings in Table 4Ć12.
EXAMPLE:(CR = end of record marker)
0161<CR>
Device channel = 0
Channel ID = 1
Record type = Special request
Special request subtype = File processing request
SECTION 4Network Manager-to-Host Records
Table 4Ć12
Special Request Subtypes
Record IDTypeDescription
1File requestFile requests obtain file processing information from the host. The
host responds with a file directive or an endĆofĆdata record.
2Deactivate Request
(Async interface only;
not implemented)
Deactivate requests are enabled using the network manager
initialization record. When enabled, the network manager
periodically sends a deactivate request to the host for each
autoanswer port. The host then responds with a deactivate
directive (yes or no).
4-8 6980/6985 Network Manager Programmer’s Guide
Page 45
SECTION 4Network Manager-to-Host Records
Directive Status (Type 7)
Network manager sends directive status records to the host after completing a
host directive (with or without error).
51Directive status codes and meanings are in Table 4Ć14 on the next page.
63Reserved for diagnostic information
EXAMPLE:(CR = end of record marker)
01710xxx<CR>
Device channel ID = 0
Channel ID = 1
Record type = Directive Status
Status type = File upload
Status = Good
“xxx” is reserved for diagnostic information
6980/6985 Network Manager Programmer’s Guide 4-9
Page 46
SECTION 4Network Manager-to-Host Records
Currently, four types of file directives are implemented on the network manager.
After a directive is completed, successfully or unsuccessfully, the network managĆ
er sends a directive status record to the host containing the directive type and a
1Ćbyte status code. The status codes for the file processing directives are ASCII
1Ćbyte characters (in hex) and are listed in Table 4Ć14.
Table 4Ć14
Host File Directive Status Codes
Code
(Hex)
0x30Good status
0x31File open error.
0x32File read error.
0x33File write error.
0x34The maximum number of files exceeded on a create operation.
0x35The maximum number of open files exceeded on a file open operation.
0x36File not found error.
0x37Bad file handle (internal only).
0x38File in use error. A file cannot be overwritten with a create operation or deleted while it is in use.
0x39File not open error (internal only).
0x3AFile allocation error.
0x3BEnd of file (internal only).
0x3CFile directory error.
0x3DRequest aborted.
0x3EFile system locked.
Description
This situation could occur if a file was used to boot a handĆheld computer when the host attempted
to recreate the file.
Begin of Call (Type C)
This record is sent by the network manager to the host computer when a handĆheld
Device channel ID = 0
Channel ID = 0x30h
Record type = Begin of Call
4-10 6980/6985 Network Manager Programmer’s Guide
Table 4Ć15
Type C — Begin of Call Record
Page 47
SECTION 4Network Manager-to-Host Records
Network Manager-Based File Processing
File Processing" refers to a method of transferring from the host computer upĆ
dated application and data files to a local or remote 6980/6985 Network ManagĆ
er. These files are stored in the network manager's CompactFlash storage card.
The new files will overwrite or replace the existing files on the network manager.
The total file size area is limited to 4 MB. The data files may contain files to
boot handĆheld computers, download data, or warmĆboot files for handĆheld comĆ
puters using the File Server method.
To successfully implement file processing, you must:
" Understand the network manager disk directory structure and format of
the NETRPL.LST control file, which can boot 4000 Series Computer in the
LAN environment.
Boot" is the industry jargon for bringing a computer to normal operating
condition when it has been without power.
NETRPL.LST resides on the network manager and contains filenames
needed for booting the handĆheld computer. It is composed of 11Ćbyte reĆ
cords with each containing two fields: an 8Ćbyte filename and 3Ćbyte extenĆ
sion. A blank record terminates the list of files.
When the boot option is in effect, the network manager attempts to send all
files specified in NETRPL.LST to any handĆheld computer trying to boot on
the attached LAN.
Table 4Ć16
NETRPL.LST File
Position Bytes Description
18DOSĆcompatible filename (rightĆaligned, padded with spaces)
93DOSĆcompatible filename extension
EXAMPLE:There are three files contained in NETRPL.LST. Asterisks indicate spaces:
UPLOAD**DATRECORD**IDXCUSTDATAINF
" Implement host directive, special request, and directive status records on
your host computer.
" Perform version checking of handĆheld computer application software proĆ
gram changes done on the host computer against each handĆheld computer
for proper version numbers.
" Know how to download to handĆheld computers, without a proper version, a
download request" file. The download request" file must have the proper
filenames located on the network manager.
6980/6985 Network Manager Programmer’s Guide 4-11
Page 48
SECTION 4Network Manager-to-Host Records
4-12 6980/6985 Network Manager Programmer’s Guide
Page 49
Section 5
EM611 IP Header Information
""""""""""""""""""""
The 6980 Network Manager communicates over IP to a host 6980 Network ManĆ
ager or host communications program using a framing called EM611. This is an
extension of an older NorandR framing structure called EM311. The new framĆ
ing structure encapsulates the EM311 packet with a 6Ćbyte header. EM611 is
very similar to EM311 allowing 4980 users to modify their host application with
minimal effort. EM611 also has an added feature that it can contain up to 8192
bytes of data, whereas the older EM311 record contained a maximum data block
of 256 characters.
An EM611 packet has the following structure and definition:
EM611 Packet
EM611 HeaderEM311 Frame
Len1 Len2 CIDVERRES1RES2
Figure 5Ć1
EM611 Structure and Definition
Table 5Ć1
EM611 Packet and Header
Position AbbreviationDescription
1, 2LEN1, LEN2Length of rest of EM611 frame.
Length=(LEN1 * 256) + LEN2
3CIDController ID (Virtual Controller channel for multiple 6980
support)
4EM611Version of EM611 packet frame. Current version is 0x01.
5, 6RES1, RES2Reserved for future use.
EM311 Records:
As defined in Sections 3 and 4.
EM611 Socket Number:
EM611 attempts to contact a host computer or host
6980 Network Manager using Socket Number 6980.
"
NOTE:The above information was provided for customers building their own interface directly to the
6980 Network Manager. This information is hidden from customer’s implementing the Intermec applications.
Page 50
SECTION 5EM61 1 IP Header Information
Local 6980 Network Manager (NPCMux Functionality)
By putting a local 6980 Network Manager running 6980 Norand Portable ComĆ
munications Multiplexer program (NPCMux for short), the host can interface to
a single 6980 for a tiered architecture.
6980 NPCMux" provides a common interface to communicate to local and reĆ
mote 6980 Network Managers using NPCP. 6980 NPCMux" will allow customĆ
ers and distributors to make minimal host application changes to implement the
6980 Network Manager in a LAN or WAN, obtaining the faster communication
speeds without major impact to their current host communication program.
6980 NPCMux" has three main functions:
" Provides a single interface to multiple 6980 Network Managers, allowing
the host application to manage a single connection.
" Manages 6980 socket connections, limiting the quantity of connections for
performance.
" Handling EM311 to EM611 packet conversion. This is needed at some level
as every packet to multiple 6980s has the same structure, Socket ManagĆ
er" handles the mapping of connections to virtual devices for the host proĆ
gram.
To communicate directly to each 6980 Network Manager over IP, develop a host
application that would:
" Use the EM611 packet structure.
" Provide multiĆ6980 functionality.
" Look for 6980 connections on Socket Port Number 6980.
Intermec Technologies Corporation provides a 6980 NPCMux" interface funcĆ
tionality which interfaces to one 6980 device. The host 6980 Network Managerrunning 6980 NPCMux" manages the multiple 6980 connections and provides a
single interface to the host system.
In addition, 6980 NPCMux:"
" Provides the host system with EM611 frames with different EM611 ConĆ
troller IDs and different EM311 Device IDs. Controller and Device IDs asĆ
sist the host communication system in associating users with devices.
" Handles sending up EndĆofĆSession records for any device that disconnects
during active sessions.
5-2 6980/6985 Network Manager Programmer’s Guide
Page 51
SECTION 5EM611 IP Header Information
Host Interface to “6980 NPCMux”
The hostĆtoĆ6980 NPCMux interface is done using the EM611 framing. However,
the host system now has unique Controller and Device IDs for each connected
6980 device. The host application communicates to 6980 NPCMux" using the
EM611 protocol (very similar to EM311 method).
There are a few new initialization commands important to 6980 NPCMux."
Table 5Ć2
6980 NPCMux Commands
Command Bytes Description
ćDnnNumber of remote concurrent 6980 sessions: 1ć9
ćFnFile processing pass through enabled:
0" = Disabled (6980 System IDs are not passed to the host. All 6980 Network
Managers have the same ID. This is for file processing.)
1" = Enabled (6980 System IDs are passed to the host.)
Version 1.0 allows 256, 512, 1024, 2048, or 4096 as the block size.
The EM311 records of the EM611 packet uses a 2Ćbyte channel ID containing the
device and channel.
" Device 0 is always the local 6980 NPCMux.
" Device 1 through nn are the remote 6980 IP connected controllers. Device
ID distinguishes each 6980 device connected. Maximum devices are deterĆ
mined by Host Initialization Record. (ćDnn)
EM311 protocol records are outlined in Sections 3 and 4.
EXAMPLE:The initial handshaking between a host application and “6980 NPCMux” shows the EM311
portion of the EM611 packet generated by the NPCMux application to the host application.
Host ComputerNPCMux6980Description
/2 –D2 –F0 –B256–––>Init Record
?–––>Host Ready
.
.Repeats 20-second cycles until first response.
.
Listens on configured socket for 6980 connections
(default is port 6980).
<–––Connect Request
–––>Accept
<–––018Controller ID
<–––1018
1/2–––>Answer or Dial Record
/2–––>Init Record
<–––016Special Request
<–––1016
1/1
1/3
–––>Answer or Dial Record
/1–––>Init Record
<–––015Inactive Record
<–––1015
–––>Answer or Dial Record
/3–––>Init Record
.
.
.
6980/6985 Network Manager Programmer’s Guide 5-3
Page 52
SECTION 5EM61 1 IP Header Information
5-4 6980/6985 Network Manager Programmer’s Guide
Page 53
Appendix A
4980-to-6980 Conversion
""""""""""""""""""""
The 6980 System Architecture is unique to the 6980 Network Manager, and an
extension of the 4980 System. The architecture differences require that the host
interface change to support the deployment of 6980 Network Managers into an
existing 4980 System.
Some differences and their rationale are:
" 4980 Communications Controllers have a single host interface to remote
controllers. 6980 Network Managers require an EM611 interface for each
6980 Network Manager. This change allows the AS/400 to communicate
with multiple network managers concurrently.
" 4980 Communications Controllers supported Async and Bisync host connecĆ
tions. 6980 Network Managers support Async or TCP/IP connections. This
change supports more popular Ethernet interfaces.
" Remote 498x Communications Controllers support required using multiple
ADCCP channels through a locally connected 4980 Controller. Remote
6980 Network Managers support requires an IP connection back to a host
application (or Host 6980 Network Manager) for each 6980 session. This
allows the use of the PPP protocol made popular by remote Internet access
users.
One of the major differences in the remote 6980ĆtoĆhost system implementation
is that 6980 Network Managers do not have to use a single host interface to comĆ
municate to remote 6980 Network Managers. Each network manager may have
a unique host connection. This methodology provides increased flexibility in the
6980 Network Manager system architecture design and improves the efficiency
in communicating with the handĆheld computers.
However, it is a change that will affect host applications. Intermec Technologies
Corporation has designed some interface applications for a local 6980 Network
Manager and an AS/400 to assist in migration to the 6980 Network Manager.
This appendix is intended for two different purposes:
" Migration of existing 4980 Host Interface Architecture (primarily AS/400
accounts) to 6980 Architecture using an Intermec Technologies Corporation
interface.
" Customization of interface.
Intermec Technologies Corporation has provided a program for all customers to
use. This program can reside on a local 6980 Network Manager and is referred
to as a 6980 NPCMux" application. This program has functionality which will
have to be created in host applications.
6980/6985 Network Manager Programmer’s Guide A-1
Page 54
Communication and Application Diagram
Figure AĆ1 on the next page shows the architecture between a 6980 Network
Manager and an AS/400. This figure describes each of the components, their
functions, and areas addressed to simplify a 4980ĆtoĆ6980 conversion.
A breakdown of the architecture into each of the areas, starting from the furĆ
thest component, is provided.
APPENDIX A4980-to-6980 Conversion
AS400 and Host Interface
IBM AS/400
Local 6980
Socket Manager
Remote 6980
Network Manager
6980 Network
Manager
Host Application
DataqInDataqOut
Socket Interface
6980 Socket
Manager
6980 Network
Manager
Customer’s
previous 4980
interface
converted to
6980.
Intermec-provided example of
using a socket to Dataque
interface for AS400
integration.
Also provides an EM611-toEM311 protocol conversion.
6980 Socket
Manager running
on Local 6980
Network Manager
EM611 IP
Protocol to each
6980 Network
Manager
Architecture between 6980 Socket Manager and AS/400
AS/400 or 4980 Conversion to 6980
The conversion sequence discussed below is done using all the areas discussed
above, 6980 Network Manager, NPCMux application on a local 6980 Network
Manager, the customer's host application, plus an additional piece of software
provided by Intermec Technologies Corporation to take an additional step out of
the host conversion.
4980 Interface on an AS/400
The 4980 Communications Controller was used on a Bisync interface on the
AS/400. The 4980ĆtoĆAS/400 connection used a protocol or framing structure
called EM315.
Most AS/400 users also used a single channel for each 4980 record sent to the
host. This was referred to as a single channel ID record. This was the easiest
and most common installation at AS/400 Systems.
A-2 6980/6985 Network Manager Programmer’s Guide
Figure AĆ1
Page 55
APPENDIX A4980-to-6980 Conversion
6980 Interface on an AS/400
EM315 is very similar to the 4980 protocol or framing structure called EM311.
When moving from the AS/400 Bisync interface (EM315) to a 6980 IP interface
(EM611), the protocol or framing structure needs to be moved from EM315 to
EM311.
"
NOTE:An additional AS/400 application referred to as Socket Interface provides the EM311-to-
EM611 conversion and ASCII-to-EBCDIC conversion.
Figure AĆ2 shows the AS/400 programming architecture. Intermec Technologies
Corporation provides Socket Interface" to Local/Remote 6980 communications.
AS/400 and Host Interface
IBM AS/400
Ethernet
Router
WAN
Host Application
DataqInDataqOut
Socket Interface
Local 6980 Network
Manager (Running
NPCMux Application)
Router
Customer’s previous
4980 Bisync interface
converted to 6980 IP
interface.
Intermec-provided example of
using a socket to Dataque
interface for AS/400
integration.
Provides an EM611 to EM311
protocol conversion.
Provides ASCII to EBCDIC
translation.
6980 Network Manager
Figure AĆ2
AS/400 Programming Architecture
6980/6985 Network Manager Programmer’s Guide A-3
Page 56
APPENDIX A4980-to-6980 Conversion
The following changes were identified when moving from the 4980 Bisync interĆ
face to the 6980 interface using the Socket Interface:"
" EM315ĆtoĆEM311 framing conversion. This means two primary changes:
A /" precedes every command going to a 6980 Network Manager, except
for the Host Ready character.
A ?" is sent by the host application after each record sent to the 6980
Network Manager. The ?" tells the network manager that the host is
ready for the next read.
" An EM311 Begin of Call" record type C" is sent by the network manager
to the host computer when a handĆheld computer is about to begin a sesĆ
sion.
" No double read needed to turn the line around. This was a Bisync protocol
specific need.
" Need to move from a single channel ID to a 2Ćbyte channel ID, on reads
only. This means each block of data coming from the 6980 Network ManagĆ
er has two bytes showing the device and channel. (Device 0 is always the
local 6980 NPCMux Interface)
The host application now tracks current active routes by device and
channel instead of by channel.
EXAMPLE:When route 1234 starts uploading, you need to know what Device and Channel route 1234
started uploading on, so when Download Requests for the same Device and Channel begin,
the correct route is located.
" New Initialization record parameters. These are shown earlier in this secĆ
tion. The Intermec socket currently supports the 256Ć, 512Ć, 1024Ć, 2048Ć,
4096Ć, and 8192Ćcharacter block size.
" The Socket Interface" example written by Intermec Technologies handles
EBCDICĆtoĆASCII translations.
" Instead of connecting to a Bisync port on the AS/400 for reads and writes,
the host application reads and writes to two Dataques: one for input to the
host application from the socket interface and the other for output to the
socket interface.
" Host Application startup. When the host application starts up, the dataĆ
ques should be cleared and initialized. The Intermec socket interface will
put a G" in the DataqueIn to inform the host application that it is ready
to begin.
" Host application ending. If the host application wants to end, it should
send an E" to the DataqueOut.
A-4 6980/6985 Network Manager Programmer’s Guide
Page 57
Appendix B
Adapting Programs Used with the 4980
Protocol Converter
""""""""""""""""""""
A wideĆarea communications network based on the INTERMECR 6980/6985
Network Manager can be configured to be functionally compatible with a
network based on a Norand
to run with a 4980 Converter will require minimum changes, as specified below,
to communicate with network managers running in a compatibility mode."
The required changes generally fall into the following categories:
Record types
The network manager adds a number of new record types and the function of
some of the old 4980 record types has changed.
Special commands
R
4980 protocol converter. Host programs designed
Logical channels
The network manager may have up to three logical channels per physical port.
New enhancements
The network manager provides a number of new enhancements which may be
enabled when the host is ready to support them.
The other major area of change is in the data record. The length of the data
block has increased from 128 bytes to 256 bytes.
Record Types
Record types for both the 4980 Controller and 6980/6985 Network Managers are
listed in the following paragraphs. Differences (if any) in the way the records are
used are noted.
" 0Download Data" 3Cancel Autodial
" 1EndĆofĆdata" 4Phone Number
" 2Initialization" 5Deactivate autodial for one minute
6980/6985 Network Manager Programmer’s Guide B-1
Page 58
APPENDIX BAdapting Programs Used with the 4980 Protocol Converter
6980/6985 Record Types
Network Manager-to-Host
0Upload Data
1EndĆofĆsession Status
EndĆofĆsession records are sent after each handĆheld computer communications
session completes to indicate the status of a single handĆheld computer session.
This differs from the 4980 endĆofĆcall record which is sent after a port connection
is lost to provide the status of the connection.
2Data Request
3Inactive Status
Inactive status records are sent to the host whenever a period of time expires
without any activity on the host port. The status records indicate the status of
the associated port.
4Active Status
See preceding Inactive Status record.
5Activation Request
Activation request records obtain the information from the host which is necesĆ
sary to activate a port. Activation requests are sent for a physical port whenever
the port is disconnected and include the status of the previous activate request
for the port. The host may respond with an autodial activate record, an autoanĆ
swer activate record, or with a deactivateĆforĆoneĆminute record.
For compatibility, the activation request record can be processed exactly like a
4980 phone request record, with the following restrictions:
" No additional parameters are required if the correct default parameters are
stored on the network manager system diskette.
" A 1Ćbyte status field follows the record type in the activation request; this
field indicates the status of the previous activation request. This status
corresponds to the 4980 endĆofĆcall status.
" Responding to an activation request with an autoanswer activate record
corresponds to responding to a 4980 phone number request with a cancelĆ
autodial record. However, the network manager continues to prompt the
host with activate requests each time a port disconnects.
" Phone numbers must be formatted.
The following record types are not 4980Ćcompatible, and are not sent to the host
unless the associated options are enabled.
6Special Request
Currently, one subtype is specified:
1File Requests
7Directive Status
8Network manager Identification
CBegin of Call
B-2 6980/6985 Network Manager Programmer’s Guide
Page 59
APPENDIX BAdapting Programs Used with the 4980 Protocol Converter
Host-to-Network Manager Records
0Download Data
1EndĆofĆdata
2Initialization
The initialization record supplies system configuration parameters.
"
NOTE:To avoid host program changes, store initialization information in an easily-modified file.
The initialization record determines the host computer's block size which inĆ
cludes a beginningĆofĆrecord delimiter, record types, data, and an optional endĆ
ofĆline" pad characters, such as a carriage return.
All records sent to the network manager must have the same size, with the exĆ
ception of special commands. Any endĆofĆline pad, appended to records, and speĆ
cial commands sent to the network manager must be consistent.
3Autoanswer Activate
Autoanswer activate records are sent in response to an activate request and may
include optional modem and port configuration parameters. The autoanswer acĆ
tivate record replaces the 4980 cancelĆautodial record.
4Autodial Activate
Autodial activate records are sent in response to an activate request, and may
include optional modem and port configuration parameters (for example, a phone
number). The autodial activate record replaces the 4980 phone number record.
"
NOTE:Autoanswer and Autodial Activate records are processed identically. The autoanswer type is
provided for backward compatibility.
5Deactivate for One Minute
The following record types are not 4980Ćcompatible, and cannot be sent to the
network manager unless the associated options are enabled.
6Host Directive
A host directive may be sent by the host in response to a special request or data
request from the network manager. Currently, four subtypes of host directives
are specified:1File Upload
2File Create/Load
3File Delete
4File Download
6980/6985 Network Manager Programmer’s Guide B-3
Page 60
APPENDIX BAdapting Programs Used with the 4980 Protocol Converter
Special Commands
The host may send two other commands with the preceding records to the netĆ
work manager.
" The host must send a question mark (?") to the network manager to indiĆ
cate that it is ready to receive data. The question mark can be changed to
any other character (such as an XON character) with an initialization reĆ
cord parameter. Optional pad characters following the question mark must
be consistent.
" The host may reinitialize the network manager by sending an asterisk (*).
This parallels sending a slash and an asterisk (/*) to the 4980 Controller.
The host must wait at least 30 seconds before sending another initialization
record after sending the asterisk.
"
NOTE:The asterisk can be sent only when the network manager is expecting a question mark or
before sending the initialization record.
B-4 6980/6985 Network Manager Programmer’s Guide
Page 61
Appendix C
Asynchronous Hosts
""""""""""""""""""""
The 6980/6985 Network Manager offers several methods to provide flexible opĆ
tions for reading records from the network manager.
" An endĆofĆrecord delimiter can be added to the end of each record. The deĆ
fault delimiter is a carriage return (CR).
" The network manager can be configured to pad all records to a fixed block
size. The pad character can be set by the host. The default is a blank.
" The hostĆready character, a question mark by default, can be changed to
any other character, such as an XON character.
" The data portion of an upload data record may contain transparent data if
the port is configured for transparent mode. All other data sent to the host
is guaranteed to be character data.
" The network manager reads the initialization record as 8Ćbit data, so that
the host can set the parity for the hostĆnetwork manager connection in the
initialization record.
If the host is reading transparent data from the network manager, then the host
cannot read to an endĆofĆrecord delimiter. This problem can be solved by padĆ
ding all records to a fixed length. However, this is inefficient because of the exĆ
tra length added to download requests.
As an alternative the channel ID and record type portion of each record can be
read before the rest of the record is read. The host can then use a table, indexed
by record type, to determine the number of bytes which remain to be read for the
record.
Alternatively, the host can read a fixed number of remaining bytes for upload
data records and read to an endĆofĆrecord delimiter for other record types.
"
NOTE:Some host communications drivers delete the entire contents of the communications buffer
attached to a port when a read is issued on the port. A nondestructive read must be available to read a partial record from the network manager.
EXAMPLE:Asynchronous Host to 6980/6985 Network Manager:
<–––––Channel 2 Download Request
End of Data–––––>
“?”–––––>
<–––––Channel 2 End Status
“?”–––––>
<–––––Channel 2 Activation Request
APPENDIX CAsynchronous Hosts
C-2 6980/6985 Network Manager Programmer’s Guide
Page 63
Appendix D
Pseudo Host Communications Program
""""""""""""""""""""
You configure the 6980/6985 Network Manager by using one of the following
methods:
" Initialization record parameters. The host sends this record at the beginĆ
ning of a session.
" Activation record parameters. The host sends this record to activate a port.
" Control parameters stored in the 6980CE.INI configuration file accessible
via a web server.
Configuring the network manager consists of:
Main Routine:
Open Files
Initialize counters to 0 and port/channel states to inactive. (Note counters, state variables, etc.
are indexed by channel)
Send Initialization Record to 6980/6985
While Not Finished
If Async_host
Send ready character (e.g. ?") to the 6980/6985.
Perform 4980_Read.
Determine device ID, logical channel, record type.
If type equal Upload_Data
Perform Received_Upload_Data_Routine.
Else if type equal End_Tcom_Status
Perform End_Status_Routine.
Else if type equal Download_Data_Request
Perform Download_Data_Routine.
Else if type equal Inactive_Status
Display port inactive" (or ignore)
Else if type equal Active_Status
Display port active" (or ignore)
Else if type equal Activate_Request
Perform Activation_Routine.
Else if type equal Special_Request
Perform Special_Request_Routine.
Else if type equal Network Manager ID
Perform Remote_6980/6985_Logon.
Else
Perform Invalid_Record_Routine.
Endif
End While Not Finished.
Close Files.
End of Program.
End Main Routine
6980/6985 Network Manager Programmer’s Guide D-1
Page 64
Upload_Data_Routine:
If channel inactive
Save HHC ID from first upload record in save area for channel.
Reset upload sequence counter for channel.
Change channel state to uploading."
Write upload record with channel/handĆheld computer ID/sequence counter key.
Else
Increment upload sequence counter.
Write upload record with channel/handĆheld computer ID/sequence counter key.
Endif.
Return.
End Upload_Data Routine.
End_Status_Routine:
Log final status of handĆheld computer telecom session.
Reset channel status to inactive.
Return.
End End_Status_Routine.
APPENDIX DPseudo Host Communications Program
Download_Data_Routine:
If channel state is uploading
Log good status for upload.
Reset download sequence counters for channel.
Change channel state to downloading.
Endif.
If more download data for the handĆheld computer
Send download data record.
Else
Send an endĆofĆdata record.
Endif.
(Note: One way to associate download data with a handĆheld computer is to maintain a
download request" file that contains a list of download" files for each scheduled handĆheld
computer. The list of files may actually be a list of keys for indexed file systems.)
Return.
End Download_Data_Routine
Activation_Routine:
(Note that the handĆheld computer channel number is the port number for activation requests.)
If a phone number is active on the port
Log the status of the phone number.
Store the phone number for possible retry later.
Endif.
Get the next phone number for the port type.
If a phone number is available for the port type
Send the phone number in the activation record.
Else if too soon to retry phone numbers
Send an activation_delay record.
Else if no more phone numbers
Send the default (possibly blank) activation record for the port type.
Endif.
Return.
End Activation_Routine.
D-2 6980/6985 Network Manager Programmer’s Guide
Page 65
APPENDIX DPseudo Host Communications Program
Special Request Routine:
Display No special requests are supported."
Send an endĆofĆdata record.
End Special_Request_Routine
Remote_6980/6985_Logon:
Send an initialization record for the remote 6980/6985
End Remote_6980/6985_Logon
6980/6985 Network Manager Programmer’s Guide D-3
Page 66
APPENDIX DPseudo Host Communications Program
D-4 6980/6985 Network Manager Programmer’s Guide
Page 67
Glossary
""""""""""""""""""""""""
ADCCP (Advanced Data Communications Control Procedures)
The U.S. Federal Standard communications protocol. The American National
Standards Institute version of a bitĆoriented synchronous data link protocol.
APU
Auxiliary Power Unit.
AS/400 (Application System/400)
IBM midĆrange computer replacing the System/38 and System/36 product lines.
Contains an application that converts EM311 to EM611 and ASCII to EBCDIC.
ASYNC
Asynchronous communications. A method of transmitting data using an
external clocking source (the transmitted characters are preceded by a start bit
and followed by a stop bit).
BISYNC (BInary SYNChronous communications)
A method of transmitting data in which the transmission of a character is
marked by a drop or rise in the signal. An IBM defined, byteĆcontrolled
communications protocol, using control characters and synchronized
transmission of binary coded data.
Channel (Logical Data Channel)
A port may contain one or more channels. Data for any given wireless station is
contiguous on a channel. Each of the remote ports on a controller may contain
up to three channels apiece.
Direct Connect
The handĆheld computer directly cabled to a port on the network manager.
DSD (Direct Store Delivery)
That section of the grocery industry dealing with products delivered from a
supplier directly to a store, rather than to some intermediate warehouse or
distributor. DSD offers retailers reduced overhead expenses, but carries as a cost
a loss of inventory control.
EM311
An ASCII control or framing structure that consists of six record types sent from
the host to the network manager and eight record types sent from the network
manager to the host. This framing structure is only for asynchronous host
connections.
EM611
An ASCII control or framing structure that is an extension of EM311. This
structure is an EM311 packet with a 6Ćbyte header and a block size of 1024 bytes
of data, as opposed to the EM311 block size of 256 bytes of data. For IPĆbased
interfaces, an EM611 header must prefix all records sent to a 6980 Network
Manager.
A generic acronym for a Norand HandĆHeld Computer, including the 4000 Series
(43XX, 44XX, 4500) and the PEN*KEY or 6000 Series (61XX, 62XX, 63XX, 6400,
65XX, 66XX).
Also the trademark of another company.
Host
A customer's host computer.
A computer that provides services directly to users, such as the user's computer.
In TCP/IP, an IP addressed device.
A large computer that serves many users, such as a minicomputer or mainframe.
Host Computer
A large computer that serves many users, such as a PC, minicomputer, or
mainframe.
Host Network Manager
A 6980/6985 Network Manager that is functioning as a host to a secondary
network manager.
LAN (Local Area Network)
A group of network devices in which each device can communicate through a
wired or wireless link. The wired link may have several segments joined by
repeaters and bridges. The LAN is characterized by the relatively short distance
it is designed to cover, a high speed of operation, and relatively low error rates.
The geographic scope of LANs is limited to thousands of feet or closelyĆspaced
building complexes.
Local Network Manager
A network manager which is directly connected to a host computer. A local
network manager uses either secondary ADCCP or ASYNC on its host port.
Logical Port
The host port on the controller is logically numbered 0. Port 0 is always the host
port.
NPCP (Norand Portable Communications Protocol)
A Norand proprietary protocol that provides session, network, and datalink
services for Norand handĆheld computers in the Norand LAN environment used
with printers and data communications.
Physical Port
Equates to port connector. The 4980 Controller has four internal physical ports
(A", B", C", and D"). It also has six connectors (A", B", C", D", LAN1",
and LAN2"). Ports B", C", and D" are permanently attached to the 15Ćpin
connectors labeled B", C", and D" respectively on the back of the controller.
Port A" is attached to either the 15Ćpin RSĆ232 connector labeled A" or to both
of the two 9Ćpin RSĆ485 connectors labeled LAN1" and LAN2". Port A" is
attached to the RSĆ485 connectors when it is configured as a LAN port,
otherwise it is attached to the RSĆ232 connector labeled A."
Port
The physical hardware communication port.
(SNMP) Physically, an access point to a computer, multiplexer device, or
network. Logically, a pointer to a TCP/IP application.
The network manager which is logically farthest away from the host computer
when two network managers are connected.
Remote Port
A TTY or NPCP port that can connect to handĆheld computers or remote network
managers. Data channels on remote ports are multiplexed onto the host port.
Remote Subnet
An Ethernet segment other than the distribution LAN. For Enterprise OWL,
the remote subnet is the Ethernet link of the access point that attaches to the
super root through an IP tunnel.
TCOM or Telecom
Telecommunications.
Terminal
Circuit terminating device such as a handĆheld computer.
(ADK) Portable elements in the radio data network. Provide a wireless
portability with twoĆway interactive data communication capabilities.
GLOSSARY
TTY
Norand twoĆway TTY asynchronous data link protocol.
File allocation error, host file directive status code, 4Ć10
File create error, host file directive status code, 4Ć10
File directive status codes
file allocation error, 4Ć10
file create error, 4Ć10
file directory error, 4Ć10
file end error, 4Ć10
file handle bad, 4Ć10
file in use error, 4Ć10
file max error, 4Ć10
file not found error, 4Ć10
file not open error, 4Ć10
file open error, 4Ć10
file read error, 4Ć10
file system locked, 4Ć10
file write error, 4Ć10
good status, 4Ć10
request aborted, 4Ć10
File directory error, host file directive status code, 4Ć10
File end error, host file directive status code, 4Ć10
File handle bad, host file directive status code, 4Ć10
File in use error, host file directive status code, 4Ć10
File max error, host file directive status code, 4Ć10
File not found error, host file directive status code, 4Ć10
File not open error, host file directive status code, 4Ć10
File open error, host file directive status code, 4Ć10
File read error, host file directive status code, 4Ć10
File request, network managerĆtoĆhost record, description of, 4Ć8
File Requests subtype