home *** CD-ROM | disk | FTP | other *** search
- Document 1302
- Troubleshooting
-
- Description:
-
- Troubleshooting
-
- Isolating the Problem
-
- If you encounter memory conflicts after you have arranged your
- device drivers and TSRs in the manner described in the previous
- chapter, your next step should be to isolate and identify the
- offending conflict. The best way to do this is to methodically
- load each of your drivers, TSRs, and application programs one at
- a time until you encounter the problem driver or program.
-
- Note:
- To complete the following steps, you should be familiar with
- editing your config.sys and autoexec.bat files with a
- wordprocessor or text editor such as the DR DOS EDITOR, and with
- the REM command. Refer to Chapters 7 and 11 of the DR DOS 6.0
- User Guide.
-
- Whenever you experiment with and change your config.sys and
- autoexec.bat files, you should always have a separate bootable
- floppy disk available containing the unedited, original versions
- of your config.sys and autoexec.bat files in case you need to
- reboot your computer from the A: drive. Then, if you need to go
- back to your original configuration, you can copy the original
- config.sys and autoexec.bat files from your backup diskettes
- onto your boot disk. (See Chapter 10 in the DR DOS 6.0 User
- Guide for information on how to create a bootable floppy disk.)
-
- To isolate the source of your memory conflict, turn off those
- lines in your config.sys or autoexec.bat file that might be
- causing the problem. Do this by editing the config.sys or
- autoexec.bat file and placing a REM comment at the beginning of
- each line you want to turn off. For example, to turn off the
- following config.sys line:
-
- DEVICE = C:\DRDOS\EMM386.SYS /F=AUTO /K=2024
-
- add the REM comment to the beginning of the line:
-
- REM DEVICE = C:\DRDOS\EMM386.SYS /F=AUTO /K=2024
-
- If you find a particular line is not causing a problem, you can
- reactivate it by simply removing the REM statement.
-
- Note:
- You can also use the DR DOS conditional "?" statement to
- activate/deactivate config.sys line commands. See Chapter 11 of
- the DR DOS 6.0 User Guide for details. If you use this option,
- make careful note of whether you said "yes" or "no" to loading
- each line.
-
- After turning off the suspect lines with a REM statement, reboot
- your computer to retest the driver/application with which you
- first encountered your memory problem. If the system runs
- correctly, reenter your config.sys or autoexec.bat file and
- remove the REM command from one line and then reboot and reload
- the application. Continue this process until you again encounter
- the memory problem. When it recurs, you will have isolated the
- line in the config.sys or autoexec.bat file that is causing the
- memory conflict. You can now take action to resolve the
- conflict, as described in the following sections.
-
- Possible Problems
-
- After you have isolated the problem driver or program, you can
- use the techniques described below to make the appropriate
- corrections to your computer's configuration.
-
- Some problems that you might encounter after installing the
- MemoryMAX drivers include:
-
- *Insufficient conventional memory to load a particular driver or
- program.
-
- *HILOAD, HIINSTALL, or HIDEVICE features do not seem to operate
- correctly
-
- *Computer locks up
-
- *Upper memory conflicts
-
- *Video problems
-
- *Error message: "Packed file is corrupt."
-
- Each of these problems, and the techniques to correct them, are
- described below.
-
- Insufficient Conventional Memory
-
- After using the DR DOS 6.0 memory management system to increase
- conventional memory, there should not be a problem due to
- insufficient memory. However, if a large number of device
- drivers or TSRs are in use, this problem might still occur.
- Review Chapter 1 of this guide to ensure you have taken the
- proper steps to optimize system memory. Try the MEMMAX +L
- command in case an earlier command or batch file disabled
- available low memory. Finally, if the application does not use
- the graphics display area, try the /V switch of the DR DOS 6.0
- memory manager, followed by MEMMAX +V before loading your
- application.
-
- HILOAD, HIINSTALL, or HIDEVICE Considerations
-
- Each of these commands requires the availability of upper memory
- blocks (UMBs). You can verify that the UMBs are available by
- using the DR DOS MEM /B or /U commands to see a report of your
- memory usage (see Chapter 10 of the DR DOS 6.0 User Guide for a
- full description of the MEM command). Available UMB blocks will
- be marked as FREE under the Type column in the MEM listing.
-
- The HILOAD, HIINSTALL, and HIDEVICE commands require prior
- installation of the EMM386.SYS or HIDOS.SYS driver. If the MEM
- report shows that upper memory is not being utilized, check your
- config.sys to make sure the driver has been properly installed
- and that the option switches have been entered correctly. If
- they are set, pay particular attention to the /FRAME, /AUTOSCAN,
- /INCLUDE, /BDOS, and /EXCLUDE switches to ensure that any upper
- memory address specified by these switches have been correctly
- set (a common error is using an "oh" instead of a zero).
-
- If you use Microsoft Windows 3.0, the /WINSTD switch might have
- been set. The /WINSTD switch automatically blocks access to the
- UMBs, making them unavailable to HILOAD, HIINSTALL, and
- HIDEVICE. Windows 3.0 will not run properly in standard mode if
- UMBs have been used by something else. (See the "Using
- EMM386.SYS with Windows" on page 22.)
-
- If you do not require the use of expanded memory, set the /FRAME
- switch to /FRAME=NONE.
-
- The HILOAD command must be invoked before using the MEMMAX -U
- command to disable upper memory. Use the MEMMAX +U command to
- re-enable upper memory, if necessary. (Note that the DR DOS
- installation program automatically inserts the MEMMAX -U command
- in the autoexec.bat file; therefore, you must either put HILOAD
- above it, or use MEMMAX +U to enable upper memory).
-
- If there appears to be sufficient upper memory available, but
- HILOAD, HIINSTALL, or HIDEVICE fail to put a particular TSR or
- driver into upper memory, some device drivers and TSR programs
- when initializing might actually expand and take up considerably
- more RAM than they will ultimately need. See "System Memory
- Optimization" on page 9 for a complete description of this
- problem.
-
- Computer will not boot or locks up
-
- Reboot your machine with a bootable floppy disk in drive A:.
- Follow the instructions in "Isolating the Problem" above and
- edit the C: drive config.sys and/or autoexec.bat files to turn
- off and isolate, with the REM command, those lines in the files
- that might be causing the problem.
-
- The most probable cause is that the DR DOS 6.0 memory manager
- has moved something into a region of upper memory required by a
- hardware device driver attempting to use the same areas of
- memory. Use the /EXCLUDE option (see page 18) switches to
- remedy the problem.
-
- If a hardware device is not causing a conflict, and the lockup
- occurs with a particular program, this program might become
- confused when upper or low memory is available. Try using the
- command MEMMAX -U and/or MEMMAX -L before loading the program.
-
- Upper Memory Conflicts: Using /EXCLUDE
-
- Your machine or the accessories in your machine might be using
- upper memory addresses that are also being accessed by the DR
- DOS 6.0 memory manager. To prevent this, exclude EMM386.SYS or
- HIDOS.SYS access to the upper memory address range that is
- causing the conflict. The following recommendations apply to the
- EMM386.SYS driver for 386 and 486 computers, or the HIDOS.SYS
- driver on 286 computers with shadow RAM.
-
- Some typical symptoms of upper memory conflict include:
-
- *inability to log onto networks
-
- *inability to access hard or floppy disk drives
-
- *inability to format low-density floppy disks in high density
- drives
-
- *error messages such as "card not found."
-
- A good starting place to check for upper memory usage is the
- documentation for any accessory boards or drivers you have
- installed; if they require upper memory, it will usually be
- indicated in the documentation.
-
- If you encounter such problems and suspect that upper memory
- conflicts can be the cause, first REM out the memory manager
- line of the config.sys file completely. If the problem
- disappears, you know that the memory driver is part of the
- conflict and you can begin to look at changing switches to
- correct the problem. Use the DR DOS EDITOR and change the
- following settings in your config.sys file:
-
- 1.If the EMM386.SYS /BDOS option is set to /BDOS=AUTO,
- switch it to /BDOS=FFFF,
-
- 2.Save config.sys.
-
- 3.Reboot.
-
- 4.Retest.
-
- If the problem recurs, change the /R=AUTO setting to /R=NONE,
- and then save the config.sys file, and reboot the computer to
- retest.
-
- You can also use the /EXCLUDE switch to exclude an area of upper
- memory that the /AUTOSCAN feature detects as being available
- but, in fact, might be used by another device, such as a network
- card.
-
- The /EXCLUDE Option
-
- If the hardware documentation does not specify a memory range to
- be excluded, you can use the /EXCLUDE option to discover if
- there is an upper memory conflict. This option is used to
- systematically exclude sections of upper memory from being used
- by EMM386.SYS by excluding upper memory "half-at-a-time." For
- example, use this "halving" method to exclude the top half of
- the upper memory range first, reboot the computer and test the
- problem. Then, if the problem recurs, change the /EXCLUDE
- setting to exclude the lower half of upper memory, reboot, and
- retest.
-
- After discovering in which half of upper memory the conflict
- resides, repeat the process by dividing that memory range in
- half. You can use this technique to break down the entire upper
- memory range, half-by-half, until you pinpoint the area of
- conflict.
-
- You must use the hexadecimal notation of the memory address with
- the /EXCLUDE switch. The following brief explanation is provided
- for those unfamiliar with using the hexadecimal system.
-
- Hexadecimal Addresses
-
- The 384 Kbyte range of upper memory resides between the
- hexadecimal memory addresses of A000 and FFFF. The upper half of
- this range lies between the addresses D000 and FFFF; the lower
- half lies between A000 and CFFF. Because A000 to BFFF is
- typically reserved for video display, you will normally work
- only with addresses C000 to FFFF.
-
- To exclude the lower half of the C000 to FFFF range, enter the
- following /EXCLUDE command in your EMM386.SYS or HIDOS.SYS line
- in the config.sys file:
-
- /E=C000-DFFF
-
- Then, reboot your computer to test the exclusion. If the problem
- persists, edit the /EXCLUDE statement to exclude the other half
- of the C000 to FFFF range by entering the following in the
- config.sys file:
-
- /E=E000-FFFF
-
- Continue excluding a smaller and smaller range of memory until
- you have found the smallest possible exclusion, which still
- permits proper functioning.
-
- Note:
- The first address in each range of memory (EXCLUDE, INCLUDE,
- etc.) must end in "00" and the second must end in "FF."
-
- Note that you can also exclude multiple memory ranges with the
- /EXCLUDE statement by separating the ranges with a comma, e.g.,
- /E=D000-D7FF,DA00-DBFF.
-
- The chart below shows how this process works, and shows the
- memory address for the 64 Kbyte range in the "D" segment of
- upper memory.
-
- D000-DFFF = 64K = D000-D7FF = 32K + D800-DFFF = 32K = 64K TOTAL
- D000-D7FF = 32K = D000-D3FF = 16K + D400-D7FF = 16K = 32K TOTAL
- D800-DFFF = 32K = D800-DBFF = 16K + DC00-DFFF = 16K = 32K TOTAL
- D000-D1FF = 8K + D200-D3FF = 8K = 16K TOTAL
- D400-D5FF = 8K + D600-D7FF = 8K = 16K TOTAL
- D800-D9FF = 8K + DA00-DBFF = 8K = 16K TOTAL
- DC00-DDFF = 8K + DE00-DFFF = 8K = 16K TOTAL
-
- (The first "D" in each hex address above can be replaced with C,
- E, or F when working with those segments.)
-
- Once you find the conflicting range of upper memory, permanently
- exclude it from being used by EMM386.SYS or HIDOS.SYS by using
- the /EXCLUDE statement.
-
- Video Problems
-
- If you experience problems with your video display after
- installing MemoryMAX drivers, a possible cause is that your
- video adapter is attempting to use some of the same upper memory
- addresses being allocated by EMM386.SYS or HIDOS.SYS.
-
- A quick way to determine if your current memory setup is causing
- a conflict with a video (or other device) board is to "turn off
- the entire memory driver line in your config.sys file by using
- the REM command or the "?" technique discussed previously in
- "Isolating the Problem." If the problem does not recur with the
- memory driver "turned off," the cause of the problem is probably
- an upper memory conflict.
-
- See "The DR DOS MemoryMAX System" on page 2 for information
- abouthow to determine if upper memory is being used by drivers
- and hardware boards.
-
- Use the EMM386.SYS or HIDOS.SYS /VIDEO option to reserve
- graphics memory addresses normally occupied by video display
- adapters (see Chapter 11 of the DR DOS 6.0 User Guide).
-
- If the /VIDEO option is set, and the video corruption is
- occurring with a graphics program, be sure that the MEMMAX -V
- switch is operative. When only text displays are required, the
- MEMMAX +V switch can borrow some of the graphics memory areas
- and add it to conventional memory, providing more space for text
- applications. However, if an application requires graphical
- displays, you must be sure this memory area is available to
- video by issuing the MEMMAX -V command.
-
- If the video display is corrupted only during use with the DR
- DOS TaskMAX task switcher, refer to the readme file (in the DR
- DOS directory) or the Release Note for instructions on how to
- use the TaskMAX /F switch.
-
- Network Hardware Interfacing
-
- It is common for network hardware to utilize areas of upper
- memory and thus conflict with MemoryMAX allocations of that
- memory. If this occurs, you might be unable to log onto the
- network or random lockups might occur. See "Upper Memory
- Conflicts" on page 17, and "Using Network Software" on page 30,
- for a full discussion of how to deal with upper memory conflicts
- such as these and how to use the EMM386.SYS /EXCLUDE switch to
- exclude the conflicting areas of upper memory.
-
- Another possible cause of network problems is that your network
- driver is designed for use with MS-DOS versions other than
- versions 3.3+. Network drivers designed for use with MS-DOS
- versions 4.0+ and 5.0 would not be appropriate for the DR DOS
- 6.0 operating system. (See "Using Network Software" on page 30)
-
- Floppy Drive Does Not Work
-
- If you have installed Super PC-Kwik and have enabled the /D+
- switch, your disk controller must be 100% IBM compatible. Reset
- the /D+ switch to /D- (the /D# switch works on some controllers)
- to turn off PC-Kwik's advanced caching for the floppy drives
- (advanced caching for your hard drive remains in effect).
-
- SCSI Disk Drive Problems
-
- The DR DOS 6.0 operating system supports virtual DMA and bus
- master controllers. Any problem with SCSI drives is probably due
- to a memory conflict (see "Upper Memory Conflicts" on page 17).
-
- Expanded (EMS) Memory Problems
-
- If a program that requires EMS memory reports that no EMS is
- available or locks up when executed, the problem might be that
- the application assumes that the LIM page frame starts at a
- specified address.
-
- Remedy this problem by ensuring that the LIM page frame defined
- in the application's SETUP program or documentation matches the
- settings in EMM386.SYS or EMMXMA.SYS. The /F= switch defines the
- start of the LIM page frame.
-
- Another cause of insufficient LIM memory occurs if you are using
- TaskMAX in expanded memory and too many tasks have been loaded.
- Unload a few of the tasks and restart the program.
-
- Error message: "Packed file is corrupt."
-
- This error might occur when the first 64 Kbytes of conventional
- memory (called low memory) have been made available through the
- use of MemoryMAX. Normally, the operating system occupies this
- entire area. Some applications were written using packing
- utilities that become confused when run in this low memory. If
- this happens, the following message appears:
- Packed file is corrupt.
-
- For an easy workaround, use the MEMMAX -L command to disable low
- memory before running the application. Then load and run your
- application. After exiting the application, use MEMMAX +L to
- enable the low memory area once again.
-
- Because this problem can occur with other memory managers,
- including QEMM.386, your application vendor might be able to
- supply you with an updated application that does not exhibit
- this problem.
-