Verificando o status do hardware de rede no Linux

3

Existe uma ferramenta Linux para verificar o status das placas de hardware?

No Windows, você tem a caixa de diálogo de hardware que mostra linhas como "seu hardware está funcionando corretamente" (não tenho a versão em inglês, portanto, a string pode ser diferente, mas você entendeu).

Gostaria de verificar o mesmo no Linux. Note que sei qual hardware está instalado, mas preciso saber se o driver foi carregado corretamente e se não há erros.

Como estamos instalando o Linux em diferentes PCs com o mesmo hardware, precisamos de uma maneira rápida de saber que tudo funciona após a instalação. Então, se uma placa (digamos, uma placa ethernet) não estiver funcionando por algum motivo, eu gostaria de ser notificado sobre isso.

Eu sei que eu poderia usar lsmod e dmesg , mas isso não é muito "rápido". Talvez haja algum arquivo mágico em /proc que me diga (por placa) que tudo está funcionando corretamente para uma determinada placa?

Especificamente, preciso testar as placas ethernet e o status da linha serial.

(o driver de linha serial é compilado diretamente no kernel, então lsmod não é muito útil aqui)

    
por Emiliano 08.02.2011 / 09:50

2 respostas

1

Para interfaces ethernet, você pode usar ethtool .

# ethtool -t eth0 online
The test result is PASS
The test extra info:
nvram test     (online)          0
link test      (online)          0
register test  (offline)         0
memory test    (offline)         0
loopback test  (offline)         0
interrupt test (offline)         0

Isso executa um autoteste, mas depende do suporte adequado em seu hardware e driver. Você também pode apenas obter seu status.

# ethtool  eth0 
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

Isso informa os parâmetros de conexão e o status do link.

Para as linhas seriais, as regras do udev carregarão o driver e registrarão nós de dispositivo, se existirem. A mera presença de / dev / ttyS? diz que há harware lá e que passou em um teste de sanidade. O driver do Linux faz um teste e o dispositivo não será registrado se não passar. Mas, para saber realmente se funciona, será necessário testá-lo com um plugue de loopback.

Ah, e você também pode usar o comando s setserial para obter informações sobre a porta serial.

# setserial /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

A presença dessa informação diz que você tem esse hardware de porta serial.

    
por 30.05.2011 / 23:13
1

O teste é definitivamente a resposta correta. Qualquer peça de hardware pode e irá falhar. Além disso, muitas vezes falhará de uma forma que ainda faz parecer que está funcionando, até que você tente usá-lo. Pode funcionar bem, exceto em certos casos, como alta carga. Com isto em mente, é claro que o Windows dizendo "este hardware está funcionando corretamente" não é útil.

Se você estiver gerenciando até mesmo um conjunto moderadamente grande de hardware, é essencial fazer algum tipo de gravação. Execute tarefas intensivas da CPU por algumas horas, grave enormes quantidades de dados no disco e leia-as novamente para garantir correto, sature a placa de rede com o tráfego e verifique se há pacotes descartados. Esta é a única maneira de ter certeza.

Além disso, certifique-se de executar verificações semelhantes (mas provavelmente menores) durante a vida útil da máquina. Use algo como nagios para que você receba um alerta assim que algo estiver errado. O hardware falha e falha com frequência.

    
por 30.05.2011 / 22:59