Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2009 11:38:57 +0300
From:      Eugene Perevyazko <john@dnepro.net>
To:        freebsd-net@freebsd.org
Cc:        Pyun YongHyeon <pyunyh@gmail.com>
Subject:   Re: D-Link DGE-560SX (Marvell 88E8061-based) doesn't see link
Message-ID:  <20090825083857.GA22983@traktor.dnepro.net>
In-Reply-To: <20090821221932.GE1262@michelle.cdnetworks.com>
References:  <20090821142039.GA40018@traktor.dnepro.net> <20090821221932.GE1262@michelle.cdnetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Hello Pyun.
I apologise for long delay, we had 3-day state holidays here. :)

On Fri, Aug 21, 2009 at 03:19:32PM -0700, Pyun YongHyeon wrote:
> On Fri, Aug 21, 2009 at 05:20:39PM +0300, Eugene Perevyazko wrote:
 [...]
> 
> > Then the driver recognizes the card:
> > 
> > mskc0: <D-Link 560SX Gigabit Ethernet> port 0x4000-0x40ff mem 0xdc100000-0xdc103fff irq 16 at device 0.0 on pci1
> > msk0: <Marvell Technology Group Ltd. Yukon XL Id 0xb3 Rev 0x03> on mskc0
> > msk0: Ethernet address: 00:21:91:52:4f:09
> > miibus1: <MII bus> on msk0
> > e1000phy0: <Marvell 88E1112 Gigabit PHY> PHY 0 on miibus1
> > e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> This part is problem, you have finer media, so you should have just
> 1000baseSX.
 [...]
> 
> ATM there is no easy/clean way to pass driver specific data to mii
> layer in FreeBSD so e1000phy(4) incorrectly thinks it found copper
> PHY. Marvell PHYs seem to have no reliable way to know configured
> media type of PHY hardware unless parent driver(msk) gives hint to
> it. If you have just 1 NIC which uses e1000phy(4) on your system,
> modify e1000phy(4) to force it having fiber media by inserting the
> following line around line 114 in e1000phy.c. 
> 
> sc->mii_flags |= MIIF_HAVEFIBER;
> 
I'm lucky enough that it's the only e1000phy NIC in the system, but I can't
find the place you mean in e1000phy.c
It's src/sys/dev/e1000/e1000_phy.c,v 1.1.2.2 and lines 112-115 are
/**
 *  e1000_null_lplu_state - No-op function, return 0
 *  @hw: pointer to the HW structure
 **/
 
I really doubt, there's any sense in patching this comment. Could you please
give me a patch or precise instructions?

-- 
Eugene Perevyazko



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090825083857.GA22983>