Gigabit NIC macht Fehler?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Gigabit NIC macht Fehler?

Beitrag von hennes@debian » 12.03.2007 00:49:25

Hallo!
Mir kam schon seit einer Zeit komisch vor das auf meinem Server ab und zu mal MD5-Fehler bei den Updates kamen. So wies aussieht wurden die Files fehlerhaft heruntergeladen... Nun hab ich rausgefunden das ich im Netzwerk ab und zu mal Kommunikatonsfehler habe :( Kann das sein? Ich dachte TCP hat eine checksumme?!?

Versuchsresultat:
(Der Ordner server ist via NFS gemountet: server:/home on /mnt/server type nfs (rw,tcp,addr=192.168.1.2) )

Code: Alles auswählen

dd if=/dev/urandom bs=1M count=10 of=testfile
while true; do cp testfile server/testfile ; cmp testfile server/testfile ; echo -n x ; done

Code: Alles auswählen

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differieren: Byte  352576, Zeile 1372.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differieren: Byte 719334, Zeile 2847.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differieren: Byte 103906, Zeile 367.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differieren: Byte 971486, Zeile 3812.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differiere n: Byte 977262, Zeile 3843.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxx
testfile server/testfile differieren: Byte 130906, Zeile 477.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
testfile server/testfile differieren: Byte 926242, Zeile 3646.
Also etwa alle 100-1000MB ein Fehler :roll:
Hab scho div. Daten darüber kopiert... Hoffe einfach die sind nocht brauchbar :(

Gruss Hannes

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 12.03.2007 00:52:34

NIC:
lspci: 01:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
Typ: Netgear GA311, Gigabit Netzwerkkarte, PCI
Switch:
ZyXEL GS-108A, Gigabit Switch, 8x 10/100/1000Mbps
OS:
Debian Edge / Vanilla-Kernel 2.6.20.2

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 12.03.2007 01:20:04

Weiterer test:
Auf dem server:

Code: Alles auswählen

netcat -l -p 5000 | netcat -l -p 5001
Auf meinem rechenr:

Code: Alles auswählen

dd if=/dev/urandom of=testfile bs=1M count=100
netcat linux-server 5000 < testfile &
netcat linux-server 5001 > test-out &
# warten bis fertig
cmp testfile test-out
testfile test-out differieren: Byte 80823732, Zeile 315204.
:?

Wenn ich den Server mit der 100MBbit-Karte verbinde bekomme ich keine Fehler...

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 13.04.2007 09:49:53

*push*
Jemand eine Idee was das sein könnte? Bugreport an Kernelentwickler? Karte umtauschen?
http://de.wikipedia.org/wiki/Transmission_Control_Protocol hat geschrieben:Es prüft daher die Integrität der Daten mittels der Prüfsumme im Paketkopf und stellt die Reihenfolge durch Sequenznummern sicher.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 13.04.2007 11:43:44

Eventuell auch einfach eine nicht so gute Verkabelung? Irgendwo ein schlechter Kontakt? Oder eventuell ne defekte Hardware?

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 13.04.2007 15:35:19

Ich werd mal ein Netzwerktestprogram schreiben...
Denke defekte Hardware könnte es am ehesten sein...

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 13.04.2007 19:10:02

So, Testprogramm ist fertig :)
Ich schicke random-data vom Server zum Client, der es überprüft...
die problemhafte NIC ist im linux-server, denke nicht das das Problem an der linux-workstation liegt, vom Laptop aus hab ich keine Probleme... Vom Laptop zum Server tauchen die Fehler etwa im selben Abstand auch auf... Das selbe bei anderen Kabeln und anderen Hub-Ports...

Code: Alles auswählen

user@linux-server:~$ ./server
Socket wurde angelegt
Ein Client (192.168.1.10) ist verbunden ...
2038.00 Mb
Connection closed!
-----------------------------------------------------------------------------------------------------------------------------
user@linux-workstation:~$ ./client 192.168.1.2 
Socket wurde angelegt
Verbindung mit dem Server (192.168.1.2) hergestellt
2038.00 Mb

Code: Alles auswählen

user@linux-workstation:~$ ./server 
Socket wurde angelegt
Ein Client (192.168.1.2) ist verbunden ...
159.00 Mb
Connection closed!
-----------------------------------------------------------------------------------------------------------------------------
user@linux-server:~$ ./client 192.168.1.10
Socket wurde angelegt
Verbindung mit dem Server (192.168.1.10) hergestellt
5.00 Mb
Error at data[358621]: 228 != 230
52.00 Mb
Error at data[764075]: 117 != 119
75.00 Mb
Error at data[31361]: 1 != 3
84.00 Mb
Error at data[193263]: 57 != 59
90.00 Mb
Error at data[604655]: 164 != 166
92.00 Mb
Error at data[354083]: 157 != 159
95.00 Mb
Error at data[954649]: 65 != 67
99.00 Mb
Error at data[992781]: 24 != 26
104.00 Mb
Error at data[59937]: 36 != 38
109.00 Mb
Error at data[667265]: 1 != 3
114.00 Mb
Error at data[939785]: 117 != 119
126.00 Mb
Error at data[605857]: 144 != 146
130.00 Mb
Error at data[635593]: 200 != 202
134.00 Mb
Error at data[757985]: 252 != 254
158.00 Mb
Denke die NIC hat ein Problem im Empfangspfad... Zeit für eine Garantiereparatur ;)

PS: Falls jemand mein Testprogramm möchte: Ist GPL ;)

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 14.04.2007 16:54:08

Was mir soeben aufgefallen ist:
Es ist immer das 2. bit das eins ist, aber null sein sollte...
Wobei aber trozdem: Ein fehler bei einem bit sollte durch die Checksumme detektiert werden! :roll:

Antworten