Beim NIC geht es genausowenig:
root@vdr3:/home/kls > setpci -v -s 01:00.0 68.w
0000:01:00.0 @68 = 0000
Beim NIC geht es genausowenig:
root@vdr3:/home/kls > setpci -v -s 01:00.0 68.w
0000:01:00.0 @68 = 0000
bei manchen Bios-en hat man die Möglichkeit, die PCIe Taktfrequenz und/oder die PCIe Link Spannung zu erhöhen/verringern. Vielleicht kann man das hier mal ganz moderat versuchen. Das Problem scheint wohl zu sein, das Sender und Empfänger sich nach einiger Zeit nicht mehr verstehen (evtl. Jitter?) Vielleicht können Parameteränderungen helfen
Vielleicht noch einmal als Anregung z.B. TP-Link UE300 (Herstellerinfo auf der Seite ganz unten).
Den gibt es auch mit USB3-Hub aLs UE330 und wird zumindest ab Kernel ab 4.15 von drivers/net/usb/r8152,c unterstützt.
Helmut
Hi,
btw did you have the latest Intel microcode on your system?
CU
9000h
bei manchen Bios-en hat man die Möglichkeit, die PCIe Taktfrequenz und/oder die PCIe Link Spannung zu erhöhen/verringern.
Hier gibt es nur "PCIE[123] Link Speed" und da kann man zwischen Auto, Gen1 und Gen2 wählen.
Hab alle drei schon erfolglos probiert.
Vielleicht noch einmal als Anregung z.B. TP-Link UE300
Ich möchte gerne bei der DD-Hardware bleiben.
Ich möchte gerne bei der DD-Hardware bleiben.
Da musst du dich verschaut haben - der TP-LINK UE300 ist ein USB-3.0- 10/100/1000Mbit/s-Gigabit-Ethernet-Adapter.
Helmut
did you have the latest Intel microcode on your system?
Following the instructions from here I get
model : 92
model name : Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
stepping : 9
microcode : 0x36
model : 92
...
[ 0.000000] kernel: microcode: microcode updated early to revision 0x36, date = 2018-09-14
[ 0.000000] kernel: smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[ 0.097232] kernel: smpboot: CPU0: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz (family: 0x6, model: 0x5c, stepping: 0x9)
[ 0.097391] kernel: mce: [Hardware Error]: PROCESSOR 0:506c9 TIME 1554818693 SOCKET 0 APIC 0 microcode 36
[ 0.098767] kernel: smp: Bringing up secondary CPUs ...
[ 0.100663] kernel: smp: Brought up 1 node, 4 CPUs
[ 0.100663] kernel: smpboot: Max logical packages: 1
[ 0.100663] kernel: smpboot: Total of 4 processors activated (11980.80 BogoMIPS)
[ 3.070577] kernel: microcode: sig=0x506c9, pf=0x1, revision=0x36
[ 3.070652] kernel: microcode: Microcode Update Driver: v2.2.
Alles anzeigen
How can I tell if this is the latest microcode version?
And should I be worried about that "Hardware Error" message?
Da musst du dich verschaut haben - der TP-LINK UE300 ist ein USB-3.0- 10/100/1000Mbit/s-Gigabit-Ethernet-Adapter.
Sorry, mein Fehler.
Ich hatte es zwischenzeitlich mal mit einem USB-WLAN-Adapter probiert, damit kam ich zwar ans Netzt, aber als ich den rsync gestartet habe, brach die Verbindung komplett zusammen. Hab das dann nicht weiterverfolgt.
Ich hab jetzt nochmal den Intel NIC reingesteckt um zu sehen, welchen MaxReadReq Wert der hat. Dort sind es 512 Byte, also dürfte die Theorie, dass die 4096 Byte des Realtek zu viel sind, wackeln.
Bleibt noch die Theorie, dass die 512 des ddbridge zu wenig sind.
Die 4096 Bytes beim NIC und die 512 Btes bei der DVB-Karte (DvbSky) habe ich auch, das dürften eher Standardwerte sein die normalerweise auch funktionieren.
Die Idee mit dem USB-LAN ist, dass du dann den Onboard NIC im Bios komplett abschalten kannst (wenn dein Bios noch so aussieht wie im User-Manual von Asrock) und die DDs dann ungestört sind.
Helmut
Ich habe jetzt mal ein kleines Script gemacht, welches die Bytes mit setpci einzeln ausgibt:
#!/usr/bin/perl
$d = $ARGV[0];
$i = 0;
while ($i <= 0xFF) {
$c = sprintf("setpci -s $d %02X.b", $i);
$b = `$c`;
chomp($b);
print " $b";
$i++;
print "\n" if !($i % 16);
}
Alles anzeigen
Damit erhalte ich bei der ddbridge
01 dd 06 00 06 04 10 00 00 00 80 04 00 00 00 00
04 00 10 91 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 01 dd 24 00
00 00 00 00 50 00 00 00 00 00 00 00 ff 01 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 70 03 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
05 90 83 00 0c f0 e0 fe 00 00 00 00 22 41 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
10 00 02 00 00 80 00 00 10 20 01 00 11 74 00 00
40 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Alles anzeigen
Durch Vergleich mit den Bytes des NIC und etwas intuitives Raten habe ich mal das Byte 0x99 von 0x20 auf 0x50 geändert und damit tatsächlich etwas erreicht:
root@vdr3:/home/kls > lspci -s 02:00.0 -vvv | grep -e MaxRead -e ^0
02:00.0 Multimedia controller: Digital Devices GmbH Cine V7
MaxPayload 128 bytes, MaxReadReq 512 bytes
root@vdr3:/home/kls > setpci -s 02:00.0 99.b=50
root@vdr3:/home/kls > lspci -s 02:00.0 -vvv | grep -e MaxRead -e ^0
02:00.0 Multimedia controller: Digital Devices GmbH Cine V7
MaxPayload 128 bytes, MaxReadReq 4096 bytes
Ein anschließender rsync führte aber leider wieder zum Fehler.
Was ich natürlich nicht weiß ist, inwieweit deise Änderung auch sofort in der ddbridge greift.
Als Gegenprobe noch der Versuch, die 4096 beim NIC herunterzusetzen (hier ist es anscheinend das Byte 0x79):
root@vdr3:/home/kls > ./x.pl 01:00.0
ec 10 68 81 07 04 10 00 06 00 00 02 10 00 00 00
01 e0 00 00 00 00 00 00 04 40 20 91 00 00 00 00
0c 00 20 91 00 00 00 00 00 00 00 00 49 18 68 81
00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00
01 50 c3 ff 08 00 00 00 00 00 00 00 00 00 00 00
05 70 81 00 0c 80 e0 fe 00 00 00 00 a2 41 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
10 b0 02 02 c0 8c 90 05 10 50 10 00 11 7c 07 00
40 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
11 d0 03 00 04 00 00 00 04 08 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
root@vdr3:/home/kls > lspci -s 01:00.0 -vvv | grep -e MaxRead -e ^0
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
MaxPayload 128 bytes, MaxReadReq 4096 bytes
root@vdr3:/home/kls > setpci -s 01:00.0 79.b=20
root@vdr3:/home/kls > lspci -s 01:00.0 -vvv | grep -e MaxRead -e ^0
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
MaxPayload 128 bytes, MaxReadReq 512 bytes
Alles anzeigen
Leider tritt der Fehler auch damit auf.
Die Fehler treten wohl schon im Link auf, da hat rjkm recht gehabt.
Rumschrauben an den Timing-Werten ist also sinnlos!
- Zumindest verstehe ich es so, dass diese "DevSta:" -Werte direkt von der Hardware kommen und das ist eine Ebene unter dem Busprotokoll.
Die Link-Geschwindigkeit zu verringern ist wohn nicht möglich.
2,5 GT/s ist schon Gen 1.0 und weniger geht AFAIK nicht.
Gibt es im BIOS so was wie "spread spectrum" oder emv irgendwas?
Das sollte man abschalten, weil es den Jitter erhöht.
Man könnte noch schauen, ob das Problem auch bei anderen PCIe-Karten auftritt und so den Schuldigen eingrenzen (Mainboard vs. Cine). Siehe mein letzter Beitrag.
Und unbedingt den Stromstecker an die Cine anschliessen, falls das nicht schon geschehen ist.
Meine DvbSky läuft ohne auch nur teilweise und das obwohl sie an einem Multischalter hängt!
Ich kenne den Aufbau der Cine zwar nicht im Detail, aber die LNB-Regler können beim ein- und umschalten schon ganz schöne Stromspitzen erzeugen. Unter Umständen können die auch Störungen auf der PCI-Bridge erzeugen. Da können die Übergangswiderstände auf dem Board und Slot schon was ausmachen.
Da die Fehler nur unter Last auftreten, könnte man auch noch mal ein anderes Netzteil probieren, falls in beiden Aufbauten das gleiche steckt.
Hast du mal probiert, bei rsync mit --bwlimit die Bandbreite zu reduzieren? Die Angabe ist in KB/s.
Hi,
[ 0.000000] kernel: microcode: microcode updated early to revision 0x32, date = 2018-05-11
[ 0.000000] kernel: smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[ 0.066141] kernel: smpboot: CPU0: Intel(R) Pentium(R) CPU J4205 @ 1.50GHz (family: 0x6, model: 0x5c, stepping: 0x9)
[ 0.066286] kernel: mce: [Hardware Error]: PROCESSOR 0:506c9 TIME 1551386069 SOCKET 0 APIC 0 microcode 32
[ 0.068000] kernel: smp: Bringing up secondary CPUs ...
[ 0.072660] kernel: smp: Brought up 1 node, 4 CPUs
[ 0.072660] kernel: smpboot: Max logical packages: 1
[ 0.072660] kernel: smpboot: Total of 4 processors activated (11980.80 BogoMIPS)
[ 1.912677] kernel: microcode: sig=0x506c9, pf=0x1, revision=0x32
[ 1.912864] kernel: microcode: Microcode Update Driver: v2.2.
scheint bei Dir aelter zu sein
iucode_tool -S -l /lib/firmware/intel-ucode/*
iucode_tool: system has processor(s) with signature 0x000506c9
microcode bundle 1: /lib/firmware/intel-ucode/06-0f-02
microcode bundle 2: /lib/firmware/intel-ucode/06-0f-06
microcode bundle 3: /lib/firmware/intel-ucode/06-0f-07
microcode bundle 4: /lib/firmware/intel-ucode/06-0f-0a
microcode bundle 5: /lib/firmware/intel-ucode/06-0f-0b
microcode bundle 6: /lib/firmware/intel-ucode/06-0f-0d
microcode bundle 7: /lib/firmware/intel-ucode/06-16-01
microcode bundle 8: /lib/firmware/intel-ucode/06-17-06
microcode bundle 9: /lib/firmware/intel-ucode/06-17-07
microcode bundle 10: /lib/firmware/intel-ucode/06-17-0a
microcode bundle 11: /lib/firmware/intel-ucode/06-1a-04
microcode bundle 12: /lib/firmware/intel-ucode/06-1a-05
microcode bundle 13: /lib/firmware/intel-ucode/06-1c-02
microcode bundle 14: /lib/firmware/intel-ucode/06-1c-0a
microcode bundle 15: /lib/firmware/intel-ucode/06-1d-01
microcode bundle 16: /lib/firmware/intel-ucode/06-1e-05
microcode bundle 17: /lib/firmware/intel-ucode/06-25-02
microcode bundle 18: /lib/firmware/intel-ucode/06-25-05
microcode bundle 19: /lib/firmware/intel-ucode/06-2a-07
microcode bundle 20: /lib/firmware/intel-ucode/06-2d-06
microcode bundle 21: /lib/firmware/intel-ucode/06-2d-07
microcode bundle 22: /lib/firmware/intel-ucode/06-2e-06
microcode bundle 23: /lib/firmware/intel-ucode/06-2f-02
microcode bundle 24: /lib/firmware/intel-ucode/06-3a-09.initramfs
microcode bundle 25: /lib/firmware/intel-ucode/06-3c-03.initramfs
microcode bundle 26: /lib/firmware/intel-ucode/06-3d-04.initramfs
microcode bundle 27: /lib/firmware/intel-ucode/06-3e-04
microcode bundle 28: /lib/firmware/intel-ucode/06-3e-06
microcode bundle 29: /lib/firmware/intel-ucode/06-3e-07
microcode bundle 30: /lib/firmware/intel-ucode/06-3f-02.initramfs
microcode bundle 31: /lib/firmware/intel-ucode/06-3f-04.initramfs
microcode bundle 32: /lib/firmware/intel-ucode/06-45-01.initramfs
microcode bundle 33: /lib/firmware/intel-ucode/06-46-01.initramfs
microcode bundle 34: /lib/firmware/intel-ucode/06-47-01.initramfs
microcode bundle 35: /lib/firmware/intel-ucode/06-4e-03
microcode bundle 36: /lib/firmware/intel-ucode/06-4f-01.initramfs
microcode bundle 37: /lib/firmware/intel-ucode/06-55-03
microcode bundle 38: /lib/firmware/intel-ucode/06-55-04
microcode bundle 39: /lib/firmware/intel-ucode/06-56-02.initramfs
microcode bundle 40: /lib/firmware/intel-ucode/06-56-03
microcode bundle 41: /lib/firmware/intel-ucode/06-56-04
microcode bundle 42: /lib/firmware/intel-ucode/06-56-05
microcode bundle 43: /lib/firmware/intel-ucode/06-5c-02
microcode bundle 44: /lib/firmware/intel-ucode/06-5c-09
microcode bundle 45: /lib/firmware/intel-ucode/06-5c-0a
microcode bundle 46: /lib/firmware/intel-ucode/06-5e-03
microcode bundle 47: /lib/firmware/intel-ucode/06-5f-01
microcode bundle 48: /lib/firmware/intel-ucode/06-7a-01
microcode bundle 49: /lib/firmware/intel-ucode/06-8e-09
microcode bundle 50: /lib/firmware/intel-ucode/06-8e-0a
microcode bundle 51: /lib/firmware/intel-ucode/06-9e-09
microcode bundle 52: /lib/firmware/intel-ucode/06-9e-0a
microcode bundle 53: /lib/firmware/intel-ucode/06-9e-0b
microcode bundle 54: /lib/firmware/intel-ucode/0f-03-04
microcode bundle 55: /lib/firmware/intel-ucode/0f-04-01
microcode bundle 56: /lib/firmware/intel-ucode/0f-04-03
microcode bundle 57: /lib/firmware/intel-ucode/0f-04-04
microcode bundle 58: /lib/firmware/intel-ucode/0f-04-07
microcode bundle 59: /lib/firmware/intel-ucode/0f-04-08
microcode bundle 60: /lib/firmware/intel-ucode/0f-04-09
microcode bundle 61: /lib/firmware/intel-ucode/0f-04-0a
microcode bundle 62: /lib/firmware/intel-ucode/0f-06-02
microcode bundle 63: /lib/firmware/intel-ucode/0f-06-04
microcode bundle 64: /lib/firmware/intel-ucode/0f-06-05
microcode bundle 65: /lib/firmware/intel-ucode/0f-06-08
selected microcodes:
043/001: sig 0x000506c2, pf_mask 0x01, 2018-05-11, rev 0x0014, size 15360
044/001: sig 0x000506c9, pf_mask 0x03, 2018-05-11, rev 0x0032, size 16384
045/001: sig 0x000506ca, pf_mask 0x03, 2018-05-11, rev 0x000c, size 14336
Alles anzeigen
CU
9000h
Hast du mal probiert, bei rsync mit --bwlimit die Bandbreite zu reduzieren? Die Angabe ist in KB/s.
Mit --bwlimit=50M trat der Fehler nach wenigen Sekunden auf.
Bei --bwlimit=10M läuft es anscheinend störungsfrei. Wenn ich parallel dazu folgendes mache
lspci -vvv | grep -e CorrErr; setpci -s 02:00.0 CAP_EXP+0xa.w=0x000f; setpci -s 00:13.1 CAP_EXP+0xa.w=0x000f; echo; lspci -vvv | grep -e CorrErr; sleep 3; echo; lspci -vvv | grep -e CorrErr
erhalte ich
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
Alles anzeigen
Die beiden CorrErr+ stammen von der ddbridge und der Gegensation. Es treten also anscheinend alle paar Sekunden CorrErr auf (mache ich nur 'sleep 2' ist noch kein Fehler da). Ohne den rsync bleibt es lange Zeit konstant bei CorrErr-. Aber ab und zu tritt ein CorrErr+ auf, manchmal nur bei der Gegensation, manchmal bei beiden.
Irgend etwas stimmt also wohl auch ohne besondere Last nicht an der Kommunikation mit der ddbridge...
Further to my post #76 above, I've just rsynced about 760GB, (about 30minutes), without any problems.
That would mean about 400MB/s! Are you sure you did this over the (Gigabit?) network card on the PCIe bus?
Nein, damit passiert es nicht.
Die beiden CorrErr+ stammen von der ddbridge und der Gegensation. Es treten also anscheinend alle paar Sekunden CorrErr auf (mache ich nur 'sleep 2' ist noch kein Fehler da).
CorrErr sollten gar nicht kommen.
"alle paar Sekunden" ist IMHO also definitiv zu oft.
Ohne den rsync bleibt es lange Zeit konstant bei CorrErr-. Aber ab und zu tritt ein CorrErr+ auf, manchmal nur bei der Gegensation, manchmal bei beiden.
Macht es einen Unterschied, ob nur Aufnahmen laufen oder ein EPG-Scan?
Irgend etwas stimmt also wohl auch ohne besondere Last nicht an der Kommunikation mit der ddbridge...
Deshalb auch meine Frage nach der Stromversorgung.
So merkwürdige Fehler, die unter Last schlimmer werden hängen erstaunlich oft damit zusammen.
Ausserdem gehen langsam die Optionen aus, wenn es am Link direkt liegt.
Da gibt es zwar Werte, die man theoretisch ändern könnte, ich habe aber noch nichts dazu gefunden, wie man da ran kommt.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!