summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/genet.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/genet.4 3.html')
-rw-r--r--static/freebsd/man4/genet.4 3.html142
1 files changed, 142 insertions, 0 deletions
diff --git a/static/freebsd/man4/genet.4 3.html b/static/freebsd/man4/genet.4 3.html
new file mode 100644
index 00000000..c23fd109
--- /dev/null
+++ b/static/freebsd/man4/genet.4 3.html
@@ -0,0 +1,142 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">GENET(4)</td>
+ <td class="head-vol">Device Drivers Manual (aarch64)</td>
+ <td class="head-rtitle">GENET(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">genet</code> &#x2014; <span class="Nd">Raspberry
+ Pi 4 / BCM2711 Gigabit Ethernet controller driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To compile this driver into the kernel, place the following lines
+ in the kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device miibus</code>
+<br/>
+<code class="Cd">device genet</code></div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">genet</code> driver supports the BCM2711
+ Ethernet controller as found on the Raspberry Pi 4.</p>
+<p class="Pp">The following features are supported in the
+ <code class="Nm">genet</code> driver in <span class="Ux">FreeBSD</span>:</p>
+<p class="Pp"></p>
+<ul class="Bl-item Bd-indent Bl-compact">
+ <li>IP/TCP/UDP checksum offload for IPv4 and IPv6</li>
+ <li>10/100/1000Mbps operation in full-duplex mode</li>
+ <li>10/100Mbps operation in half-duplex mode</li>
+</ul>
+<p class="Pp">Note that the operation of transmit checksum offload is coupled
+ for IPv4 and IPv6; to disable it, both must be disabled even if both address
+ families are not in use.</p>
+<p class="Pp">The <code class="Nm">genet</code> driver supports the following
+ media types:</p>
+<dl class="Bl-tag">
+ <dt id="autoselect"><a class="permalink" href="#autoselect"><code class="Cm">autoselect</code></a></dt>
+ <dd>Enable autoselection of the media type and options. The user can manually
+ override the autoselected mode by adding media options to
+ <a class="Xr">rc.conf(5)</a>.</dd>
+ <dt id="10baseT/UTP"><a class="permalink" href="#10baseT/UTP"><code class="Cm">10baseT/UTP</code></a></dt>
+ <dd>Set 10Mbps operation. The <a class="Xr">ifconfig(8)</a>
+ <code class="Cm">mediaopt</code> option can also be used to select either
+ <code class="Cm">full-duplex</code> or <code class="Cm">half-duplex</code>
+ modes.</dd>
+ <dt id="100baseTX"><a class="permalink" href="#100baseTX"><code class="Cm">100baseTX</code></a></dt>
+ <dd>Set 100Mbps (Fast Ethernet) operation. The <a class="Xr">ifconfig(8)</a>
+ <code class="Cm">mediaopt</code> option can also be used to select either
+ <code class="Cm">full-duplex</code> or <code class="Cm">half-duplex</code>
+ modes.</dd>
+ <dt id="1000baseT"><a class="permalink" href="#1000baseT"><code class="Cm">1000baseT</code></a></dt>
+ <dd>Set 1000baseT operation over twisted pair. Only
+ <code class="Cm">full-duplex</code> mode is supported.</dd>
+</dl>
+<p class="Pp">The <code class="Nm">genet</code> driver supports the following
+ media options set with the <code class="Cm">mediaopt</code> option to the
+ <a class="Xr">ifconfig(8)</a> command:</p>
+<dl class="Bl-tag">
+ <dt id="full-duplex"><a class="permalink" href="#full-duplex"><code class="Cm">full-duplex</code></a></dt>
+ <dd>Force full duplex operation.</dd>
+ <dt id="half-duplex"><a class="permalink" href="#half-duplex"><code class="Cm">half-duplex</code></a></dt>
+ <dd>Force half duplex operation.</dd>
+</dl>
+<p class="Pp">For more information on configuring this device, see
+ <a class="Xr">ifconfig(8)</a>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
+<p class="Pp">The <code class="Nm">genet</code> driver supports the Ethernet
+ controller portion of the Broadcom BCM2711 on the Raspberry Pi 4 Model B and
+ related systems. It utilizes the BCM54213PE PHY.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="LOADER_TUNABLES"><a class="permalink" href="#LOADER_TUNABLES">LOADER
+ TUNABLES</a></h1>
+<p class="Pp">Tunables can be set at the <a class="Xr">loader(8)</a> prompt
+ before booting the kernel or stored in <a class="Xr">loader.conf(5)</a>. The
+ following loader tunable variable is available, and is also available as a
+ read-only <a class="Xr">sysctl(8)</a> variable:</p>
+<dl class="Bl-tag">
+ <dt id="hw.genet.rx_batch"><var class="Va">hw.genet.rx_batch</var></dt>
+ <dd>The maximum number of packets to pass to the link-layer input routine at
+ one time. The default is 16.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
+ VARIABLES</a></h1>
+<p class="Pp">The following variable is available as a
+ <a class="Xr">sysctl(8)</a> variable:</p>
+<dl class="Bl-tag">
+ <dt id="hw.genet.tx_hdr_min"><var class="Va">hw.genet.tx_hdr_min</var></dt>
+ <dd>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.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1>
+<p class="Pp">The <code class="Nm">genet</code> driver has no diagnostics that
+ are likely in normal operation. However, when the
+ <code class="Cm">debug</code> option is set with
+ <a class="Xr">ifconfig(8)</a>, most failures that cause packet loss in the
+ transmit and receive paths cause a cryptic diagnostic message naming the
+ failure. These messages generally make sense only when looking at the driver
+ source.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">altq(4)</a>, <a class="Xr">arp(4)</a>,
+ <a class="Xr">miibus(4)</a>, <a class="Xr">netintro(4)</a>,
+ <a class="Xr">ng_ether(4)</a>, <a class="Xr">vlan(4)</a>,
+ <a class="Xr">ifconfig(8)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">genet</code> device driver first appeared in
+ <span class="Ux">FreeBSD 13.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">The <code class="Nm">genet</code> driver was written by
+ <span class="An">Mike Karels</span>
+ &lt;<a class="Mt" href="mailto:karels@freebsd.org">karels@freebsd.org</a>&gt;.
+ Portions are derived from the bcmgenet driver in
+ <span class="Ux">NetBSD</span> by Jared McNeill, and parts of the structure
+ and common code are from the awg driver for the Allwinner EMAC by Jared
+ McNeill.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">December 8, 2021</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>