Barry Bouwsma
2004-Dec-13 04:02 UTC
code to allegedly support realtek gigabit ethernet for 4.x available
e First of all, sorry for the delay in this -- I had hoped to get this done in time for the 4.11 code freeze, but I don't feel this is yet ready for inclusion into 4.x, until a couple of observed issues are resolved. What good is support if it's somewhat broken? Anyway, I've taken the if_re code from -current and patched it so that it can build by hand as a kernel module with recent 4.x source. This is code to support the Realtek (shut up, I know already) gigabit ethernet chips, that are making their way onto the market in rather low-priced gig-e cards (we're talking the ten euro or so range). There are a few issues that need to be fixed before this code is a candidate for RELENG_4, as follows: *) I think manually setting interface media doesn't work; at least, it didn't work on the two cards I acquired. I have a hack that does let me specify the link speed/duplex, though it's not quite the same as forcing the settings. From reading the code, I suspect this is also a problem in 5.x and -current; I experienced the same with NetBSD as with my hacks on 4.x. Or else my cards/chipsets are properly buggered. *) My hacks to the latest -current code has introduced some new kernel messages ``re0: PHY write failed'' when setting media options, but this doesn't seem to hurt anything. I want to fix this though. As per the above, this seems somewhat pointless, anyway -- autoselect seems to work fine for all speeds. *) Most seriously, I think I'm getting corrupt data, shown by errors being thrown when transporting data wrapped by zlib or similar. This is a show-stopper, though superficially things seemed to work (I don't have much of a network with which to test things). Rather than let my hacks languish, like they have over the past few months, I thought I'd put a pointer to this work-in-progress, for anyone who wants to try it out. It's not a clean patch yet, so some familiarity with source layout is required, as well as access to the -current source. And, of course, the hardware. And as usual, the apology/disclaimer, that I have no clue what I'm doing, and there are no doubt absolutely boneheaded examples of my ignorance in my patches. Which you're welcome to fix after giving me a good scolding. The hacks that I've come up with can be downloaded from https://nospam.dyndns.dk/hacks/if_re/ for a short time (if unavailable, I've had to turn my machine off overnight or am again unable to be online) from the time I post this. In particular, pay attention to https://nospam.dyndns.dk/hacks/if_re/README which I keep updated to reflect the status of the patches present, and which tells what you need to do, as well as which of the files present in the above directory are relevant. Not for beginners. After I resolve the show-stopper issues, I'll submit a clean diff for review and widespread testing for potential inclusion into post-4.11 RELENG_4, but I can't say when that will be, so I'm making available what I've done so far for any interested parties. Please keep any followup on the list, as I'm probably going to be unable to be online after a few days. And feel free to adopt this code and treat it as your own, as I'm rather negligent in my responsibility to it these days. thanks barry bouwsma