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
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:03 UTC