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.