MORE INFORMATION
The following problems can cause this error message. Where available, steps
for correcting each problem are provided.
Invalid Temporary File Directory
The error occurs if the temporary file directory pointed to by the DOS TEMP
variable is invalid.
To correct the problem, verify that a SET TEMP statement exists and points
to a directory with sufficient space (and access privileges if a network is
being used).
Printer Doesn't Provide Proper Handshaking
If you are using a serial port, make sure the printer is connected directly
to the computer, not through a switch box or print-sharing device. Try a
different cable.
If you are using a parallel port, the same considerations apply.
Additionally, the printer should maintain the Centronics parallel "Paper
Out" signal in an OFF position and the "Select In" signal in an ON position
for printing to begin.
Corrupted Printer Driver
Check the files size of the printer driver to see if it has been corrupted.
If it doesn't match the original file size, reinstall the driver.
Windows Does Not Recognize the Printer Port
If you are on a network, make sure the appropriate port is redirected
properly; use either an MS-DOS command or the Windows 3.0 Control Panel
Network section to make any required corrections. If you are not on a
network, this may indicate a hardware port configuration problem.
Ports should be configured with the following hardware interrupt and base
I/O port addresses:
Port Base I/O Address Hardware Interrupt
------------------------------------------------
LPT1 3BCh or 378h 7
LPT2 278h 5
COM1 3F8h 4
COM2 2F8h 3
You can use the MS-DOS Debug command to verify the existing base I/O
address (see below).
If you are using a parallel port and are able to print from MS-DOS, a
temporary workaround for testing purposes may be to use the Windows 3.0
Control Panel to connect the printer driver to a port of LPTx.OS2 rather
than LPTx: (where x is the appropriate port number). This allows Windows to
print through MS-DOS rather than directly to the port hardware.
Verifying the Base I/O Port Address
Use the following procedure to verify the base I/O port address settings
for printer ports.
Information on the I/O port starting address for each of the installed
serial and parallel ports is contained in the ROM BIOS data segment at
memory location 0040:0000. Each entry is a 16-bit port address stored in
two hexadecimal bytes. As with all 16-bit addresses, each pair of bytes
should be reversed to read correctly. For example, the entry "F8 03" yields
an address of 3F8 hexadecimal (the standard starting address for COM1). You
can easily examine the contents of the ROM BIOS data segment yourself,
using the DOS DEBUG utility. The Debug command to display a range of memory
is "D" for "Dump." Run DEBUG and enter the command
d40:0 at the C:\>
prompt, as follows:
C:\>debug
-d40:0
0040:0000 F8 03 F8 02 00 00 00 00-78 03 00 00 00 00 00 00
PORT COM1: COM2: COM3: COM4: LPT1: LPT2: LPT3:
BYTE 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
The notations on the last two lines were included for clarity and are
not part of the DEBUG output. The first eight bytes show the addresses
for COM1 through COM4. The last eight bytes show LPT1 through LPT3,
followed by two unused bytes. This particular output shows a machine
with two COM ports at addresses 3F8h and 2F8h, and one LPT port at
address 378h. Zeros indicate nonexistent ports. After examining the
segment, enter
Q to quit DEBUG.