Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RE(4)			    Kernel Interfaces Manual			 RE(4)

NAME
       re -- RealTek 8139C+/8169/816xS/811xS/8168/810xE/8111 PCI/PCIe Ethernet
       adapter driver

SYNOPSIS
       To  compile  this  driver into the kernel, place	the following lines in
       your kernel configuration file:

	     device miibus
	     device re

       Alternatively, to load the driver as a module at	boot time,  place  the
       following line in loader.conf(5):

	     if_re_load="YES"

DESCRIPTION
       The  re	driver	provides support for various NICs based	on the RealTek
       RTL8139C+, RTL8169, RTL816xS, RTL811xS, RTL8168,	RTL810xE  and  RTL8111
       PCI and PCIe Ethernet controllers.

       NICs based on the 8139C+	and 810xE are capable of 10 and	100Mbps	speeds
       over  CAT5  cable.  NICs	based on the 8169, 816xS, 811xS, 8168 and 8111
       are capable of 10, 100 and 1000Mbps operation.

       All NICs	supported by the re driver have	TCP/IP	checksum  offload  and
       hardware	 VLAN  tagging/insertion  features, and	use a descriptor-based
       DMA mechanism.  They are	also capable of	TCP large send (TCP  segmenta-
       tion offload).

       The  8139C+  is	a single-chip solution combining both a	10/100 MAC and
       PHY.  The 8169 is a 10/100/1000 MAC only, requiring a GMII or  TBI  ex-
       ternal  PHY.   The  816xS, 811xS, 8168 and 8111 are single-chip devices
       containing both a 10/100/1000 MAC and 10/100/1000 copper	 PHY.	Stand-
       alone 10/100/1000 cards are available in	both 32-bit PCI	and 64-bit PCI
       models.	The 8110S is designed for embedded LAN-on-motherboard applica-
       tions.

       The  8169, 8169S	and 8110S also support jumbo frames, which can be con-
       figured via the interface MTU setting.  The MTU	is  limited  to	 7422,
       since  the chip cannot transmit larger frames.  Selecting an MTU	larger
       than 1500 bytes with the	ifconfig(8) utility configures the adapter  to
       receive and transmit jumbo frames.

       The re driver supports the following media types:

       autoselect   Enable  autoselection  of the media	type and options.  The
		    user can manually override the autoselected	mode by	adding
		    media options to rc.conf(5).

       10baseT/UTP  Set	10Mbps operation.  The ifconfig(8) mediaopt option can
		    also be used to select either full-duplex  or  half-duplex
		    modes.

       100baseTX    Set	 100Mbps  (Fast	 Ethernet) operation.  The ifconfig(8)
		    mediaopt  option  can  also	 be  used  to  select	either
		    full-duplex	or half-duplex modes.

       1000baseTX   Set	 1000baseTX  operation over twisted pair.  The RealTek
		    gigE chips support 1000Mbps	in full-duplex mode only.

       The re driver supports the following media options:

       full-duplex  Force full duplex operation.

       half-duplex  Force half duplex operation.

       For more	information on configuring this	device,	see ifconfig(8).

HARDWARE
       The re driver supports RealTek RTL8139C+, RTL8169, RTL816xS,  RTL811xS,
       RTL8168,	 RTL810xE and RTL8111 based Fast Ethernet and Gigabit Ethernet
       adapters	including:

          Alloy Computer Products EtherGOLD 1439E 10/100 (8139C+)
          Compaq Evo N1015v Integrated	Ethernet (8139C+)
          Corega CG-LAPCIGT Gigabit Ethernet (8169S)
          D-Link DGE-528(T) Gigabit Ethernet (8169S)
          Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S)
          LevelOne GNC-0105T (8169S)
          LinkSys EG1032 (32-bit PCI)
          PLANEX COMMUNICATIONS Inc. GN-1200TC	(8169S)
          TP-Link TG-3468 v2 Gigabit Ethernet (8168)
          USRobotics USR997902	Gigabit	Ethernet (8169S)
          Xterasys XN-152 10/100/1000 NIC (8169)

LOADER TUNABLES
       Tunables	can be set at the loader(8) prompt before booting  the	kernel
       or stored in loader.conf(5).

       hw.re.intr_filter
	       This  tunable makes driver use interrupt	filter handler on con-
	       trollers	that support MSI/MSI-X capability.   If	 MSI/MSI-X  is
	       disabled	by administrator this tunable has no effect and	driver
	       will  use  interrupt filter handler.  The default value is 0 to
	       use interrupt thread handler.

       hw.re.msi_disable
	       This tunable disables MSI support  on  the  Ethernet  hardware.
	       The default value is 0.

       hw.re.msix_disable
	       This  tunable  disables MSI-X support on	the Ethernet hardware.
	       The default value is 0.

       hw.re.prefer_iomap
	       This tunable controls which register mapping should be used  on
	       the  specified device.  A non-zero value	enables	I/O space reg-
	       ister mapping.  The default value is 0 to use memory space reg-
	       ister mapping.

SYSCTL VARIABLES
       The following variables are available as	both sysctl(8)	variables  and
       loader(8) tunables:

       dev.re.%d.int_rx_mod
	       Maximum amount of time to delay receive interrupt processing in
	       units  of  1us.	 The accepted range is 0 to 65,	the default is
	       65(65us).  Value	0 completely disables  the  interrupt  modera-
	       tion.   The  interface need to be brought down and up again be-
	       fore a change takes effect.

DIAGNOSTICS
       re%d: couldn't map memory  A fatal initialization error has occurred.

       re%d: couldn't map ports	 A fatal initialization	error has occurred.

       re%d: couldn't map interrupt  A	fatal  initialization  error  has  oc-
       curred.

       re%d: no	memory for softc struct!  The driver failed to allocate	memory
       for per-device instance information during initialization.

       re%d: failed to enable memory mapping!  The driver failed to initialize
       PCI  shared  memory mapping.  This might	happen if the card is not in a
       bus-master slot.

       re%d: no	memory for jumbo buffers!  The driver failed to	allocate  mem-
       ory for jumbo frames during initialization.

       re%d:  watchdog	timeout	 The device has	stopped	responding to the net-
       work, or	there is a problem with	the network connection (cable).

SEE ALSO
       altq(4),	 arp(4),  miibus(4),  netintro(4),  ng_ether(4),   polling(4),
       rgephy(4), vlan(4), ifconfig(8)

       RealTek	 Semiconductor	 RTL8139C+,  RTL8169,  RTL8169S	 and  RTL8110S
       datasheets, https://www.realtek.com.

HISTORY
       The re device driver first appeared in FreeBSD 5.2.

AUTHORS
       The re driver was written by Bill Paul <wpaul@windriver.com>.

BUGS
       The Xterasys XN-152 32-bit PCI NIC, which uses the RTL8169 MAC and Mar-
       vell 88E1000 PHY, has a defect that causes DMA corruption if the	 board
       is  plugged  into  a 64-bit PCI slot.  The defect lies in the board de-
       sign, not the chip itself: the PCI REQ64# and ACK64#  lines  should  be
       pulled  high,  but  they	 are not.  The result is that the 8169 chip is
       tricked into performing 64-bit DMA transfers even though	a 64-bit  data
       path between the	NIC and	the bus	does not actually exist.

       Unfortunately,  it is not possible to correct this problem in software,
       however it is possible to detect	it.  When the re driver	is loaded,  it
       will  run  a  diagnostic	 routine designed to validate DMA operation by
       placing the chip	in digital  loopback  mode  and	 initiating  a	packet
       transmission.   If  the	card  functions	properly, the transmitted data
       will be echoed back unmodified.	If the echoed  data  is	 corrupt,  the
       driver  will print an error message on the console and abort the	device
       attach.	The user should	ensure the NIC is installed in	a  32-bit  PCI
       slot to avoid this problem.

       The  RealTek  8169,  8169S and 8110S chips appear to only be capable of
       transmitting jumbo frames up to 7.5K in size.

       If this driver is causing problems then an updated driver from the ven-
       dor can be found	in ports under net/realtek-re-kmod.

FreeBSD	13.2		       November	7, 2022				 RE(4)

NAME | SYNOPSIS | DESCRIPTION | HARDWARE | LOADER TUNABLES | SYSCTL VARIABLES | DIAGNOSTICS | SEE ALSO | HISTORY | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=re&sektion=4&manpath=FreeBSD+14.1-RELEASE+and+Ports>

home | help