summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/jme.4 3.html
blob: f9142b19a47ea7911206bcf079c0597d75e23f37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<table class="head">
  <tr>
    <td class="head-ltitle">JME(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">JME(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">jme</code> &#x2014; <span class="Nd">JMicron
    Gigabit/Fast Ethernet 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 your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device miibus</code>
<br/>
<code class="Cd">device jme</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
    the following line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>if_jme_load=&quot;YES&quot;</pre>
</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">jme</code> device driver provides support for
    JMicron JMC25x PCI Express Gigabit Ethernet controllers and JMicron JMC26x
    PCI Express Fast Ethernet controllers.</p>
<p class="Pp">All LOMs supported by the <code class="Nm">jme</code> driver have
    TCP/UDP/IP checksum offload for both transmit and receive, TCP segmentation
    offload (TSO), hardware VLAN tag stripping/insertion features, Wake On Lan
    (WOL) and an interrupt coalescing/moderation mechanism as well as a 64-bit
    multicast hash filter.</p>
<p class="Pp">The JMC25x also supports Jumbo Frames (up to 9216 bytes), which
    can be configured via the interface MTU setting. Selecting an MTU larger
    than 1500 bytes with the <a class="Xr">ifconfig(8)</a> utility configures
    the adapter to receive and transmit Jumbo Frames.</p>
<p class="Pp">The <code class="Nm">jme</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.</dd>
  <dt id="100baseTX"><a class="permalink" href="#100baseTX"><code class="Cm">100baseTX</code></a></dt>
  <dd>Set 100Mbps (Fast Ethernet) operation.</dd>
  <dt id="1000baseTX"><a class="permalink" href="#1000baseTX"><code class="Cm">1000baseTX</code></a></dt>
  <dd>Set 1000baseTX operation over twisted pair.</dd>
</dl>
<p class="Pp">The <code class="Nm">jme</code> driver supports the following
    media options:</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">jme</code> device driver provides support for
    the following Ethernet controllers:</p>
<p class="Pp"></p>
<ul class="Bl-bullet Bl-compact">
  <li>JMicron JMC250 PCI Express Gigabit Ethernet controller</li>
  <li>JMicron JMC251 PCI Express Gigabit Ethernet with Card Read Host
    controller</li>
  <li>JMicron JMC260 PCI Express Fast Ethernet controller</li>
  <li>JMicron JMC261 PCI Express Gigabit Ethernet with Card Read Host
    controller</li>
</ul>
</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>.</p>
<dl class="Bl-tag">
  <dt id="hw.jme.msi_disable"><var class="Va">hw.jme.msi_disable</var></dt>
  <dd>This tunable disables MSI support on the Ethernet hardware. The default
      value is 0.</dd>
  <dt id="hw.jme.msix_disable"><var class="Va">hw.jme.msix_disable</var></dt>
  <dd>This tunable disables MSI-X support on the Ethernet hardware. The default
      value is 0.</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 variables are available as both
    <a class="Xr">sysctl(8)</a> variables and <a class="Xr">loader(8)</a>
    tunables:</p>
<dl class="Bl-tag">
  <dt id="dev.jme._d.tx_coal_to"><var class="Va">dev.jme.%d.tx_coal_to</var></dt>
  <dd>This variable sets the maximum amount of time to delay before sending a Tx
      completion interrupt, in microseconds. The accepted range is 1 to 65535;
      the default is 100 (100us).</dd>
  <dt id="dev.jme._d.tx_coal_pkt"><var class="Va">dev.jme.%d.tx_coal_pkt</var></dt>
  <dd>This variable sets the maximum number of outgoing packets which may be
      coalesced together into a single Tx completion interrupt. The accepted
      range is 1 to 255; the default is 8.</dd>
  <dt id="dev.jme._d.rx_coal_to"><var class="Va">dev.jme.%d.rx_coal_to</var></dt>
  <dd>This variable sets the maximum amount of time to wait for additional
      packets to arrive (for possible packet coalescing) before firing an Rx
      completion interrupt, in microseconds. The accepted range is 1 to 65535;
      the default is 100 (100us).</dd>
  <dt id="dev.jme._d.rx_coal_pkt"><var class="Va">dev.jme.%d.rx_coal_pkt</var></dt>
  <dd>This variable sets the maximum number of incoming packets which may be
      coalesced into a single Rx completion interrupt. The accepted range is 1
      to 255; the default is 2.</dd>
  <dt id="dev.jme._d.process_limit"><var class="Va">dev.jme.%d.process_limit</var></dt>
  <dd>This variable sets the maximum number of events that will be processed in
      a single batch before the handler is requeued into a taskqueue. The
      accepted range is 10 to 255; the default value is 128 events. The
      interface does not need to be brought down and up again before a change
      takes effect.</dd>
</dl>
</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">jme</code> driver was written by
    <span class="An">Pyun YongHyeon</span>
    &lt;<a class="Mt" href="mailto:yongari@FreeBSD.org">yongari@FreeBSD.org</a>&gt;.
    It first appeared in <span class="Ux">FreeBSD 7.1</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp">The <code class="Nm">jme</code> driver tries to avoid unnecessary
    station address reprogramming for controllers that use eFuse to store
    station address. The number of times that eFuse can be safely reprogrammed
    is 16 at most. In addition, there is no way to restore the factory default
    station address once the station address has been reprogrammed via eFuse. It
    is highly recommended not to reprogram the station address and it is the
    responsibility of the administrator to store the original station address in
    a safe place when station address is changed.</p>
<p class="Pp">There are two known 1000baseT link establishment issues with
    JMC25x. If the full mask revision number of JMC25x controller is less than
    or equal to 4 and the link partner enabled the IEEE 802.3az Energy Efficient
    Ethernet feature, the controller will not be able to establish a 1000baseT
    link. Also, if the length of the cable is longer than 120 meters, the
    controller can not establish a 1000baseT link. The known workaround for
    these issues is to force manual link configuration with 100baseTX instead of
    relying on auto-negotiation. The full mask revision number of controller can
    be checked with the verbose kernel boot option. Use the lower nibble of the
    chip revision number to get the full mask revision of the controller.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">March 4, 2012</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>