Re: Call for e1000phy(4) testers.

From: Tai-hwa Liang <avatar_at_mmlab.cse.yzu.edu.tw>
Date: Fri, 1 Dec 2006 15:46:36 +0800 (CST)
On Tue, 28 Nov 2006, Pyun YongHyeon wrote:
> Hi,
>
> I had been writing msk(4) for FreeBSD and realized that e1000phy(4)
> is buggy on newer Marvell PHYs. For example, manual media selection
> didn't work at all and I had to stick to autoselection of the media
> type. The Marvell PHYs are widely used on various NICs including
> em(4), stge(4), sk(4), msk(4) and nfe(4). Except em(4) which does
> not support MII layers, correct operation of e1000phy(4) is very
> important to get a good link with link partner and to report link
> state changes to upper layers(e.g. dhclinet(8)).

   Thank you for working on this.

> With this patch you should be able to set a media type without
> relying on autoselection and it should supports automatic crossover
> for all known Marvell PHYs. I've tried hard not to break existing
> behaviour(e.g. Fiber transceivers) but I can't verify that as I
> don't have any NICs that have Marvell Fiber transceivers. The patch
> is somewhat ugly in that it should read a PHY ID register in several
> palces. It seems that there is no easy way to avoid the reading until
> we have PHY model/revision numbers in mii softc.
>
> If you are one of users that use stge(4), sk(4), msk(4) and nfe(4)
> please test and report any strange things not observed on stock
> version.
> 
> Note for nfe(4) users:
> It seems that nfe(4) has bugs that it can't send packets on
> half-duplex media(I've got "tx v1 error 0x6004"). I guess this comes
> from mismatches between PHY and MAC. So you may have to set
> full-duplex on nfe(4) until we have a fix for the issue.
>
> You can get the latest e1000phy(4) driver from the following URL.
> http://people.freebsd.org/~yongari/msk/e1000phy.c
> http://people.freebsd.org/~yongari/msk/e1000phyreg.h
> http://people.freebsd.org/~yongari/msk/miidevs
>
> OR get a jumbo patch for CURRENT.
> http://people.freebsd.org/~yongari/msk/e1000phy.patch

   I have tried your e1000phy patch as well as msk.diff.HEAD on an Acer
Aspire 5583 WXMi laptop:

mskc0_at_pci2:0:0:	class=0x020000 card=0x01101025 chip=0x435211ab rev=0x14 hdr=0x00
     vendor   = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
     class    = network
     subclass = ethernet

   It seems that device_attach always returns 6 regardless hw.pci.enable_msi[x]
is 1 or 0:

mskc0: <Marvell Yukon 88E8038 Gigabit Ethernet> irq 10 at device 0.0 on pci2
mskc0: MSI count : 2
pcib2: mskc0 requested unsupported memory range 0-0xffffffff (decoding 0-0, 0-0)
mskc0: 0x4000 bytes of rid 0x10 res 3 failed (0, 0xffffffff).
mskc0: Lazy allocation of 0x4 bytes rid 0x14 type 4 at 0x1000
mskc0: unknown device: id=0xff, rev=0x0f
device_attach: mskc0 attach returned 6

-- 
Cheers,
Tai-hwa Liang
Received on Fri Dec 01 2006 - 06:46:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:03 UTC