Call for e1000phy(4) testers.
Pyun YongHyeon
pyunyh at gmail.com
Fri Dec 1 04:40:10 PST 2006
On Fri, Dec 01, 2006 at 03:46:36PM +0800, Tai-hwa Liang wrote:
> 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:
>
[...]
> found-> vendor=0x11ab, dev=0x4352, revid=0x14
> bus=2, slot=0, func=0
> class=02-00-00, hdrtype=0x00, mfdev=0
> cmdreg=0x0000, statreg=0x4010, cachelnsz=16 (dwords)
> lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> intpin=a, irq=10
> powerspec 2 supports D0 D1 D2 D3 current D0
> VPD Ident: Marvell Yukon 88E8038 Fast Ethernet Controller
> PN: Yukon 88E8038
> EC: Rev. 1.4
> MN: Marvell
> SN: AbCdEfG85BCA0
> CP: id 1, BAR16, off 0x3cc
> RV: 0x7d
> MSI supports 2 messages, 64 bit
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Since Scott said resource allocation problem I'd like to say what
I don't understand in this message.
The motherboard I have also reports 2 MSI but I'm pretty sure the
Yukon II hardware support only 1 MSI. If I force to call pci_alloc_msi()
with 1 MSI it works without problems. At first, I thought my
motherboard has chipset bug but I see the same 2 MSI message from
your system.
Does Youkon II really support 2 MSI?
> pci2:0:0: reprobing on driver added
> 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
--
Regards,
Pyun YongHyeon
More information about the freebsd-current
mailing list