home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / g / gr-notes.bee < prev    next >
Text File  |  1993-03-30  |  20KB  |  388 lines

  1. Release Notes
  2. NOS for TCP/IP
  3. Version KA9Q 921229/PA0GRI 920730v2.0m/N1BEE 921225v0.85-beta
  4.  
  5. by Mike Bilow, N1BEE
  6. 25 December 1992
  7.  
  8. AX.25:        N1BEE @ WA1PHY.#EMA.MA.USA.NA
  9. Amprnet:    n1bee@switch.w1cg-9.ampr.org
  10. Internet:    mikebw@ids.net
  11. CompuServe:    >INTERNET:mikebw@ids.net
  12. Fidonet:    MIKE BILOW, 1:323/120.1
  13.  
  14. Note: The NOS "info" command now displays the date and time of compilation.
  15. Please include this is in any correspondence or bugs reports.
  16.  
  17.  
  18. 1. Distribution Issues
  19.  
  20.     These notes are directed to users of previous versions of N1BEE NOS
  21. making the conversion to this one.  The last main release was 910921v0.72.
  22. N1BEE NOS is distributed from ChowdaNet BBS, (401)331-0334, Fido 1:323/120,
  23. from which it is hatched into the Ham Distribution Net, which is part of
  24. the Fidonet File Backbone.  A complete set of files is also posted to the
  25. Internet site UCSD.EDU for anonymous FTP.  Executables and docs are posted
  26. for FTP on the New England Amprnet at switch.centma.ampr.org [44.56.0.1] in
  27. Southboro, MA, and at switch.w1cg-9.ampr.org [44.104.0.2] in Newport, RI.
  28.  
  29.     Because the feature has become available in the new Borland C++ 3.1
  30. compiler, there is now a 386-specific version, the main advantage of which
  31. is that it is almost 30K smaller because of the efficient code that can be
  32. generated for the 386/486.  Executables will continue to be named GRINOS.EXE
  33. for the full version and GRINOS-S.EXE for the small version.  GRINOS-X.EXE
  34. will be added as the 386-specific version.  The complete set of distribution
  35. files is now:
  36.  
  37.     GRIBEE08.ZIP -- source code archive
  38.         GRNOS08.ZIP  -- full version EXE package
  39.     GRNOS08S.ZIP -- small version EXE package
  40.     GRNOS08X.ZIP -- 386-specific EXE package
  41.  
  42.     Most users will want the small version, especially if running under
  43. limited memory on an XT or under DesqView.  Users who need advanced features
  44. (NNTP, netrom, netrom serial, or mailbox forwarding) will have to use the
  45. larger versions.  The 386-specific version is the same as the full version,
  46. but with the "-3" switch given to the compiler.  I am personally running the
  47. 386-specific version with DRSI hardware; now you know why I made it!
  48.  
  49.     (Late note: the 386-specific version may have problems, possibly
  50. due to bugs in the Borland tools.  If you try it and experience problems,
  51. please try one of the other versions and let me know what happens.)
  52.  
  53.     The documentation file for PA0GRI 920725v2.0l will serve as
  54. documentation for N1BEE NOS, except as noted below.  This file is named
  55. GG9207D.ZIP on ChowdaNet BBS and throughout HDN.
  56.  
  57.  
  58. 2. Serial Handshaking
  59.  
  60.         If you find that NOS is able to send but not receive data with
  61. an asy TNC, first make sure that the correct IRQ is specified, especially
  62. if you are using the new facility to chain more than one COM port on the
  63. same IRQ.  If you are having trouble with parameters that worked fine on
  64. an earlier version of NOS, try explicitly raising the serial handshake
  65. lines right after the attach command in AUTOEXEC.NOS.  To do this for a
  66. port with interface label "ax0," for example, add the following command
  67. lines: "param ax0 dtr 1" and "param ax0 rts 1".
  68.  
  69.  
  70. 3. Netrom Changes
  71.  
  72.     Netrom users will have to change their configuration files which
  73. have lines of the form "netrom interface <iflabel> <alias> <portqual>",
  74. where the alias is specified as part of the interface command.  The alias
  75. must now be specified with the command "netrom alias <alias>", and the
  76. interface command has new syntax "netrom interface <iflabel> <portqual>".
  77. For example, "netrom interface ax0 IPBEE 192" would now be replaced by
  78. the two commands "netrom alias IPBEE" and "netrom interface ax0 192".
  79.  
  80.     A fairly serious netrom bug is corrected in this release of N1BEE
  81. NOS, and my previous advice to set "netrom acktime" to some artificially
  82. huge value, such as 120000 ms, no longer applies.  This workaround is still
  83. needed in all other versions of NOS, although that should change when this
  84. bug fix is cycled back into the main PA0GRI release.  The default "netrom
  85. acktime" of 3000 ms is generally appropriate, although I find that 8000 ms
  86. is slightly better.  Some explanation is probably in order here.  What the
  87. "netrom acktime" timer times is the delay after we receive something that
  88. needs to be acknowledged and when we actually acknowledge it.  This delay
  89. of a few seconds is desirable because netrom works with groups of frames
  90. which do not need to be acknowledged separately.  For example, if we receive
  91. netrom frames 25, 26, and 27 at once, we only want to acknowledge 27, which
  92. implies that we are acknowledging all previous frames.  If no delay was
  93. present, we would send an acknowledgement for each frame as it was received.
  94. The bug that has been fixed was that the timer was not being stopped after
  95. the acknowledgement was sent, so acknowledgement frames would be generated
  96. on each expiration of the "netrom acktime" timer, every 3 seconds, without
  97. regard to whether anything needed to be acknowledged.  Obviously, sending
  98. frames every 3 seconds would cause a lot of problems for the network, and
  99. the workaround of using a long setting for "netrom acktime" would at least
  100. prevent NOS from clogging a netrom network, at the expense of very slow
  101. local performance.  (Thanks to WA1PTC, KA1MF, KA1RCI, K5DI, and others for
  102. reporting the problems which led to this bug being found.)
  103.  
  104.  
  105. 4. Anonymous Logins
  106.  
  107.         In order to allow anonymous users to log in under any username,
  108. such as their own callsign, when using ftp or the telnet mailbox, it is
  109. necessary to have an entry in \FTPUSERS for "univperm".  In previous
  110. releases of N1BEE NOS, unknown usernames not explicitly listed in the
  111. \FTPUSERS file were mapped to have the same privileges as "anonymous"
  112. if that was listed in \FTPUSERS.  Now, "anonymous" is a legitimate name
  113. in its own right.  One reason for this is to disallow logins from being
  114. able to send mail as "anonymous," "anon", "guest", and such from the
  115. telnet mailbox.  A typical line to add to \FTPUSERS might be:
  116. "univperm * /public 3".
  117.  
  118.     Note that there are some new bits in the permission mask in
  119. \FTPUSERS, which are documented in the main PA0GRI documentation file.
  120.  
  121.  
  122. 5. POP Clients
  123.  
  124.     If you receive your mail by Post Office Protocol (POP), there are
  125. significant changes required to your configuration files.  NOS now supports
  126. multiple automatic POP servers for a single client, and also supports the
  127. enhanced POP3 protocol in addition to maintaining backward compatibility
  128. with POP2.  The most important change is that the old "pop mailhost",
  129. "pop mailbox", "pop userdata", and "pop timer" commands have now been
  130. combined into a single command.  If your old configuration read:
  131.  
  132.     pop mailhost switch.w1cg-9.ampr.org
  133.     pop mailbox maureen
  134.     pop userdata ka1urw mog
  135.     pop timer 14400
  136.  
  137. then your new configuration will read:
  138.  
  139.     pop addserver switch.w1cg-9.ampr.org 14400 pop2 maureen ka1urw mog
  140.  
  141. This means that server switch.w1cg-9.ampr.org will be polled using POP2
  142. every 14400 seconds (4 hours) for mail addressed to ka1urw@switch.w1cg-9.
  143. Upon receipt, it will be placed into the local file \SPOOL\MAIL\MAUREEN.TXT.
  144. A new optional field can be added immediately following the timer count in
  145. order to restrict polling to certain hours.  For example, "1800 00:00-06:30"
  146. would poll 1800 seconds (30 minutes), but only between midnight and 6:30 am.
  147.  
  148.     Multiple servers are now supported using any combination of POP2 and
  149. POP3.  The postmaster at a POP server can now, for example, put regular mail
  150. for KA1URW and AMSAT mail for KA1URW into separate accounts, say "ka1urw" and
  151. "ka1urw-a".  Since the mail is physically separated into files which must
  152. conform to MS-DOS naming restrictions, POP accounts longer than 8 characters
  153. should not be used.  In the above example, POP user ka1urw-a would have mail
  154. stored on the server in \SPOOL\MAIL\KA1URW-A.TXT; if two POP users are given
  155. overlapping names, such as "ka1urw-amsat" and "ka1urw-arrl", these would both
  156. be truncated to the same 8-character filename, and problems would result.
  157.  
  158.     In order to do a "pop kick" the server must now be specified.  For
  159. example, to manually request an immediate poll in the above case, the command
  160. would be "pop kick switch.w1cg-9".  The "pop kick" command will kick off all
  161. posted listings for the named server; there is no way to kick only one.
  162.  
  163.  
  164. 6. KISS Mode TNCs
  165.  
  166.     To get most asy TNCs out of KISS mode, you can use the command
  167. "param ax0 return" (assuming the TNC is on the ax0 interface).  Some
  168. TNCs, usually MFJ, will require the two commands "param ax0 return2"
  169. and then "param ax0 return".
  170.  
  171.     You should be especially alert for any TNC which does not
  172. correctly implement KISS mode.  Some MFJ and Pac-Comm TNCs will transmit
  173. on top of another packet station which is being received, which is wrong.
  174.  
  175.  
  176. 7. Mailbox CC Handling
  177.  
  178.         The PA0GRI code as released causes the mailbox to always send a
  179. CC to the original addressees list on reply to any message from the mailbox.
  180. This produces undesirable results, where replying to a message which was
  181. addressed to "allne" makes the reply also go to "allne," which is usually
  182. not intended.  This is disabled in the N1BEE code, with a new command
  183. "mbox autocc" added to reenable the original form of operation if desired.
  184.  
  185.  
  186. 8. TTYlink/Chat Response Change
  187.  
  188.         The ttylink (chat) server has default behavior of throwing the
  189. local user suddenly into whatever incoming session is generated.  This is
  190. now modified in N1BEE NOS to send a message to the command session (where
  191. you have the "net>" prompt) that there is an incoming session, but not to
  192. force the console into it immediately.  From the command session, issue
  193. the "session" command to see what session number has been assigned to the
  194. incoming chat, and then the "session #" command (where "#" is replaced
  195. by the appropriate session number) to actually enter the session.  To get
  196. back to the command session from any other session, use the F10 key as
  197. normal.  The disadvantage here is that the message about an incoming chat
  198. request will not be displayed until the console is in the command session;
  199. if the console is in some other session, such as an outbound telnet or ftp,
  200. the message will be waiting to be displayed as soon as the console is
  201. switched back to the command session.  The "correct" behavior of ttylink
  202. is mostly a matter of personal preference, and this is mine.
  203.  
  204.  
  205. 9. FTP Service File Length
  206.  
  207.     The FTP server has been modified to send a Unix-like count of
  208. bytes to be sent before actually sending the file.  This will appear at
  209. the end of the line which begins "150 Opening data connection for...".
  210. Unlike Unix, the byte count is sent in advance for non-file transfers,
  211. such as in response to the "dir" command, simply because it was easier
  212. to code that way.  (Thanks to N1GKE for suggesting this idea.)
  213.  
  214.  
  215. 10. Memory Allocation Issues
  216.  
  217.     The memory allocator in N1BEE NOS has somewhat more extensive
  218. debugging features than are found in distribution PA0GRI NOS.  Detection
  219. of "overused" errors is possible, where they would not be caught by the
  220. regular releases.  (This is a matter of using the compile-time define
  221. "Kelvdebug".)  Also, "mem debug" defaults enabled.  The PA0GRI NOS default
  222. of 15K for "mem minheap" seems a little excessive, but is left unchanged;
  223. users of the original "mem minheap" that I wrote into N1BEE NOS in 1991
  224. might remember that 12K was found to work well.  If you had no problems
  225. with 12K, you should consider experimenting to see how small you can push
  226. it if coreleft runs too low to let you shell out.  If you never shell out,
  227. as happens under DesqView, "mem minheap" has no effect anyway.
  228.  
  229.     Crashing while shelled out to DOS or the mailer may indicate
  230. hardware incompatibilities.  Try setting "multitask off" to prevent NOS
  231. from running in background while shelled out.  This may also be necessary
  232. when running in limited memory.  Don't overlook the possibility of the
  233. program running in the shell causing the crash; in particular, BM.EXE will
  234. not be happy if you are one of those people who never hits the CR key at
  235. the end of each line.  You may also need to increase "mem minheap".
  236.  
  237.     Conventional memory of 640K should be considered a requirement.
  238. NOS does not make any use of EMS or XMS memory, except insofar as a program
  239. such as DesqView can convert EMS memory to appear to NOS to be conventional.
  240.  
  241.  
  242. 11. Laptops, Non-standard Video
  243.  
  244.     Problems running on laptops are usually solved by disabling NOS
  245. direct screen writing with the "-b" command line option when invoking NOS.
  246. Laptops also might need to have power saving or "sleep" modes disabled.
  247.  
  248.     Persons who use non-standard video hardware, especially those who
  249. compensate for visual disability with screen enlargers or voice synthesizers,
  250. will also likely need the "-b" command line switch.  Any user who has trouble
  251. making NOS work with special hardware needed because of a disability is
  252. encouraged to contact me.
  253.  
  254.  
  255. 12. Running with Multitaskers
  256.  
  257.     The DesqView, Windows, and DoubleDOS multitaskers are all supported
  258. directly by NOS.  The second line of output from the "ps" command will show
  259. if any supported multitasker is detected.  Windows users may have to hack
  260. around in thier *.INI files manually to let NOS control the serial ports.
  261. With a supported multitasker, you can probably buy some efficiency with
  262. longer timeslices, since NOS will release the timeslice if it has nothing
  263. to do; this is trial and error.
  264.  
  265.     Original PA0GRI NOS does not detect that it is running in an OS/2 DOS
  266. window, and therefore does not gracefully release cycles back to OS/2 as it
  267. would with a supported multitasker.  The efficiency of OS/2 2.0 is such that
  268. this should never be noticed.  However, I have modified chktasker() and
  269. giveup() in PCGEN.ASM and ps() in KSUBR.C to take into account DOS 5.x or
  270. OS/2 2.0 DOS emulation.  Kludge utilities such as OS2SPEED should no longer
  271. be necessary.  In DOS Settings, IDLE_SECONDS must be set to zero.
  272.  
  273.     Running in a DOS window under OS/2 will likely require the IOPL
  274. privilege, and may require a DOS VMB for support of some features, such as
  275. packet drivers.  There is a native version of NOS for OS/2 PM distributed
  276. by Walt Corey, KZ1F @ WA1PHY.#EMA.MA.USA.NA (AX.25 conventional BBS mail), 
  277. kz1f@switch.w1cg-9.ampr.org (SMTP), kz1f@legent.com (Internet), and he also
  278. has a very impressive PM mailer.  If your OS/2 installation is based on asy
  279. TNCs, you might be better off with Walt's OS/2 releases.
  280.  
  281.  
  282. 13. Serial Port Speed
  283.  
  284.     A bug is fixed in N1BEE NOS that allows ports connected to KISS
  285. TNCs to be run faster than 19200 bps.  No real TNC will run this quickly,
  286. but this may prove useful for connecting two computers together where the
  287. non-NOS machine runs software that does not support SLIP, such as the
  288. G8BPQ switch.  Together with a more general bug fix, serial port speed
  289. can now be set to the maximum of the hardware, 115200 bps, on any port,
  290. superseding the previous limitation of 38400 bps.  While settable, these
  291. speeds are not necessarily going to work.
  292.  
  293.  
  294. 14. Domain Translation
  295.  
  296.     Domain translation, which does not work in the original PA0GRI
  297. distribution, has been repaired.  Also, "domain verbose" is a lot smarter
  298. and defaults to enabled; it only chops off your own domain suffix from
  299. other host names.  A warning message has been added to the effect that
  300. domain translation should not be enabled if you are using a real domain
  301. name server.
  302.  
  303.  
  304. 15. Domain Name Resolution
  305.  
  306.     The speed of domain name resolution has been substantially improved,
  307. at the expense of some memory use.  Originally, the DOMAIN.TXT file was read
  308. in blocks of 256 bytes, so that another disk access would be required after
  309. parsing every few lines.  The default block size is now 2048 bytes.  Users
  310. of slow machines should see the greatest improvement from this change.  The
  311. buffers are allocated from the heap while doing a domain name resolution and
  312. are freed immediately after it is completed, so no net increase in memory
  313. use is involved.  However, it may be difficult for NOS to satisfy requests
  314. for such large blocks due to memory fragmentation, which would have the
  315. effect of increasing the amount of memory that is forced to be part of the
  316. heap instead of core, even if it remains free for allocation.  Under such
  317. circumstances, coreleft could drop so low that NOS will not permit shelling
  318. out to the mailer.  If you have trouble, a new command, "domain diskbuf",
  319. has been added to allow the size of the buffers to be manually specified;
  320. the allowed minimum is 256 bytes, and the allowed maximum is 16384 bytes.
  321.  
  322.  
  323. 16. LZW Compression on SMTP
  324.  
  325.     I have some real reservations about the appropriateness of LZW
  326. compressed mail on the Amprnet, and I have modified NOS to default to a
  327. state where LZW compression will be permitted if requested by someone
  328. trying to send it mail, but will not be requested for outgoing mail.  To
  329. refuse compression requests on inbound mail, set "smtp reclzw off",
  330. preferably in AUTOEXEC.NOS.  To request compression on outbound mail,
  331. assuming you feel comfortable doing that, set "smtp sendlzw on".
  332.  
  333.     Keep in mind that LZW compression consumes a lot of memory.  If
  334. you have problems related to memory, either being unable to shell out or
  335. even outright crashing, try disabling LZW in both directions.  If a host
  336. opens an SMTP circuit with you and then disappears leaving an open TCP
  337. channel, the LZW tables being built from the data stream will stay in
  338. memory forever until the channel is reset.
  339.  
  340.  
  341. 17.  DRSI Drivers
  342.  
  343.     As of this release, the DRSI driver is unsupported.  The generic
  344. SCC driver is now recommended for DRSI hardware.  Keep in mind that I am
  345. running DRSI hardware myself, and I am seeing significantly better
  346. performance.  Previous problems with the SCC driver have now been fixed,
  347. especially in that the transmitter will not be keyed when DCD is present.
  348. Memory usage has been improved also, and a huge number of interrupt queue
  349. buffers ("mem nibufs") are no longer required; in fact, not only will the
  350. default 5 buffers work fine, but the buffer size can be safely reduced to
  351. 1024 ("mem ibufsize") if the SCC rxbuf size is sufficiently small and no
  352. need to pass very large frames (more than 256 bytes) exists.  Obviously,
  353. trial and error will be needed for each particular set of parameters such
  354. as TxDelay, Persistence, SlotTime, TxTail, and Wait, but here is the
  355. excerpt from my AUTOEXEC.NOS file involved in configuring the DRSI card:
  356.  
  357. #
  358. mem nibufs 5
  359. mem ibufsize 1024
  360. #
  361. # attach scc <numchips> init <baseaddr> <ofs_nextchip> <Aoff> <Boff> <Dataoff>
  362. #     <intack> <irq> <clksrc> <hwtype>
  363. attach scc 1 init 0x300 0x10 2 0 1 0 7 p4915200 8
  364. #
  365. # attach scc <chan> <mode> <iflabel> <mtu> <speed> <rxbuf>
  366. attach scc 0 ax25 dr0a 256 d1200 512
  367. attach scc 1 ax25 dr0b 256 d1200 512
  368. #
  369. # SCC:
  370. param dr0a txd 10
  371. param dr0a pers 128
  372. param dr0a slot 10
  373. param dr0a txt 5
  374. param dr0a wait 1
  375. #
  376. param dr0b txd 10
  377. param dr0b wait 1
  378. #
  379.  
  380.  
  381. 18. Assembler
  382.  
  383.     If you build NOS from my source, you can use an assembler other than
  384. TASM 3.1, which is bundled with BC++ 3.1.  (I used TASM 2.5, which is bundled
  385. with BC++ 2.0.)  TASM 3.1 can be used if lines with defined symbols ("MEMMOD")
  386. are modified so that they begin with a "%" character; otherwise, it will balk.
  387.  
  388.