CD RELEASE NOTES:
To use the DOS Install tool you must copy the entire contents
of the DOSTool directory (and subdirectories) to a floppy disk.
RELEASE V5.0 NOTES:
The requirement to upload and download the Janus unit to ensure
a clean load has been removed. The clean image is used directly
from the Boot Utilities Disk. This reduces the Install Tool
run time to approximately 10 minutes.
The FTP Corporation stack (PC/TCP) is now supported with this
Install Tool. You must purchase a copy of the FTP Stack Disk
for each Janus that you are installing.
The Novell Stack is provided free of charge from Novell Inc.
This version of the Install Tool includes the Novell Stack
as a subdirectory on the Install Disk. This removes the
requirement to swap disks to load the stack software.
To install this stack on a Janus unit from the Install tool
Installation Options screen select the Lan Workplace for DOS
Version: PROVIDED. Then specify the Path to LAN Workplace
Installation: A:\NOVELL\ (default)
The tool will then prompt the user through the rest of the
installation process.
-------------------------------------------------------------
This file pertains equally to the JG2010, JG2020, or the JG2050.
Substitute the applicable part number for all instances of JG2020.
This README file supplies information on the following issues:
1) Imlogin.bat information.
2) How to write a TCP/IP or SPX/IPX application for the JG2020, that
supports roaming out of range of an Access Point.
3) How to install a network software package other than Netware Client for
DOS or LAN Workplace for DOS on the JG2020.
4) TROUBLESHOOTING
*****************************************************************************
*****************************************************************************
I S S U E # 1
*****************************************************************************
*****************************************************************************
If a user name is not specified during an installation, the IMLOGIN.BAT file
created for the JG2020 will be generic and accept the same command line
parameters as Novell's LOGIN.EXE. This would allow more than one user to
login to a Netware Server on a JG2020 via the IMLOGIN.BAT file.
Generic IMLOGIN.BAT:
@echo off
H:\LOGIN %1 %2
Generic IMLOGIN.BAT usage examples:
C:\> IMLOGIN JERRY
C:\> IMLOGIN JERRY /B
C:\> IMLOGIN MIS_SERVER/JERRY
C:\> IMLOGIN MIS_SERVER/JERRY /B
However, if a user name is specified during an installation, the IMLOGIN.BAT
will be written to login that specific user every time.
Custom IMLOGIN.BAT file with user name specified but no server specified:
@echo off
H:\LOGIN JERRY %1
Custom IMLOGIN.BAT file with user and server specified:
@echo off
H:\LOGIN MIS_SERVER/JERRY %1
Custom IMLOGIN.BAT usage examples:
C:\> IMLOGIN
C:\> IMLOGIN /B
The second parameter in all the preceding IMLOGIN.BAT examples would allow
for bindery emulation (/B) to be specified on the command line.
*****************************************************************************
*****************************************************************************
I S S U E # 2
*****************************************************************************
*****************************************************************************
When writing connection oriented peer-to-peer applications for TCP/IP
or SPX/IPX on the JG2020, it will be necessary to implement a mechanism for
connection loss notification and connection re-establishment in order to
support roaming out of range of an Access Point or into "dead" RF areas.
Novell's TCP/IP and SPX/IPX protocol stacks were not designed with
wireless communications in mind and do not expect workstations to become
unreachable (i.e. roam out of range), barring a catastrophic event
(power loss, lockup, etc.). If a JG2020 roams out of range of an Access
Point and cannot respond to connection watchdog packets, the connection will
be lost. In order to recover, the application must recognize or be notified
of the connection loss and attempt to re-establish it. If the unit is kept
out of range of an Access Point longer than 5-10 minutes, and the software is
driving the radio to constantly transmit a connection request, the radio will
eventually over heat. Therefore, as the application attempts to re-establish
a connection, a delay before each request (or backoff algorithm) must be
implemented to prevent over heating.
The following is a C source code template that demonstrates how to write
an application to support roaming using Novell's LAN Workplace socket
library API. This is not a complete application, rather a template that
serves as an example:
void main (void)
{
/* Establish connection */
/* Open in client mode */
lRc = OpenNet ( szHostName, iPortNum, &iSocket...);
while (!fExit)
{
/* Regular processing... */
/* Send and receive on socket(s) */
SendNet(iSocket, pchData, .....)
:
:
RecvNet(iSocket, pchRecvData, ...)
/* If an error occurs sending or receiving data, we've probably lost
the connection. Because of the idiosyncracies of the wireless
environment, this may only be a temporary condition, but the
connection is lost. It is best to try to re-establish the
connection either retrying until success or trying periodically and
batching data in the mean time. */
while (lRc != 0 )
{
/***************************************
Retrying the connection
***************************************/
/* Make sure the socket(s) are closed */
CloseNet(&iSocket...);
/* Open in client mode */
lRc = OpenNet ( szHostName, iPortNum, &iSocket...);
if (lRc != 0)
{
printf("\nConnection failed\n rc = %d", lRc);
/* Sleep for a little while before retrying - or you
can process in batch mode */
delay(2000);
}
else
{
/***********************************************************
Here you are re-connected so you should
do what ever you need to do to be interactive
with your partner (server) application.
***********************************************************/
}
} /* end while trying to re-connect */
} /* end while !fExit */
} /* end main */
LONG OpenNet(...)
{
/********************************************************
OpenNet opens a TCP/IP client connection
to the remote host and port number.
*********************************************************/
iSocket = socket(...);
iRc = connect(iSocket,.... );
}
LONG CloseNet(...)
{
soclose(iSocket);
iSocket = -1; /* Mark as invalid - (good idea) */
}
LONG SendNet(...)
{
iRc = send(iSocket, pchData, iDataLen, 0);
:
:
return (iRc);
}
LONG RecvNet(...)
{
iLen = recv(iSocket, pchData, iMaxLen, ...);
:
:
}
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
S P X / I P X E X A M P L E
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
The following is a C source code template that demonstrates how to write
an application to support roaming using Novell's Netware Client Transport
Protocol API. This is not a complete application, rather a template that
serves as an example:
//
// Include files
//
.
.
.
void main (void)
{
.
.
.
//
// Initialize the IPX library.
//
status = SPXInitialize (...);
if (status == SPX_NOT_INSTALLED)
{
.
.
.
}
//
// Open a socket.
//
status = IPXOpenSocket (...);
if (status != SUCCESSFUL)
{
.
.
.
}
//
// Post listen ECBs on socket.
//
if (PostListenEcbs () == NW_FALSE)
{
.
.
.
}
//
// Establish a connection with a remote partner.
//
EstablishConnection ();
//
// Application specifics.
//
While (!userExit)
{
//
// Regular processing.
//
.
.
.
//
// Check the status of the SPX connection.
//
if (!connected)
{
cprintf ("Trying to Re-establish Connection...\r\n");
EstablishConnection ();
}
//
// SEND A PACKET.
//
if (sendECB[sendIndex].inUseFlag == 0)
{
if (PrepareSendECB (...)
{
SPXSendSequencedPacket (...);
//
// Wait for SPX to send OR fail to send packet.
//
while (sendECB[sendIndex].inUseFlag != 0);
//
// Determine packet tx status.
//
if (sendECB[sendIndex].completionCode == 0)
{
//
// Packet successfully sent.
//
.
.
.
}
else if (sendECB[sendIndex].completionCode == SPX_INVALID_CONNECTION)
{
//
// Remote partner terminated connection.
//
.
.
.
}
else
{
//
// Packet transmission failed.
//
.
.
.
}
}
//
// Adjust send ECB queue pointer.
//
}
//
// CHECK ECB QUEUE FOR INCOMING PACKETS (receive a packet).
//
while (ecbQueue[tail] != (ECB *)0)
{
pSpxHeader = (SPXHeader *) ecbQueue[tail]->fragmentDescriptor[0].address;
dataLength = SwapBytes ((char *)&pSpxHeader->length);
dataLength -= sizeof (SPXHeader);
pPacket = ecbQueue[tail]->fragmentDescriptor[1].address;
//
// Process packet (pPacket is pointer to packet data)
//
.
.
.
//
// Recycle ECB (post ECB on socket).
//
SPXListenForSequencedPacket (...);
//
// Adjust receive ECB queue pointer.
//
}
}
}
//
//
//
BOOL PostListenEcbs (void)
{
.
.
.
}
//***************************************************************************
//
// THIS IS THE SAMPLE ROUTINE USED FOR ESTABLISHING AND RE-ESTABLISHING
// CONNECTIONS WITH A REMOTE SPX PARTNER.
//
//***************************************************************************
void EstablishConnection (void)
{
int status;
//
// Initialize connect ECB.
//
.
.
.
for (;;)
{
//
// Establish a connection with a listening socket.
//
status = SPXEstablishConnection (...);
if (status == 0)
{
//
// Local half of the connection is functional, wait for remote
// half to become functional.
//
while (!connectEsrCalled);
if (connectECB.completionCode == 0)
{
cprintf ("Connection Accepted.\r\n\n");
connected = NW_TRUE;
break;
}
else
{
cprintf ("\rConnection request failed (0x%X)\r\n",
connectECB.completionCode);
}
//
// Delay before sending out next connection request. If we
// are out of range, access point is down, etc., we need
// to delay a bit in order to prevent the radio from
// heating up.
//
delay (2000);
}
}
}
*****************************************************************************
*****************************************************************************
I S S U E # 3
*****************************************************************************
*****************************************************************************
The JG2020 Novell Products Installation Utility currently supports two
Novell products, Netware Client for DOS and LAN Workplace for DOS. It is
possible however, to use this utility to install other network software
products on the JG2020. However, you must conform to the following:
(1) You must create a dummy file in all empty sub-directories or
remove the empty sub-directories from your network software
sub-directory structure before the installation.
(2) The software must not exceed a total size of 570K. This would
include the combined total of the software's main directory and
sub-directories. The installation utility only frees 675K of
space on the JG2020's drive D (flash memory) for Novell
software and Intermec 2.4GHz drivers.
(3) You must create a sub-directory called NLS below the main
directory of your network software. For example, if your main
directory was called NWLITE you would type the following at
the DOS prompt before the installation:
C:> md c:\nwlite\nls
(4) You must have the following files in your network software
subdirectory:
a) LSL.COM
b) IPXODI.COM ( or any file renamed to IPXODI.COM )
c) VLM.EXE ( or any file renamed to VLM.EXE )
INSTALLATION PROCEDURE:
(1) Start the installation procedure by typing the following at the
DOS command line:
C:> A:INSTALL
Shell-to-DOS before the final flash images are built and downloaded,
when prompted.
This will allow you to make any necessary changes to the JG2020's
environment that your software package requires such as changes to
the AUTOEXEC.BAT, CONFIG.SYS, or NET.BAT files.
(2) INSTALLATION OPTIONS Screen Form:
---------------------------------
At the 'Novell Product to Install:' field, select
'Netware Client for DOS'.
Any version can be specified.
At the 'Path to Netware Client Installation:' field, type in
the path to the network software that you want installed.
Remember that it should be 570K in total size or less to provide
space for the Intermec 2.4GHz drivers!
(3) RADIO PARAMETERS Screen Form:
-----------------------------
Enter the parameters that you want the radio to use.
DOMAIN, INACTIVITY SECONDS, etc.
(4) SHELLING OUT TO DOS:
--------------------
Make any necessary changes and then type 'EXIT' to finish the
installation process.
The network software that is installed on the JG2020 will be installed
on the D drive in the D:\NWCLIENT sub-directory. Remember, the
installation Utility thinks that it is installing Netware Client for DOS.
If you change the name of the D:\NWCLIENT sub-directory, you must change the
path to MINIPM.EXE and RL2OEM.COM in the NET.BAT file.
MINIPM.EXE and RL2OEM.COM are required 2.4GHz TSR's that must be loaded on
the JG2020.
*****************************************************************************
*****************************************************************************
I S S U E # 4
*****************************************************************************
*****************************************************************************
When you install LAN Workplace for DOS on a host PC which already has other
copies/versions of LAN Workplace, Novell's LAN Workplace installation tool
may not perform a full installation. If this occurs, this may cause the
JG2020 installation utility to fail. When you specify a LAN Workplace
installation to the JG2020 installation utility, it checks for certain files
in certain directories and the existence of the HSTACC directory. For
example, if you specify that you are installing LAN Workplace v5.0 and
C:\NET as the LAN Workplace directory to for the installation, the following
paths are verified to exist:
C:\NET\BIN\\LSL.COM (file)
C:\NET\BIN\\TCPIP.EXE (file)
C:\NET\BIN\\FTP.EXE (file)
C:\NET\BIN\\FTP.MSG (file)
C:\NET\BIN\\TNVT220.EXE (file)
C:\NET\BIN\\TNVT220.MSG (file)
C:\NET\BIN\\LWP.MSG (file)
C:\NET\BIN\\TELAPI.EXE (file)
C:\NET\BIN\\TELAPI.MSG (file)
C:\NET\BIN\TELSVC.EXE (file)
C:\NET\BIN\TELSVC.MSG (file)
C:\NET\HSTACC\EXTMAP.BIN (file)
C:\NET\HSTACC\HOSTTOPC.MAP (file)
C:\NET\HSTACC\PCTOHOST.MAP (file)
C:\NET\HSTACC\T4_DEF.PAR (file)
C:\TCP\HOSTS (file) (optional)
C:\TCP\SERVICES (file)
C:\TCP\NETWORKS (file)
C:\TCP\PROTOCOL (file) (created if not found)
If you specify that you are installing LAN Workplace v4.2 and C:\NET4.2 as
the LAN Workplace directory to for the installation, the following paths are
verified to exist:
C:\NET4.2\NWCLIENT\\LSL.COM (file)
C:\NET4.2\BIN\\TCPIP.EXE (file)
C:\NET4.2\BIN\\FTP.EXE (file)
C:\NET4.2\BIN\\FTP.MSG (file)
C:\NET4.2\BIN\\TNVT220.EXE (file)
C:\NET4.2\BIN\\TNVT220.MSG (file)
C:\NET4.2\BIN\\LWP.MSG (file)
C:\NET4.2\BIN\\TELAPI.EXE (file)
C:\NET4.2\BIN\\TELAPI.MSG (file)
C:\NET4.2\HSTACC (sub-directory)
The best solution is to install LAN Workplace on a PC that does not already
have other copies/versions of LAN Workplace installed and allow the LAN
Workplace installation utility to perform a full installation and then use
the PC with the full copy of LAN Workplace for the JG2020 installation.
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.