misc/110804: re driver doesn't properly support RTL8110SC

Daan Vreeken [PA4DAN] Danovitsch at vitsch.net
Mon Mar 26 12:10:22 UTC 2007


On Sunday 25 March 2007 17:14, Paul Haddad wrote:
> >Number:         110804
> >Category:       misc
> >Synopsis:       re driver doesn't properly support RTL8110SC
> >Confidential:   no
> >Severity:       serious
> >Priority:       low
> >Responsible:    freebsd-bugs
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Sun Mar 25 15:20:01 GMT 2007
> >Closed-Date:
> >Last-Modified:
> >Originator:     Paul Haddad
> >Release:        pfSense 1.0.1/6.1 (but verified problem still exists in
> > 6.2) Organization:
>
> PTH Consulting
>
> >Environment:
>
> FreeBSD router.pth.prv 6.1-RELEASE-p15 FreeBSD 6.1-RELEASE-p15 #3: Sat Mar
> 17 23:09:48 UTC 2007    
> root at pfSense.local:/usr/obj.pfSense/usr/src/sys/pfSense_wrap.6  i386
>
> >Description:
>
> The Jetway AD3RTLANG (3 port RTL8110SC card) device isn't supported
> properly in the RE driver.  It seems like the device is listed in if_reg.h
> but it isn't matching the device.  The below is the pciconf for the device.
>
>
> none0 at pci0:9:0: class=0x020000 card=0x10ec16f3 chip=0x816910ec rev=0x10
> hdr=0x00 class    = network
>     subclass = ethernet
> none2 at pci0:11:0:        class=0x020000 card=0x10ec16f3 chip=0x816910ec
> rev=0x10 hdr=0x00 class    = network
>     subclass = ethernet
> none3 at pci0:12:0:        class=0x020000 card=0x10ec16f3 chip=0x816910ec
> rev=0x10 hdr=0x00 class    = network
>     subclass = ethernet
>
> This doesn't seem to match what the RE driver is looking for.  I've tried
> to change the matching logic for the driver but haven't had any luck with
> this.

I stumbled upon this two weeks ago while setting up a new (mini-ITX) server 
for my company. The attached patch adds the correct ID's for the Realtek 
chips on the Jetway triple-gigabit expansion card.
After patching the kernel all three devices are properly detected and work 
like a charm.

This tiny patch was sponsoren by : Vitsch Electronics

pciconf, dmesg or any other information is available upon request.

grtz,
-- 
Daan
-------------- next part --------------
--- if_re.c~	Mon Jan  1 02:07:02 2007
+++ if_re.c	Mon Jan  1 02:11:38 2007
@@ -182,6 +182,8 @@
 		"RealTek 8169S Single-chip Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169_8110SB,
 		"RealTek 8169SB/8110SB Single-chip Gigabit Ethernet" },
+	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169_8110SC,
+		"RealTek 8169SC/8110SC Single-chip Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169SC, RL_HWREV_8169_8110SC,
 		"RealTek 8169SC/8110SC Single-chip Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8110S,
@@ -1219,7 +1221,9 @@
 	 * Allocate the parent bus DMA tag appropriate for PCI.
 	 */
 #define RL_NSEG_NEW 32
-	error = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0,
+// DAAN Daan daan !!
+//	error = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0,
+	error = bus_dma_tag_create(NULL, 1, 0,
 	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
 	    MAXBSIZE, RL_NSEG_NEW, BUS_SPACE_MAXSIZE_32BIT, 0,
 	    NULL, NULL, &sc->rl_parent_tag);


More information about the freebsd-bugs mailing list