Microsoft KB Archive/83549

{|
 * width="100%"|

Unable to Print to LPT1/LPT2 on Novell NetWare 3.11

 * }

Q83549

-

The information in this article applies to:


 * Microsoft Windows versions 3.0, 3.0a, 3.1, 3.11

-

SYMPTOMS
Microsoft Windows operating system versions 3.0 and 3.1 may not be able to print to either LPT1 and LPT1.OS2 or LPT2 and LPT2.OS2 on a Novell network.

CAUSE
Novell has confirmed that when using Novell NetWare 3.11 in conjunction with NETx.COM on Intel 80286 microprocessor-based computers, LPT1 parallel port address 0378h may be overwritten with 03BCh. LPT2 and LPT3 default addresses may also be overwritten on INTEL 80386 and 80486 microprocessor-based computers with the same address (03BCh).

NETx.COM changes the address in the BIOS that defines where to send data for LPT1 from the default (0378h) to 03BCh. When programs are printed to the parallel port through MS-DOS, the BIOS sends the data to 03BCh and the boards never see the data through their default addresses.

Sending Data to LPT1
For LPT1 to work properly, its default address must be restored. Two methods for restoring the LPT1 address are listed as follows:

  Program the following in C (using any standard C Compiler):      int far *pt; pt=MK_FP (0,0x408); *pt=0x378h; Save the file as C:\FIXLPT1.COM and add the program to the AUTOEXEC.BAT file after NETx.COM, but before the LOGIN program, as follows:      NETx.COM FIXLPT1.COM NET LOGIN -or-   Use Windows Notepad to create the following Debug script for LPT1:      E40:8 78 03     q   (Press the ENTER key)

NOTE: Do NOT include the parenthetical statement in script.   Save the file as C:\FIXLPT1.DEB and add the Debug script to the AUTOEXEC.BAT file after NETx.COM, but before the LOGIN program as follows:      NETx.COM DEBUG < FIXLPT1.DEB NET LOGIN  Save the AUTOEXEC.BAT file and restart the machine.

These programs insert the value 0378h into the BIOS data area address 0000:0408h.

Sending Data to LPT2
If data output should be sent to LPT2, use the value 040Ah in the C program (see step 1, above) by replacing

    (0,0x408); "with:"     (0,0x40A); In the Debug script (see step 2, above), change E40:8 to E40:A. The address default 0278h may also be used for either LPT1 or LPT2.