D-Link DGE-560SX (Marvell 88E8061-based) doesn't see link
Eugene Perevyazko
john at dnepro.net
Tue Aug 25 08:39:02 UTC 2009
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
More information about the freebsd-net
mailing list