Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 May 2012 09:14:18 -0700
From:      YongHyeon PYUN <pyunyh@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Mike Tancsa <mike@sentex.net>, freebsd-hardware@freebsd.org
Subject:   Re: pcie realtek issue (re driver)
Message-ID:  <20120531161418.GF1467@michelle.cdnetworks.com>
In-Reply-To: <201205301126.40105.jhb@freebsd.org>
References:  <4FC03C83.4030109@sentex.net> <4FC4C7B2.8080806@sentex.net> <20120530173158.GA1467@michelle.cdnetworks.com> <201205301126.40105.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 30, 2012 at 11:26:39AM -0400, John Baldwin wrote:
> On Wednesday, May 30, 2012 1:31:58 pm YongHyeon PYUN wrote:
> > On Tue, May 29, 2012 at 08:57:22AM -0400, Mike Tancsa wrote:
> > > On 5/29/2012 9:01 PM, YongHyeon PYUN wrote:
> > > > On Fri, May 25, 2012 at 10:14:27PM -0400, Mike Tancsa wrote:
> > > >> My recent batch of realtek nics seems to have a version that does not
> > > >> work with RELENG_8 or RELENG_9. Anyone know what the issue might be ?
> > > >>
> > > >>
> > > >> re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> at 
> device
> > > >> 0.0 on pci4
> > > >> re0: Using 1 MSI-X message
> > > >> re0: turning off MSI enable bit.
> > > >> re0: ASPM disabled
> > > >> re0: Chip rev. 0x7c800000
> > > >                  ^^^^^^^^^^
> > > > 
> > > > If memory serves me right there would be no known controller for
> > > > revision 0x7c800000.  Actually I wonder how re(4) can attach to
> > > > this unknown device.
> > > > Did you apply local patch?
> > > 
> > > Hi,
> > > 	No, its a stock kernel.  If I add
> > > 
> > > hw.re.msix_disable=1
> > > hw.re.msi_disable=1
> > > 
> > > it sort of comes up
> > > 
> > > 
> > >           re0 pnpinfo vendor=0x10ec device=0x8168 subvendor=0x10ec
> > > subdevice=0x8168 class=0x020000 at slot=0 function=0
> > >               miibus0
> > >                 rgephy0 pnpinfo oui=0xe04c model=0x11 rev=0x2 at phyno=1
> > > 
> > > re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port
> > > 0xd000-0xd0ff mem 0xfe200000-0xfe200fff,0xf0000000-0xf0003fff irq 18 at
> > > device 0.0 on pci4
> > > re0: Chip rev. 0x28000000
> > 
> > Hmm, this looks really weird. It now read as 0x28000000 which
> > indicates this controller is RTL8168D.  I remember there is no
> > MSI-X capability reported by pciconf(8) but previously re(4) used
> > MSI-X which I can't explain.  Actually the output of pciconf(8) in
> > earlier mail looks wrong to me.
> > 
> > > re0: MAC rev. 0x00000000
> > > miibus0: <MII bus> on re0
> > > rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
> > > rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX,
> > > 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master,
> > > 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow,
> > > 1000baseT-FDX-flow-master, auto, auto-flow
> > > re0: Ethernet address: 00:0a:cd:1c:ba:89
> > > 
> > > but doing ifconfig re0 up, does not work as dmesg shows
> > > 
> > > re0: reset never completed!
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > re0: PHY write failed
> > > 
> > 
> > Probably controller was put into some kind of power saving state by
> > BIOS/firmware?
> > 
> > > 
> > > re0@pci0:4:0:0: class=0x020000 card=0x816810ec chip=0x816810ec rev=0x03
> > > hdr=0x00
> > >     vendor     = 'Realtek Semiconductor Co., Ltd.'
> > >     device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
> > >     class      = network
> > >     subclass   = ethernet
> > >     bar   [10] = type I/O Port, range 32, base 0xd000, size 256, disabled
> > >     bar   [18] = type Memory, range 64, base 0xfe200000, size 4096, 
> disabled
> > >     bar   [20] = type Prefetchable Memory, range 64, base 0xf0000000,
> > > size 16384, disabled
> > > 
> > 
> > It does not even list MSI capability. :-(
> > The most interesting one is both BAR0/BAR2 was disabled even though
> > re(4) was successfully attached to the device. Probably this could
> > be main reason why re(4) does not work at all. I'm not sure this
> > issue could be related with pci(4)(CCed to John to get his advice).
> 
> The BAR should be enabled if the driver uses RF_ACTIVE with 
> bus_alloc_resource().
> 

Right, but what if it is not(from the pciconf output)?
I'm pretty sure re(4) used RF_ACTIVE with bus_alloc_resource_any(9).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120531161418.GF1467>