GEM(4)

πŸ’– GEM(4) β€” the ERI/GEM/GMAC Ethernet device driver πŸ’–

okay bestie, so this is the page for gem, aka the ERI/GEM/GMAC Ethernet device driver, living in the Kernel Interfaces Manual. she's an old soul, she's got range, and she runs on some truly vintage icon behavior. let's get into it ✨


🌸 NAME 🌸

gem β€” the ERI/GEM/GMAC Ethernet device driver πŸ¦‹


⭐ SYNOPSIS ⭐

so if you wanna compile this driver into the kernel (yes, we're doing it the built-in way, main character energy), you drop these lines into your kernel configuration file:

device miibus
device gem

OR, if you'd rather load her as a module at boot time (slay, flexible queen), you put this one line in loader.conf(5):

if_gem_load="YES"

πŸ’… DESCRIPTION πŸ’…

the gem driver provides support for the GMAC Ethernet hardware, which is found mostly in the last Apple PowerBooks G3s and most G4-based Apple hardware β€” and also in Sun UltraSPARC machines. yes. the same driver. serving both. versatility ate πŸ”₯

every controller that gem supports has TCP checksum offload capability for both receive and transmit, plus support for the reception and transmission of extended frames for vlan(4), and a 512-bit multicast hash filter. she's got the whole package, no cap πŸ’–


πŸŽ€ HARDWARE πŸŽ€

chips supported by the gem driver include:

  • Apple GMAC
  • Sun ERI 10/100 Mbps Ethernet
  • Sun GEM Gigabit Ethernet

and the following add-on cards are known to work with the gem driver at this time:

  • Sun Gigabit Ethernet PCI 2.0/3.0 (GBE/P) (part no. 501-4373)
  • Sun Gigabit Ethernet SBus 2.0/3.0 (GBE/S) (part no. 501-4375)

ngl these part numbers are giving vintage collectible and honestly? iconic 🫢


πŸ‘‘ NOTES πŸ‘‘

listen up, this part matters πŸ‘‡

on sparc64, the gem driver respects the local-mac-address? system configuration variable, which you can set in the Open Firmware boot monitor using the setenv command, or by eeprom(8).

  • if it's set to β€œfalse” (which is the default), the gem driver will use the system's default MAC address for all of its devices.
  • if it's set to β€œtrue”, the unique MAC address of each interface is used if present, rather than the system's default MAC address.

supported interfaces that have their own MAC address include:

  • the on-board Sun ERI 10/100 Mbps on boards equipped with more than one Ethernet interface, and
  • the Sun Gigabit Ethernet 2.0/3.0 GBE add-on cards.
lowkey important: β€œfalse” is the default, so if you were expecting each interface to flex its own MAC and it's not, that's why bestie 😭

🌈 SEE ALSO 🌈

altq(4), miibus(4), netintro(4), vlan(4), eeprom(8), ifconfig(8)

go read those too, they're all part of the friend group πŸ’œ


πŸ¦‹ HISTORY πŸ¦‹

the gem device driver appeared in NetBSD 1.6. the first FreeBSD version to include it was FreeBSD 5.0. a whole journey, honestly. glow-up confirmed ✨


πŸ’œ AUTHORS πŸ’œ

the gem driver was written for NetBSD by Eduardo Horvath <eeh@NetBSD.org>. it was ported to FreeBSD by Thomas Moestl <tmm@FreeBSD.org> and later on improved by Marius Strobl <marius@FreeBSD.org>. the man page was written by Thomas Klausner <wiz@NetBSD.org>.

protect these legends at all costs 🫢


and that's the whole page, bestie!! this came to you from the Debian crew, dated December 25, 2009 β€” a little holiday gift of documentation πŸŽπŸ’– mwah, go configure your network interface, you got this πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from