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

FreeBSD Manual Pages

  
 
  

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

NAME
       genet --	Raspberry Pi 4 / BCM2711 Gigabit Ethernet controller driver

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

	     device miibus
	     device genet

DESCRIPTION
       The genet driver	supports the BCM2711 Ethernet controller as  found  on
       the Raspberry Pi	4.

       The following features are supported in the genet driver	in FreeBSD:

	     IP/TCP/UDP	checksum offload for IPv4 and IPv6
	     10/100/1000Mbps operation in full-duplex mode
	     10/100Mbps	operation in half-duplex mode

       Note  that  the	operation  of transmit checksum	offload	is coupled for
       IPv4 and	IPv6; to disable it, both must be disabled even	 if  both  ad-
       dress families are not in use.

       The genet 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.

       1000baseT    Set	  1000baseT   operation	  over	 twisted  pair.	  Only
		    full-duplex	mode is	supported.

       The genet driver	supports the following	media  options	set  with  the
       mediaopt	option to the ifconfig(8) command:

       full-duplex  Force full duplex operation.

       half-duplex  Force half duplex operation.

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

HARDWARE
       The genet driver	supports the Ethernet controller portion of the	Broad-
       com BCM2711 on the Raspberry Pi 4 Model B and related systems.  It uti-
       lizes the BCM54213PE PHY.

LOADER TUNABLES
       Tunables	 can  be set at	the loader(8) prompt before booting the	kernel
       or stored in loader.conf(5).  The following loader tunable variable  is
       available, and is also available	as a read-only sysctl(8) variable:

       hw.genet.rx_batch
	       The  maximum  number of packets to pass to the link-layer input
	       routine at one time.  The default is 16.

SYSCTL VARIABLES
       The following variable is available as a	sysctl(8) variable:

       hw.genet.tx_hdr_min
	       When the	driver is given	an output packet in a buffer chain  in
	       which  the  first buffer	contains only the Ethernet header, the
	       number of bytes of the packet to	add to the Ethernet header  in
	       the first buffer.  Certain packets may be lost if this value is
	       too  small.  The	default	value is 56, and is sufficient for the
	       observed	cases to date.

DIAGNOSTICS
       The genet driver	has no diagnostics that	are likely  in	normal	opera-
       tion.   However,	 when  the  debug option is set	with ifconfig(8), most
       failures	that cause packet loss in the transmit and receive paths cause
       a cryptic diagnostic message naming the failure.	 These messages	gener-
       ally make sense only when looking at the	driver source.

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

HISTORY
       The genet device	driver first appeared in FreeBSD 13.0.

AUTHORS
       The genet driver	was written by Mike Karels <karels@freebsd.org>.  Por-
       tions  are derived from the bcmgenet driver in NetBSD by	Jared McNeill,
       and parts of the	structure and common code are from the awg driver  for
       the Allwinner EMAC by Jared McNeill.

FreeBSD	14.3		       December	8, 2021			      GENET(4)

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

home | help