BFE(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’– BFE(4) β€” the Kernel Interfaces Manual, but make it group chat πŸ’–

okay so bestie, before we even start: this is the BFE(4) page from the Kernel Interfaces Manual, and it's about a network driver. yes, a whole manual page about one lil Ethernet chip. slay. let's get into it 🫢


✨ NAME ✨

bfe β€” the Broadcom BCM4401 Ethernet Device Driver. that's the whole name. iconic, concise, no notes. πŸ’…


✨ SYNOPSIS ✨

so there's two ways to get this driver living in your system, and honestly both are valid.

Option one: bake it into the kernel. put these lines in your kernel configuration file, exactly like this, no cap:

device miibus
device bfe

Option two: just load it as a module at boot time. way less commitment, ngl. drop this single line into loader.conf(5):

if_bfe_load="YES"

that's it. that's the whole synopsis. we love a low-effort queen. πŸŽ€


🌸 DEPRECATION NOTICE 🌸

okay bestie, I need you to sit down for this one 😭

the bfe driver is unmaintained and may be removed from FreeBSD in a future release. FreeBSD.

fr fr, don't build your whole personality around this driver. it's giving "beloved but neglected." πŸ’€

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does bfe actually do? it provides support for Broadcom BCM4401 based Fast Ethernet adapters. that's the whole vibe. it's a network driver, it does network things, it's the main character of your NIC. ✨

πŸ’œ the media types it supports

the bfe driver supports the following media types β€” read them carefully, there's literally three:

  • autoselect β€” enables autoselection of the media type and options. let it cook, let it choose, it knows what it's doing. 🌈
  • 10baseT/UTP β€” sets 10Mbps operation. slow and steady, a humble icon. 🐌
  • 100baseTX β€” sets 100Mbps (Fast Ethernet) operation. now that's the speed, periodt. πŸ”₯

🧚 the media options it supports

just the one, and she's a baddie:

  • full-duplex β€” sets full duplex operation. both directions at once, talk and listen, the way that multitasking is literally her whole thing. πŸ‘‘

for further information on configuring this device, see ifconfig(8). go read it, bestie, it's the blueprint. πŸ“–


πŸ’€ DIAGNOSTICS πŸ’€

these are the messages the driver might throw at you, and what they mean. don't shoot the messenger πŸ™ˆ

  • bfe%d: couldn't map memory β€” a fatal initialization error has occurred. fatal. as in, this is not a drill. 😭
  • bfe%d: couldn't map interrupt β€” a fatal initialization error has occurred. yes, again. two different fatal errors, same drama. πŸ’€
  • bfe%d: failed to allocate DMA resources β€” there are not enough mbufs available for allocation. the mbufs simply said "no ❀️". πŸ“
  • bfe%d: watchdog timeout -- resetting β€” the device has stopped responding to the network, or there's a problem with the network connection (cable). check the cable, bestie, it's always the cable. πŸ”Œ

🌈 SEE ALSO 🌈

go be nosy, i love that for you:

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), ifconfig(8)


⭐ HISTORY ⭐

the bfe device driver first appeared in FreeBSD 5.1. a legend was born. we stan an origin story. πŸ‘‘


πŸŽ€ AUTHORS πŸŽ€

the bfe device driver was written by Stuart Walsh and Duncan Barclay. and this manual page was written by Stuart Walsh β€” double duty, absolute grinder, we love to see it. 🫢


that's the whole page, bestie! this one came from Debian, dated July 16, 2005, and it's filed under BFE(4) in the manual. mwah, go configure ur NIC responsibly πŸ’‹βœ¨

πŸ“¦ where this page comes from