home *** CD-ROM | disk | FTP | other *** search
- Document 1302
- Troubleshooting
-
- Initials:
- 11/26/91
- DRDOS 6.0
-
- 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
- DOOO-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 about
- how 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.
-