Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Dec 2008 00:50:07 +0000
From:      Andrew <andrewwtulloch@gmail.com>
To:        pyunyh@gmail.com
Cc:        freebsd-net@freebsd.org
Subject:   Re: re0: Unknown H/W revision: 0x28000000 device_attach: re0 attach returned 6
Message-ID:  <54854a7a0812011650i345884f5t257c066604d42e65@mail.gmail.com>
In-Reply-To: <20081201043218.GB1082@cdnetworks.co.kr>
References:  <54854a7a0811291918s7affc753k998607f2529e7c2e@mail.gmail.com> <20081201043218.GB1082@cdnetworks.co.kr>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
2008/12/1 Pyun YongHyeon <pyunyh@gmail.com>:
> On Sun, Nov 30, 2008 at 03:18:41AM +0000, Andrew Tulloch wrote:
>  > I've just installed from the FreeBSD 7.1-BETA1 iso and get the
>  > following when the re driver attempts to attach to the two onboard
>  > NICs found on a Gigabyte GA-EX58-UD5 motherboard:
>  >
>  > re0: <RealTek 8168/8168B/8168C/8168CP/8111B/8111C/8111CP PCIe Gigabit
>  > Ethernet> port 0x9e00-0x9eff mem
>  > 0xfd3ff000-0xfd3fffff,0xfd3f8000-0xfd3fbfff irq 16 at device 0.0 on
>  > pci8
>  > re0: Chip rev. 0x28000000
>  > re0: MAC rev. 0x00100000
>  > re0: Unknown H/W revision: 0x28000000
>  > device_attach: re0 attach returned 6
>  > pcib9: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
>  > pci9: <ACPI PCI bus> on pcib9
>  > re1: <RealTek 8168/8168B/8168C/8168CP/8111B/8111C/8111CP PCIe Gigabit
>  > Ethernet> port 0x8e00-0x8eff mem
>  > 0xfd1ff000-0xfd1fffff,0xfd1f8000-0xfd1fbfff irq 17 at device 0.0 on
>  > pci9
>  > re1: Chip rev. 0x28000000
>  > re1: MAC rev. 0x00100000
>  > re1: Unknown H/W revision: 0x28000000
>  > device_attach: re1 attach returned 6
>  >
>  > pciconf -lvc extract:
>  > re0@pci0:8:0:0:      class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x03 hdr=0x00
>  >     vendor     = 'Realtek Semiconductor'
>  >     device     = 'RTL8168/8111 PCI-E Gigabit Ethernet NIC'
>  >     class      = network
>  >     subclass   = ethernet
>  >     cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
>  >     cap 05[50] = MSI supports 1 message, 64 bit
>  >     cap 10[70] = PCI-Express 2 endpoint IRQ 0
>  >     cap 11[ac] = MSI-X supports 4 messages in map 0x20
>  >     cap 03[cc] = VPD
>  > re1@pci0:9:0:0:      class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x03 hdr=0x00
>  >     vendor     = 'Realtek Semiconductor'
>  >     device     = 'RTL8168/8111 PCI-E Gigabit Ethernet NIC'
>  >     class      = network
>  >     subclass   = ethernet
>  >     cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
>  >     cap 05[50] = MSI supports 1 message, 64 bit
>  >     cap 10[70] = PCI-Express 2 endpoint IRQ 0
>  >     cap 11[ac] = MSI-X supports 4 messages in map 0x20
>  >     cap 03[cc] = VPD
>  >
>  >
>  > Is there any simple patch I can apply to get the driver to attach,
>  > assuming it should work?
>  >
>
> This controller seems to support MSI-X with 4 messages.
> Unfortunately previous PCIe controllers from RealTek were notorious
> for MSI issues so it's hard to know this revision really works with
> MSI-X. I guess it was added to support RSS(receive-side scaling of
> MS NDIS 6.0).
> As sephe said if the controller configuration is the same as 8168C
> family, the attached patch would make re(4) work as expected.
>
> --
> Regards,
> Pyun YongHyeon
>

Pyun,
I applied the patch, but it didn't attach initially, I added an extra
entry to re_hwrevs as that seemed to be what was missing and it
attached and seems to function (as far as a quick ping test and make
update). Changes I made to if_re.c attached. If you have anything to
try for MSI-X I can probably test those.

Thanks,
Andrew

[-- Attachment #2 --]
--- if_re.c.orig	2008-09-19 04:36:53.000000000 +0100
+++ if_re.c	2008-12-02 00:11:04.000000000 +0000
@@ -172,7 +172,7 @@
 	{ RT_VENDORID, RT_DEVICEID_8101E, 0,
 	    "RealTek 8101E/8102E/8102EL PCIe 10/100baseTX" },
 	{ RT_VENDORID, RT_DEVICEID_8168, 0,
-	    "RealTek 8168/8168B/8168C/8168CP/8111B/8111C/8111CP PCIe "
+	    "RealTek 8168/8168B/8168C/8168CP/8168D/8111B/8111C/8111CP PCIe "
 	    "Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, 0,
 	    "RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet" },
@@ -213,6 +213,7 @@
 	{ RL_HWREV_8168C, RL_8169, "8168C/8111C"},
 	{ RL_HWREV_8168C_SPIN2, RL_8169, "8168C/8111C"},
 	{ RL_HWREV_8168CP, RL_8169, "8168CP/8111CP"},
+	{ RL_HWREV_8168D, RL_8169, "8168D"},
 	{ 0, 0, NULL }
 };
 
@@ -1225,6 +1226,7 @@
 	case RL_HWREV_8168C:
 	case RL_HWREV_8168C_SPIN2:
 	case RL_HWREV_8168CP:
+	case RL_HWREV_8168D:
 		sc->rl_flags |= RL_FLAG_INVMAR | RL_FLAG_PHYWAKE |
 		    RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT;
 		/*

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