
              NOVELL TECHNICAL INFORMATION DOCUMENT

TITLE:              DOS Client Files Update
DOCUMENT ID:        TID014295
DOCUMENT REVISION:  B
DATE:               21JAN94
ALERT STATUS:       Yellow
INFORMATION TYPE:   Symptom Solution
README FOR:         DOSUP9.EXE

NOVELL PRODUCT and VERSION:
NetWare Client for DOS/Windows

ABSTRACT:

Contains updated DOS client files.  This file includes the v1.10 NetWare DOS
Requester (VLMs) and PBURST.NLM.  It also includes NetWare shells v3.32
(NETX.EXE, EMSNETX.EXE, XMSNETX.EXE), compatible with DOS 3.0 and above,
including MS DOS 6.2, PCDOS 6.1, DR DOS 6.0 and Windows 3.0/3.1.  Includes
support for both ODI and dedicated IPX, Netbios, DOS client files, and MLID
drivers.  NOTE: If you are using packet burst over a wide area link, download
PBURST.EXE from Novlib, lib5 for packet burst over a WAN link.


DISCLAIMER
THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL.  NOVELL
MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION.  HOWEVER, THE
INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY.  NOVELL
MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION.


SYMPTOM

     Fixes known anomalies with the LSL, IPXODI, and MLID drivers.


SOLUTION

     Copy the updated files to the appropriate directories, and reboot the
     w/s.

     Files marked with an '*' are new since DOSUP8.EXE.  Files marked with a
     '^' have been updated since DOSUP8.EXE.

     NOTE:     When you expand DOSUP9.EXE, it will automatically create two
               sub-directories: NETX (containing the latest workstation shells
               that support DOS 3.x to DOS 6.x, including MSDOS 6.2 and PCDOS
               6.1); VLMS (containing the latest released NetWare DOS
               Requester files v1.10).

     Self-Extracting File Name:  DOSUP9.EXE     Revision:  B

     Files Included     Size     Date      Time

     \
       DOSUP9.TXT         (This File)
          IPX.OBJ      20340   11-21-91   12:50p
          LSL.COM      17805   09-10-93    3:48p
          NE2.COM      20192   12-09-93    10:12p  ^
        DOSNP.EXE      10547   07-19-93    3:17p
        INT2F.COM        640   07-28-88   11:48a
        PCN2L.COM      21294   04-28-93    1:12p
        ROUTE.COM       4882   05-11-93    8:59a
        TBMI2.COM      24884   06-03-93    4:36p
        TOKEN.COM      27381   04-12-93    6:27p
       IPXODI.COM      30247   10-07-93    4:52p
       LANSUP.COM      21943   02-02-93   11:54a
       NE2_32.COM      19903   07-30-93    9:39a
       NE1000.COM      19807   07-30-93    9:40a
       NE2000.COM      21188   11-23-93   11:31a  ^
       NE2100.COM      29256   07-30-93    9:41a
       NE3200.COM      26568   10-20-93   11:28a  ^
       PACKET.SIG       3720   01-20-94   10:31a  *
       PBURST.NLM      95736   11-12-92   10:34a  *
       RPLFIX.COM       1838   06-30-93   10:56p  ^
       RPLFIX.DOC       2255   02-21-91    2:47p
       RPLODI.COM       1652   03-21-91    2:24p
       TASKID.COM       7539   01-22-93   10:47a
       TOKODI.DOC       6882   11-03-93    2:08a
       TRXNET.COM      18765   12-21-92    2:27p
      NE1500T.COM      29258   07-30-93    9:41a
      NETBIOS.EXE      24402   11-19-93   11:05a  ^
      NTR2000.COM      24909   03-31-93    9:46a
      ODIINFO.DOC      24499   12-09-92    2:43p
      ODINSUP.COM      33867   02-23-93    8:58a
      ODINSUP.DOC      42016   10-28-93    1:07a
     DEADLOCK.TXT      18073   12-21-93    2:26p  ^
     DOSODIWS.DOC       4916   11-03-93    2:19a
     \NETX\
         NETX.EXE      78654   11-17-93    2:14p  ^
      EMSNETX.EXE      90510   11-17-93    2:16p  ^
      XMSNETX.EXE      87172   11-17-93    2:18p  ^
     \VLMS\
          FIO.VLM      17914   12-09-93    1:06p  *
          NDS.VLM       8340   12-09-93    1:05p  *
          NWP.VLM       6500   12-09-93    1:05p  *
          RSA.VLM      19552   12-09-93    1:07p  *
          VLM.EXE      36525   12-09-93    1:03p  *
         AUTO.VLM       4447   12-09-93    1:06p  *
         BIND.VLM       4664   12-09-93    1:05p  *
         CONN.VLM      10705   12-09-93    1:04p  *
         NETX.VLM      15622   12-09-93    1:06p  *
         TRAN.VLM       1545   12-09-93    1:04p  *
        PRINT.VLM       7893   12-09-93    1:06p  *
        REDIR.VLM      13633   12-09-93    1:06p  *
       IPXNCP.VLM       9560   12-09-93    1:04p  *
       IPXODI.MSG       3829   10-07-93    4:52p  *
      GENERAL.VLM       4203   12-09-93    1:06p  *
      READVLM.TXT      42144   12-20-93   11:43a  *
      UNI_COL.001       4500   01-23-93    2:24p  *
      UNI_MON.001       4244   01-23-93    2:23p  *
     1252_UNI.001        659   01-26-93    5:10p  *
     DOSRQSTR.MSG       9522   11-19-93    8:56a  *
     SECURITY.VLM       7978   12-09-93    1:05p  *
     UNI_1252.001       2196   01-26-93    5:10p  *


     Installation Instructions:

     Make a backup of any files currently on your workstation that appear in
     the list above. 

     FOR THE FILES AT THE ROOT OF THE [DOSUP9] FILE:

     Note:     The files at the root of [DOSUP9] are not shell specific, and
               are for use with either NETX or VLM workstation configurations.

     Copy the updated LSL, MLID driver, IPXODI and any other needed driver to
     the workstation's boot drive, where the network files are located. 
     Reboot, and load the newer drivers.

     FOR THE FILES IN THE SUB-DIRECTORY [NETX] UNDER THE [DOSUP9] ROOT
     DIRECTORY: 

     These are the latest NetWare shells that support DOS 3.x - DOS 6.x.

     If you are using PCDOS v6.10, please see the note for PCDOS 6.10 users on
     the next page of this document.

     Copy the updated shells (NETX.EXE, EMSNETX.EXE and/or XMSNETX.EXE) to the
     workstation's boot drive, where the network files are located.

     Reboot, and load the newer shell. 

     FOR THE FILES IN THE SUB-DIRECTORY [VLMS] UNDER THE [DOSUP9] ROOT
     DIRECTORY: 

     If you are using the VLMs (NetWare DOS Requester), add LASTDRIVE=Z to the
     workstation CONFIG.SYS file.  Please read the READVLM.TXT file for the
     latest information about the VLMs.

     Copy the following files to the workstation boot drive's NWCLIENT
     directory:

          AUTO.VLM
          BIND.VLM    
          CONN.VLM    
          FIO.VLM    
          GENERAL.VLM
          IPXNCP.VLM 
          NDS.VLM    
          NETX.VLM   
          NWP.VLM    
          PRINT.VLM  
          REDIR.VLM  
          RSA.VLM    
          SECURITY.VLM
          TRAN.VLM    
          VLM.EXE 

     Copy the following files to the boot drive's NWCLIENT\NLS directory:
          
          1252_UNI.001
          UNI_1252.001
          UNI_COL.001
          UNI_MON.001

     Copy the following files to the boot drive's NWCLIENT\NLS\ENGLISH
     directory:

          DOSRQSTR.MSG
          IPXODI.MSG

     IMPORTANT INFORMATION:

     The following drivers included in this ZIP file now default to the 802.2
     frame type.  When using these drivers, it is necessary to either use the
     802.2 frame type on your server or change the frame type for the
     workstation in your workstation NET.CFG file.

     NE1000.COM     19,807   7-30-93  9:40a   v1.28
     NE1500T.COM    29,258   7-30-93  9:41a   v1.27
     NE2.COM        20192   12-09-93 10:12p   v1.28
     NE2000.COM     21188   11-23-93 11:31a   v1.54
     NE2100.COM     29,256   7-30-93  9:41a   v1.27
     NE2_32.COM     19,903   7-30-93  9:39a   v1.30
     NE3200.COM     26,568  10-20-93 11:28a   v1.18

     If you wish to continue to use the 802.3 frame type, place the following
     two lines in the NET.CFG file:

     Link Driver <drivername>
     Frame Ethernet_802.3

     If you were using the NE2000.COM driver, you would replace <drivername>
     with NE2000.  Be sure to indent the second line and place a carriage
     return after the second line.


     IMPORTANT Note for PC DOS 6.10 users: (Problem using the %OS_VERSION
     parameter)

     The default login script, as well as many system login script files
     contain the following commands:

          MAP INS S1:=SYS:PUBLIC
          MAP INS S2:=SYS:PUBLIC/%MACHINE/%OS/%OS_VERSION

     The %MACHINE variable applies to the LONG MACHINE TYPE= <Name> parameter
     in the NET.CFG file.  It defaults to IBM_PC

     The %OS variable applies to the DOS NAME= <Name> parameter in the NET.CFG
     file.  It defaults to MSDOS.  PCDOS users typically will create a
     directory called PCDOS, and set DOS NAME=PCDOS in the workstation NET.CFG
     file.  This allows the co-existence of MSDOS and PCDOS with the same
     version number to be mapped under the %OS directory.  i.e.

          SYS:PUBLIC\IBM_PC\MSDOS\V6.00
          SYS:PUBLIC\IBM_PC\PCDOS\V6.00

     The %OS_VERSION variable applies to the DOS VERSION returned from DOS INT
     21h-Function 30h, which is the "GET DOS VERSION" function.  We check the
     AL register for the major version number, and the AH register for the
     minor version number.  Using INT 21h, Function 30h for PCDOS v6.00, will
     return 6.00 as the version.  This matches the DOS VER command from PCDOS
     v6.00, which also returns version 6.00.  However, using INT 21h, Function
     30h for PCDOS v6.10, will also return 6.00 as the version.  This does not
     match the VER command from PCDOS v6.10, which shows the version as 6.10. 
     This is similar to what happens with DOS 4.01.  The DOS VER command
     (which returns an ASCII text string) reports the DOS version as version
     4.01, but internally (using the Get Dos Version function call), DOS 4.01
     reports itself as DOS version 4.00 to applications.  

     This means that PCDOS v6.10 users will be mapped to the:
     SYS:PUBLIC\IBM_PC\PCDOS\V6.00 directory by default, since INT
     21h-Function 30h returns 6.00 as the version, and the NETX.EXE shell
     relies on this function to return the correct DOS version.  This will
     result in invalid command.com errors, if comspec is set to the network
     "DOS directory" search mapping.

     WORK AROUND OPTIONS

     1)   Add the following line to the workstation's config.sys file:
          DEVICE=SETVER.EXE

     At the DOS prompt, type:  SETVER NETX.EXE 6.10 (to add netx.exe to the
     setver table.)

     At the DOS prompt, type:  SETVER  (to list the elements in the setver
     table, to make sure NETX.EXE was correctly added to the table.)

     NOTE:     NETX.EXE can be removed from the setver table using the
               following syntax:  SETVER NETX.EXE /D   Only do this if setver
               is no longer needed to report the correct DOS version to the
               NETX.EXE shell.

     Reboot the workstation, and load the network software.

     OR, (instead of option 1)

     2)   Upgrade all workstations from PCDOS v6.00 to PCDOS v6.10, and place
          the PCDOS v6.10 files into the: SYS:PUBLIC\IBM_PC\PCDOS\V6.00
          directory.  This will allow the default mapping of
          SYS:PUBLIC\IBM_PC\PCDOS\V6.00 to work for v6.10 PCDOS users.


Patch History:

     HISTORY OF FIXES for the current NetWare Shells (NETX.EXE, EMSNETX.EXE &
     XMSNETX.EXE) since v3.32 (930217)

     SYMPTOM

     1)   Provides support for DOS 6.x, rather than just 6.0 and below.  Added
          support for versions 6.x of DOS. (See the note at the bottom of this
          document.)

     2)   Adds support for the NCP return code 150.  Now when the shell
          receives a 150 return code from Int 21 function 50h, it will put a
          24h in the AX register, indicating a "sharing buffer overflow"
          error.
    
     3)   BACKUP from DOS 5.0 fails when specifying a NetWare drive as the
          target drive.  Int 21 function 60 was failing (file not found) when
          parsing root directory names, such as "f:\".

     4)   Unable to set PRINT TAIL value in NET.CFG to 0. This has been fixed
          in this release.
   
     5)   The destination file's date changes with the NCOPY /C option.  A bug
          in the cache code could cause NCOPY /C to update the destination
          file with the current date and time.  Specifically, using NCOPY /C
          to copy  a 30911 byte file would cause the bug.  Some other sizes
          would not fail.

     6)   Interrupt 21h function 40h errors were not being passed on to the
          application.  The shell was clearing the carry flag on write errors,
          causing an application to believe that no write error had occurred. 
 
     7)   Interrupt 21h function 4B01h (load but do not execute) was causing
          the workstation to hang.

     8)   The stack size was increased in order to accommodate the "PRINT
          TAIL" parameter in NET.CFG

     9)   Interrupt 21h function 4409h, which determines whether the specified
          device is local or remote, was returning incorrect values when run
          on a network drive.

     10)  The shell was returning an incorrect print job number.

     11)  If a section of a file is locked with int 21h - 5Ch, and then
          another workstation accesses the same file and tries to read the
          locked area with int 21h - 3Fh, it will return successful.


     Solution Specifics:

     Brief Description of the files included in the kit:

     DOSNP.EXE:   NetWare DOS NP Extender
     EMSNETX.EXE: NetWare EMS Workstation Shell
     INT2F.COM:   Novell Network BIOS Interrupt 2Fh Emulator
     IPX.OBJ:     Novell IPX/SPX

     (No further development is being done on IPX.OBJ.  Novell recommends  you
     use the ODI client software. See ODIINFO.DOC for details.)

          IPXODI.COM:    NetWare IPX/SPX Protocol
          LANSUP.COM:    IBM LAN Support MLID
          LSL.COM:       NetWare Link Support Layer
          NE1000.COM:    Novell NE1000 Ethernet MLID
          NE1500T.COM:   Novell NE1500T Ethernet MLID
          NE2.COM:       Novell NE2 Ethernet MLID
          NE2_32.COM:    Novell NE2-32 Ethernet MLID
          NE2000.COM:    Novell NE2000 Ethernet MLID
          NE2100.COM:    Novell NE2100 Ethernet MLID
          NE3200.COM:    Novell NE3200 Ethernet MLID
          NETBIOS.EXE:   Novell NetBIOS Emulation Package
          NTR2000.COM:   Novell NTR2000 Token-ring MLID
          ODINSUP.COM:   ODI Support Interface for NDIS
          PBURST.NLM:    NCP Packet Burst Support, Large Internet Packets, and
                         Packet Signature for NetWare 3.11 
          PCN2L.COM:     IBM PC Network II & II/A MLID 
          ROUTE.COM:     NetWare Source Routing Driver
          RPLFIX.COM:    NetWare Boot Disk Image Patch Program
          RPLODI.COM:    Novell RPL ODI
          TASKID.COM:    Version Task Identification Program
          TBMI2.COM:     Task Switched Buffer Manager for IPX/SPX
          TOKEN.COM:     IBM Token-Ring MLID
          TRXNET.COM:    Novell Turbo RxNet & RxNet/2 MLID
          XMSNETX.EXE:   NetWare XMS Workstation Shell


          VLMs

          AUTO.VLM: NetWare auto-reconnect module
          BIND.VLM: NetWare bindery protocol module
          CONN.VLM:      NetWare connection table manager
          DOSRQSTR.MSG:  NetWare DOS Requester message file (english)
          FIO.VLM:       NetWare file input-output module
          GENERAL.VLM:   NetWare general purpose function module
          IPXNCP.VLM:    NetWare IPX transport module
          IPXODI.MSG:    NetWare IPXODI Message file (english)
          NDS.VLM:       NetWare directory services protocol module
          NETX.VLM:      NetWare workstation shell module
          NWP.VLM:       NetWare protocol multiplexor module
          PRINT.VLM:     NetWare printer redirection module
          REDIR.VLM:     NetWare DOS redirector module
          RSA.VLM:       NetWare RSA authentication module
          SECURITY.VLM:  NetWare security enhancement module
          TRAN.VLM:      NetWare transport multiplexor module
          VLM.EXE:       NetWare virtual loadable module manager       
          1252_UNI.001:  Unicode file for US code page 437
          UNI_1252.001:  Unicode file for US code page 437
          UNI_COL.001:   Unicode file for US code page 437
          UNI_MON.001:   Unicode file for US code page 437



     Brief Description of the document files included in the kit:

     DEADLOCK.TXT:  Black Screen of Death/Windows Hang suggestions, Also
                    includes LSL, IPXODI and VIPX parameters and changes.
     DOSODIWS.DOC:  Brief description of ODI, Token and Lansup drivers
     DOSUP9.TXT:    This File

     This README file accompanies DOSUP9.EXE which comprises DOS client files
     for NetWare v4.x, v3.x, v2.2x and v2.1x operating systems.

     ODIINFO.DOC:   Discussion on why Novell is promoting ODI
     ODINSUP.DOC:   Info and configuration examples for ODINSUP
     PACKET.SIG:    Info on Packet Signature and parameters
     READVLM.TXT:   VLM errata and information sheet.
     RPLFIX.DOC:    Information on how and when to run RPLFIX
     TOKODI.DOC:    Token and Lansup LSB mode, Bit reversal, etc


     PACKET BURST:

     BNETX.EXE has been deleted from the client update due to a rare problem
     which can result in data corruption.

     For Packet Burst support at the client, the workstation will need to be
     upgraded to the NetWare DOS Requester (VLM) technology. v1.10 VLMs have
     Packet Burst and Large Internet Packets enabled by default.

     For v3.12 and v4.x NetWare, Packet Burst and Large Internet Packets are
     enabled by default in the O/S, and do not require or use PBURST.NLM. 
     v3.11 servers need PBURST.NLM loaded to support Packet Burst and LIP NCP
     calls.  To turn Large Internet Packets off at a 3.11 server with
     PBURST.NLM loaded, or at a 3.12 or 4.x server, at the server console
     type:  Allow LIP=OFF

     If you are using PBURST over a WAN (Wide Area Link), download PBURST.EXE
     from Novlib lib5.

     November 1993 NetWare Application Notes has an article comparing packet
     burst under BNETX vs VLMs.

     December 1993 NetWare Application Notes has an article with a sample
     packet burst configuration for VSAT satellite links.

     TBMI2.COM  -   This file is for use with DOS v5.0 Task Swapper, Windows
                    v3.0 or Windows v3.1 (running in standard or real mode).

     For Windows v3.0, use TBMI2.COM and TASKID.COM. In the workstation
     net.cfg add the following parameter:

          USING WINDOWS 3.0=ON

     TBMI2 is intended for those users running programs which use the IPX or
     SPX communications protocols from the DOS prompt in Windows (standard or
     real mode).  TSRs running under DOS prompts in Windows Enhanced mode do
     not need TBMI2, since VIPX.386 will track IPX and SPX functions. If no
     DOS applications are being run which require IPX or SPX support, then
     neither of these programs are required. To determine whether your
     application requires TBMI2, follow these steps:

     o    Load TBMI2.COM
     o    Start Windows (In Standard or Real mode)
     o    Open a MS-DOS prompt
     o    (for Windows 3.0, load TASKID.COM)
     o    Start the DOS application in question
     o    Run the application and then exit.
     o    Display diagnostic information by typing the following: TBMI2 /D
     o    If the value in the field named Far Calls Processed is not 0, you
          need to run TBMI2.COM.

     To get help with TBMI2.COM, type the following: tbmi2 /?

     The default configuration for TBMI2.COM is correct for most applications.
     For use with the MS-DOS 5.0 task swapper, this file is documented in the
     MS-DOS v5.0 README.TXT.


     DOSNP.EXE  -   This is the Named Pipes Extender for DOS.  It allows you
                    to run Named Pipes applications under DOS.


     Novell Named Pipe Route Enhancements

     DOS Clients -  The default has been changed to not maintain a local Named
                    Pipe server router table.  When a request for a DosOpen,
                    DosWaitNmPipe, or DosCallNmPipe is received the protocol
                    will query the network for the whereabouts of the Named
                    Pipe server specified.  This means NCP services must be
                    available i.e. NETX.EXE or VLM's must be loaded before
                    DOSNP.EXE 

     The following parameters can be used in the Net.cfg to configure
     Dosnp.exe.

     NP Max Machine Names = n  where n is a number between 4 and 50.  Replace
     n with how many named pipe servers you want in the table. (This statement
     in the Net.cfg will make the client maintain a local Named Pipe server
     router table.) (Not to be used in conjunction with NP Max Sessions)
     Default is 10

     NP Max Sessions = n  where n is a number between 4 and 50.  Replace n
     with the number of Named Pipe servers you want to communicate with at
     once from the remote router. (Not to be used in conjunction with NP Max
     Machine Names) Default is 10

     NP Max Open Named Pipes = n  where n is a number between 4 and 128. 
     Replace n with the maximum number of named pipes that can be opened at
     once.  Default is 4


     RPLFIX.COM  -  RPLFIX is used to allow workstations to remote program
                    load (RPL) properly with MS DOS 5.x and above.  This
                    utility must be run after the boot image file (usually
                    NET$DOS.SYS) has been created using the DOSGEN utility. 
                    RPLFIX will directly modify the boot image file; the boot
                    image file's size and last modified date will be different
                    after RPLFIX has been run.  RPLFIX only needs to be run
                    against the boot image file once.  Attempts to run RPLFIX
                    against an already modified boot image file are detected
                    by the utility, and no further modifications will be made
                    to the boot image file.

     Follow the instructions for DOSGEN (setting up remote reset workstations)
     in the Novell reference manuals.  For NetWare v2.x, this information can
     be found in Chapter 9 of the "Supervisor Guide", or Chapter 2 of the
     "Using the Network" manual.  For NetWare v3.x, this information is found
     in Appendix D of the Installation manual.  After performing all steps as
     outlined in the appropriate manual to create the boot image file, run
     RPLFIX.COM.  The remote workstation will likely hang during the reset
     process if you are resetting using DOS 5.x or above and the boot image
     file has not been modified by RPLFIX.

     RPLFIX can be found on the WSGEN diskette, or in the WSGEN subdirectory
     if you are installing using a network drive.  After you have located
     RPLFIX.COM, map a drive to the LOGIN subdirectory on the file server you
     wish to remote reset from.  The DOSGEN procedure instructed you to create
     a boot image file in that subdirectory (usually named NET$DOS.SYS). If
     the drive you mapped to SYS:LOGIN was drive F, then you would enter the
     following:

          RPLFIX F:NET$DOS.SYS <ENTER>

     RPLFIX only needs to be run if the version of DOS loaded on the floppy
     disk used with DOSGEN is 5.x or greater.  Earlier versions of DOS do not
     require that this utility be run.

     NOTE:     If you renamed your boot image file, then you must use the new
               filename with RPLFIX:

          RPLFIX [d:]<boot image file> <ENTER>

     where  [d:] is the drive letter where the image file is located, and
     <boot image file> is the name of the file created with the DOSGEN
     utility.

          RPLODI.COM

     How and When to Use RPLODI.COM

     When a user has the traditional Novell Remote Boot PROM that sends a
     Get-Nearest-Server packet to connect to the server, the workstation will
     hang after the MLID (such as \NE2000.COM) loads.  Use RPLODI.COM only
     with Novell Remote Boot PROMS, and ensure it is loaded before the MLID.


     Use RPLODI.COM only with Novell Remote Boot PROMS.  Do not use RPLODI.COM
     with IBM RPL PROMS.  The RPLODI.COM intelligence was built-into the
     following files:

          TOKEN.RPL
          ETHER.RPL
          PCN2L.RPL
          F1ETH.RPL
          RBOOT.RPL

     For Novell Remote Boot PROMS, RPLODI.COM is implemented as shown in the
     following AUTOEXEC.BAT, and RPLODI.COM must load before NE2000.COM (the
     MLID driver):

          LSL
          RPLODI
          NE2000
          IPXODI
          NETX


