Hello, Freebsd-net. Thanks to Pyun YongHyeon, who point me at fact, that rgephy(4) used with re(4) does autonegotiation always and all other, who helps me diagnose problem!
I've prepared patch, which adds tunable/sysctl for rgephy(4) which allows not to sue autonegotiation by this PHY (at user responsibility, as here is PHYs which CAN NOT live without autonegotiation). It is OFF by default, and in such case behavior of driver IS NOT CHANGED. But if it is set ON (non-zero value) before "media / mediopt" changes via "ifconfig" autonegotiation IS NOT set with 10/100Mbit settings. I've documented this new tunable in re(4) manpage, as here is no rgephy(4) manpage. Tunable is per-device, not global one. Sysctl can be set after boot, but will affect only future ifconfig calls, it doesn't change anything in PHY settings by itself. It allows fully manual setup on non-buggy hardware, which allows to use Hetzner dedicated servers with FreeBSD without additional NIC or gigabit connection. I've tested this patch on FreeBSD 8-STABLE on Hetzner server and it allows me to get full-duplex 100Mbit connection and I got 11MiB/s from local NFS with it. Without this patch FreeBSD is unusable on Hetzner dedicated servers in newer DCs (DC 13 and DC 14). Patch is attached. I think, it worths to include it to base system, as it allows use FreeBSD at least on one very large and popular hosting provider without additional costs :) -- // Black Lion AKA Lev Serebryakov <l...@serebryakov.spb.ru>
rgephy.patch
Description: Binary data
_______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"