mge, mii/e1000phy

Kristof Provost kristof at sigsegv.be
Tue Sep 22 21:21:07 UTC 2009


Hi,

I've been trying to get CURRENT running on a TS-7800 [1].
It's based around a Marvell Orion SoC, with a Marvell 88E1118 PHY.

It boots and tries to do bootpc_init. This fails because there are no
packets coming in or going out. 

A few thing's I've noticed:
 - The PHY is misdetected as an 88E1116. Changing sys/dev/mii/miidevs so
   it's detected as the 88E1118 it really is doesn't help.
 - sys/dev/mii/e1000phy.c appears to contain a bug:
   e1000phy_reset performs a switch on MII_MODEL(esc->mii_model) while
   the rest of the code just uses esc->mii_model. This seems to be wrong
   as the cases for 1118 (or 1116) are not triggered. Changing this also
   doesn't appear to help.
 - Forcing the mge driver to IFM_100_TX (in mge_set_port_serial_control)
   does work. The system manages to acquire a DHCP address. 
 - CURRENT does work correctly on my Sheevaplug, which has a Marvell
   88E1116R PHY (at least, it's identified as one, I've not checked any
   further).

Does anyone have any ideas on what might be causing this or what to try next?

Kristof

[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800



More information about the freebsd-current mailing list