Hardware:dbox2:FullDuplexUmbau

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche


Der Umbau von Half-Duplex auf Full-Duplex ermöglicht höhere Datentransferraten über die Ethernet Schnittstelle der Dbox2. Das Fernsehsignal kann somit deutlich besser über das Netzwerk gestreamt werden. Transferraten von über 9Mbit/s sind möglich.

Dabei wird der Ethernet-Interface-Chip hart auf den Full-Duplex-Betrieb umgeschaltet. Leider ist auch nach diesem Umbau die automatische Erkennung von Full-Duplex (Autonegotiation) nicht möglich, da dieses Verfahren von den Chips nicht unterstützt wird. Entsprechend müssen Dbox und die Gegenstelle im Netzwerk manuell auf Full-Duplex umgeschaltet werden.



Achtung

Alles was ihr mit dieser Anleitung eurer DBox2 antut, geschieht auf eigene Gefahr. Wir übernehmen keine Haftung für irgendwas. Bitte achtet auch darauf, dass die DBox2 euer Eigentum sein muss. Auf keinen Fall solltet ihr diese Modifikationen an einer Mietbox durchführen!

Da an der Box Hardwaremodifikationen durchgeführt werden, erlischt natürlich eine eventuell vorhandene Garantie oder Gewährleistung. Außerdem muss die Box dazu natürlich geöffnet werden, wodurch man mit sehr hohen Spannungen in Berührung kommen kann, die für den Menschen tödlich sein können! Dieser Eingriff sollte nur von Personen durchgeführt werden, die sich der möglichen Konsequenzen bewusst sind und dieses Risiko eingehen möchten. Dazu gehört auch, dass die Box während des Umbaus oder danach irreparabel beschädigt werden könnte und dann nur noch als Briefbeschwerer taugt.

Bitte lest euch dieses HowTo aufmerksam bis zum Ende durch bevor ihr anfangt (das gilt auch für die anderen HowTos).

Sämtliche Umbaumaßnahmen werden auf eigene Gefahr durchgeführt! Wer dies nicht akzeptiert möge bitte nicht weiterlesen.

Fangt nicht an bevor ihr den Vorgang verstanden habt!


Hardwaremodifikation

Die Änderung der Hardware erfordert eine kleine Lötbrücke direkt am Netzwerk-Chip. Hierzu muss als erstes der richtige Chip gefunden werden. Je nach Dbox Modell sind unterschiedliche Chips verbaut:

Hersteller Ausführung Transceiver Pins Bauform Pin
Nokia AViA500 MB86961APD-G 44 PLCC 21
Nokia AViA600 MB86961APF-G 48 PQFP 28
Philips alle MB86961APF-G 48 PQFP 28
Sagem alle LXT905LC 32 LQFP 6


Als nächstes gilt es den richtigen Pin zu identifizieren - dabei ist unbedingt darauf zu achten, sich am INDEX zu orientieren, NICHT an der Schriftorientierung des IC :

Mb86961apd.png|Mb86961apf.png|Lxt905lc.png


Der Umbau der Hardware besteht im Verbinden des entsprechenden Pin mit der Masse. Die Masse findet sich z. B. am Gehäuse.


Nokia AViA 500 mit MB86961APD-G

Auf dem Chip selbst steht nur die Bezeichnung "MB86961A" - zur einwandfreien Identifizierung sollten die Pins gezählt werden (44 Pins). Die korrekte Identifizierung des richtigen Pin ist bei diesem Chip kompliziert. Bitte auf jeden Fall auf den Index-Punkt achten und am besten nochmal mit dem Bild vergleichen.


MB86961APD-G


Nokia AViA 600 mit MB86961APF-G

In dieser Nokia Box wurde Pin 28 mit dem Gehäuse verbunden. Auf dem Chip selbst steht nur die Bezeichnung "MB86961A" - zur einwandfreien Identifizierung sollten die Pins gezählt werden (48 Pins).

MB86961APF-G


Sagem mit LevelOne LXT905LC

LevelOne LXT905LC LQFP Version
Sagem Vollduplex.JPG

Self-made full-duplex Switch

Bei Switches, deren interner Controller ein Serial Management Interface (SMI) aufweist, kann man mit der nachfolgend beschriebenen Hardwaremodifikation einen Port auf full-duplex "klemmen".

Die Modifikation erfolgt durch Anbindung eines kleinen Mikrocontrollers an das SMI, der nach dem PowerUp den Switch umkonfiguriert. Für das SMI Interface werden lediglich zwei Signale verwendet, Clock (MDC) und Data (MDIO). Theoretisch kann ein beliebiger Mikrocontroller eingesetzt werden, er sollte jedoch 3.3V kompatibel sein und einen Open-Drain Ausgang besitzen. Hier wird die Modifikation anhand eines PIC16F84A (bzw. pinkompatibel PIC16F628A) beschrieben, dessen Beschaltung wie folgt aussehen sollte:

SMIHost HW.png

Jumper JP1 ist ein Vorschlag, um lediglich bei gesetztem Jumper die Konfiguration zu laden und den Switch andernfalls normal arbeiten zu lassen. Außerdem ist eine Debug LED vorgesehen, die für Diagnosezwecke genutzt werden kann. Der Pullup-Widerstand an MDIO kann ggf. weggelassen werden, sofern dieser auf der Platine des Switches bereits bestückt ist. Falls ein PIC16F628 eingesetzt wird, kann der interne Oszillator anstatt des externen Quarzs als Taktquelle benutzt werden.

Die Schaltung lässt sich problemlos auf einer kleinen Lochrasterplatine aufbauen und in das Gehäuse des Switches integrieren. Hier das Ganze am Beispiel eines Netgear FS105 5-Port 10/100 Mbps Switch, der einen Marvell LinkStreet 88E6060 Controller enthält:

FS105 SMIHost.jpg

Die Versorgungsspannung lässt sich über einem Kondensator in der Netzteilsektion abgreifen (hier am besten mit einem Multimeter nachmessen). Für die Anbindung der Signalleitungen sollte ein sehr dünner Draht verwendet werden (z.B. von einem UDMA66 IDE-Kabel). Mit dickeren Leitungen ist es fast unmöglich einen Pin des Switch Controllers zu kontaktieren.

Ist die Hardware eingebaut, kann anschließend der Mikrocontroller geflasht werden. Die Firmware ist in Assembler implementiert (Register Read und Write) und ist nicht sonderlich komplex. Eine Portierung auf andere Plattformen sollte daher kein Problem darstellen. Hier der Code inkl. Projektdatei für den PIC16F84A unter MPLAB:

Sofern man Lust und Laune hat, kann man die Geschichte noch weiter aufbohren und einen Controller mit UART einsetzen (PIC16F628A beispielsweise ist pinkompatibel zum PIC16F84A und hat zudem eine deutlich bessere Ausstattung) und ein kleines Config-Interface mit GUI aufsetzen, mit dem man den Switch dann völlig frei konfigurieren kann.

Alternative ohne Mikrocontroller

Alternativ bietet der LinkStreet Switch Controller die Möglichkeit, zwei Ports durch externe Beschaltung fest auf einen Betriebsmodus einzustellen. Im Fall des Netgear FS105 Switch muss hier jedoch dessen Platine bearbeitet werden. Die Anbindung an das SMI-Interface ist deutlich flexibler und lässt sich relativ einfach wieder entfernen.

Konfiguration von Full-Duplex

Dbox

Die Aktivierung des Full-Duplex erfolgt unter Neutrino -> Einstellungen -> Treiber- und Bootoptionen -> FullDuplex Mode.

Neutrino menu driver boot.jpg

Die Änderungen werden nach dem nächsten Booten wirksam.


Gegenstelle

Die Gegenstelle (also das andere Ende des Netzwerkkabel) muss ebenfalls konfiguriert werden. Hier einige Beispiele mit der Bitte um Erweiterung dieser Seite:

Windows

Bei der Direktverbindung zwischen PC und Dbox über ein Crossover Kabel muss im Gerätemanager die Netzwerkkarte auf "Full-Duplex mit 10 Mbit/s" eingestellt werden.

Ein PC mit zwei Netzwerkkarten und Windows XP (oder höher) kann als Bridge verwendet werden. In der Netzwerkumgebung wird die "Lan-Verbindung" der Dbox über eine "Netzwerkbrücke" mit dem restlichen Netzwerk verbunden. Damit ist der Rechner an beiden physischen Netzwerkkarten über die gleiche IP erreichbar und routet die Pakete von und zur DBox transparent durch.

FRITZ!Box 7170

Mit dem cpmaccfg Tool kann der verwendete Port (1 - 4) umgestellt werden:

cpmaccfg spme <Port> 10baseT-FD

In der debug.cfg kann die Anpassung automatisiert werden, damit auch nach einem Neustart der FRITZ!Box die Umstellung übernommen wird.


Test

Zum Testen empfiehlt sich diese Version von NetIO. Eine ausführliche Anleitung zu NetIO gibt es hier.

Kurzanleitung:

  • netio-dbox2 per ftp auf /tmp der dbox2 spielen
  • Per Telnet mit Dbox verbinden und folgende Befehle ausführen:
cd /tmp
chmod +x netio-dbox2
./netio-dbox2 -s
  • Unter Windows ausführen:
netio-win32.exe -t <IP_Dbox>

Beispiel:

NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  1173 KByte/s Tx,  1100 KByte/s Rx.
Packet size  2k bytes:  1174 KByte/s Tx,  1098 KByte/s Rx.
Packet size  4k bytes:  1170 KByte/s Tx,  1122 KByte/s Rx.
Packet size  8k bytes:  1168 KByte/s Tx,  1123 KByte/s Rx.
Packet size 16k bytes:  1158 KByte/s Tx,  1131 KByte/s Rx.
Packet size 32k bytes:  1168 KByte/s Tx,  1123 KByte/s Rx.

Werte oberhalb von 1000 KByte/s zeigen, dass alles funktioniert.

Werte im Bereich von ca. 700-900 KByte/s zeigen, dass Hardwaremodifikation nicht erfolgreich war.

Werte deutlich unter 600 KByte/s zeigen, dass die Software oder die Gegenstelle nicht korrekt eingestellt wurden.


Bekannte Probleme

  • Mit dem Umbau der Hardware ohne Konfiguration von Full-Duplex funktioniert das Netzwerk zwar stabil - aber mit deutlich geringerem Durchsatz.
  • Der CIFS Treiber in der Dbox ist fehlerhaft. Wenn die Datenrate ca. 6500 Kbit/s übersteigt, hängt die Box und ist nicht mehr bedienbar.
  • Der NFS Treiber in der Dbox ist langsam. Im optimalen Fall beträgt die Datenrate ca. 7800 Kbit/s.


Links

Diskussion im Forum

NFS-Server