Netzwerk Carrier Überwachen
-
Hallo,
ich brauche für eine Linux-Programm, geschrieben in C, eine Überwachung des Linkstatus der Netwerkkarte (Carrier Verfügbar ja/nein). Aus einem Forum habe ich den Tipp bekommen, die Datei "/sys/class/net/eth0/carrier" auszulesen. Dort steht "1" wenn der Link OK ist und "0" wenn der Link down ist. Das Funktioniert ganz gut, aber nun habe ich festgestellt, dass es nicht auf einem Dual-Xenon Server mit RedHat Enterprise ES 4 funktioniert, da unter "/sys/class/net/eth0/" keine Datei "carrier" existiert.
Auf Ubuntu 6.06 (Etch) und Suse 10.1 / 10.2 existiert diese Datei.
Ethernet Treiber auf dem RedHat System ist e1000 (Intel).
Den gleichen Treiber habe ich auf einem Dell-PC mit Suse10.2 und das gehts.
Auf einem HP-PC mit Tigon3-NIC (tg3 module) und Ubuntu gehts auch.Kann mir einer sagen, wie ich den Linkstatus Distributionsunabhängig überwachen kann?
Danke für jede Hilfe
Zubel
-
Möglicherweise unterstützen das nicht alle Treiber. Verpass dem Rechner doch mal ne andere Karte...
-
hängt wohl eher von der Kernel-Version ab
@Zubel
du kannst wohl auch /proc dafür nehmen http://www.google.com/codesearch?hl=en&q=+carrier+eth0+show:Fzdhdnho4ls:iPRFTLpfDVQ:XW_tUJa5h0g&sa=N&cd=1&ct=rc&cs_p=http://www.bullfreeware.com/download/sources/aix43/kdebase-2.1.tar.gz&cs_f=kdebase-2.1/ksysguard/ksysguardd/Linux/netdev.c#a0