home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / GENUTIL / BNUFAQ.TXT < prev    next >
Text File  |  1997-02-16  |  21KB  |  487 lines

  1. ─ BNU FOSSIL Echo (1:106/2000) ─────────────────────────────────────────── BNU ─
  2.  Msg  : 29 of 34                                                                
  3.  From : david nugent                        3:632/348       Fri 16 Apr 93 14:57 
  4.  To   : All                                                 Sun 18 Apr 93 19:09 
  5.  Subj : FAQ time - part 1                                                       
  6. ────────────────────────────────────────────────────────────────────────────────
  7.  BNU FOSSIL: Answers to frequenstly asked questions
  8.  
  9. This document represents information which answers most of the questions I am
  10. most often asked about BNU, both in netmail and in the FidoNet BNU echomail
  11. conference. Hopefully, the regular posting of this document into the BNU
  12. conference weil help curb the repetitive traffic. This document, as updated,
  13. will be included in the BNU documentation in all future releases.
  14.  
  15. The complete list of questions answered in this document are:
  16.  
  17.  Q0:    Why this FAQ?
  18.  Q1:    What is a FOSSIL?
  19.  Q2:    What is BNU?
  20.  Q3:    What does BNU stand for?
  21.  Q4:    What is the lastest release?
  22.  Q5:    Is this version 1.XX a proper version?
  23.  Q6:    Can I use this beta version?
  24.  Q7:    Where can I file request the latest version?
  25.  Q8:    When will the next release of BNU be?
  26.  Q9:    Can I lock the port at 57600 baud?
  27.  Q10:   How can I get BNU to use IRQ5, 7 or 2?
  28.  Q10a:  Can my serial card use IRQ 8 - 15?
  29.  Q10b:  Can BNU share interrupts?
  30.  Q10c:  Can I use IRQ 2 on an AT machine?
  31.  Q11:   How can I get BNU to use a different port address?
  32.  Q12:   Can I use BNU with a XXXX serial card?
  33.  Q13:   What about BNU 1.70 and multitasking drivers?
  34.  
  35.  =========================================================================
  36.  
  37.  Q0:    Why this FAQ?
  38.  
  39. BNU, from its modest beginning in mid-1988, written as an experemental driver
  40. for serial communications, then being made "FOSSIL compatible", and finally
  41. released for public use, has become used much more widely than expected. This
  42. FAQ represents a suppliment to the BNU 1.70 documentation, states things which
  43. should have been stated in that document and attempts to answer the many other
  44. questions which have been asked many times over the years.
  45.  
  46.  
  47.  
  48.  Q1:    What is a FOSSIL?
  49.  
  50. A "FOSSIL" is simply a communications driver. It exists because MS-DOS and the
  51. IBM-PC BIOS provides very poor support for serial communications, and falls far
  52. short of the needs of any non-trivial communications task.
  53.  
  54. The term "FOSSIL" (which stands for Fido-Opus-SEAdog-Standard-Interface-Layer)
  55. is a communications standard which has become stable over the years, and is in
  56. wide use both in and out of FidoNet. It represents the work of several FidoNet
  57. sysops who felt the need to provide a standard API for use in an environment
  58. which makes use of several software packages.
  59.  
  60. The history of the FOSSIL standard itself, and all the technical details, may be
  61. found in the FTSC document FSC-0015.
  62.  
  63.  
  64.  
  65.  Q2:    What is BNU?
  66.  
  67. BNU is a FOSSIL - See Q1.
  68.  
  69.  
  70.  
  71.  Q3:    What does B.N.U. stand for?
  72.  
  73. The name "BNU" was originally a rip-off of AT&T's "BNU UUCP", and in that
  74. context meant "Basic Networking Utilities". I felt that the acronym was
  75. particularly apt for BNU's function.
  76.  
  77.  
  78.  Q4:    What is the lastest release?
  79.  
  80. As of this date, version 1.70 is the latest. Version 1.70 was released in
  81. October, 1989, and certainly hasn't suddenly ceased working for lack of any
  82. subsequent release. It has been proven stable on a wide variety of systems and,
  83. with specific exceptions, works better than any subsequent beta release (see
  84. Q5).
  85.  
  86.  
  87.  
  88.  Q5:    Is this version 1.XX a proper version?
  89.  
  90. Subsequent to the release of version 1.70, there was an 'open beta test'
  91. arrangement, where specific systems around the world had permission to allow
  92. beta version drivers to be file requested, but distribution otherwise by
  93. automated means was prohibited.
  94.  
  95. The reason for this restriction is to prevent a user from using a beta release
  96. which causes problems on their system and with other software without them
  97. realising the status of the driver. Those specifically interested in testing the
  98. driver and reporting problems were allowed access. The system worked well for a
  99. while and required almost no administration.
  100.  
  101. Unfortunately, this system was withdrawn in 1991 because it became apparent that
  102. despite specific and very prominent notice in the documentation and archive
  103. comments, drivers were being placed on BBS systems for download and file
  104. request. This was further evidenced by the amount of mail being received
  105. regarding support for beta version drivers. It was clear that the 'open beta'
  106. system was not fulfilling the original aims. BNU is now in closed beta test
  107. only.
  108.  
  109. Versions after 1.70 are in the 1.7X and 1.8X range. The last released driver in
  110. the open beta scheme was version 1.89h.
  111.  
  112. If you discover a driver in the 1.7x or 1.8x range (and certainly all of the
  113. 1.8x version will identify themselves clearly as beta versions) then it is
  114. probably valid. There has _never_ been a driver released with a version 1.9x or
  115. 2.x identifier.
  116.  
  117. Beta versions, by their nature, are less stable than the 1.70 release. In
  118. particular, most of the version 1.8x range represents highly experimental code,
  119. testing various alternative methods of handling communications interrupts,
  120. multitasking systems, 80386 memory managers and shared IRQ cards. Many of them
  121. will not work on 8250 UARTs and require a 16550A or better.
  122.  
  123.  
  124.  
  125.  Q6:    Can I use this beta version?
  126.  
  127. If you find a beta version, you assume all risks. They cannot be authenticated,
  128. and they are not officially supported by anyone. You are, however, welcome to
  129. use one if you find. I ask only that the terms of the original distribution be
  130. honoured - that is, do not make it available for file request or download and do
  131. not transmit it by any other authomated means (ie. on CD-ROM or via TICK etc).
  132. You are otherwise welcome to give the driver to others provided that the
  133. receiver is aware of the beta status.
  134.  
  135.  
  136.  
  137.  Q7:    Where can I file request the latest version?
  138.  
  139. "latest version" in this case refers to beta versions. There are no restrictions
  140. on distribution of BNU 1.70.
  141.  
  142. If someone makes a beta driver available for file request, they are doing so
  143. against my wishes, and are therefore breaching copyright.
  144.  
  145.  
  146.  Q8:    When will the next release of BNU be?
  147.  
  148. It is unknown at this stage, but a new driver is being built and will hopefully
  149. see a public release sometime in the third quarter of 1993. The version number
  150. of that driver is as yet undecided.
  151.  
  152. The new release will represent a step beyond the 1.70 release, and will
  153. incorporate a new API for developers to take advantage of. It will also include
  154. a developers package and an interface library with sources and the new API
  155. specification. Features of this API have not yet been finalised, but an INT 14H
  156. "FOSSIL" compatible layer will certainly be provided, so it can still be used
  157. with existing software.
  158.  
  159. If you find any archive purporting to be a latest "release" of BNU than 1.70
  160. which does not contain these items, it is NOT a valid release.
  161.  
  162.  
  163.  
  164.  Q9:    Can I lock the port at 57600 baud?
  165.  
  166. Yes. Although undocumented, BNU provides for locked baud rates at both 57600 and
  167. 115200 baud:
  168.  
  169.   /L<port>:57600            Locks at 57600
  170.   /L<port>:11520            Locks at 115200
  171.  
  172.  
  173.  
  174.  Q10:   How can I get BNU to use IRQ5, 7 or 2?
  175.  
  176. Yes. BNU can use any combination of port and IRQ addresses. Internally, it has a
  177. table of 16 "slots", which represent logical port numbers, numbered 0 through
  178. 15, which normally correspond with COM1 through COM4 on the PC and 12 others.
  179.  
  180. These 16 slots are alternative configurations - it does not represent how many
  181. ports BNU can support concurrently.  BNU 1.70 only supports 4 ports in use at
  182. the same time (this was changed in beta releases to allow support of up to 8).
  183.  
  184. The port configuration is maintained by the BNUPORT utility, provided with BNU
  185. 1.70. The standard configuration contains a setup for the standard DOS serial
  186. ports, COM1 though COM4, for ISA (AT) bus machines only.
  187.  
  188. The only "mysterious" part of BNU port is the meaning of "IRQ Vector" and "IRQ
  189. Mask". Both are linked to the IRQ number, as is shown in the following table,
  190. which lists the settings for all possible IRQ settings on an AT (286/386/486
  191. ISA) class system. Numbers preceded by 'x' are in hexadecimal.
  192.  
  193.   IRQ Mask Vector Usually used for...
  194.   --- ---- ------ -------------------------------------------------------
  195.   00  x01  x08    System timer
  196.   01  x02  x09    Keyboard
  197.   02  x04  x0A    AT=cascade, EGA/VGA, Network adaptors
  198.   03  x08  x0B    COM2 & COM
  199.   04  x10  x0C    COM1
  200.   05  x20  x0D    unused   (LPT2, SCSI 8-bit, tape)
  201.   06  x40  x0E    Floppy drive controller
  202.   07  x80  x0F    unused   (LPT1, SCSI 9-bit, tape)
  203.                   - Available on AT+ machines only -
  204.   08  x01  x70    RTC Clock
  205.   09  x02  x71    Redirected IRQ2
  206.   10  x04  x72    unused
  207.   11  x08  x73    unused
  208.   12  x10  x74    unused
  209.   13  x20  x75    unused
  210.   14  x40  x76    Hard disk controller
  211.   15  x80  x77    unused
  212.  
  213. Configurations using IRQ 0 through 7 used 0020 as the "8259 Port". IRQ 8 through
  214. 15 use 00A0.
  215.  
  216. The IRQ mask is the value used by BNU to enable the IRQ level on the
  217. Programmable Interrupt Controller (or 8259 chip).
  218.  
  219. The IRQ Vect value corresponds to the interrupt allocated to the IRQ level.
  220.  
  221.  
  222.  
  223.  Q10a:  Can my serial card use IRQ 8 - 15?
  224.  
  225. Usually, no. Almost all serial cards are 8-bit only, and a 16-bit card is
  226. required to support the upper 8 interrupt levels available on AT class machines.
  227. Some PS/2 and EISA specific cards do support these interrupts, however, and
  228. there is no inherent reason why a 16-bit serial card built for an AT class
  229. machine would not work. However, most manufacturers don't make them for lack of
  230. demand - the 8250 family of UARTs (the chip used for serial I/O) are still only
  231. 8-bit devices.
  232.  
  233.  
  234.  
  235.  Q10b:  Can BNU share interrupts?
  236.  
  237. This translates to: "can I configure two ports to use the same IRQ"?
  238.  
  239. The short answer is No.
  240.  
  241. The long answer is that there are two problems involved. The first one is
  242. support in hardware:
  243.  
  244. The design of the AT bus prevents any two cards from using the same interrupt.
  245. Even when the serial ports in question are built onto the same card, very few
  246. cards support their use on the same IRQ, and this is almost always mentioned
  247. very specifically as a feature of the card. If the documentation does not metion
  248. IRQ sharing, then it almost invariably won't work.
  249.  
  250. Some cards however, do support IRQ sharing - notably the AST 4-port, 4 and 8
  251. port "dumb" DigiBoard and the Computer Decisions 4-port. There is also no
  252. problem sharing IRQ levels on a level triggered bus, such as provided by the MCA
  253. (PS/2) bus architecture.
  254.  
  255. The second problem is that BNU does not support IRQ chaining. It looks only at
  256. one port when servicing interrupts. However, interrupt sharing will be supported
  257. in a future release.
  258.  
  259.  
  260.  
  261.  Q10c:  Can I use IRQ 2 on an AT machine?
  262.  
  263. Short answer - usually, yes.
  264.  
  265. (For the pedantic: this is a short, non-technical description, and therefore
  266. contains information which may be technically erroneous, but is stated in this
  267. manner for the sake of brevity)
  268.  
  269. Because the CPU hardware only supports 8 IRQ levels, only one interrupt
  270. controller (and therefore only 8 interrupt levels) have direct access to the
  271. CPU. When the AT286 machine was released, a second interrupt controller was
  272. added to service another 8 interrupt levels; and the upper 8 levels "cascaded"
  273. into the first interrupt controller's IRQ 2. So what occurs is that when an IRQ
  274. 8 - 15 occurs, the second (slave) interrupt controller causes an IRQ 2 as seen
  275. by the CPU.
  276.  
  277. This scheme would normally make IRQ 2 unusable to any device on an AT machine,
  278. because it is no longer wired to the bus, but to the other interrupt controller.
  279. To get around this, the bus IRQ 2 line was 'wired' to IRQ9, so that a device
  280. using IRQ2 would cause an interrupt at level 9 (and therefore 2 at the CPU).
  281.  
  282. Devices using IRQ2 may therefore be used on an AT+ class machine so long as the
  283. software is configured to use IRQ9.  Well... almost. It may also be possible to
  284. configure software at IRQ2 because most BIOS chipsets automatically redirect any
  285. calls to the IRQ9 handler to the IRQ2 handler after resetting the second
  286. interrupt controller. However, some early BIOS chipsets don't support this
  287. properly and so may not work.
  288.  
  289.  
  290.  
  291.  Q11:   How can I get BNU to use a different port address?
  292.  
  293. Certainly.  Any 8- or 16-bit port address may be configured using BNU port. See
  294. Q10 for more information.
  295.  
  296.  
  297.  
  298.  Q12:   Can I use BNU with a XXXX serial card?
  299.  
  300. BNU supports _standard_ UART configurations only. There are many cards on the
  301. market which use technology above and beyond this, some with their own on-board
  302. dedicated CPUs (from Z80s through 80286s) dual ported RAM, interrupt controllers
  303. and multiple UARTs. Basically, these cards are a mini-PC themselves, with CPU's
  304. dedicated to servicing  communications only, relieving the main CPU of all
  305. interrupt handling save the copying of data from common RAM to the application.
  306.  
  307. Most of these cards are supplied with drivers for Xenix, UNIX and/or OS/2, and
  308. the MSDOS drivers work fine for access via DOS. Some even provide a BIOS
  309. compatible INT 14H interface. However, their use with FidoNet software is
  310. limited because no FOSSIL driver exists for them (at which I'm mildly surprised
  311. - the market is certainly big enough). If you wish to run one of these cards,
  312. you should try to convince the manufacturer of the worth of producing a FOSSIL
  313. compatible interface. This is the benefit of having the API in the first place.
  314.  
  315.  
  316.  Q13:   What about BNU 1.70 and multitasking drivers?
  317.  
  318. BNU 1.70 documentation mentions multitasking drivers. These have in fact been
  319. developed, but the driver interface changed since BNU 1.70 was released, and
  320. they are not compatible with the 1.70 release. Furthermore, they are only of
  321. benefit if you use software which is not itself "multitasking" aware, since all
  322. they do is detect when the driver is being "polled", and after a timeout
  323. automatically 'steal' time slices from the calling task and give them up to the
  324. system.
  325.  
  326. The use of these drivers is questionable when the vast majority of software
  327. already takes advantage of multitaskers and knows how to give idle time slices
  328. away. Applications software usually has a much better idea of when it is idle,
  329. and with the driver possibly giving time away when the application is doing
  330. likewise, the result can be that the application does not get sufficient CPU
  331. time for time critical communications, such as when establishing connections and
  332. so forth. This can cause difficulties if used incorrectly. Many problems
  333. reported with BNU 1.30 - which had this built into the driver itself - were due
  334. to problems of this nature.
  335.  
  336.  
  337.  Q14:   ...
  338.  
  339. --- MaltEd/2 1.0.b6
  340.  * Origin: Unique Computing Pty Ltd (3:632/348)
  341.  
  342.  
  343.  
  344.  
  345. (1044)   Fri 26 Jun 92 11:48p
  346. By: david nugent
  347. To: Dave Hughes
  348. Re: help
  349. ----------------------------------------------------------------------
  350.  
  351.  > I'm trying to setup BNU to use COM3 at IRQ5 and COM4 at IRQ9.
  352.  >  
  353.  >          IRQ     IRQ  8259  IO Base  IO Share  Share
  354.  >         Mask    Vect Port  Address  Address   Mask
  355.  >  
  356.  > Port 00   10      0C  0020   03F8     0000     00
  357.  > Port 01   08      0B  0020   02F8     0000     00
  358.  > Port 02   10 *    0D  0020   03E8     0000     00
  359.  > Port 03   08 *    71  0020   02E8     0000     00
  360.  >  
  361.  > * What values do I use for the IRQ mask?
  362.  
  363.  Port 02 : Mask 20
  364.       03 :      02    8259 Port = 00A0
  365.  
  366. These are bit masks used to disable/enable the corresponding interrupt
  367. on the 8259A PIC.  Each value is a 1 bit value; that bit corresponding
  368. to the IRQ number:
  369.  
  370. On the first (and only on XT class machines) 8259A at 0020:
  371.  
  372.   IRQ0=01, IRQ1=02, IRQ2=04, IRQ3=08, IRQ4=10, IRQ5=20, IRQ6=40, IRQ7=80
  373.  
  374. (Note: for AT class machines IRQ2 cannot be used, use IRQ9 even if you
  375.        set the hardware to use IRQ2 - it is redirected to IRQ9)
  376.  
  377. One the second (on AT class machines and above) at 00A0:
  378.  
  379.   IRQ8=01, IRQ9=02, IRQA=04, IRQB=08, IRQC=10, IRQD=20, IRQE=40, IRQF=80
  380.  
  381. In general, only IRQ9 is usable on AT class machines if the serial card
  382. is only 8-bits wide or only supports 8-bit operation. I've never seen a
  383. 16-bit serial card, but do understand that they do exist.
  384.  
  385. david
  386.  
  387. ___ MaltEd 1.0.b5
  388.  - Origin: RevelStone BBS: FidoNet/IntlNet/Usenet +61-3-792-3507 (3:632/348)
  389.  
  390.    Date: 10-24-95 21:26:00
  391.    From: Mike Ehlert
  392.      To: Brandon Howarth
  393. Subject: BNUPORT
  394. -------------------------------------------------------------------------------
  395. Brandon Howarth wrote in a message to All:
  396.  
  397.  BH> I know this is a little off-topic, but I'm using BNU to run
  398.  BH> RA so I guess it counts. <g>  Anyway, what I need to know,
  399.  BH> how do you setup a modem that's on COM 3 IRQ 5 ADDRESS 03E8 
  400.  BH> under the BNUPORT utility...  If anyone knows, please reply.
  401.  
  402. I use  :
  403.  
  404. com1 03f8 irq4
  405. com2 02E8 irq3
  406. com3 03E8 irq5
  407.  
  408. and here is the bnu port screen :
  409.  
  410. ▒▒▒ BNU Port Parameters Patch Table ▒▒▒
  411. ╒═════════════════════════════════════╕
  412. │           IRQ  IRQ  8259  IO Base   │
  413. │           Mask Vect Port  Address   │
  414. │                                     │
  415. │ Port 00     10   0C   0020  03F8    │
  416. │ Port 01     08   0B   0020  02F8    │
  417. │ Port 02     20   0D   0020  03E8    │
  418. │ Port 03     00   FF   0000  0000    │
  419. │ Port 04     00   FF   0000  0000    │
  420. │ Port 05     00   FF   0000  0000    │
  421. │ Port 06     00   FF   0000  0000    │
  422. │ Port 07     00   FF   0000  0000    │
  423.  
  424.  
  425. Regards,  Mike 
  426.  
  427. --- 
  428.  * Origin: PACIFIC COAST MICRO - North American RemoteAccess Support (1:102/1001)
  429.  
  430. Message #1513 - RemoteAccess Utilities 
  431.    Date: 02-08-96 10:21:00
  432.    From: Steven Pierson
  433.      To: Mike Gray
  434. Subject: BNU/RA
  435. -------------------------------------------------------------------------------
  436. * In a message originally to All, Mike Gray said:
  437. "MG>"Hello!
  438. "MG>"       I run a small BBS w/ RA2.5 and two nodes. I am
  439. "MG>"trying to set a third modem on Com4 IRQ7. I use BNU for
  440. "MG>"Fossil. Does anyone know the changes needed in BNUPORT to
  441. "MG>"allow BNU to recognise the modem on that port? Any help is
  442. "MG>"appreciated..
  443.  
  444.  
  445.   The only "mysterious" part of BNU port is the meaning of "IRQ Vector"
  446.   and "IRQ Mask".  Both are linked to the IRQ number, as is shown in the
  447.   following table:
  448.  
  449.   IRQ Mask Vector Usually used for...
  450.   --- ---- ------ ---------------------------------------------------
  451.   00  01   08     System timer
  452.   01  02   09     Keyboard
  453.   02  04   0A     AT=cascade, EGA/VGA, Network adaptors
  454.   03  08   0B     COM2 & COM4
  455.   04  10   0C     COM1 & COM3
  456.   05  20   0D     unused   (LPT2, SCSI 8-bit, tape)
  457.   06  40   0E     Floppy drive controller
  458.   07  80   0F     unused   (LPT1, SCSI 9-bit, tape)
  459.   08  01   70     RTC Clock
  460.   09  02   71     Redirected IRQ2
  461.   10  04   72     unused
  462.   11  08   73     unused
  463.   12  10   74     unused
  464.   13  20   75     unused
  465.   14  40   76     Hard disk controller
  466.   15  80   77     unused
  467.  
  468.   Just substitute the Mask and Vector values for the IRQs that you want
  469.   to use, in the 'slots' for the particular Port# in BNUPORT, enter
  470.   in the proper base address you wish to use (03F8, 02F8, etc.) and
  471.   BNUPORT will patch your BNU.COM automatically. Also, If you are using
  472.   IRQ 0 through 7, use 0020 as the "8259 Port". If using IRQ 8 through 15,
  473.   use 00A0. You'll notice the first four ports (00-03) are configured
  474.   for you. You can leave the Address and Mask columns at the far right of
  475.   the screen at their defaults of 0000 and 00 respectively. 
  476.  
  477. Steve
  478.  
  479. - Pedit Ver 2.5
  480. Beverly Hills is very exclusive.  For instance, their fire department won't
  481. make house calls.
  482.  
  483.  
  484. ---
  485.  * Origin: <<The Computer Room>>  (708)-748-7449 (1:115/748)
  486.  
  487.