amd64/186401: Problem with RTL8111/8168B initialization

Marcin Kucharczyk marcinkk at
Mon Feb 3 08:20:00 UTC 2014

>Number:         186401
>Category:       amd64
>Synopsis:       Problem with RTL8111/8168B initialization
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 03 08:20:00 UTC 2014
>Originator:     Marcin Kucharczyk
>Release:        FreeBSD 10.0 RELEASE amd64
Silesian University of Technology
FreeBSD sklab-xx 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014     root at  amd64
The problem is described there: I don't know if I can use formating here. The answer on forum sugessts filling bug report, so I've done it.

I've installed FreeBSD 10.0 RELEASE amd64 on new machine: MSI B85M-G43 (MS-7823).

With the following line in rc.conf:


the Realtek NIC was detected and re(4) driver was initialized but the card can't get IP configuration from DHCP. After boot I can see in ifconfig re0:

    re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            ether 44:8a:5b:26:cc:ae
            media: Ethernet autoselect (1000baseT <full-duplex,master>)
            status: active

The card doesn't have IP and doesn't work. I've tried set IP manually but it didn't help. After reading the posts in mentioned topic I've tried some options. I've logged to the system and make the command ifconfig re0 tso and the card gets IP in few seconds and everything worked fine. So I've changed rc.conf to:

    ifconfig_re0="DHCP tso"

But it didn't help. And I've noticed that any change in one of the 3 parameters suggested on forum to turn off earlier: tso, rxcsum, txcsum changed after login makes the NIC working: ifconfig re0 -rxcsum or ifconfig re0 -txcsum helps too. It could be also -rxcsum inf rc.conf and ifconfig re0 rxcsum after login. And so on...

pciconf says:

    re0 at pci0:2:0:0: class=0x020000 card=0x78231462 chip=0x816810ec rev=0x0c 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 0xe000, size 256, enabled
        bar   [18] = type Memory, range 64, base 0xf7c00000, size 4096, enabled
        bar   [20] = type Prefetchable Memory, range 64, base 0xf0000000, size 16384, enabled
        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 1 max data 128(128) link x1(x1)
                     speed 2.5(2.5) ASPM disabled(L0s/L1)
        cap 11[b0] = MSI-X supports 4 messages, enabled
                     Table in map 0x20[0x0], PBA in map 0x20[0x800]
        cap 03[d0] = VPD
        ecap 0001[100] = AER 1 0 fatal 0 non-fatal 0 corrected
        ecap 0002[140] = VC 1 max VC0
        ecap 0003[160] = Serial 1 01000000684ce000
        ecap 0018[170] = LTR 1

So I made a little workaround putting to /etc/rc.local line:

    /sbin/ifconfig re0 tso

And I still have problems on start with the initial communication with DHCP but the interface wakes up after rc.local file is processed and seems to work properly afterwards.

The rc.conf has only:


How to make it better? Is there a problem with driver initialization?

PS. I've had the same problem while trying to install. The system was installed using USB->Ethernet adapter.
Boot the system from CD on the MSI B85M-G43 (MS-7823) motherboard...
Change one of the tso, rxcsum and txcsum parameters for the re0 interface after booting. Maybe any change of the possible interface parameters?


More information about the freebsd-amd64 mailing list