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