MIIBUS(4) MidnightBSD Kernel Interfaces Manual MIIBUS(4)
miibus — IEEE 802.3 Media Independent Interface network bus
For most network interface cards (NIC):
The miibus driver provides an interconnection between the Media Access Control (MAC) sublayer, the Physical Layer entities (PHY), Station Management (STA) entities, and the PHY Layer as defined by the IEEE 802.3 Standard.
The miibus layer allows network device drivers to share common support code for various external PHY devices. Most 10/100 network interface cards either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. The miibus driver currently handles all of the media detection, selection, and reporting using the ifmedia interface. A generic driver has been included for all PHYs that are not handled by a specific driver, this is possible because all 10/100 PHYs implement the same general register set along with their vendor specific register set.
The following network device drivers use the miibus interface:
ADMtek USB Ethernet
ASIX Electronics AX88172 USB Ethernet
Broadcom BCM4401 Ethernet
Broadcom BCM570xx Gigabit Ethernet
DEC/Intel 21143 and various workalikes
NE000, SMC Ultra, 3c503, DS8390 cards
Intel EtherExpress PRO/100B
Sun ERI, Sun GEM and Apple GMAC Ethernet
Sun HME Ethernet
Level 1 LXT1001 NetCellerator Gigabit Ethernet
Myson Technologies PCI Ethernet adaptors
National Semiconductor DP83820/DP83821 Gigabit Ethernet
NVIDIA nForce MCP Networking Adapter
AMD Am79C97x PCI 10/100
RealTek RTL8150 USB To Fast Ethernet
Silicon Integrated Systems SiS 900/SiS 7016
SysKonnect SK-984x and SK-982x Gigabit Ethernet
Sundance ST201 (D-Link DFE-550TX)
Texas Instruments ThunderLAN
SMC EtherPower II (83c170)
Davicom DM9601 USB Ethernet
VIA VT612x PCI Gigabit Ethernet
VIA Rhine, Rhine II
The implementation of miibus was originally intended to have similar API interfaces to BSD/OS 3.0 and NetBSD, but as a result are not well behaved newbus device drivers.
arp(4), aue(4), axe(4), bfe(4), bge(4), dc(4), ed(4), fxp(4), gem(4), hme(4), lge(4), my(4), netintro(4), nge(4), nve(4), pcn(4), re(4), rl(4), rue(4), sf(4), sis(4), sk(4), ste(4), tl(4), tx(4), udav(4), vge(4), vr(4), wb(4), xl(4)
More information on MII can be found in the IEEE 802.3 Standard.
The miibus driver first appeared in FreeBSD 3.3.
This manual page was written by Tom Rhodes 〈trhodes@FreeBSD.org〉.
MidnightBSD 0.3 May 20, 2005 MidnightBSD 0.3