home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / textinfo / drtips.arj / 1302.TXT < prev    next >
Encoding:
Text File  |  1991-11-26  |  16.7 KB  |  386 lines

  1. Document 1302
  2. Troubleshooting
  3.  
  4. Initials:
  5.         11/26/91
  6.     DRDOS 6.0
  7.  
  8. Description:
  9.  
  10.  Troubleshooting
  11.  
  12. Isolating the Problem
  13.  
  14. If you encounter memory conflicts after you have arranged your device  
  15. drivers and TSRs in the manner described in the previous chapter,  
  16. your next step should be to isolate and identify the offending conflict.  
  17. The best way to do this is to methodically load each of your drivers,  
  18. TSRs, and application programs one at a time until you encounter the  
  19. problem driver or program.
  20.  
  21. Note:
  22. To complete the following steps, you should be familiar  
  23. with editing your config.sys and autoexec.bat files with a wordprocessor  
  24. or text editor such as the DR DOS EDITOR, and with the REM command.  
  25. Refer to Chapters 7 and 11 of the DR DOS 6.0 User Guide.
  26.  
  27. Whenever you experiment with and change your config.sys and autoexec.bat  
  28. files, you should always have a separate bootable floppy disk  
  29. available containing the unedited, original versions of your config.sys  
  30. and autoexec.bat files in case you need to reboot your computer  
  31. from the A: drive. Then, if you need to go back to your original 
  32. configuration, you can copy the original config.sys and autoexec.bat files 
  33. from your backup diskettes onto your boot disk. (See Chapter 10 in the  
  34. DR DOS 6.0 User Guide for information on how to create a bootable  
  35. floppy disk.)
  36.  
  37. To isolate the source of your memory conflict, turn off those lines  
  38. in your config.sys or autoexec.bat file that might be causing  
  39. the problem.  Do this by editing the config.sys or autoexec.bat  
  40. file and placing a REM comment at the beginning of each line you want  
  41. to turn off. For example, to turn off the following config.sys line:
  42.  
  43. DEVICE = C:\DRDOS\EMM386.SYS /F=AUTO /K=2024
  44.  
  45. add the REM comment to the beginning of the line:
  46.  
  47. REM DEVICE = C:\DRDOS\EMM386.SYS /F=AUTO /K=2024
  48.  
  49. If you find a particular line is not causing a problem, you can reactivate  
  50. it by simply removing the REM statement.
  51.  
  52. Note:
  53. You can also use the DR DOS conditional "?" statement  
  54. to activate/deactivate config.sys line commands. See Chapter 11  
  55. of the DR DOS 6.0 User Guide for details. If you use this option,  
  56. make careful note of whether you said "yes" or "no" to loading each line.
  57.  
  58. After turning off the suspect lines with a REM statement, reboot your  
  59. computer to retest the driver/application with which you first encountered  
  60. your memory problem. If the system runs correctly, reenter your config.sys  
  61. or autoexec.bat file and remove the REM command from one line and  
  62. then reboot and reload the application. Continue this process until  
  63. you again encounter the memory problem. When it recurs, you will have  
  64. isolated the line in the config.sys or autoexec.bat file that  
  65. is causing the memory conflict.  You can now take action to resolve  
  66. the conflict, as described in the following sections.
  67.  
  68. Possible Problems
  69.  
  70. After you have isolated the problem driver or program, you can use  
  71. the techniques described below to make the appropriate corrections  
  72. to your computer's configuration. 
  73.  
  74. Some problems that you might encounter after installing the MemoryMAX  
  75. drivers include:
  76.  
  77. Insufficient conventional memory to load a particular driver  
  78. or program
  79.  
  80. HILOAD, HIINSTALL, or HIDEVICE features do not seem to operate  
  81. correctly
  82.  
  83. Computer locks up
  84.  
  85. Upper memory conflicts
  86.  
  87. Video problems
  88.  
  89. Error message: "Packed file is corrupt."
  90.  
  91. Each of these problems, and the techniques to correct them, are described  
  92. below.
  93.  
  94. Insufficient Conventional Memory
  95.  
  96. After using the DR DOS 6.0 memory management system to increase conventional  
  97. memory, there should not be a problem due to insufficient memory.  However,  
  98. if a large number of device drivers or TSRs are in use, this problem  
  99. might still occur.  Review Chapter 1 of this guide to ensure you have  
  100. taken the proper steps to optimize system memory.  
  101.  
  102. Try the MEMMAX +L command in case an earlier command or batch file  
  103. disabled available low memory.  Finally, if the application does not  
  104. use the graphics display area, try the /V switch of the DR DOS 6.0  
  105. memory manager, followed by MEMMAX +V before loading your application.
  106.  
  107. HILOAD, HIINSTALL, or HIDEVICE Considerations
  108.  
  109. Each of these commands requires the availability of upper memory blocks  
  110. (UMBs). You can verify that the UMBs are available by using the DR  
  111. DOS MEM /B or /U commands to see a report of your memory usage (see  
  112. Chapter 10 of the DR DOS 6.0 User Guide for a full description  
  113. of the MEM command). Available UMB blocks will be marked as FREE  
  114. under the Type column in the MEM listing.
  115.  
  116. The HILOAD, HIINSTALL, and HIDEVICE commands require prior installation  
  117. of the EMM386.SYS or HIDOS.SYS driver. If the MEM report shows that  
  118. upper memory is not being utilized, check your config.sys to make  
  119. sure the driver has been properly installed and that the option switches  
  120. have been entered correctly. If they are set, pay particular attention  
  121. to the /FRAME, /AUTOSCAN, /INCLUDE, /BDOS, and /EXCLUDE switches to  
  122. ensure that any upper memory address specified by these switches have  
  123. been correctly set (a common error is using an "oh" instead  
  124. of a zero).
  125.  
  126. If you use Microsoft Windows 3.0, the /WINSTD switch might  
  127. have been set. The /WINSTD switch automatically blocks access to the  
  128. UMBs, making them unavailable to HILOAD, HIINSTALL, and HIDEVICE.  
  129. Windows 3.0 will not run properly in standard mode if UMBs have been  
  130. used by something else. (See the "Using EMM386.SYS with Windows"  
  131. on page 22.)
  132.  
  133. If you do not require the use of expanded memory, set the /FRAME switch  
  134. to /FRAME=NONE.
  135.  
  136. The HILOAD command must be invoked before using the MEMMAX  
  137. -U command to disable upper memory. Use the MEMMAX +U command to re-enable  
  138. upper memory, if necessary. (Note that the DR DOS installation program  
  139. automatically inserts the MEMMAX -U command in the autoexec.bat  
  140. file; therefore, you must either put HILOAD above it, or use MEMMAX  
  141. +U to enable upper memory).
  142.  
  143. If there appears to be sufficient upper memory available, but HILOAD,  
  144. HIINSTALL, or HIDEVICE fail to put a particular TSR or driver into  
  145. upper memory, some device drivers and TSR programs when initializing  
  146. might actually expand and take up considerably more RAM than they  
  147. will ultimately need. See "System Memory Optimization" on  
  148. page 9 for a complete description of this problem.
  149.  
  150. Computer will not boot or locks up
  151.  
  152. Reboot your machine with a bootable floppy disk in drive A:. Follow  
  153. the instructions in "Isolating the Problem" above and edit  
  154. the C: drive config.sys and/or autoexec.bat files to turn off  
  155. and isolate, with the REM command, those lines in the files that might  
  156. be causing the problem.
  157.  
  158. The most probable cause is that the DR DOS 6.0 memory manager has  
  159. moved something into a region of upper memory required by a hardware  
  160. device driver attempting to use the same areas of memory.  Use the  
  161. /EXCLUDE option (see page 18) switches to remedy the  
  162. problem.
  163.  
  164. If a hardware device is not causing a conflict, and the lockup occurs  
  165. with a particular program, this program might become confused when  
  166. upper or low memory is available. Try using the command MEMMAX -U  
  167. and/or MEMMAX -L before loading the program.
  168.  
  169. Upper Memory Conflicts: Using /EXCLUDE
  170.  
  171. Your machine or the accessories in your machine might be using upper  
  172. memory addresses that are also being accessed by the DR DOS 6.0 memory  
  173. manager. To prevent this, exclude EMM386.SYS or HIDOS.SYS access to  
  174. the upper memory address range that is causing the conflict. The following  
  175. recommendations apply to the EMM386.SYS driver for 386 and 486 computers,  
  176. or the HIDOS.SYS driver on 286 computers with shadow RAM.
  177.  
  178. Some typical symptoms of upper memory conflict include:
  179.  
  180. * inability to log onto networks
  181.  
  182. *inability to access hard or floppy disk drives
  183.  
  184. *inability to format low-density floppy disks in high density  
  185. drives
  186.  
  187. *error messages such as "card not found." 
  188.  
  189. A good starting place to check for upper memory usage is the documentation  
  190. for any accessory boards or drivers you have installed; if they require  
  191. upper memory, it will usually be indicated in the documentation.
  192.  
  193. If you encounter such problems and suspect that upper memory  
  194. conflicts can be the cause, first REM out the memory manager line  
  195. of the config.sys file completely. If the problem disappears, you  
  196. know that the memory driver is part of the conflict and you can begin  
  197. to look at changing switches to correct the problem.  Use the DR DOS  
  198. EDITOR and change the following settings in your config.sys file:
  199.  
  200. 1.If the EMM386.SYS /BDOS option is set to /BDOS=AUTO,  
  201. switch it to /BDOS=FFFF, 
  202.  
  203. 2.Save config.sys.
  204.  
  205. 3.Reboot.
  206.  
  207. 4.Retest.
  208.  
  209. *If the problem recurs, change the /R=AUTO setting to /R=NONE,  
  210. and then save the config.sys file, and reboot the computer to retest.
  211.  
  212. *You can also use the /EXCLUDE switch to exclude an area  
  213. of upper memory that the /AUTOSCAN feature detects as being available  
  214. but, in fact, might be used by another device, such as a network card.
  215.  
  216. The /EXCLUDE Option
  217.  
  218. If the hardware documentation does not specify a memory range to be  
  219. excluded, you can use the /EXCLUDE option to discover if there is  
  220. an upper memory conflict. This option is used to systematically exclude  
  221. sections of upper memory from being used by EMM386.SYS by excluding  
  222. upper memory "half-at-a-time." For example, use this "halving"  
  223. method to exclude the top half of the upper memory range first, reboot  
  224. the computer and test the problem. Then, if the problem recurs, change  
  225. the /EXCLUDE setting to exclude the lower half of upper memory, reboot,  
  226. and retest.
  227.  
  228. After discovering in which half of upper memory the conflict resides,  
  229. repeat the process by dividing that memory range in half.  You  
  230. can use this technique to break down the entire upper memory range,  
  231. half-by-half, until you pinpoint the area of conflict.
  232.  
  233. You must use the hexadecimal notation of the memory address with the  
  234. /EXCLUDE switch. The following brief explanation is provided for those  
  235. unfamiliar with using the hexadecimal system.
  236.  
  237. Hexadecimal Addresses
  238.  
  239. The 384 Kbyte range of upper memory resides between the hexadecimal  
  240. memory addresses of A000 and FFFF. The upper half of this range lies  
  241. between the addresses D000 and FFFF; the lower half lies between A000  
  242. and CFFF.  Because A000 to BFFF is typically reserved for video display,  
  243. you will normally work only with addresses C000 to FFFF.
  244.  
  245. To exclude the lower half of the C000 to FFFF range, enter the following  
  246. /EXCLUDE command in your EMM386.SYS or HIDOS.SYS line in the config.sys  
  247. file:
  248.  
  249. /E=C000-DFFF
  250.  
  251. Then, reboot your computer to test the exclusion. If the problem persists,  
  252. edit the /EXCLUDE statement to exclude the other half of the C000  
  253. to FFFF range by entering the following in the config.sys file:
  254.  
  255. /E=E000-FFFF
  256.  
  257. Continue excluding a smaller and smaller range of memory until you  
  258. have found the smallest possible exclusion, which still permits proper  
  259. functioning.
  260.  
  261. Note:
  262. The first address in each range of memory (EXCLUDE, INCLUDE,  
  263. etc.) must end in "00" and the second must end in "FF."
  264.  
  265. Note that you can also exclude multiple memory ranges with the /EXCLUDE  
  266. statement by separating the ranges with a comma, e.g., /E=D000-D7FF,DA00-DBFF. 
  267.  
  268. The chart below shows how this process works, and shows the memory  
  269. address for the 64 Kbyte range in the "D" segment of upper  
  270. memory.
  271.  
  272. D000-DFFF = 64K = D000-D7FF = 32K + D800-DFFF = 32K = 64K TOTAL
  273. DOOO-D7FF = 32K = D000-D3FF = 16K + D400-D7FF = 16K = 32K TOTAL
  274. D800-DFFF = 32K = D800-DBFF = 16K + DC00-DFFF = 16K = 32K TOTAL
  275. D000-D1FF = 8K + D200-D3FF = 8K = 16K TOTAL
  276. D400-D5FF = 8K + D600-D7FF = 8K = 16K TOTAL
  277. D800-D9FF = 8K + DA00-DBFF = 8K = 16K TOTAL
  278. DC00-DDFF = 8K + DE00-DFFF = 8K = 16K TOTAL
  279.  
  280. (The first "D" in each hex address above can be replaced with  
  281. C, E, or F when working with those segments.)
  282.  
  283. Once you find the conflicting range of upper memory, permanently exclude  
  284. it from being used by EMM386.SYS or HIDOS.SYS by using the /EXCLUDE  
  285. statement.
  286.  
  287. Video Problems
  288.  
  289. If you experience problems with your video display after installing  
  290. MemoryMAX drivers, a possible cause is that your video adapter is  
  291. attempting to use some of the same upper memory addresses being allocated  
  292. by EMM386.SYS or HIDOS.SYS.
  293.  
  294. A quick way to determine if your current memory setup is causing a  
  295. conflict with a video (or other device) board is to "turn off  
  296. the entire memory driver line in your config.sys file by using the  
  297. REM command or the "?" technique discussed previously in "Isolating  
  298. the Problem."  If the problem does not recur with the memory driver  
  299. "turned off," the cause of the problem is probably an upper  
  300. memory conflict.
  301.  
  302. See "The DR DOS MemoryMAX System" on page 2 for information about 
  303. how to determine if upper memory is being used by drivers and hardware 
  304. boards.
  305.  
  306. Use the EMM386.SYS or HIDOS.SYS /VIDEO option to reserve graphics  
  307. memory addresses normally occupied by video display adapters (see  
  308. Chapter 11 of the DR DOS 6.0 User Guide). 
  309.  
  310. If the /VIDEO option is set, and the video corruption is occurring  
  311. with a graphics program, be sure that the MEMMAX -V switch is operative.  
  312. When only text displays are required, the MEMMAX +V switch can borrow  
  313. some of the graphics memory areas and add it to conventional memory,  
  314. providing more space for text applications. However, if an application  
  315. requires graphical displays, you must be sure this memory area is  
  316. available to video by issuing the MEMMAX -V command.
  317.  
  318. If the video display is corrupted only during use with the DR DOS  
  319. TaskMAX task switcher, refer to the readme file (in  
  320. the DR DOS directory) or the Release Note for instructions on how  
  321. to use the TaskMAX /F switch.
  322.  
  323. Network Hardware Interfacing
  324.  
  325. It is common for network hardware to utilize areas of upper memory  
  326. and thus conflict with MemoryMAX allocations of that memory.  If this  
  327. occurs, you might be unable to log onto the network or random lockups  
  328. might occur. See "Upper Memory Conflicts" on page 17, and "Using Network 
  329. Software" on page 30, for a full discussion of how to deal with upper memory  
  330. conflicts such as these and how to use the EMM386.SYS /EXCLUDE switch  
  331. to exclude the conflicting areas of upper memory.
  332.  
  333. Another possible cause of network problems is that your network driver  
  334. is designed for use with MS-DOS versions other than versions  
  335. 3.3+. Network drivers designed for use with MS-DOS versions 4.0+ and  
  336. 5.0 would not be appropriate for the DR DOS 6.0 operating system.  
  337. (See "Using Network Software" on page 30)
  338.  
  339. Floppy Drive Does Not Work
  340.  
  341. If you have installed Super PC-Kwik and have enabled the /D+  
  342. switch, your disk controller must be 100% IBM compatible. Reset  
  343. the /D+ switch to /D- (the /D# switch works on some controllers) to  
  344. turn off PC-Kwik's advanced caching for the floppy drives (advanced  
  345. caching for your hard drive remains in effect).
  346.  
  347. SCSI Disk Drive Problems
  348.  
  349. The DR DOS 6.0 operating system supports virtual DMA and bus master  
  350. controllers. Any problem with SCSI drives is probably due to a memory  
  351. conflict (see "Upper Memory Conflicts" on page 17).
  352.  
  353. Expanded (EMS) Memory Problems
  354.  
  355. If a program that requires EMS memory reports that no EMS is available  
  356. or locks up when executed, the problem might be that the application  
  357. assumes that the LIM page frame starts at a specified address. 
  358.  
  359. Remedy this problem by ensuring that the LIM page frame defined in  
  360. the application's SETUP program or documentation matches the settings  
  361. in EMM386.SYS or EMMXMA.SYS. The /F= switch defines the start  
  362. of the LIM page frame.
  363.  
  364. Another cause of insufficient LIM memory occurs if you are using TaskMAX  
  365. in expanded memory and too many tasks have been loaded. Unload a few  
  366. of the tasks and restart the program.
  367.  
  368. Error message: "Packed file is corrupt."
  369.  
  370. This error might occur when the first 64 Kbytes of conventional memory  
  371. (called low memory) have been made available through the use of MemoryMAX.  
  372. Normally, the operating system occupies this entire area.  Some applications  
  373. were written using packing utilities that become confused when run  
  374. in this low memory.  If this happens, the following message appears:
  375.  
  376. Packed file is corrupt.
  377.  
  378. For an easy workaround, use the MEMMAX -L command to disable low memory  
  379. before running the application.  Then load and run your application.  After  
  380. exiting the application, use MEMMAX +L to enable the low memory area  
  381. once again.
  382.  
  383. Because this problem can occur with other memory managers, including  
  384. QEMM.386, your application vendor might be able to supply you with  
  385. an updated application that does not exhibit this problem.
  386.