mge, mii/e1000phy

Pyun YongHyeon pyunyh at gmail.com
Tue Sep 22 23:54:39 UTC 2009


On Tue, Sep 22, 2009 at 11:10:18PM +0200, Kristof Provost wrote:
> 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.

Please show me the output of "devinfo -rv | grep phy".

>  - 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.

It's not a bug. First, I have to see your PHY id to know why you
think so.

>  - Forcing the mge driver to IFM_100_TX (in mge_set_port_serial_control)
>    does work. The system manages to acquire a DHCP address. 

Would you also show me the output of "ifconfig -m mge0"?

I'm not author of mge(4) so I'm not familiar with mge(4). But it
seems that mge(4) lacks link state change handler. Normally NICs
are required to reprogram MAC to match resolved speed/duplex/
flow-control of link when it know it established a valid link which
is notified from mii(4).

>  - 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