Troubleshooting
One essential tool for troubleshooting Windows 3.x problems is
Microsoft's Windows Resource Toolkit. This combination of a
comprehensive reference and some utility tools is priced at around
$30, and can't be beat for value. If you are responsible for keeping
a number of Windows systems running, run, don't walk, to the nearest
phone and order it now!
The toolkit is also freely available in Word for Windows format from
ftp.cica.indiana.edu (and its mirror sites); while this version is
complete, it is large, and will take significant time to ftp and
download (not to mention print!).
BMP wallpaper won't display correctly
Some of the possible reasons are:
- Your .bmp file is corrupted. Try reading it into Paintbrush to
verify that it is readable.
- You are trying to display a bitmap with more colors than your
video driver supports for example, 256 colors with a 16-color driver,
or 16M colors with a 256-color driver).
- You have insufficient memory to display the bitmap. A
800x600x16 bitmap requires 256K of memory; 1024x768x256 would require
768K!
For 256-to-16 color dithering, you may try using a utility such as
PaintShop Pro.
Frequent GPFs (General Protection Faults)
If you are experiencing frequent Windows 3.1 crashes, try starting
Windows with the command: win /d:xsv
If the GPFs do not appear, add the line
VirtualHDIRQ=off
to the [386Enh] section of your system.ini file. If the GPFs contine,
try: win /d:xs
If the GPFs do not appear, add the line
SystemROMBreakPoint=false
to the [386Enh] section of your system.ini file. If the GPFs contine,
try: win /d:x
If the GPFs do not appear, add the line
EMMExclude=A000-EFFF
to the [386Enh] section of your system.ini file. While this will get
Windows running more reliably, you should probably try to narrow down
the range of memory that actually has to be excluded.
File Manager won't format floppies
If you are having trouble formatting floppies from File Manager, try
adding one or more
DEVICE=DRIVER.SYS /D:# /F:#
lines to your config.sys; see your DOS manual for details.
Incorrect system version; reinstall the 386 enhanced version of
Windows 93-01-29
If you get the above message when starting a DOS session, you are experiencing one of three potential problems:
- You are using a display driver written for Windows 3.0.
Updating it to a 3.1 compatible version should make the problem
disappear.
- Your display card selection is not consistent: the
display.drv=, 386Grabber= and display= selections in your system.ini
may not be consistent with each other. Use setup to install a fresh
set of display drivers from the original distribution diskettes.
- Your winoa386.mod driver (in your system directory) may be out
of date. If that file's date is earlier than win386.exe, use the
expand command to get a new copy of winoa386.mod from your original
Windows diskettes.
Mouse hangs when using communications software
This problem is usually caused by a mouse and a modem being on the
same serial port pair (either COM1/COM3, or COM2/COM4). Each pair
shares a common interrupt due to restrictions of the original IBM PC
architecture, and so can not be used simultaneously.
If you are experiencing this problem, you should move either your
modem or mouse a different serial port.
Object Linking and Embedding (OLE 2.0) does not work 93-12-05
The early versions of the OLE libraries shipped with applications such
as CorelDraw! had some deficiencies; if you are experiencing
difficulties with using OLE, contact your application vendor for an
OLE update.
Also, you should make sure you are running SHARE if you intend to use
OLE 2.0; this is required for correct operation.
Parity errors with Windows 3.1 92-09-19
Parity errors are real, and detected reliably by Windows 3.1 (Windows
3.0 ignored them for the most part). Unfortunately most memory test
programs do not properly test 32-bit memory accesses, and thus do not
detect all possible memory problems. Environments such as Windows
3.1, Windows NT, Unix, Xenix and OS/2 2.0, however, do exercise this
aspect and, as a result, report memory problems where the memory
testers don't catch them.
Below are some of the possible causes for parity errors, in
approximate order of likelyhood:
- Defective memory module
- 80ns memory where 70ns is required
- Two different speeds of memory modules
- DMA or memory conflicts
- Outdated BIOS
- Defective DMA on the CPU chip
If you're willing to play with fire and gasoline (if, for example, you
have 8-bit memory with no parity bit), you can disable parity checking
by removing or commenting out the following line in the [386Enh]
section of your system.ini file:
device=*parity
Note that this will disable your parity checking completely and may
cause unexpected crashes or errors if your memory has parity
errors!
Performance deterioration in a 386 Enhanced mode DOS session
The most likely cause of this type of a problem is slow memory. If
your onboard memory is accessed with basically no wait states, but you
have a slower memory expansion card, your machine will run slower
whenever it is using those higher memory addresses. This will
generally happen when you start a DOS session, and often result in
30-50% performance reductions using various benchmarks. The
performance is actually also reduced within Windows, but it's
difficult to notice this due to the lack of a suitable benchmark. The
proper cure for this problem is to either upgrade your memory
expansion card, or to correct whatever problem is causing your machine
to access extended memory with such poor problem.
DOS application performace is also degraded by using a .PIF file (such
as the default .PIF) with the Monitor Ports option enabled, but to a
much smaller degree. With Monitor Ports disabled, DOS session
performance should be within 5-10% of the performance under bare
DOS.
Problems creating a permanent swapfile in Windows 3.0
First of all, you must be running in real mode to be able to create a
permanent swapfile. Second, You must not have any SUBSTed drives or
Windows won't create the swapfile. Once the swapfile has been
created, you can re-SUBST your drives (although the use of SUBST is
not recommended in general). You also can't create a permanent
swapfile on a drive partitioned with third-party software such as
SpeedStor.
If you are installing on a Novell client, you must first disable the
receive network messages feature (using the network icon in the
Control Panel) and reboot. Once you have installed the swapfile, turn
messages back on again.
Program Manager claims only 8 KB of free memory 92-12-30
In Windows 3.1, it is possible that Program Manager (and other Windows
3.1 programs) will claim that you have only 8 KB memory when you
really have 8 MB (that is, it chops off the kilobytes part and
displays only megabytes but with "KB" after the figure).
This is caused by a null thousands separator in Control Panel's
International settings. Set the separator to either blank or some
character to restore correct behaviour.
Using a slow expansion memory board with Windows 92-11-11
If some of your memory is on a slower memory expansion board (such as
a standard ISA bus memory board, operating at 8 MHz in a 33 MHz
system, you may experience serious performance deterioration as soon
as Windows starts using the slower memory on the expansion board.
(For example, see section Performance deterioration in a 386 Enhanced
mode DOS session.)
Unfortunately Windows 3.1 does not allow you to specify memory ranges
to be used for a RAMdisk or disk cache, and thus you can't control
which memory gets used first. In this case, the best solution is to
use QEMM-386, which allows you to do just that. Place your RAMdisk
and disk cache in the slow memory (they will not suffer a significant
performance drop), and leave the fast memory on the motherboard
available for Windows' use.
Windows 3.0 refuses to run without a file called WINA20.386
Quoting from the MS-DOS 5.0 readme.txt file:
4.3 WINA20.386 File
Setup installs a read-only file named WINA20.386 in your root
directory. If you move the WINA20.386
file to a different directory, do the following:
Add a SWITCHES=/W command to your CONFIG.SYS file.
Add a DEVICE=[drive:][path]]WINA20.386 command to the [386Enh]
section of your Windows system.ini file.
Windows 3.1 does not require this file to be present.
Windows 3.1 hangs or crashes during startup
Try starting Windows with the command line
win /b
If it repeats the same crash or hang, take a look at the file bootlog.txt
in your Windows directory. It will have two lines such as
LoadStart = SYSTEM.DRV
and
LoadSuccess = SYSTEM.DRV
for every driver succesfully loaded; the culprit driver will show
a line such as
LoadFail = WIN3-64S.DRV Failure code is 05
If it's a standard Windows driver, try reloading it from diskettes;
otherwise, for a third-party driver, try to locate an updated driver
either from cica, your supplier or direct from the manufacturer.
Windows 3.1 hangs or waits a long time on exit
Windows 3.1 tries to reset the mouse driver on exit, and some IBM PS/2
models have great difficulty with this procedure, timing out only
after an extended wait. In order to avoid the problem, add the
line
InitPS2MouseAtExit=False
to the [386Enh] section of your system.ini file.
Windows 3.1 Resource Kit won't install
The most common WRK installation problem is an excessively long path.
If you have problems, try reducing the length of your path for the
installation, and you should be OK.
Windows 3.x waits a long time on startup
One possible reason is the use of a serial mouse on COM2 instead of
COM1. If you have a serial mouse, Windows will first attempt to find
it (with great persistence) on COM1, before it looks on COM2. If your
mouse is on COM2, move it to COM1.
Using a temporary swapfile instead of a permanent one for 386 enhanced
mode also slows down the startup process, but not to even nearly the
same extent as the serial mouse problem.
With Windows 3.0, it has also been reported that adding too many fonts
through the Control Panel will drastically slow down the startup, and
with both Windows 3.0 and 3.1, a very large number of ATM fonts will
also slow down the startup process.
Windows for Workgroups 3.11 claims ports are in use 94-02-25
In some cases upgrading Windows for Workgroups 3.11 over Windows 3.1
does not update your system.ini file correctly. If you are getting
this error when attempting to print or use a serial port, check to see
that the following lines are in the [386Enh] section of your
system.ini, and add them if necessary:
device=serial.386
device=vcomm.386
device=lpt.386
Windows and DOS
HTML coding and Server space provided by:
R & L Software <rls@xmission.com>
Please send mail to: rls@xmission.com
Last modified: Thu Nov 30 21:20:49 1995