Forcing speed and autonegotiation with bmac
Aurel Wisse
yellowdog-general@lists.terrasoftsolutions.com
Sun May 12 13:07:01 2002
I have spent quite some time on this and maybe it is
useful to somebody.
Digging into the Darwin source, I was able to check
the necessary values to be written to the PHY.
So this is it:
1) In the file "bmac.c" and the function
bmac_init_phy, change the lines
bmac_mif_write(dev, 0, 0x1200)
...
bmac_mif_write(dev, 0, 0x1000)
to
bmac_mif_write(dev, 0, 0x0000)
...
bmac_mif_write(dev, 0, 0x0000)
This disables autonegotiation and sets the speed to
10Mbps.
2) Recompile the bmac module.
As soon as the module is installed, the iMac connects
to the router at 10Mbps.
Now this doesn't qualify as development but as an ugly
hack, so I won't post it to the devel lists. But it
underlines the strength of open source.
If I have time in the future, I might roll this into
something nicer configurable through ethtool. But how
many people still use an iMac Rev. B with this
particular need.
Now I only have two things left to do: USB printing to
E310 and sound as a module.
Aurel Wisse
__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com