xref: /freebsd/share/man/man4/jme.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1bc23fe19SPyun YongHyeon.\" Copyright (c) 2008 Pyun YongHyeon
2bc23fe19SPyun YongHyeon.\" All rights reserved.
3bc23fe19SPyun YongHyeon.\"
4bc23fe19SPyun YongHyeon.\" Redistribution and use in source and binary forms, with or without
5bc23fe19SPyun YongHyeon.\" modification, are permitted provided that the following conditions
6bc23fe19SPyun YongHyeon.\" are met:
7bc23fe19SPyun YongHyeon.\" 1. Redistributions of source code must retain the above copyright
8bc23fe19SPyun YongHyeon.\"    notice, this list of conditions and the following disclaimer.
9bc23fe19SPyun YongHyeon.\" 2. Redistributions in binary form must reproduce the above copyright
10bc23fe19SPyun YongHyeon.\"    notice, this list of conditions and the following disclaimer in the
11bc23fe19SPyun YongHyeon.\"    documentation and/or other materials provided with the distribution.
12bc23fe19SPyun YongHyeon.\"
13bc23fe19SPyun YongHyeon.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14bc23fe19SPyun YongHyeon.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15bc23fe19SPyun YongHyeon.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16bc23fe19SPyun YongHyeon.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17bc23fe19SPyun YongHyeon.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18bc23fe19SPyun YongHyeon.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19bc23fe19SPyun YongHyeon.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20bc23fe19SPyun YongHyeon.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21bc23fe19SPyun YongHyeon.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22bc23fe19SPyun YongHyeon.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23bc23fe19SPyun YongHyeon.\" SUCH DAMAGE.
24bc23fe19SPyun YongHyeon.\"
25b269e8dcSEitan Adler.Dd March 4, 2012
26bc23fe19SPyun YongHyeon.Dt JME 4
27bc23fe19SPyun YongHyeon.Os
28bc23fe19SPyun YongHyeon.Sh NAME
29bc23fe19SPyun YongHyeon.Nm jme
30bc23fe19SPyun YongHyeon.Nd JMicron Gigabit/Fast Ethernet driver
31bc23fe19SPyun YongHyeon.Sh SYNOPSIS
32bc23fe19SPyun YongHyeonTo compile this driver into the kernel,
33bc23fe19SPyun YongHyeonplace the following lines in your
34bc23fe19SPyun YongHyeonkernel configuration file:
35bc23fe19SPyun YongHyeon.Bd -ragged -offset indent
36bc23fe19SPyun YongHyeon.Cd "device miibus"
37bc23fe19SPyun YongHyeon.Cd "device jme"
38bc23fe19SPyun YongHyeon.Ed
39bc23fe19SPyun YongHyeon.Pp
40bc23fe19SPyun YongHyeonAlternatively, to load the driver as a
41bc23fe19SPyun YongHyeonmodule at boot time, place the following line in
42bc23fe19SPyun YongHyeon.Xr loader.conf 5 :
43bc23fe19SPyun YongHyeon.Bd -literal -offset indent
44bc23fe19SPyun YongHyeonif_jme_load="YES"
45bc23fe19SPyun YongHyeon.Ed
46bc23fe19SPyun YongHyeon.Sh DESCRIPTION
47bc23fe19SPyun YongHyeonThe
48bc23fe19SPyun YongHyeon.Nm
4949981fbaSPyun YongHyeondevice driver provides support for JMicron JMC25x PCI Express
5049981fbaSPyun YongHyeonGigabit Ethernet controllers and JMicron JMC26x PCI Express Fast
51bc23fe19SPyun YongHyeonEthernet controllers.
52bc23fe19SPyun YongHyeon.Pp
53bc23fe19SPyun YongHyeonAll LOMs supported by the
54bc23fe19SPyun YongHyeon.Nm
55bc23fe19SPyun YongHyeondriver have TCP/UDP/IP checksum offload for both transmit and receive,
56bc23fe19SPyun YongHyeonTCP segmentation offload (TSO), hardware VLAN tag stripping/insertion
57bc23fe19SPyun YongHyeonfeatures, Wake On Lan (WOL) and an interrupt coalescing/moderation
58bc23fe19SPyun YongHyeonmechanism as well as a 64-bit multicast hash filter.
59bc23fe19SPyun YongHyeon.Pp
6049981fbaSPyun YongHyeonThe JMC25x also supports Jumbo Frames (up to 9216 bytes), which can be
61bc23fe19SPyun YongHyeonconfigured via the interface MTU setting.
62bc23fe19SPyun YongHyeonSelecting an MTU larger than 1500 bytes with the
63bc23fe19SPyun YongHyeon.Xr ifconfig 8
64bc23fe19SPyun YongHyeonutility configures the adapter to receive and transmit Jumbo Frames.
65bc23fe19SPyun YongHyeon.Pp
66bc23fe19SPyun YongHyeonThe
67bc23fe19SPyun YongHyeon.Nm
68bc23fe19SPyun YongHyeondriver supports the following media types:
69bc23fe19SPyun YongHyeon.Bl -tag -width ".Cm 10baseT/UTP"
70bc23fe19SPyun YongHyeon.It Cm autoselect
71bc23fe19SPyun YongHyeonEnable autoselection of the media type and options.
72bc23fe19SPyun YongHyeonThe user can manually override
73bc23fe19SPyun YongHyeonthe autoselected mode by adding media options to
74bc23fe19SPyun YongHyeon.Xr rc.conf 5 .
75bc23fe19SPyun YongHyeon.It Cm 10baseT/UTP
76bc23fe19SPyun YongHyeonSet 10Mbps operation.
77bc23fe19SPyun YongHyeon.It Cm 100baseTX
78bc23fe19SPyun YongHyeonSet 100Mbps (Fast Ethernet) operation.
79bc23fe19SPyun YongHyeon.It Cm 1000baseTX
80bc23fe19SPyun YongHyeonSet 1000baseTX operation over twisted pair.
81bc23fe19SPyun YongHyeon.El
82bc23fe19SPyun YongHyeon.Pp
83bc23fe19SPyun YongHyeonThe
84bc23fe19SPyun YongHyeon.Nm
85bc23fe19SPyun YongHyeondriver supports the following media options:
86bc23fe19SPyun YongHyeon.Bl -tag -width ".Cm full-duplex"
87bc23fe19SPyun YongHyeon.It Cm full-duplex
88bc23fe19SPyun YongHyeonForce full duplex operation.
89bc23fe19SPyun YongHyeon.It Cm half-duplex
90bc23fe19SPyun YongHyeonForce half duplex operation.
91bc23fe19SPyun YongHyeon.El
92bc23fe19SPyun YongHyeon.Pp
93bc23fe19SPyun YongHyeonFor more information on configuring this device, see
94bc23fe19SPyun YongHyeon.Xr ifconfig 8 .
95cf754f45SSimon L. B. Nielsen.Sh HARDWARE
96cf754f45SSimon L. B. NielsenThe
97cf754f45SSimon L. B. Nielsen.Nm
98cf754f45SSimon L. B. Nielsendevice driver provides support for the following Ethernet controllers:
99cf754f45SSimon L. B. Nielsen.Pp
100cf754f45SSimon L. B. Nielsen.Bl -bullet -compact
101cf754f45SSimon L. B. Nielsen.It
102cf754f45SSimon L. B. NielsenJMicron JMC250 PCI Express Gigabit Ethernet controller
103cf754f45SSimon L. B. Nielsen.It
10449981fbaSPyun YongHyeonJMicron JMC251 PCI Express Gigabit Ethernet with Card Read Host controller
10549981fbaSPyun YongHyeon.It
106cf754f45SSimon L. B. NielsenJMicron JMC260 PCI Express Fast Ethernet controller
10749981fbaSPyun YongHyeon.It
10849981fbaSPyun YongHyeonJMicron JMC261 PCI Express Gigabit Ethernet with Card Read Host controller
109cf754f45SSimon L. B. Nielsen.El
110bc23fe19SPyun YongHyeon.Sh LOADER TUNABLES
111bc23fe19SPyun YongHyeonTunables can be set at the
112bc23fe19SPyun YongHyeon.Xr loader 8
113bc23fe19SPyun YongHyeonprompt before booting the kernel or stored in
114bc23fe19SPyun YongHyeon.Xr loader.conf 5 .
115bc23fe19SPyun YongHyeon.Bl -tag -width "xxxxxx"
116bc23fe19SPyun YongHyeon.It Va hw.jme.msi_disable
117bc23fe19SPyun YongHyeonThis tunable disables MSI support on the Ethernet hardware.
118bc23fe19SPyun YongHyeonThe default value is 0.
119bc23fe19SPyun YongHyeon.It Va hw.jme.msix_disable
120bc23fe19SPyun YongHyeonThis tunable disables MSI-X support on the Ethernet hardware.
121bc23fe19SPyun YongHyeonThe default value is 0.
122bc23fe19SPyun YongHyeon.El
123bc23fe19SPyun YongHyeon.Sh SYSCTL VARIABLES
124bc23fe19SPyun YongHyeonThe following variables are available as both
125bc23fe19SPyun YongHyeon.Xr sysctl 8
126bc23fe19SPyun YongHyeonvariables and
127bc23fe19SPyun YongHyeon.Xr loader 8
128bc23fe19SPyun YongHyeontunables:
129bc23fe19SPyun YongHyeon.Bl -tag -width "xxxxxx"
130bc23fe19SPyun YongHyeon.It Va dev.jme.%d.tx_coal_to
131b269e8dcSEitan AdlerThis variable sets the maximum amount of time to delay
132b269e8dcSEitan Adlerbefore sending a Tx completion interrupt, in microseconds.
133b269e8dcSEitan AdlerThe accepted range is 1 to 65535; the default is 100 (100us).
134bc23fe19SPyun YongHyeon.It Va dev.jme.%d.tx_coal_pkt
135b269e8dcSEitan AdlerThis variable sets the maximum number of outgoing packets which may be
136b269e8dcSEitan Adlercoalesced together into a single Tx completion interrupt.
137b269e8dcSEitan AdlerThe accepted range is 1 to 255; the default is 8.
138bc23fe19SPyun YongHyeon.It Va dev.jme.%d.rx_coal_to
139b269e8dcSEitan AdlerThis variable sets the maximum amount of time to wait for
140b269e8dcSEitan Adleradditional packets to arrive (for possible packet coalescing)
141b269e8dcSEitan Adlerbefore firing an Rx completion interrupt, in microseconds.
142b269e8dcSEitan AdlerThe accepted range is 1 to 65535; the default is 100 (100us).
143bc23fe19SPyun YongHyeon.It Va dev.jme.%d.rx_coal_pkt
144b269e8dcSEitan AdlerThis variable sets the maximum number of incoming packets which may be
145b269e8dcSEitan Adlercoalesced into a single Rx completion interrupt.
146b269e8dcSEitan AdlerThe accepted range is 1 to 255; the default is 2.
147bc23fe19SPyun YongHyeon.It Va dev.jme.%d.process_limit
148b269e8dcSEitan AdlerThis variable sets the maximum number of events that will be processed
149b269e8dcSEitan Adlerin a single batch before the handler is requeued into a taskqueue.
150b269e8dcSEitan AdlerThe accepted range is 10 to 255; the default value is 128 events.
151bc23fe19SPyun YongHyeonThe interface does not need to be brought down and up again before
152bc23fe19SPyun YongHyeona change takes effect.
153bc23fe19SPyun YongHyeon.El
154bc23fe19SPyun YongHyeon.Sh SEE ALSO
155bc23fe19SPyun YongHyeon.Xr altq 4 ,
156bc23fe19SPyun YongHyeon.Xr arp 4 ,
157bc23fe19SPyun YongHyeon.Xr miibus 4 ,
158bc23fe19SPyun YongHyeon.Xr netintro 4 ,
159bc23fe19SPyun YongHyeon.Xr ng_ether 4 ,
160bc23fe19SPyun YongHyeon.Xr vlan 4 ,
161bc23fe19SPyun YongHyeon.Xr ifconfig 8
162bc23fe19SPyun YongHyeon.Sh HISTORY
163bc23fe19SPyun YongHyeonThe
164bc23fe19SPyun YongHyeon.Nm
165bc23fe19SPyun YongHyeondriver was written by
166*6c899950SBaptiste Daroussin.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org .
167bc23fe19SPyun YongHyeonIt first appeared in
168bc23fe19SPyun YongHyeon.Fx 7.1 .
169d67a08c3SPyun YongHyeon.Sh CAVEATS
170d67a08c3SPyun YongHyeonThe
171d67a08c3SPyun YongHyeon.Nm
172d67a08c3SPyun YongHyeondriver tries to avoid unnecessary station address reprogramming for
173d67a08c3SPyun YongHyeoncontrollers that use eFuse to store station address.
174d67a08c3SPyun YongHyeonThe number of times that eFuse can be safely reprogrammed is 16 at
175d67a08c3SPyun YongHyeonmost.
176b269e8dcSEitan AdlerIn addition, there is no way to restore the factory default station
177b269e8dcSEitan Adleraddress once the station address has been reprogrammed via eFuse.
178b269e8dcSEitan AdlerIt is highly recommended not to reprogram the station address and
179b269e8dcSEitan Adlerit is the responsibility of the administrator to store the original station
180b269e8dcSEitan Adleraddress in a safe place when station address is changed.
181e5064ffcSPyun YongHyeon.Pp
182e5064ffcSPyun YongHyeonThere are two known 1000baseT link establishment issues with JMC25x.
183e5064ffcSPyun YongHyeonIf the full mask revision number of JMC25x controller is less than
184b269e8dcSEitan Adleror equal to 4 and the link partner enabled the IEEE 802.3az Energy Efficient
185b269e8dcSEitan AdlerEthernet feature,  the controller will not be able to establish a
186e5064ffcSPyun YongHyeon1000baseT link.
187b269e8dcSEitan AdlerAlso, if the length of the cable is longer than 120 meters, the controller
188e5064ffcSPyun YongHyeoncan not establish a 1000baseT link.
189b269e8dcSEitan AdlerThe known workaround for these issues is to force manual link
190e5064ffcSPyun YongHyeonconfiguration with 100baseTX instead of relying on auto-negotiation.
191b269e8dcSEitan AdlerThe full mask revision number of controller can be checked with the
192e5064ffcSPyun YongHyeonverbose kernel boot option.
193b269e8dcSEitan AdlerUse the lower nibble of the chip revision number to get the
194b269e8dcSEitan Adlerfull mask revision of the controller.
195