home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / lan / drivrs30 / drivers.doc < prev    next >
Text File  |  1989-05-19  |  8KB  |  229 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                  User documentation for the packet driver collection
  8.                                    Russell Nelson
  9.                                  Clarkson University
  10.                                   Potsdam, NY 13676
  11.                               nelson@clutx.clarkson.edu
  12.  
  13.  
  14.           Why?
  15.  
  16.                Every PC Ethernet board is different.  The 3c501 was, for
  17.           some time, the most popular board, and would have become the
  18.           defacto standard but for its poor performance.  By the time 3Com
  19.           created a board with acceptable performance, so had many others,
  20.           and 3Com lost its lead.  FTP Software, in order to support each
  21.           of these boards without losing its collective mind, created the
  22.           Packet Driver Spec (PDS).
  23.  
  24.  
  25.           What?
  26.  
  27.                Some boards use DMA, some use programmed I/O, and some use
  28.           shared memory.  The PDS masks the differences between these
  29.           boards by defining a software interface to the boards.  This
  30.           software interface is a software interrupt in the range between
  31.           0x60 (hex) and 0x80.
  32.  
  33.  
  34.           How?
  35.  
  36.                The packet driver must be installed prior to use.  Since
  37.           each packet driver takes only 1800 bytes, this is best done in
  38.           your autoexec.bat.  Since the Ethernet boards typically have
  39.           jumpers on board, the packet driver must be informed of the
  40.           values of these jumpers (auto-configure is possible, but can
  41.           disturb other boards).  The first parameter is the software in-
  42.           terrupt used to communicate with the packet driver.  And again,
  43.           because each board is different, the rest of the parameters will
  44.           be different.
  45.  
  46.           Before installing the packet driver, you must choose a software
  47.           interrupt number in the range between 0x60 and 0x80.  Some of
  48.           these interrupts are used for other purposes, so your first
  49.           choice may not work.  See Appendix A for the section of Ralf
  50.           Brown's interrupt list between 0x60 and 0x80.
  51.  
  52.           Running a packet driver with no specifications will give a usage
  53.           message.  The parameters for each packet driver are documented
  54.           below.
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.           3C501
  62.  
  63.                usage: 3C501 <packet_int_no> <int_no> <io_addr>
  64.  
  65.                The 3c501 requires two additional parameters -- the
  66.           hardware interrupt number and the I/O address.  The defaults are
  67.           3 and 0x300.
  68.  
  69.  
  70.           3C503
  71.  
  72.                usage: 3C503 <packet_int_no> <int_level(2-5)> <io_addr>
  73.  
  74.                The 3c503 requires two additional parameters -- the
  75.           hardware interrupt number and the I/O address.  The defaults are
  76.           2 and 0x300.  The 3c503 uses shared memory whose address is set
  77.           by jumpers, but the software can ask the board what the address
  78.           is.
  79.  
  80.  
  81.  
  82.           3c523
  83.  
  84.                usage: 3c523 <packet_int_no> <int_no> <io_addr> <base_addr>
  85.  
  86.                The 3c523 requires three additional parameters -- the
  87.           hardware interrupt number, the I/O address, and the memory base
  88.           address.  The defaults are 3 and 0x300 and 0xc000.
  89.  
  90.  
  91.  
  92.           NI5010
  93.  
  94.                usage: NI5010 <packet_int_no> <int_no> <io_addr>
  95.  
  96.                The NI5010 requires two additional parameters -- the
  97.           hardware interrupt number and the I/O address.  The defaults are
  98.           3 and 0x300.
  99.  
  100.  
  101.  
  102.           NI5210
  103.  
  104.                usage: ni5210 <packet_int_no> <int_no> <io_addr> <base_addr>
  105.  
  106.                The NI5210 requires three additional parameters -- the
  107.           hardware interrupt number, the I/O address, and the memory base
  108.           address.  The defaults are 2 and 0x360 and 0xd000.  Note that In-
  109.           terlan sets the default memory base to 0xa000, which is
  110.           brain-damaged, because that area of memory is specifically
  111.           reserved for video adapters, and in fact the EGA and VGA use it.
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.           SLIP8250
  119.  
  120.                usage: SLIP8250 packet_int_no [driver_class] [int_no]
  121.                   [io_addr] [baud_rate] [send_buf_size] [recv_buf_size]
  122.                   The driver_class should be SLIP, KISS, AX.25, or a
  123.                   number.
  124.  
  125.                The SLIP8250 is not strictly an Ethernet adapter, however
  126.           some software packages (such as KA9Q's NET) support Serial Line
  127.           IP (SLIP).  SLIP must be specially supported because it doesn't
  128.           use ARP and has no hardware addresses prepended to its packets.
  129.           The PDS is not clear on this, but the packet driver does the SLIP
  130.           encoding.
  131.  
  132.           The parameters are as follows.  The driver_class is the class
  133.           that is returned to a client of the packet driver spec in the
  134.           Drive_Info call.  The int_no is the hardware interrupt number,
  135.           defaults to 3 (COM1).  The io_addr is the hardware I/O address,
  136.           defaults to 0x3f8 (COM1).  The baud_rate defaults to 4800 baud.
  137.           The send_buf_size and recv_buf_size default to 3000 each.
  138.  
  139.  
  140.           WD8003E
  141.  
  142.                usage: WD8003E <packet_int_no> <int_level> <io_addr>
  143.           <mem_base>
  144.  
  145.                The WD8003E requires three additional parameters -- the
  146.           hardware interrupt number, the I/O address, and the memory base
  147.           address.  The defaults are 2 and 0x280 and 0xc400.
  148.  
  149.  
  150.           Who?
  151.  
  152.           See the file support.txt for a listing of all the people who
  153.           contributed packet drivers.
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.                                      Appendix A
  161.                    Interrupt usage in the range 0x60 through 0x80
  162.  
  163.  
  164.  
  165.           60 -- -- reserved for user interrupt
  166.           60 -- -- FTP Driver - PC/TCP Packet Driver Specification
  167.           60 01 FF FTP Driver - DRIVER INFO
  168.           60 02 -- FTP Driver - ACCESS TYPE
  169.           60 03 -- FTP Driver - RELEASE TYPE
  170.           60 04 -- FTP Driver - SEND PACKET
  171.           60 05 -- FTP Driver - TERMINATE DRIVER FOR HANDLE
  172.           60 06 -- FTP Driver - GET ADDRESS
  173.           60 07 -- FTP Driver - RESET INTERFACE
  174.           60 11 -- 10-NET - LOCK AND WAIT
  175.           60 12 -- 10-NET - LOCK
  176.           60 13 -- 10-NET - UNLOCK
  177.           60 20 -- FTP Driver - SET RECEIVE MODE
  178.           60 21 -- FTP Driver - GET RECEIVE MODE
  179.           60 24 -- FTP Driver - GET STATISTICS
  180.           61 -- -- reserved for user interrupt
  181.           62 -- -- reserved for user interrupt
  182.           63 -- -- reserved for user interrupt
  183.           64 -- -- reserved for user interrupt
  184.           65 -- -- reserved for user interrupt
  185.           66 -- -- reserved for user interrupt
  186.           67 -- -- LIM EMS
  187.                    ...
  188.           67 DE 00 Virtual Control Program Interface - INSTALLATION CHECK
  189.                    ...
  190.           68 01 -- APPC/PC
  191.                    ...
  192.           69 -- -- unused
  193.           6A -- -- unused
  194.           6B -- -- unused
  195.           6C -- -- system resume vector (CONVERTIBLE)
  196.           6C -- -- DOS 3.2 Realtime Clock update
  197.           6D -- -- VGA - internal
  198.           6E -- -- unused
  199.           6F -- -- Novell NetWare - PCOX API (3270 PC terminal interface)
  200.           6F 00 -- 10-NET - LOGIN
  201.                    ...
  202.           70 -- -- IRQ8 - AT/XT286/PS50+ - REAL-TIME CLOCK
  203.           71 -- -- IRQ9 - AT/XT286/PS50+ - LAN ADAPTER 1
  204.           72 -- -- IRQ10 - AT/XT286/PS50+ - RESERVED
  205.           73 -- -- IRQ11 - AT/XT286/PS50+ - RESERVED
  206.           74 -- -- IRQ12 - PS50+ - MOUSE INTERRUPT
  207.           75 -- -- IRQ13 - AT/XT286/PS50+ - 80287 ERROR
  208.           76 -- -- IRQ14 - AT/XT286/PS50+ - FIXED DISK
  209.           77 -- -- IRQ15 - AT/XT286/PS50+ - RESERVED
  210.           78 -- -- not used
  211.           79 -- -- not used
  212.           7A -- -- Novell NetWare - LOW-LEVEL API
  213.           7A -- -- AutoCAD Device Interface
  214.           7B -- -- not used
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.           7C -- -- not used
  222.           7D -- -- not used
  223.  
  224.           7E -- -- not used
  225.           7F -- -- HDILOAD.EXE - 8514/A VIDEO CONTROLLER INTERFACE
  226.           7F -- -- HLLAPI (High-Level Language API)
  227.           80 -- -- reserved for BASIC
  228.  
  229.