Forum: Mikrocontroller und Digitale Elektronik Platinenbestückung SFP+ 10G Ethernet reverse engineering


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von muelle4u (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe neulich meinen Netzwerkspeicher zerlegt (um RAM einzubauen) und 
festgestellt das sich dort ein SFP+ Port befindet der nicht "bestückt" 
ist.

Jetzt habe ich mir die benötigten (siehe Bild) Komponenten mal 
angeschaut im Wesentlichen sind das ein SFP+ Käfig und ein SFP+ 
Konnektor. die Gibt's bei Ebay. (suchen: SFP Käfig und SFP connector TE 
CONNECTIVITY - 1888247-2)

Des Weiteren sind auf dem Bild Rot markiert noch LEDs, und vermutlich 
LED Treiber und Vorwiderstände
und eine Komponente laut Bestückungsdruck U64  ein 6 Pin IC und jetzt 
war meine Frage ob jemand weiß welche Funktion dieser haben könnte bzw. 
ob dies ein Standard IC ist für eine SFP+ Schnittstelle ist.

Gerät/e QNAP TS-431P oder TS431P2.

Es wird vermutlich noch einige Geräte geben die sich damit auf 10G 
Ethernet hochrüsten lassen, daher der Aufwand um wenn es funktioniert 
eine Anleitung zu erstellen für alle Bastler die Ihr QNAP auf 10G 
bringen wollen.

Danke schon mal

MfG
muelle4u

P.S. Für alle die bei Google etwas im QNAP Forum finden, dort habe ich 
es als erstes Versucht, da es sich ja um ein QNAP gerät handelt aber 
dort hat das noch niemand versucht, zumindest konnte ich nichts dazu 
finden und ich dachte hier liegt der Fokus eher auf der Elektronik. Ich 
hoffe das stellt kein Problem dar.

von Frank K. (fchk)


Bewertung
0 lesenswert
nicht lesenswert
Woher weißt Du, dass es sich um SFP+ handelt? SFP ohne + ist mechanisch 
und vom Pinout identisch, aber eben nur 1GBit schnell.

fchk

von Julian C. (center)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

danke für die Antwort

da es ein exakt baugleiches Gerät gibt QNAP TS-431X das ab Werk mit 
einem SFP+ Port kommt mit 10G und es werden Geräteübergreifend die 
gleichen Platinen verwendet nur eben mehr oder weniger bestückt. die CPU 
ist aber die gleiche.
Im TS 431X bzw. 431P:
Annapurna Labs Alpine AL-212, Dual-Core, 1,7 GHz bzw.

Im TS 431X2 bzw. 431P2:
AnnapurnaLabs Alpine AL-314 32-Bit ARM® Cortex-A15 Quad-Core 1,7GHz 
Prozessor

Die SFP+ Links TX+ TX- und RX+ RX- werden auch direkt zur CPU geführt.

Danke
MfG

: Bearbeitet durch User
von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

muelle4u schrieb:
> U64  ein 6 Pin IC und jetzt
> war meine Frage ob jemand weiß welche Funktion dieser haben könnte

Ich wuerd' mal gucken, ob die Signale von dem IC an die SFP+ Pins 4 und 
5 gehen, dann koennt's ein I2C-Pegelwandler/Bustreiber oder sowas sein. 
Wird aber alles ziemliches Nebelgestochere sein. Am besten du tust eine 
Platine auf, bei der das Geruempel bestueckt ist.

Gruss
WK

von Julian C. (center)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Moin,
>
> muelle4u schrieb:
>> U64  ein 6 Pin IC und jetzt
>> war meine Frage ob jemand weiß welche Funktion dieser haben könnte
>
> Ich wuerd' mal gucken, ob die Signale von dem IC an die SFP+ Pins 4 und
> 5 gehen, dann koennt's ein I2C-Pegelwandler/Bustreiber oder sowas sein.
> Wird aber alles ziemliches Nebelgestochere sein. Am besten du tust eine
> Platine auf, bei der das Geruempel bestueckt ist.
>
> Gruss
> WK


Danke für den Hinweis,

ich Messe es gleich mal aus.

PIN1 -->GND   erledigt
PIN2--> R892 geht auf -->R899 geht auf--> Q43
PIN3--> habe ich nicht gefunden….
PIN4 -->U64 Pin 1 und R889 (Pullup I2C ?)
PIN5 -->U64 Pin 4 und R889 (Pullup I2C ?)
PIN6--> R893
PIN7 --> R887
PIN8 -->R894
PIN9 --> R888
PIN10 -->GND erledigt
PIN11--> GND erledigt
PIN12 -->RD- CPU erledigt
PIN13--> RD+ CPU erledigt
PIN14 -->GND erledigt
PIN15 theoretisch 3,3V konnte ich aber nicht messen im Eingeschalteten 
zustand -->C524
PIN16 theoretisch 3,3V konnte ich aber nicht messen im Eingeschalteten 
zustand-->C521
PIN17 -->GND erledigt
PIN18 -->TD+ CPU erledigt
PIN19 -->TD- CPU erledigt
PIN20 -->GND erledigt

hm 12 Pins an denen man etwas tun muss

Ich habe übrigens die Platinen Unterseite vergessen (siehe Bilder), da 
kommt die Spannung her, da fehlen noch Kondensatoren und Spulen. 
Spannung ist aber vorhanden man könnte auch einfach eine Lötbrücke 
machen aber dann würde die HF vermutlich zurück in die 3,3V Versorgung 
"gehen" ohne Tiefpass.

Nehmen wir mal an ich würde eine Bestücke Platine auftun, dann bräuchte 
ich vermutlich noch 27 SMD Bauteile, 2 Spulen, 4 Kondensatoren, U64, 
Q42, Q43 und 16 Widerstände in SMD (ich nehme an das das die normale SMD 
Bauform oder gibt mittlerweile noch etwas "kleineres"? und bekomme ich 
das beim Conrad oder Reichelt, werde ich davon arm ?)
bzw. Kann man anhand vom Aufdruck die Komponenten ermitteln ? ich tu mir 
da bei SMD immer etwas schwer.

: Bearbeitet durch User
von B. Lötmann (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

die 3.3V misst du nicht, weil die Spulen auf Bottom-Seite fehlen.

Vllt bringt dich der Ausschnitt aus dem Schaltplan noch bissl weiter.

von Julian C. (center)


Bewertung
0 lesenswert
nicht lesenswert
Moin

perfekt vielen Dank!

dann weis ich jetzt schonmal 9 Widerstände. Ich vermute die restlichen 
sind nur für die LEDs und dessen Treiber für ACT und LINK

von Julian C. (center)


Bewertung
0 lesenswert
nicht lesenswert
So ich habe jetzt mal alles Zusammengetragen,
Die Frage ist jetzt noch wie die Spannungsversorgung aufgebaut ist 
vermutlich mit gleichen Werten die schon wo anders auf dem Board verbaut 
sind.
Des Weiteren fehlt noch Q42 Q43 und der I2C Treiber/Pegelwandler(eher 
letzteres) und Vorwiederstand R900

Qnap TS- X31P   X = 2 oder 4
Nachrüstung SFP+
Pinbelegung 20 Poliger SFP+ Stecker

PIN1 GND
PIN2 R892  4,75kOhm
PIN3 R899 4,75kOhm  geht auf Q43
PIN4  U64 Pin 1 und R889 1 kOhm (Pullup I2C )
PIN5  U64 Pin 4 und R890  1 kOhm  (Pullup I2C )
PIN6 R893 4,75kOhm
PIN7  R887 4,75kOhm
PIN8 R894 4,75kOhm
PIN9  R888 4,75kOhm
PIN10 GND
PIN11 GND
PIN12 RD- CPU
PIN13 RD+ CPU
PIN14 GND
PIN15 theoretisch 3,3V (nicht messbar da Spule L33 fehlt) C524
  Hierzu gehören C523 und C522 und Spule L33
PIN16 theoretisch 3,3V (nicht messbar da Spule L32 fehlt)  C521
Hierzu gehören C520 und C525 und Spule L32
PIN17  GND
PIN18 TD+ CPU
PIN19 TD- CPU
PIN20 GND

Stückliste:
Unten:
R887  4,75 kOhm Pullup
R894 4,75 kOhm Pullup
R888 4,75 kOhm Pullup
Oben:
R893 4,75 kOhm Pullup
R889 1 kOhm  (Pullup I2C )
R890 1 kOhm  (Pullup I2C )
R892 4,75kOhm Pullup
U64 I2C Pegelwandler oder Treiber  ????

Q43    Schaltet Laser Ein mit Masse ( evtl. Transistor)??
R900 ?????
R899 4,75kOhm



Nur für LED 9 Ansteuerung somit optional:
R898
LED9

Vermutlich nur für LED 8 Ansteuerung somit optional:
R895 vermutlich
R897 vermutlich
R891 vermutlich
Q42 vermutlich

R896 sicher
LED8 sicher

Spannungsversorgung VCC RX Pin 15 Unterseite:
C522 ??
C523  ??
C524  ??
Spule L33  ??

Spannungsversorgung VCC TX Pin 16 Unterseite:
C520 ??
C521 ??
C525 ??
Spule L32 ??

von Klakx -. (klakx)


Bewertung
0 lesenswert
nicht lesenswert
Ich bin noch etwas skeptisch, ob dies funktionieren wird.

Wohin führt der SFP hin? Zum Prozessor? Dann ist dort wahrscheinlich 
eine Art Betriebsystem drauf. Normalerweise lesen diese über MDIO auch 
die Konfiguration aus um den Device-Tree aufzubauen. Wenn da nichts 
kommt, wird da auch nichts durchgeschalten. Ggf. unterstützt die 
Firmware den Port auch nicht. Es kann natürlich auch trotzdem einfach 
gehen.

Die Chancen sind aus meiner Sicht jedoch nicht so hoch.

von Dergute W. (derguteweka)


Bewertung
-1 lesenswert
nicht lesenswert
Moin,

Hm, das sind doch noch recht viele Fragezeichen. Ich glaub' auch nicht 
so recht, dass das was werden kann.

Gruss
WK

von B. Lötmann (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

hier eine Standard Supply für SFP+.

gruß (:

von Julian C. (center)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen zusammen,

nochmals Danke @Lötmann du scheinst eine gute Quelle zu haben ;)

und du hast mir die Messerei erspart ich wollte nämlich heute morgen 
meine QLogic 2x10G PCIe Karte etwas betagteren Alters mal Messen weil 
die die gleiche Spannungsversorgung (gleicher Aufbau) hat.

Ist auch nicht anders zu erwarten da gibt's eine Kopiervorlage und 
keiner Erfindet das Rad neu. Leider hat diese Karte aber kein I2C 
Pegelwandler oder Treiber (hat diese ganz Sicher, aber nicht in der 
Bauform in der es hier benötigt wird.)

Um ein Original das bestückt ist werde ich wohl nicht rum kommen, es sei 
den es tut sich ein Schaltplan auf der den I2C IC beschreibt und die 
Ansteuerung für TX disable.


Klakx -. schrieb:
> Ich bin noch etwas skeptisch, ob dies funktionieren wird.
>
> Wohin führt der SFP hin? Zum Prozessor? Dann ist dort wahrscheinlich
> eine Art Betriebssystem drauf. Normalerweise lesen diese über MDIO auch
> die Konfiguration aus um den Device-Tree aufzubauen. Wenn da nichts
> kommt, wird da auch nichts durchgeschalten. Ggf. unterstützt die
> Firmware den Port auch nicht. Es kann natürlich auch trotzdem einfach
> gehen.
>
> Die Chancen sind aus meiner Sicht jedoch nicht so hoch.

Danke @Klakx du hast mich nochmal zum nachdenken gebracht.
Also die Firmware QTS unterstützt das auf jeden Fall.
Die entscheidende Frage ist wie du sagst ob ein SFP+ Port ohne GPIC 
angezeigt wird oder nicht. Meine Annahme/Vermutung war/ist das der PORT 
erst angezeigt wird wenn ein GBIC gesteckt ist und sonst nicht in der 
Netzwerkkonfig. angezeigt wird.

Wenn man die zwei LAN-Ports als vergleich nimmt, dann sieht es schlecht 
aus, diese werden auch angezeigt wenn diese nicht 
Verbunden/gesteckt/aktiv sind.

Das könnte man aber wenn man ein ts-431X oder X2 Gerät hätte ganz leicht 
rausfinden.

Um dieses evtl. auftretende Problem
zu lösen kam folgendes dabei raus ;)

Mir ist da noch eine Board ID [2..0] aufgefallen Siehe Bild.
Dort wird von einer Board ID [2..0] gesprochen, wie wird den sowas 
umgesetzt ?
Wird die ID codiert (via Software über die vermutlich 2 UART Diagnose 
Ports) oder wird nach ID bestückt ? also wegen mir 3 Widerstände Pull UP 
oder DOWN um damit eine "id" einzustellen (evtl. eingelesen vom BIOS 
o.ä. ) ? Die ID des BOARD ist jetzt TS-X31P somit 100
Es kann notwendig werden auf TS-X31X 011 umstellen zu können.

Fehlen tun noch noch 3 Komponenten:

U64 I2C Pegelwandler oder Treiber  ????
Q43    Schaltet Laser Ein mit Masse ( evtl. Transistor)??
R900 ?????



Das wäre jetzt der Stand:

Qnap TS- X31P   X = 2 oder 4
Nachrüstung SFP+

SFP+ Käfig      TE CONNECTIVITY 1489962-1 (Nummer Spielt keine so große 
Rolle sind alle fast identisch Lochbild sollte halt passen.)
SFP+ connector  TE CONNECTIVITY  1888247-2

Pinbelegung 20 Poliger SFP+ Stecker

PIN1 GND
PIN2 R892  4,75kOhm
PIN3 R899 4,75kOhm  geht auf Q43
PIN4  U64 Pin 1 und R889 1 kOhm (Pullup I2C )
PIN5  U64 Pin 4 und R890  1 kOhm  (Pullup I2C )
PIN6 R893 4,75kOhm
PIN7  R887 4,75kOhm
PIN8 R894 4,75kOhm
PIN9  R888 4,75kOhm
PIN10 GND
PIN11 GND
PIN12 RD- CPU
PIN13 RD+ CPU
PIN14 GND
PIN15 theoretisch 3,3V (nicht messbar da Spule L33 fehlt) C524
  Hierzu gehören C523 und C522 und Spule L33
PIN16 theoretisch 3,3V (nicht messbar da Spule L32 fehlt)  C521
Hierzu gehören C520 und C525 und Spule L32
PIN17  GND
PIN18 TD+ CPU
PIN19 TD- CPU
PIN20 GND

Stückliste:
Unten:
R887  4,75 kOhm Pullup
R894 4,75 kOhm Pullup
R888 4,75 kOhm Pullup
Oben:
R893 4,75 kOhm Pullup
R889 1 kOhm  (Pullup I2C )
R890 1 kOhm  (Pullup I2C )
R892 4,75kOhm Pullup
U64 I2C Pegelwandler oder Treiber  ????

Q43    Schaltet Laser Ein mit Masse ( evtl. Transistor)??
R900 ?????
R899 4,75kOhm



Nur für LED 9 Ansteuerung somit optional:
R898
LED9

Vermutlich nur für LED 8 Ansteuerung somit optional:
R895 vermutlich
R897 vermutlich
R891 vermutlich
Q42 vermutlich

R896 sicher
LED8 sicher

Spannungsversorgung VCC RX Pin 15 Unterseite:
C522 0,1uF
C523  0,1uF
C524  220 uF
Spule L33  4,7 uH

Spannungsversorgung VCC TX Pin 16 Unterseite:
C520 0,1uF
C521 220 uF
C525  0,1uF
Spule L32 4,7 uH

: Bearbeitet durch User
von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

Julian C. schrieb:
> also wegen mir 3 Widerstände Pull UP
> oder DOWN um damit eine "id" einzustellen

Sowas wuerde ich vermuten, so wie die Tabelle aussieht. Vielleicht an 3 
GPIO Pins (41,31,29) des SoC.

Gruss
WK

von Julian C. (center)


Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Moin,
>
> Julian C. schrieb:
>> also wegen mir 3 Widerstände Pull UP
>> oder DOWN um damit eine "id" einzustellen
>
> Sowas wuerde ich vermuten, so wie die Tabelle aussieht. Vielleicht an 3
> GPIO Pins (41,31,29) des SoC.
>
> Gruss
> WK

Danke ;)

Das klingt sehr gut. Aber dazu bräuchte man jetzt wirklich einen 
Schaltplan um die Widerstandsnummer (die hätten sie da auch gleich hin 
schreiben können)
an den entsprechenden Ports herauszufinden.

von Gerd E. (robberknight)


Bewertung
0 lesenswert
nicht lesenswert
Julian C. schrieb:
> Danke @Klakx du hast mich nochmal zum nachdenken gebracht.
> Also die Firmware QTS unterstützt das auf jeden Fall.
> Die entscheidende Frage ist wie du sagst ob ein SFP+ Port ohne GPIC
> angezeigt wird oder nicht. Meine Annahme/Vermutung war/ist das der PORT
> erst angezeigt wird wenn ein GBIC gesteckt ist und sonst nicht in der
> Netzwerkkonfig. angezeigt wird.

Auch wenn da nix gesteckt ist, wird Dir jedes ordentliche System 
zumindest den Port ohne Link anzeigen.

Mal von einer anderen Seite betrachtet: jede MAC-Einheit braucht eine 
MAC-Adresse. Die muss der Hersteller vergeben, der wiederum dafür 
bezahlen muss. QNAP wird also wohl kaum für nicht verbaute SFP+-Ports 
MAC-Adressen vergeben.

So, wie kommen die MAC-Adressen aufs Gerät? Das geht entweder über ein 
EEPROM oder einen speziellen Sektor im Flash, nix mit Lötbrücken. Und 
vermutlich steht dort an dieser oder benachbarter Stelle auch die Info, 
ob überhaupt ein SFP+-Port vorhanden sein soll oder nicht.

Ich denke Du wirst Dich tiefgreifend mit dem Bootprozess, der Firmware 
und der gerätespezifischen Parametrisierung dieser Geräte 
auseinandersetzen müssen. Wenn der Prozessorhersteller dann auch noch 
Secure-Boot-Funktionen vorgesehen hat, kann es knifflig werden.

Ich denke Du wirst da also mindestens über JTAG ran müssen, wenn nicht 
auslöten der Flash-ICs notwendig wird. Und natürlich Vergleich der dort 
enthaltenen Daten von mehreren Boards mit unterschiedlicher Bestückung.

Wenn Du was über Bootprozesse und Reverse-Engineering lernen möchtest 
ist das ein schönes Projekt. Rein monetär wird es sich nicht lohnen.

von Klakx -. (klakx)


Bewertung
0 lesenswert
nicht lesenswert
Gerd E. schrieb:
> Mal von einer anderen Seite betrachtet: jede MAC-Einheit braucht eine
> MAC-Adresse. Die muss der Hersteller vergeben, der wiederum dafür
> bezahlen muss. QNAP wird also wohl kaum für nicht verbaute SFP+-Ports
> MAC-Adressen vergeben.

Ich stelle die Gegenfrage, ob wirklich jeder Port eine eigene 
MAC-Adresse benötigt?
Ich meine, dass eine MAC-Adresse pro Gerät ausreicht. Damit würde alle 
Ports dieser Karte auf die selbe Adresse hören, womit dieses Argument 
entkräftigt wäre.
Trotzdem ist es weiterhin fraglich, ob dieser MAC-Core an dem 
unbestückten Port überhaupt per Firmware angeschalten wird. Ich würde 
den selber auch nicht anschalten.

von moep (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Klakx -. schrieb:
> Ich meine, dass eine MAC-Adresse pro Gerät ausreicht.

Ne, reicht nicht. Zumindest nicht wenn du die Ports gleichzeitig nutzen 
möchtest.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.