Driver de NIC Ethernet do FreeBSD não reconhecido

0

Motherboard Intel 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

Liberação do FreeBSD 8.2

# uname -a
FreeBSD qb91.anybots.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     [email protected]:/usr/obj/usr/src/sys/GENERIC  i386

Mensagem do kernel

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

... ao disparar ifconfig , re0 não aparece.

Infelizmente, atualizar o FreeBSD não é uma opção, devo ficar com o 8.2 RELEASE.

Como posso solucionar / corrigir esse problema?

UPDATE - NOVO DRIVER COMPILADO

As etapas seguidas neste tópico .

No FreeBSD 8.2 RELEASE Virtual Machine, eu recompilei o kernel. Em seguida, coletei if_re.ko e if_re.ko.symbols e os copiei para a máquina que tem o problema na pasta /boot/kernel/ .

Após a reinicialização, o problema persiste.

UPDATE - LOADER.CONF

Adicione if_re_load="YES" em /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

Ainda sem sorte.

Também tentei carregar manualmente:

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

Não tenho certeza do que isso significa, suponho que isso significa que foi carregado (?)

# 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 não é UP

Em vez de copiar apenas if_re.ko arquivos, acabei copiando todo o diretório kernel

Agora o adaptador está na posição UP e recebe um endereço atribuído

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

Mas ainda recebo essas mensagens do kernel, o que me incomoda um pouco. Parece que o re0 não é totalmente reconhecido.

# 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]
    
por zabumba 18.11.2014 / 10:38

1 resposta

1

Eu não acho que esta revisão do chipset seja suportada pelo driver re do estoque na versão 8.2-RELEASE ou anterior. Você pode pegar uma versão com porta traseira do driver e reconstruir seu kernel para incluí-lo. Uma rápida pesquisa no arquivo da lista de discussão do FreeBSD mostra este tópico , que tem links para os arquivos atualizados do driver. Se você precisar de ponteiros para reconstruir seu kernel, Capítulo 9 no FreeBSD Manual é um bom ponto de partida.

    
por 18.11.2014 / 11:30