RealTek 8139D chipset, the re(4) driver, and FreeBSD 4.9

John john at
Tue Jan 20 20:42:25 PST 2004

This is going to be a bit convoluted.

I was shopping for an efficient, fast 100baseTX PCI controller,
and inexpensive would be really nice, too!

I came across the re(4) driver for certain RealTek chipsets.  It
specified RealTek 8139C+ (among others).  This is in contrast to
the 8139 (no suffix, A, or B) chipsets handled by the rl(4) driver,
which sounds like the chips are real dogs.

Anyway, the re(4) driver made cards based on these chips sound
GREAT!  Here's the first catch - THE WEB PAGE FOOTER SAYS "FreeBSD
4.9!" I came to the conclusion, which I thought was reasonable,
that even though it said the driver first appeared in FreeBSD 5.2,
that it was also available under 4.9....  I didn't feel like I was
making a dangerous assumption, but now it looks otherwise.

So, when I found a card with 8139D chips for $9.95, I took a chance.
Afterall, I got an 8-port N-WAY auto-sensing switch with automatic
MDI/MDIX sensing for $19.95 from the same place, so, the price
seemed plausible, and I bought it!

Now it's time to generate a 4.9-STABLE kernel - but there's no
"device re" in GENERIC or LINT.... so I looked up the 4.9 hardware
release notes from the web site - and it's not there!

So - I'm afraid that the page I was looking at was formatted with
the wrong macros, and there is no such thing as a "re" driver for

If that's the case - I'd like to respectfully suggest that the page
be reformatted with the correct macros lest someone else, like
myself, get to it via a search rather than flat links and come to
the wrong conclusion...

Speaking of wrong conclusions, I thought of simply loading the "rl"
driver and seeing if it recognized the card, thinking that would
mean it was the "wrong" chipset, but then I thought that since the
model numbers are so similar, it may simply mean that the functionality
that was broken in the earlier chipsets may simply be fixed now,
and that the "rl" driver might recognize and use the card, though
with the mbuf copies that are what I was trying to avoid in the
first place, and lead me to an incorrect decision on the card.  It
might be that the "re" driver needs to look for the card first, to
recognize higher-function chipsets...

So - how much of a chore is it to port ethernet drivers from 5.2
to 4.9???  Any guides or best practices for this?  I mean, it sounds
like a GREAT chipset, and I'd hate for everyone who will stay with
4.x for awhile to not be able to use it.

I know there's a lot in here - how to interpret descriptions
of chipsets, formatting of manual pages, porting of drivers,
but I hope someone can help me sort this all out.


John Lind
john at starfire.MN.ORG

More information about the freebsd-hardware mailing list