*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> i386/rdp (4)              



NAME    [Toc]    [Back]

     rdp -- Ethernet driver for RealTek RTL 8002 pocket ethernet

SYNOPSIS    [Toc]    [Back]

     device rdp0 at isa? port 0x378 irq 7
     device rdp0 at isa? port 0x378 irq 7 flags 0x2

DESCRIPTION    [Toc]    [Back]

     The rdp device driver supports RealTek RTL 8002-based pocket ethernet
     adapters, connected to a standard parallel port.

     These adapters seem to belong to the cheaper choices among pocket ethernet
 adapters.  The RTL 8002 is the central part, containing an interface
     to BNC and UTP (10 Mbit/s) media, as well as a host interface that is
     designed to talk to standard parallel printer adapters.  For the full
     ethernet adapter to work, it is completed by an external RAM used as the
     Tx and Rx packet buffer (16 K x 4 for the RTL 8002), and an EEPROM to
     hold the assigned ethernet hardware address.  For the RTL 8002, the EEPROM
 can be either a standard 93C46 serial EEPROM (which seems to be a
     common choice), or a 74S288 parallel one.	The latter variant needs the
     device configuration flag 0x1 in order to work.

     Since standard printer adapters seem to vary wildly among their timing
     requirements, there are currently two possible choices for the way data
     are being exchanged between the pocket ethernet adapter and the printer
     interface.  The default is the fastest mode the RTL 8002 supports.  If
     the printer adapter to use is particularly slow (which can be noticed by
     watching the ethernet wire for crippled packets, or by not seeing correctly
 received packets), the configuration flag 0x2 can be set in order
     to throttle down the rdp driver.  Note that in fast mode, the data rate
     is asymmetric, sending is a little faster (up to two times) than receiving.
  Rates like 150 KB/s for sending and 80 KB/s for receiving are common.
  For slow mode, both rates are about the same, and in the range of
     50 KB/s through 70 KB/s.  As always, your mileage may vary.

     In case the adapter isn't recognized at boot-time, setting the
     bootverbose flag (`-v') might help in diagnosing the reason.  Since the
     RTL 8002 requires the availability of a working interrupt for the printer
     adapter (unlike the ppc(4) driver), the rdp driver fails to attach if the
     ethernet adapter cannot assert an interrupt at probe time.

     The RTL 8002 doesn't support (hardware) multicast.

     The rdp driver internally sets a flag so it gets probed very early.  This
     way, it is possible to configure both, an rdp driver as well as a ppc(4)
     driver into the same kernel.  If no RTL 8002 hardware is present, probing
     will eventually detect the printer driver.

DIAGNOSTICS    [Toc]    [Back]

	   rdp0: configured IRQ (7) cannot be asserted by device

     The probe routine was unable to get the RTL 8002 asserting an interrupt
     request through the printer adapter.

	   rdp0: failed to find a valid hardware address in EEPROM

     Since there doesn't seem to be a standard place for storing the hardware
     ethernet address within the EEPROM, the rdp driver walks the entire
     (serial) EEPROM contents until it finds something that looks like a valid
     ethernet hardware address, based on the IEEE's OUI assignments.  This
     diagnostic tells the driver was unable to find one.  Note: it might as
     well be the current adapter is one of the rare examples with a 74S288
     EEPROM, so `flags 0x1' should be tried.

	   rdp0: Device timeout

     After initiating a packet transmission, the ethernet adapter didn't
     return a notification of the (successful or failed) transmission.	The
     hardware is likely to be wedged, and is being reset.

SEE ALSO    [Toc]    [Back]

     ng_ether(4), ppc(4), ifconfig(8)

AUTHORS    [Toc]    [Back]

     This driver was written by Jorg Wunsch, based on RealTek's packet driver
     for the RTL 8002, as well as on some description of the successor chip,
     RTL 8012, gracefully provided by RealTek.

BUGS    [Toc]    [Back]

     There are certainly many of them.

     Since the rdp driver wants to probe its hardware at boot-time, the
     adapter needs to be present then in order to be detected.

     Only two out of the eight different speed modes RealTek's packet driver
     could handle are implemented.  Thus there might be hardware where even
     the current slow mode is too fast.

     There should be a DMA transfer test in the probe routine that figures out
     the usable mode automatically.

     Abusing a standard printer interface for data exchange is error-prone.
     Occasional stuck hardware shouldn't surprise too much, hopefully the
     timeout routine will catch these cases.  Flood-pinging is a good example
     of triggering this problem.  Likewise, albeit BPF is of course supported,
     it's certainly a bad idea attempting to watch a crowded ethernet wire
     using promiscuous mode.

     Since the RTL 8002 has only 4 KB of Rx buffer space (2 x 2 KB are used as
     Tx buffers), the usual NFS deadlock with large packets arriving too
     quickly could happen if a machine using the rdp driver NFS-mounts some
     fast server with the standard NFS blocksize of 8 KB.  (Since NFS can only
     retransmit entire NFS packets, the same packet will be retransmitted over
     and over again.)

     The heuristic to find out the ethernet hardware address from the EEPROM
     sucks, but seems to be the only sensible generic way that doesn't depend
     on the actual location in EEPROM.	RealTek's sample driver placed it
     directly at address 0, other vendors picked something like 15, with other
     junk in front of it that must not be confused with a valid ethernet

     The driver should support the successor chip RTL 8012, which seems to be
     available and used these days.  (The RTL 8002 is already somewhat aged,
     around 1992/93.)  The RTL 8012 offers support for advanced printer
     adapter hardware, like bidirectional SPP, or EPP, which could speed up
     the transfers substantially.  The RTL 8012 also supports hardware multicast,
 and has the ability to address 64 K x 4 packet buffer RAM.

     The driver should be layered upon the ppc driver, instead of working
     standalone, and should be available as a loadable module, so the device
     probing can be deferred until the pocket ethernet adapter has actually
     been attached.

FreeBSD 5.2.1		       December 21, 1998		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
url OpenBSD Realtek RTL8150L USB Ethernet driver
rlphy OpenBSD Realtek 8139 internal Ethernet PHY driver
rl OpenBSD Realtek 8129/8139 Fast Ethernet driver
rue FreeBSD RealTek RTL8150 USB To Fast Ethernet controller driver
re OpenBSD Realtek 8169/8169S/8110S PCI Ethernet adapter driver
if_rl FreeBSD RealTek 8129/8139 Fast Ethernet device driver
rl FreeBSD RealTek 8129/8139 Fast Ethernet device driver
re FreeBSD RealTek 8139C+/8169/8169S/8110S PCI ethernet adapter driver
ae OpenBSD Ethernet driver for DP8390-based NuBus Ethernet boards
mc OpenBSD Ethernet driver for Am79C940 (MACE) on-board Ethernet
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service