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: > > 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 > This is a resource allocation problem with the PCI BAR on the card. Either your BIOS isn't setting it up correctly, or FreeBSD is doing something freakishly wrong. Does your BIOS have a switch for 'Plug N Play OS" or something to that effect? ScottReceived on Fri Dec 01 2006 - 07:01:26 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:03 UTC