HowTo: Self-made full-duplex Switch

Boxenweitwurf
zaphod333
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 16. März 2010, 12:41

HowTo: Self-made full-duplex Switch

Beitrag von zaphod333 »

Hey Leute,

ich habe hier ein ganz interessante Möglichkeit gefunden, um das leidige "full-duplex Switch" Thema in den Griff zu bekommen. Hierfür ist allerdings etwas Bastelarbeit und ein Switch mit geeignetem Controller nötig. In meinem Fall basiert die Modifikation auf einem Netgear FS105 Switch der einen Marvell LinkStreet 88E6060 Controller besitzt.
Zunächst habe ich nach einer Möglichkeit gesucht durch zusätzliche externe Beschaltung einen der Ports auf 10 MBit mit forciertem full-duplex Modus zu klemmen. Wäre zwar theoretisch möglich, allerdings war mir das Ganze zu unflexibel und ich hatte zudem keine Lust auf dem PCB rumzuschnitzen.

Netterweise besitzt der Switch Controller ein SMI (Serial Management Interface), welches den Zugriff auf die internen Register und somit eine softwareseitige Konfiguration erlaubt. An dieses habe ich einen kleinen PIC (PIC16F84A) drangehängt, den ich noch rumliegen hatte und einen SMI Host implementiert. Das SMI benutzt lediglich zwei Leitungen (MDC - Clock und MDIO - Data), der Lötaufwand hält sich daher in Grenzen und außerdem kann man das Ganze wieder recht einfach entfernen.
Der PIC lädt nach dem Start die neue Konfig und geht anschließend in den Sleep-Mode. Auf diese Weise wird einer der Ports fest auf 10 MBit full-duplex geklemmt. Hab das Ganze getestet und es funktioniert problemlos ! Hier mal ein Foto von dem umgebauten Switch:

http://wiki.tuxbox.org/wiki/index.php/B ... MIHost.jpg

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. Da wird der 20€ Billigheimer-Switch zum professionellen Equipment ;D

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. Einsetzbar ist eigentlich jeder 8Bit Furzcontroller, sollte lediglich 3,3V kompatibel sein und mindestens zwei IO-Pins aufweisen (einer der beiden mit Open-Drain Ausgang für die Data-Line). Ich würde am besten einen mit internem Oszillator nehmen, da reduziert sich die externe Beschaltung.

Wenn Interesse besteht, kann ich die Firmware gerne hochladen (hab irgendwie keine Möglichkeit gefunden Dateien anzuhängen).

Greets
Zuletzt geändert von zaphod333 am Dienstag 27. April 2010, 23:55, insgesamt 3-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: HowTo: Selfmade full-duplex Switch

Beitrag von dbt »

Stells doch einfach ins Wiki. Da gehen nicht nur Bilder hochzuladen und das Thema dazu ist ja schon da und könntest es ergänzen: FullDuplexUmbau
zaphod333
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 16. März 2010, 12:41

Re: HowTo: Selfmade full-duplex Switch

Beitrag von zaphod333 »

Done... -> FullDuplexUmbau#Self-made_full-duplex_Switch
Feedback ausdrücklich erwünscht :D
sagemol
Einsteiger
Einsteiger
Beiträge: 193
Registriert: Donnerstag 11. Mai 2006, 09:26

Re: HowTo: Selfmade full-duplex Switch

Beitrag von sagemol »

@zaphod

Nette Sache das !
So'n Netgear-Teil liegt bei mir glaub ich auch noch irgendwo rum.

Wobei ich's aber dann doch lieber mit dem WLan-Router machen würde, der da schon steht,
sonst hab ich noch ne Büchse da rumstehen.
Aber da zickt im Moment noch die Firmware...

Greez !