0

Intel Motherboard GA-H61N-D2V

$ pciconf -l -v
re0@pci0:1:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor'
    device     = 'Gigabit Ethernet NIC(NDIS 6.0) (RTL8168/8111/8111c)'
    class      = network
    subclass   = ethernet

FreeBSD 8.2 RELEASE

# uname -a
FreeBSD qb91.anybots.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

Kernel message

re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xee00-0xeeff mem 0xfbdff000-0xfbdfffff,0xfbdf8000-0xfbdfbfff irq 16 at device 0.0 on pci1
re0: Using 1 MSI messages
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
re0: Unknown H/W revision: 0x2c800000

... when firing ifconfig, re0 doesn't show up.

Unfortunately upgrading FreeBSD is not an option, I must stick to 8.2 RELEASE.

How may I troubleshoot/fix this issue?

UPDATE - COMPILED NEW DRIVER

Followed steps in this thread.

On FreeBSD 8.2 RELEASE Virtual Machine, I recompiled the kernel. Then I collected if_re.ko and if_re.ko.symbols and copied them onto the machine that has the problem in /boot/kernel/ folder.

After a reboot the problem persists.

UPDATE - LOADER.CONF

Add if_re_load="YES" in /boot/loader.conf

# kldstat
Id Refs Address    Size     Name
 1   43 0xc0400000 bd97b4   kernel
 2    1 0xc0fda000 1126c    if_run.ko
 3    1 0xc0fec000 4be0     umodem.ko
 4    1 0xc0ff1000 e618     snd_uaudio.ko
 5    3 0xc1000000 56794    sound.ko
 6    1 0xc1057000 2c38     coretemp.ko
 7    1 0xc105a000 c108     ahci.ko
 8    1 0xc1067000 4c04     cuse4bsd.ko
 9    1 0xc106c000 3ce0     runfw.ko
10    1 0xc1070000 3c98     uanypkt.ko
11    1 0xc1074000 69d4     usie.ko
12    1 0xc4f0f000 9000     tmpfs.ko
13    1 0xc51b0000 26000    linux.ko

Still no luck.

Also tried loading manually:

# kldload -v /boot/kernel/if_re.ko
kldload: can't load /boot/kernel/if_re.ko: File exists

Not sure what this means, I suppose it means that it was loaded (?)

# kldstat -v | grep ko
 2    1 0xc0fda000 1126c    if_run.ko (/boot/kernel/if_run.ko)
 3    1 0xc0fec000 4be0     umodem.ko (/boot/kernel/umodem.ko)
 4    1 0xc0ff1000 e618     snd_uaudio.ko (/boot/kernel/snd_uaudio.ko)
 5    3 0xc1000000 56794    sound.ko (/boot/kernel/sound.ko)
 6    1 0xc1057000 2c38     coretemp.ko (/boot/kernel/coretemp.ko)
 7    1 0xc105a000 c108     ahci.ko (/boot/kernel/ahci.ko)
 8    1 0xc1067000 4c04     cuse4bsd.ko (/boot/modules/cuse4bsd.ko)
 9    1 0xc106c000 3ce0     runfw.ko (/boot/kernel/runfw.ko)
10    1 0xc1070000 3c98     uanypkt.ko (/boot/modules/uanypkt.ko)
11    1 0xc1074000 69d4     usie.ko (/boot/modules/usie.ko)
12    1 0xc4f0f000 9000     tmpfs.ko (/boot/kernel/tmpfs.ko)
13    1 0xc51b0000 26000    linux.ko (/boot/kernel/linux.ko)

UPDATE - re0 is not UP

Instead of copying only if_re.ko files, I ended up copying the whole kernel directory

Now the adapter is UP and get an address assigned

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
    ether 74:d4:35:12:ce:d6
    inet 10.10.99.115 netmask 0xffff0000 broadcast 10.10.255.255
    media: Ethernet autoselect (none)
    status: no carrier

But I still get these messages from the kernel, which bothers me a little. Looks like the re0 is not entirely recognized.

# dmesg | grep re0
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xee00-0xeeff mem 0xfbdff000-0xfbdfffff,0xfbdf8000-0xfbdfbfff irq 16 at device 0.0 on pci1
re0: Using 1 MSI messages
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
re0: Unknown H/W revision: 0x2c800000
device_attach: re0 attach returned 6
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xee00-0xeeff mem 0xfbdff000-0xfbdfffff,0xfbdf8000-0xfbdfbfff irq 16 at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: turning off MSI enable bit.
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
re0: Ethernet address: 74:d4:35:12:ce:d6
re0: [ITHREAD]
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xee00-0xeeff mem 0xfbdff000-0xfbdfffff,0xfbdf8000-0xfbdfbfff irq 16 at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
re0: Ethernet address: 74:d4:35:12:ce:d6
re0: [ITHREAD]
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0xee00-0xeeff mem 0xfbdff000-0xfbdfffff,0xfbdf8000-0xfbdfbfff irq 16 at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
re0: Ethernet address: 74:d4:35:12:ce:d6
re0: [ITHREAD]
  • 1
    That means the re driver is already built into the kernel. I think, if possible, you need to try rebuilding the kernel on the affected system to ensure the version of the driver that gets built in to the kernel is from the updated source files. – D_Bye Nov 18 '14 at 13:21
  • Would it help to copy the kernel? I don't think I will be able to build on the affected system, it has limited resource (it's a long story) – zabumba Nov 18 '14 at 13:23
  • 1
    A GENERIC kernel with the updated re should work OK, if it's going to work at all! – D_Bye Nov 18 '14 at 13:24
  • In fact I just ended copying the whole kernel folder and re0 finally came up. But I am still getting Kernel messages that do bother me, but they may be just saying that all is fine now (?) – zabumba Nov 21 '14 at 10:16
1

I don't think this revision of the chipset is supported by the stock re driver in version 8.2-RELEASE or earlier. You can grab a back-ported version of the driver and rebuild your kernel to include it. A quick search of the FreeBSD mailing list archive turns up this thread, which has links to the updated driver files. If you need pointers on rebuilding your kernel, Chapter 9 in the FreeBSD Handbook is a good starting point.

  • Yes and this thread was helpful too. I was able to compile and collected the if_re.ko and if_re.ko.symbols copied them to the machine that needed to be patched. After a reboot, still no luck. So I must be missing a step. – zabumba Nov 18 '14 at 10:44
  • I have updated my Question with my new findings – zabumba Nov 18 '14 at 10:50
  • 1
    Does the re driver show up if you run kldstat? If not, try adding if_re_load="YES" to your /boot/loader.conf and reboot. – D_Bye Nov 18 '14 at 11:03
  • No it doesn't. I have added if_re_load="YES" but it didn't help. I will update the question with my results – zabumba Nov 18 '14 at 13:12
  • I also tried loading manually but I am getting kldload: can't load /boot/kernel/if_re.ko: File exists. See update in my question – zabumba Nov 18 '14 at 13:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.