home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / l / lanman.tec < prev    next >
Text File  |  1993-03-21  |  10KB  |  170 lines

  1. ID:LM LAN Manager and QEMM-386
  2. Quarterdeck Technical Bulletin #258
  3. by Quarterdeck Testing and Compatibility Department
  4. last revision:  18 August 1992
  5.  
  6.                     MICROSOFT'S LAN MANAGER AND QEMM-386
  7.  
  8.      LAN Manager is network software from Microsoft.  It presents issues with 
  9. which the QEMM-386 user must deal.  We may deal simply with each of these 
  10. issues.
  11.  
  12. LAN MANAGER PROGRAMS AND HOW THEY LOAD
  13.      LANMAN typically loads two drivers in the CONFIG.SYS:  PROTMAN.DOS and a 
  14. hardware-specific network card driver.  LANMAN typically loads two programs in 
  15. the AUTOEXEC.BAT:  NET START WORKSTATION and LOAD NETBEUI.
  16.  
  17. NET START WORKSTATION
  18.       NET START WORKSTATION loads other LANMAN programs ("daughters")
  19. including (but not necessarily):  NETWKSTA, MINSES, ENCRYPT, MSRV, and
  20. NETPOPUP.  On DOS 5 systems NET START WORKSTATION loads itself and the other
  21. programs it loads high only by using DOS 5's private interface to High RAM
  22. (which Microsoft calls UMBs.)  For NET START WORKSTATION to load its daughters
  23. high DOS 5 users must have DOS=UMB (or DOS=HIGH,UMB) in their CONFIG.SYS.
  24.      If you use the Stealth feature of QEMM-386 AND DOS 5, when NET START
  25. WORKSTATION loads NETWKSTA you will get an exception #13.  NETWKSTA's misuse
  26. of expanded memory causes this problem.  To stop NETWKSTA from using EMS add
  27. the parameter "LIM=NO" to the "[Workstation]" section of your LANMAN.INI file.
  28. For example:
  29.  
  30.      [workstation]
  31.        wrkservices = encrypt,messenger,netpopup
  32.        computername = fred
  33.        domain = domain
  34.        othdomains =
  35.        numdgrambuf = 3
  36.        lanroot = C:\LANMAN.DOS
  37.        lim=no                <----------------------------
  38.  
  39. You may wish to notify Microsoft about this misuse of EMS so that you can let
  40. NETWKSTA use EMS with Stealth in the future.  They can do it:  other LANMAN
  41. programs use EMS with Stealth successfully.  The Stealth feature of QEMM-386
  42. in no way compromises QEMM-386's support of the EMS specification.
  43.  
  44. LOAD NETBEUI
  45.      LOAD loads LANMAN's network protocol driver.  Most will use NETBEUI; some
  46. may use TCPIP or another network protocol driver.  LOAD uses all conventional
  47. memory when it loads.  Quarterdeck's LOADHI cannot load it high.  It will load
  48. itself high on DOS 5 systems with DOS=UMB (or DOS=HIGH,UMB) in the CONFIG.SYS.
  49.  
  50. NETBIND and NET LOGON
  51.      NETBIND and NET LOGON are not resident programs so you need not load them
  52. high; OPTIMIZE will not try to load them high.
  53.  
  54. PROTMAN.DOS
  55.      PROTMAN.DOS does a curious thing:  It writes some code and data into
  56. memory at about 90K beneath the top of the region into which it loads.  Later
  57. LANMAN drivers that use the services of PROTMAN.DOS while they load
  58. are redirected to use the code and data in this area.  Apparently its authors 
  59. expected it to load into conventional memory.  When you load it high you may 
  60. well load it into a region not large enough to accommodate this stuff at 90K 
  61. beneath the top of memory.  For example, if you load it into B000-B7FF 90K 
  62. beneath the top of memory is in the video card's graphics space.  This causes 
  63. the loading of subsequent LANMAN programs that use the services of PROTMAN.DOS 
  64. to fail.
  65.      With the advent of version 5 Microsoft's DOS began to load programs high
  66. and LANMAN users would have suffered from the same problem when they loaded
  67. PROTMAN.DOS with DEVICEHIGH.  To "cure" this problem Microsoft did not
  68. re-write PROTMAN.DOS to correct this programming mistake but made DOS itself
  69. detect when it loaded a driver with an internal name of PROTMAN$ (a device
  70. driver has an "internal" name stored beginning at its tenth byte) and make Int
  71. 12 (the BIOS function that reports the top of memory) report that the top of
  72. memory is at 575K (23F in hexadecimal) instead of the real top-of-memory.  You
  73. can find "PROTMAN$" embedded in IO.SYS (or IBMBIO.COM) of DOS 5 (These are
  74. one of the two hidden files that load invisibly when you boot).  When you load
  75. a device driver with LOADHI.SYS DOS sees \LOADHI as the device name and does
  76. not change the number Int 12 reports so PROTMAN.DOS may write the code/data it
  77. loads into 90K beneath the top-of-memory into an inappropriate place.
  78.      In order to figure out how much memory a program takes to load (often
  79. more than the amount of memory a program takes to remain resident) OPTIMIZE,
  80. in its second step, loads all programs in the CONFIG and AUTOEXEC with LOADHI
  81. /GS.  With the /GS parameter LOADHI writes "LOADHISIGNATURE!" all over
  82. conventional memory (beginning on top of the currently available address)
  83. BEFORE it loads its program.  Then after LOADHI has loaded its program it can
  84. search beyond the resident portion of the just-loaded program to find where
  85. LOADHISIGNATURE! begins again so it can discover how much memory the program
  86. used to load.  Since DOS has no means of allocating memory from the top down
  87. PROTMAN.DOS has no means of reserving the address space into which it has
  88. loaded its code/data at 90K beneath the top-of-memory.  The first LOADHI/GS
  89. after PROTMAN.DOS loads wipes out this code/data.  When a subsequent LANMAN
  90. program (like NETBIND) that uses the services of PROTMAN.DOS loads, 
  91. PROTMAN.DOS does not find this code/data in place and the loading of the 
  92. network programs fails.
  93.  
  94. USING OPTIMIZE WITH LANMAN
  95.      As discussed in the PROTMAN.DOS section above you must resort to a
  96. "trick" to use OPTIMIZE with LANMAN.  The trick is to make PROTMAN.DOS load
  97. high into a sufficiently large region during the second step of OPTIMIZE and
  98. load low in the third step.
  99.  
  100.      1) Place the RAM parameter on QEMM-386 or QEMM-50/60 or install QRAM in 
  101.      the CONFIG.SYS file.  Reboot and make sure that the biggest High RAM 
  102.      region (as reported on Manifest's First Meg/Overview screen) is at least 
  103.      96K in size.
  104.           If you do not have a High RAM region at least 96K big you cannot run 
  105.      OPTIMIZE with PROTMAN and you should not proceed to step 2.  Instead you 
  106.      must manually place LOADHI.SYS and LOADHI.COM on every line in the 
  107.      CONFIG.SYS and AUTOEXEC.BAT file that contains a program that you want to 
  108.      load high.  (See the LOADHI chapter in your QEMM-386, QEMM-50/60, or QRAM 
  109.      manual for more details.)  Do not, however, place LOADHI on the PROTMAN 
  110.      line.  Then reboot without running OPTIMIZE.  This configuration should 
  111.      let you successfully load most of your programs high.
  112.  
  113.      2) If you have any programs that allocate Upper Memory Blocks (UMBs) 
  114.      through the Extended Memory Specification you must stop them from doing 
  115.      so (by using the programs' own parameters) before proceeding further.  
  116.      Such programs can interfere with OPTIMIZE's calculations under any 
  117.      circumstances; with the procedure that we are about to use a program that 
  118.      allocates a UMB may overwrite the code/data that PROTMAN.DOS writes into 
  119.      90K below top-of-memory. Although this is a temporary precaution for 
  120.      running OPTIMIZE with PROTMAN it is a good practice generally because 
  121.      LOADHI can load a program into a specific region, allowing OPTIMIZE to 
  122.      configure the programs loaded into High RAM in the most efficient manner. 
  123.      If you desire you can revert to letting programs load themselves high 
  124.      after the completion of OPTIMIZE.
  125.  
  126.      3) If your biggest High RAM region is 96K or larger start OPTIMIZE.  Let 
  127.      OPTIMIZE modify your CONFIG.SYS and AUTOEXEC.BAT files in preparation for 
  128.      the Detection Phase.  When you see the OPTIMIZE screen titled "DETECTION 
  129.      PHASE," (before the first re-boot) hit Esc, then F1, to break out of 
  130.      OPTIMIZE.
  131.  
  132.      4) Use an editor to edit the PROTMAN line in the CONFIG.SYS file.  Remove 
  133.      all the parameters to LOADHI.SYS on that line.  (There should be two:  a 
  134.      /GS 3parameter that directs the /GETSIZE data to LOADHI.OPT, and a LABEL 
  135.      parameter.)  Leave LOADHI.SYS and all PROTMAN's parameters on the line; 
  136.      leave all the other lines alone.
  137.  
  138.      For example if the PROTMAN line in the CONFIG.SYS says:
  139.  
  140.      DEVICE=C:\QEMM\LOADHI.SYS /GS:C:\QEMM\LOADHI.OPT /LABEL:AB
  141.      ...C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI
  142.  
  143.      (the above is all one line in the CONFIG.SYS) then change the line to:
  144.  
  145. DEVICE=C:\QEMM\LOADHI.SYS C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI
  146.  
  147.      5) Reboot and let OPTIMIZE complete normally.
  148.  
  149.           When you're all done, PROTMAN will be loaded low, but it only uses 
  150.      100 bytes or so (the newer PROTMAN may use about 6K).  All other programs 
  151.      will be OPTIMIZEd.
  152.  
  153. SUMMARY
  154.  
  155.      Because LANMAN 2.1's NET START WORKSTATION and LOAD NETBEUI load their
  156. daughters high only by means of a private interface to the UMBs created by DOS
  157. 5, DOS 5 users must have "DOS=UMB" in their CONFIG.SYS (or, if you already
  158. have "DOS=HIGH", change it to "DOS=HIGH,UMB".)
  159.      Because NETWKSTA uses EMS incorrectly you must add the line "LIM=NO" IF
  160. you use DOS 5 AND the Stealth feature of QEMM-386.
  161.      Because of PROTMAN.DOS's unusual behavior you must observe the
  162. precautions described in the above section "USING OPTIMIZE WITH LANMAN".
  163.  
  164.   ************************************************************************
  165.   *          Trademarks are property of their respective owners.         *
  166.   *This technical note may be copied and distributed freely as long as it*
  167.   *is distributed in its entirety and it is not distributed for profit.  *
  168.   *          Copyright (C) 1992 by Quarterdeck Office Systems            *
  169.   ************************ E N D   O F   F I L E *************************
  170.