Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 May 2012 10:31:58 -0700
From:      YongHyeon PYUN <pyunyh@gmail.com>
To:        Mike Tancsa <mike@sentex.net>
Cc:        jhb@FreeBSD.org, "freebsd-hardware@freebsd.org" <freebsd-hardware@freebsd.org>
Subject:   Re: pcie realtek issue (re driver)
Message-ID:  <20120530173158.GA1467@michelle.cdnetworks.com>
In-Reply-To: <4FC4C7B2.8080806@sentex.net>
References:  <4FC03C83.4030109@sentex.net> <20120530010138.GA9661@michelle.cdnetworks.com> <4FC4C7B2.8080806@sentex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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).



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