home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
lan
/
drivrs30
/
drivers.doc
< prev
next >
Wrap
Text File
|
1989-05-19
|
8KB
|
229 lines
User documentation for the packet driver collection
Russell Nelson
Clarkson University
Potsdam, NY 13676
nelson@clutx.clarkson.edu
Why?
Every PC Ethernet board is different. The 3c501 was, for
some time, the most popular board, and would have become the
defacto standard but for its poor performance. By the time 3Com
created a board with acceptable performance, so had many others,
and 3Com lost its lead. FTP Software, in order to support each
of these boards without losing its collective mind, created the
Packet Driver Spec (PDS).
What?
Some boards use DMA, some use programmed I/O, and some use
shared memory. The PDS masks the differences between these
boards by defining a software interface to the boards. This
software interface is a software interrupt in the range between
0x60 (hex) and 0x80.
How?
The packet driver must be installed prior to use. Since
each packet driver takes only 1800 bytes, this is best done in
your autoexec.bat. Since the Ethernet boards typically have
jumpers on board, the packet driver must be informed of the
values of these jumpers (auto-configure is possible, but can
disturb other boards). The first parameter is the software in-
terrupt used to communicate with the packet driver. And again,
because each board is different, the rest of the parameters will
be different.
Before installing the packet driver, you must choose a software
interrupt number in the range between 0x60 and 0x80. Some of
these interrupts are used for other purposes, so your first
choice may not work. See Appendix A for the section of Ralf
Brown's interrupt list between 0x60 and 0x80.
Running a packet driver with no specifications will give a usage
message. The parameters for each packet driver are documented
below.
3C501
usage: 3C501 <packet_int_no> <int_no> <io_addr>
The 3c501 requires two additional parameters -- the
hardware interrupt number and the I/O address. The defaults are
3 and 0x300.
3C503
usage: 3C503 <packet_int_no> <int_level(2-5)> <io_addr>
The 3c503 requires two additional parameters -- the
hardware interrupt number and the I/O address. The defaults are
2 and 0x300. The 3c503 uses shared memory whose address is set
by jumpers, but the software can ask the board what the address
is.
3c523
usage: 3c523 <packet_int_no> <int_no> <io_addr> <base_addr>
The 3c523 requires three additional parameters -- the
hardware interrupt number, the I/O address, and the memory base
address. The defaults are 3 and 0x300 and 0xc000.
NI5010
usage: NI5010 <packet_int_no> <int_no> <io_addr>
The NI5010 requires two additional parameters -- the
hardware interrupt number and the I/O address. The defaults are
3 and 0x300.
NI5210
usage: ni5210 <packet_int_no> <int_no> <io_addr> <base_addr>
The NI5210 requires three additional parameters -- the
hardware interrupt number, the I/O address, and the memory base
address. The defaults are 2 and 0x360 and 0xd000. Note that In-
terlan sets the default memory base to 0xa000, which is
brain-damaged, because that area of memory is specifically
reserved for video adapters, and in fact the EGA and VGA use it.
SLIP8250
usage: SLIP8250 packet_int_no [driver_class] [int_no]
[io_addr] [baud_rate] [send_buf_size] [recv_buf_size]
The driver_class should be SLIP, KISS, AX.25, or a
number.
The SLIP8250 is not strictly an Ethernet adapter, however
some software packages (such as KA9Q's NET) support Serial Line
IP (SLIP). SLIP must be specially supported because it doesn't
use ARP and has no hardware addresses prepended to its packets.
The PDS is not clear on this, but the packet driver does the SLIP
encoding.
The parameters are as follows. The driver_class is the class
that is returned to a client of the packet driver spec in the
Drive_Info call. The int_no is the hardware interrupt number,
defaults to 3 (COM1). The io_addr is the hardware I/O address,
defaults to 0x3f8 (COM1). The baud_rate defaults to 4800 baud.
The send_buf_size and recv_buf_size default to 3000 each.
WD8003E
usage: WD8003E <packet_int_no> <int_level> <io_addr>
<mem_base>
The WD8003E requires three additional parameters -- the
hardware interrupt number, the I/O address, and the memory base
address. The defaults are 2 and 0x280 and 0xc400.
Who?
See the file support.txt for a listing of all the people who
contributed packet drivers.
Appendix A
Interrupt usage in the range 0x60 through 0x80
60 -- -- reserved for user interrupt
60 -- -- FTP Driver - PC/TCP Packet Driver Specification
60 01 FF FTP Driver - DRIVER INFO
60 02 -- FTP Driver - ACCESS TYPE
60 03 -- FTP Driver - RELEASE TYPE
60 04 -- FTP Driver - SEND PACKET
60 05 -- FTP Driver - TERMINATE DRIVER FOR HANDLE
60 06 -- FTP Driver - GET ADDRESS
60 07 -- FTP Driver - RESET INTERFACE
60 11 -- 10-NET - LOCK AND WAIT
60 12 -- 10-NET - LOCK
60 13 -- 10-NET - UNLOCK
60 20 -- FTP Driver - SET RECEIVE MODE
60 21 -- FTP Driver - GET RECEIVE MODE
60 24 -- FTP Driver - GET STATISTICS
61 -- -- reserved for user interrupt
62 -- -- reserved for user interrupt
63 -- -- reserved for user interrupt
64 -- -- reserved for user interrupt
65 -- -- reserved for user interrupt
66 -- -- reserved for user interrupt
67 -- -- LIM EMS
...
67 DE 00 Virtual Control Program Interface - INSTALLATION CHECK
...
68 01 -- APPC/PC
...
69 -- -- unused
6A -- -- unused
6B -- -- unused
6C -- -- system resume vector (CONVERTIBLE)
6C -- -- DOS 3.2 Realtime Clock update
6D -- -- VGA - internal
6E -- -- unused
6F -- -- Novell NetWare - PCOX API (3270 PC terminal interface)
6F 00 -- 10-NET - LOGIN
...
70 -- -- IRQ8 - AT/XT286/PS50+ - REAL-TIME CLOCK
71 -- -- IRQ9 - AT/XT286/PS50+ - LAN ADAPTER 1
72 -- -- IRQ10 - AT/XT286/PS50+ - RESERVED
73 -- -- IRQ11 - AT/XT286/PS50+ - RESERVED
74 -- -- IRQ12 - PS50+ - MOUSE INTERRUPT
75 -- -- IRQ13 - AT/XT286/PS50+ - 80287 ERROR
76 -- -- IRQ14 - AT/XT286/PS50+ - FIXED DISK
77 -- -- IRQ15 - AT/XT286/PS50+ - RESERVED
78 -- -- not used
79 -- -- not used
7A -- -- Novell NetWare - LOW-LEVEL API
7A -- -- AutoCAD Device Interface
7B -- -- not used
7C -- -- not used
7D -- -- not used
7E -- -- not used
7F -- -- HDILOAD.EXE - 8514/A VIDEO CONTROLLER INTERFACE
7F -- -- HLLAPI (High-Level Language API)
80 -- -- reserved for BASIC