home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- Installation instructions for the packet driver collection
-
-
- Document conventions
-
- All numbers in this document are given in C-style
- representation. Decimal is expressed as 11, hexadecimal is
- expressed as 0x0B, octal is expressed as 013. All reference to
- network hardware addresses (source, destination and multicast)
- and demultiplexing information for the packet headers assumes
- they are represented as they would be in a MAC-level packet
- header being passed to the send_pkt() function.
-
-
- Using the packet drivers
-
- The packet driver must be installed prior to use. Since
- each packet driver takes only a few thousand 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
- interrupt used to communicate with the packet driver. And
- again, because each board is different, the rest of the
- parameters will be different.
-
- All parameters must be specified in C-style representation.
- Decimal is expressed as 11, hexadecimal is expressed as 0x0B,
- octal is expressed as 013. Any numbers that the packet driver
- prints will be in the same notation.
-
- 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.
-
- The -n option is used to convert IPX packets between the
- Ethernet II type 8137 encapsulation used by BYU's PDSHELL IPX
- interface code and the 802.3-style encapsulation normally used
- on Ethernet by Netware servers, shells and boot PROMs. It will
- also convert incoming type 8137 packets to type 8138 so that
- Netware doesn't get confused.
-
- The -d option is used to delay the initialization of the
- Ethernet card until the packet driver is used for the first
- time. See PROMBOOT.NOT for how to use -d and -n in a PROM boot
- environment.
-
- The -w switch is used for Windows. Install the packet driver
- before running MS-Windows. This switch does not prevent Windows
-
-
-
-
-
-
- from swapping your network application out of memory, it simply
- detects when that has happened, and drops the packets on the
- floor.
-
- 3Com 3C501
-
- usage: 3C501 [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The 3c501 driver requires two additional parameters -- the
- hardware interrupt number and the I/O address. The defaults are
- 3 and 0x300.
-
-
- 3Com 3C503
-
- usage: 3C503 [-n] [-d] [-w] packet_int_no [int_level(2-5)
- [io_addr [cable_type]]]
-
- The 3c503 driver requires three additional parameters --
- the hardware interrupt number, the I/O address, and the cable
- type. The 3c503 can be attached to thick or thin Ethernet
- cables, and the selection is made in software. The cable type
- parameter should be zero for thick, and one for thin. The
- defaults are 2, 0x300, and 1 (thin). The 3c503 uses shared
- memory whose address is set by jumpers, but the software can ask
- the board what the address is.
-
-
- 3Com 3c505
-
- usage: 3c505 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The 3c505 driver requires three additional parameters --
- the hardware interrupt number, the I/O address, and the memory
- base address. The defaults are 2 and 0x300 and 0xd000.
-
-
- 3Com 3c507
-
- usage: 3c507 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The 3c507 will determine its parameters by reading the
- board. The only time you would need to specify the parameters
- is when you have multiple 3c507s in the same machine.
- The 3c507 driver will use three additional parameters --
- the hardware interrupt number, the I/O address, and the memory
- base address.
-
-
-
-
-
-
- 3Com 3c523
-
- usage: 3c523 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The 3c523 driver 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.
-
-
- ARCNET
-
- usage: arcnet [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The ARCNET driver requires three additional parameters --
- the hardware interrupt number, the I/O address, and the memory
- base address. The defaults are 5 and 0x2e0 and 0xd800. Note
- that a packet driver client must specifically support ARCNET.
- The only known client is Phil Karn's (KA9Q) networking package,
- NOS.
-
-
- AT&T
-
- usage: at&t [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The AT&T driver 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. This
- driver supports the StarLAN 1, StarLAN 10 NAU, EN100 and StarLAN
- Fiber NAU.
-
-
- D-Link DE-600
-
- usage: de600 [-n] [-d] [-w] packet_int_no
-
- The D-Link Pocket Lan Adapter packet driver requires no
- additional parameters.
-
-
- Digital Equipment Corporation DEPCA
-
- usage: depca [-n] [-d] [-w] <packet_int_no> [<int_no>
- [<io_addr> [<mem_addr>]]]
-
- The DEPCA packet driver requires three additional
- parameters -- the hardware interrupt number, the I/O address,
- and the memory base address. The defaults are 5 and 0x300 and
- 0xd000. The packet driver will resolve the io_addr
- automatically if io_addr is set to '?', e.g.
- depca 0x7e 5 ? 0xd000.
-
-
-
-
-
- Mitel Express
-
- usage: express [-n] [-d] [-w] <packet_int_no> [-n]
- [<driver_class> [<int_no>]]
-
- The Mitel Express packet driver has one optional switch,
- and two optional parameters. The <driver_class> defaults to
- SLIP, and the <int_no> defaults to 7. The -n switch instructs
- card to be an NT. The <driver_class> should be SLIP or a
- number.
-
- HP EtherTwist/Starlan10/ThinLan
-
- usage: hppclan [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The hppclan driver supports 8 and 16 bit HP LAN cards
- based on the National 8390 chip. Earlier HP LAN cards should
- use the 3Com 3C501 driver. The hppclan driver requires two
- additional parameters -- the hardware interrupt number and the
- I/O address. The defaults are 3 and 0x300. On IBM PS/2
- Microchannel machines, the defaults are read from the PS/2
- configuration NOVRAM and additional parameters are not
- normally required.
-
-
- IBM Token Ring
-
- usage: ibmtoken [-n] [-d] [-w] packet_int_no [adapter_no]
-
- The IBM Token Ring packet driver requires one additional
- parameters -- the adapter number. The default is zero. See
- IBMTOKEN.DOC for more information.
-
-
- LocalTalk
-
- usage: localtlk [-n] [-d] [-w] <packetintno> [<IP address>]
-
- The LocalTalk packet driver requires atalk.sys to be
- installed. Because it is not an Ethernet class driver, it
- requires special code in the client. See LOCALTLK.NOT for more
- details.
-
-
- NCR ET-105
-
- usage: ncret105 [-n] [-d] [-w] <packet_int_no> <int_no>
- <base_addr> <Ethernet_address>
-
- The NCR ET-105 driver requires four additional parameters
- -- the hardware interrupt number, the I/O address, the memory
- base address, and the Ethernet address. The Ethernet address
- assigned to any particular board is printed on sticky labels
- that come with the board.
-
-
-
-
-
-
- Novell IPX
-
- usage: ipxpkt [-n] [-d] [-w] packet_int_no
-
- The ipxpkt packet driver simulates Ethernet on Novell IPX
- protocol.
-
-
- BICC Data Networks' ISOLAN 4110 ethernet
-
- usage: isolan [-n] [-d] [-w] packet_int_no [int_no
- [base_addr]]
-
- The BICC Isolan requires three additional parameters --
- the hardware interrupt number and the memory base address. The
- defaults are 2 and 0xb800h.
-
-
- Netbios
-
- usage: nb [-n] [-d] [-w] packet_int_no ip.ad.dr.ess
- [receive queue size]
-
- The netbios packet driver transports IP packets over
- NetBIOS.
-
-
- Novell ne1000
-
- usage: ne1000 [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The ne1000 driver requires two additional parameters --
- the hardware interrupt number and the I/O address. The defaults
- are 3 and 0x300.
-
-
- Novell ne/2
-
- usage: ne2 [-n] [-d] [-w] <packet_int_no>
-
- The ne/2 driver requires no additional parameters.
-
-
- Novell ne2000
-
- usage: ne2000 [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The ne2000 driver requires two additional parameters --
- the hardware interrupt number and the I/O address. The defaults
- are 2 and 0x300.
-
-
-
-
-
-
- Racal-Interlan (Formerly Interlan) NI5010
-
- usage: NI5010 [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The NI5010 driver requires two additional parameters --
- the hardware interrupt number and the I/O address. The defaults
- are 3 and 0x300.
-
-
- Racal-Interlan (Formerly Micom-Interlan) NI5210
-
- usage: ni5210 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The NI5210 driver 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 Interlan 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.
-
-
- Racal-Interlan NI6510
-
- usage: ni6510 [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The ni6510 driver has two additional parameters -- the
- hardware interrupt number and the I/O address. The defaults are
- 2 and auto-sense. These parameters do not need to be set unless
- the auto-sense routine fails, or otherwise disrupts operation of
- your PC.
-
-
- Racal-Interlan (Formerly Micom-Interlan) NI9210
-
- usage: ni9210 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The ni9210 driver 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.
-
-
- NTI 16
-
- usage: nti16 [-n] [-d] [-w] packet_int_no [int_no [io_addr
- [base_addr]]]
-
- The nti16 driver requires three additional parameters --
- the hardware interrupt number, the I/O address, and the memory
- base address. The defaults are 3 and 0x338 and 0xd000.
-
-
-
-
-
-
- SLIP8250
-
- usage: SLIP8250 [-n] [-d] [-w] packet_int_no [-h]
- [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 driver is not strictly an Ethernet adapter,
- however some software packages (such as KA9Q's NET and NCSA
- Telnet) 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 -h flag is included if you wish
- to use hardware handshaking (the packet driver will then suspend
- the transmission of characters while CTS is low). The
- driver_class is the class that is returned to a client of the
- packet driver spec in the driver_info call. The int_no is the
- hardware interrupt number, defaults to 4 (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.
-
-
- Ungermann-Bass NIC-PC
-
- usage: ubnicpc [-n] [-d] [-w] <packet_int_no> <int_no>
- <base_addr>
-
- The UB NIC-PC driver requires two additional parameters, the
- hardware interrupt number, and the memory base address.
-
-
- Ungermann-Bass NIC-PS/2
-
- usage: ubnicps2 [-n] [-d] [-w] <packet_int_no> <int_no>
- <io_addr> <base_addr>
-
- The UB NIC-PS/2 requires three additional parameters -- the
- hardware interrupt number, the I/O address, and the memory base
- address. The defaults are the contents of the POS registers, so
- the only time you would need to use the parameters is if you're
- using two NIC-PS/2 boards in one machine.
-
-
- Tiara Lancard
-
- usage: tiara [-n] [-d] [-w] packet_int_no [int_no
- [io_addr]]
-
- The Tiara driver runs the Tiara LANCARD/E cards, both
- eight and sixteen bit cards. The Tiara driver requires two
- additional parameters, the hardware interrupt number, and the
-
-
-
-
-
-
- I/O port.
-
- Western Digital WD8003 E EBT EB ET/A and E/A
-
- usage: WD8003E [-n] [-d] [-w] packet_int_no [-o]
- [int_level [io_addr [mem_base]]]
-
- The WD8003E driver runs the Western Digital E, EBT, EB,
- ET/A, and E/A Ethernet cards. 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 0xd000. The wd8003 cards do not enable their memory
- until configuration time. Some 386 memory mappers will map
- memory into the area that the card intends to use. You should
- be able to configure your software to leave this area of memory
- alone. Also driver will refuse to map memory into occupied
- memory. The occupied memory test fails on some machines, so the
- optional switch -o allows you to disable the check for occupied
- memory.
-
-
- Errorlevels
-
- Some of the packet drivers return error codes. Some of
- these error codes indicate fatal errors, and some are merely
- warnings. For the moment, you must consult the source to see
- what the errorcodes mean. For example, pktchk returns 0 if a
- packet driver exists at a given address, and 1 if not. You
- might use it in a batch file that only installs a packet driver
- if one is not found.
-
- rem only install the packet driver if there isn't one
- rem already.
- pktchk 0x7e
- if errorlevel 0 goto gotit
- ni5210 0x7e
- :gotit
-
- The "errorlevel" test is true if the errorlevel is less
- than or equal to the parameter.
-
-
- Utility Programs
-
- There are also several utility programs for packet
- drivers:
-
-
- PKTADDR
-
- usage: pktaddr packet_int_no [ethernet_addr]
-
- If the second argument is given, the Ethernet address of
- the given packet driver is set. The Ethernet address is printed
- out.
-
-
-
-
-
-
- PKTALL
-
- usage: pktall packet_int_no
-
- All packets are received and discarded from the given
- packet driver. This program is of most use with PKTMODE and
- TRACE.
-
-
- PKTCHK
-
- usage: pktchk packet_int_no [packet_int_no]
-
- Test for existance of a packet driver. Returns with
- errorlevel 0 if the specified interrupt has a packet driver. If
- the second argument is given, all interrupts in the range are
- checked for a packet driver. If no packet driver is found at
- all, errorlevel 1 is returned.
-
-
- PKTMODE
-
- usage: pktmode packet_int_no [receive_mode]
-
- If the second argument is given, the receive mode of the
- given packet driver is set. A decimal number from the list of
- modes should be used. All the possible modes are printed out.
- Unimplemented modes are marked with "xx", and the current mode
- is marked with "->".
-
-
- PKTMULTI
-
- usage: pktmulti packet_int_no [-f filename | address ...]
-
- The specified addresses are set as allowed multicast
- addresses. If no list of addresses is given, then the current
- list of addresses is printed. The
- addresses may either be specified on the command line, or in a
- file using the -f option. When a file is used, any whitespace
- in the file is ignored.
-
-
- PKTSTAT
-
- usage: pktstat first_int_no [last_int_no]
-
- The statistics for all packet drivers in the given range
- are printed. The default range is 0x60 through 0x80. The
- meanings of the columns are given below.
-
-
- pkt_in is the number of packets ever received by this driver.
- pkt_out is the number of packets ever transmitted by this
- driver.
-
-
-
-
-
-
- byt_in is the number of bytes ever received by this driver.
- byt_out is the number of bytes ever transmitted by this driver.
- pk_drop Packets dropped because there was no handler for that
- Ethernet packet type.
- err_in Dependent upon the packet driver.
- err_out Dependent upon the packet driver.
-
-
- PKTSEND
-
- usage: pktsend packet_int_no [-r] [-f filename | packet]
-
- The specified packet is sent using the specified packet
- driver. The -r option says to repeat sending as fast as
- possible. You shouldn't use this option very often. The packet
- may either be specified on the command line, or in a file using
- the -f option. When a file is used, any whitespace in the file
- is ignored.
-
- PKTRING
-
- usage: pktring [-m] dest_packet_int_no src_packet_int_no
-
- Test two packet drivers loaded on two Ethernet cards in
- the same machine. Sends packets of every possible length using
- the driver located at src_packet_int_no to the driver located at
- dest_packet_int_no. If the -m switch is used, then the various
- receive modes are tested. Note that the multicast tests (modes
- four and five) do not work properly yet.
-
-
- TERMIN
-
- usage: termin [-s] packet_int_no
-
- The specified packet driver is terminated, and its memory
- recovered.
-
- The s-option (stop) is used to prepare for termination.
- The in-use flag for all handles are cleared. This prevents
- upcalls to handlers that are to be removed and also makes it
- possible to later terminate the packet driver even though
- handles are not released. Actually, doing termin -s after prom
- boot is like cutting the branch you are sitting on. Recipe for
- removing packet driver, IPX and NET:
-
-
-
-
-
-
- pktdrvr 0x7c ....
- MARKNET C:IPX&NET3.MRK
- PDIPX
- NET3
- . . .
- NET3 u ; unload netx to avoid
- communication timeout
- TERMIN -s 0x7c ; pkt drvr no longer calls any
- nonexistent rcvrs
- RELNET ipxet3.mrk ; IPX is "removed"
- TERMIN 0x7c ; It is now safe to terminate the
- packet driver
-
-
- TRACE
-
- usage: trace packet_int_no [buffer_size]
-
- Trace is very useful for debugging packet driver
- troubles. Trace lets you trace all transactions between a user
- program and the packet driver. The transactions are stored in a
- memory buffer whose size is set with buffer_size. The default
- size is 10,000 bytes.
-
- When you run trace, it sets itself up and then spawns
- COMMAND.COM so that you can run a network program that uses the
- packet driver. After you quit your network session, you issue
- an "EXIT" command. This returns you to trace, which writes the
- transaction log to "TRACE.OUT". The following program, DUMP,
- interprets TRACE.OUT.
-
-
- DUMP
-
- usage: dump
-
- Interprets the contents of TRACE.OUT as written by TRACE.
-
-
-
-
-
-
- Appendix A
-
- Interrupt usage in the range 0x60 through 0x80, from Ralf
- Brown's interrupt list.
-
-
-
- 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
-