FreeBSD 7.1 Breaks re and rl Network Interface Drivers

Jung-uk Kim jkim at FreeBSD.org
Mon Jan 19 13:33:58 PST 2009


On Friday 16 January 2009 11:47 pm, Pyun YongHyeon wrote:
> On Tue, Jan 13, 2009 at 03:53:59PM +0100, Sascha Holzleiter wrote:
>  > Jung-uk Kim wrote:
>  > >On Monday 12 January 2009 12:21 pm, Sascha Holzleiter wrote:
>  > >>Hi,
>  > >>
>  > >>i see similar problems with a re card:
>  > >>
>  > >>re0 at pci0:4:7:0:	class=0x020000 card=0x816710ec chip=0x816710ec
>  > >>rev=0x10 hdr=0x00
>  > >>     vendor     = 'Realtek Semiconductor'
>  > >>     device     = 'RTL8169/8110 Family Gigabit Ethernet NIC'
>  > >>     class      = network
>  > >>     subclass   = ethernet
>  > >>
>  > >>After upgrading to 7.1-RELEASE (and also STABLE) the NIC
>  > >> doesn't seem to receive any frames. I can see the DHCP
>  > >> Requests on the DHCP Server but the DHCPOFFERS are never seen
>  > >> by the client with the re0 device. After setting promiscious
>  > >> mode on the interface (i.e. by tcpdump -ni re0) the interface
>  > >> begins to work fine.
>  > >>
>  > >>I've attached a complete dmesg output, but i think the
>  > >> detection works fine, here the short version:
>  > >>
>  > >>re0: <RealTek 8169SC/8110SC Single-chip Gigabit Ethernet> port
>  > >>0x9c00-0x9cff mem 0xdfdff000-0xdfdff0ff irq 20 at device 7.0
>  > >> on pci4 re0: Chip rev. 0x18000000
>  > >>re0: MAC rev. 0x00000000
>  > >>miibus0: <MII bus> on re0
>  > >>rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on
>  > >> miibus0 rgephy0:  10baseT, 10baseT-FDX, 100baseTX,
>  > >> 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
>  > >>re0: Ethernet address: 00:1a:92:35:29:fa
>  > >>re0: [FILTER]
>  > >
>  > >Please revert SVN r180519 (or CVS r1.95.2.22) and try again:
>  > >
>  > >http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c.di
>  > >ff?r1=1.95.2.21;r2=1.95.2.22
>  >
>  > Thanks! This fixed my problem. I now have DHCP and a running
>  > network interface again with a 7.1-STABLE and the reverted
>  > r180519 changes. If you need to test another version for the
>  > changes in r180519 let me know and i'll test them on this
>  > machine.
>
> It seems that RTL8169SC does not like memory mapping. Instead of
> using io mapping for all revisions, how about attached patch?

I found something interesting.  I have another RTL8169SC that works 
perfectly fine without the patch.  The hardware revision is 
0x18000000.  After reading Linux driver (drivers/net/r8169c), I 
realised they use different masks for hardware revisions.  With their 
logic, non-working chip seems to be 0x98000000 (8110SCe) while 
working chip seems to be 0x18000000 (8110SCd) with 0xfc800000.  
FYI...

Jung-uk Kim


More information about the freebsd-stable mailing list