Por que minha segunda placa de rede PCIe não é reconhecida pelo Linux?

3

A máquina é um IBM ThinkCentre (modelo 8115LUA) com dois slots PCI - x1 e x16 se eu me lembro (as designações) corretamente.

Existem duas placas de rede idênticas nesses slots PCIe. Inicialmente, o sistema não iniciava - parecia que ele estava tentando usar uma das placas de rede para uma placa de vídeo (com resultados esperados) - presumivelmente, o slot x16. O vídeo é do chipset Intel 82945G.

Eu removi a placa de rede no slot PCIe de tamanho grande, configurei o BIOS para usar apenas vídeo on-board e reiniciei. A inicialização foi boa. Depois de colocar a placa de rede novamente, a inicialização ainda estava boa.

No entanto, apenas uma placa de rede é reconhecida (como eth1) - depois, é "implementada" como eth2 (!).

[    5.148758] eth1: Tigon3 [partno(BCM95761) rev 5761100] (PCI Express) MAC address 00:10:18:80:de:36
[    5.148765] eth1: attached PHY is 5761 (10/100/1000Base-T Ethernet) (WireSpeed[1])
[    5.148771] eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[    5.148776] eth1: dma_rwctrl[76180000] dma_mask[64-bit]

lspci:

00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
02:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)

As duas cartas em questão são idênticas; um é visto acima em 04:00.0 . O dispositivo de rede em 02:00.0 é o dispositivo de rede interno.

Recebo luzes de link em todos os três dispositivos (cartões PCIe Gigabit e dispositivo de rede interno), com as luzes de fluxo de tráfego correspondentes. O Linux reconhece a perda de link em eth0 e eth2 (dispositivos reconhecidos), mas não registra nada ao usar um dispositivo não reconhecido no slot PCIe 16x.

Na BIOS, eu configuro o vídeo ativo para IGD (Integrated Graphics Device, eu assumo).

Como faço a segunda placa de rede funcionar? Não há outros slots PCIe disponíveis neste sistema; apenas esses dois.

    
por Mei 02.06.2011 / 21:18

2 respostas

1

Eu sei que esta é uma pergunta antiga, mas vou tentar de qualquer maneira.

Este slot PCIe x16 no ThinkCentres é de dupla finalidade. Ele pode ser usado como um slot PCIe x16 ou como uma extensão para os gráficos integrados (adicionando uma porta DVI-D ao IGP onboard).

Geralmente, o BIOS não reconhece corretamente nenhuma placa PCIe nesse slot. (Eu vi isso acontecer com placas de vídeo, placas de rede, placas sintonizadoras de TV).

A solução para mim sempre foi a seguinte:

  1. Atualize o BIOS para a versão mais recente primeiro. (O BIOS de remessa geralmente é uma versão inicial.) Redefina os padrões de fábrica após a atualização.
  2. Se isso não resolver o problema, remova a bateria do CMOS por 10 minutos. Coloque-o de volta. Inicialize e entre imediatamente no BIOS e redefina para os padrões de fábrica. Não deixe que inicialize sem o reset! Os ThinkCentres da série 8xxxx têm o hábito incômodo de tentar inicializar com a lixeira no CMOS em vez de um padrão sensato.
por 29.03.2012 / 22:01
0

Primeiro, verifique se você sabe que as duas NICs funcionam, testando-as individualmente ou outro computador ... Estou assumindo que você já fez isso, embora:)

Eu acho que é um problema de BIOS. Eu tive problemas semelhantes com algumas placas de rede em algum hardware de rede antigo / barato. Eu gostaria de lembrar exatamente o que fiz, mas acho que envolveu redefinir o BIOS para 'padrões de fábrica', o que mudou algumas das características de atribuição de recursos da PCI.

Sua versão do kernel Linux não deve afetar a saída do lspci - que deve mostrar todos os dispositivos PCI conectados e ativados.

Minhas recomendações:

  1. Redefina seu BIOS para os padrões de fábrica, para garantir que quaisquer configurações de recursos PCI não padrão sejam apagadas.

  2. Desative todos os dispositivos onboard que você não estiver usando (como o cartão Intel onboard), placa de vídeo onboard, etc.

  3. Inicialize no Linux novamente e veja se suas NICs são exibidas.

  4. Se os dois não estiverem aparecendo, ajuste as configurações da BIOS (especificamente relacionadas a dispositivos PCI) e repita a partir da etapa 3.

Uma vez que ambas as placas estão aparecendo novamente, você pode precisar limpar o conceito do udev de suas placas de rede, dependendo da sua distribuição Linux (no Debian, simplesmente rm /etc/udev/rules.d/70-persistent-net.rules ).

    
por 16.06.2011 / 01:14