Hallo zusammen
Ich habe mir einen RJ45 Ethernet Loopback Stecker gecrimpt (1,2 auf 3,6.
4,5 auf 7,8). Die Adern sind von Pin zu Pin ca. 7cm lang, stehen also
aus dem Plastik Stecker (ohne Blechgehäuse) 1,5cm heraus, wobei sie dort
gesamt verdrillt sind. Ich habe dann auch noch die Aluminiumfolie um den
herausstehenden Teil gewickelt.
An der GBit Netzwerkkarte im PC bekomme ich dann auch einen Link, jedoch
nur auf 100 MBit (automatisch erkennen ist an der NIC eingestellt).
Jetzt die frage, liegt das an irgendeiner Spezifikation von 1000BASE-T
oder hat mein Stecker eine zu schlechte Schirmung o.ä..
gruß Flo
floGzmo schrieb:> An der GBit Netzwerkkarte im PC bekomme ich dann auch einen Link, jedoch> nur auf 100 MBit (automatisch erkennen ist an der NIC eingestellt).> Jetzt die frage, liegt das an irgendeiner Spezifikation von 1000BASE-T> oder hat mein Stecker eine zu schlechte Schirmung o.ä..
1000baseT benutzt alle vier Adernpaare in beide Richtungen gleichzeitig
(mit Echo Cancellation etc.), deshalb ist dabei kein solcher passiver
Loopback mehr möglich. Es gibt einfach keine separaten TX- und RX-Paare
mehr, die man verbinden könnte. Damit kann dann mit deinem
Loopback-Stecker nur eine 100baseTX-Verbindung zustandekommen.
Das was du vorhast ginge prinzipiell mit 1000baseTX (beachte das X), das
benutzt getrennte RX-/TX-Adernpaare wie 100baseTX. Jedoch erfordert das
wegen höherer Frequenzen mindestens CAT6-Kabel, und hat sich deshalb
nicht durchgesetzt (insbesondere im Business-Bereich hätte man damit die
schon existierenden CAT5-Hausverkabelungen nicht weiternutzen können).
Keine Ahnung ob man überhaupt noch Komponenten dafür bekommt.
Andreas
127.0.0.1 schaltet irgendwo zuvor in den Loopback, ich möchte das aber
extern. Der Stecker ist dann auch nicht für den PC gedacht sondern an
einem FGPA evaluation Board mit Ethernet PHY und RJ45 Schnittstelle. Das
Problem ist eben dass ich bei 100 MBit auf dem Board einen Link bekomme
und meinen Test fahren kann, bei 1GBit aber eben nicht und deshalb mein
Programm auch nicht läuft. Jetzt will ich halt wissen warum es nicht
geht und ob es überhaupt möglich ist den PHY dazu zu veranlassen einen
LINK herzustellen.
Ein Bild der Pin belegung:
http://farm4.static.flickr.com/3157/2989601588_e7992421a7.jpg
Im Anhang ein Bild des Steckers
@docean
Jein, unter Crossover ist die belegung zu sehen, jedoch habe ich ja nur
ein Ende.
@oszi40
GBit funktioniert mit dieser Karte, habe ich schon getestet. Auch wenn
ich anstatt "automatisch erkennen" "1000MBit automatisch aushandeln"
einstelle bekomme ich keinen Link. Dann auch nicht mal auf 100MBit,
verständlicherweise.
@Andreas Ferber
Danke für die Information. Aber dann stimmt irgendetwas nicht. Auf dem
evaluation Board ist ein Marvell 88E1111 PHY. Ich habe da leider nicht
alle Datenblätter. Aber von einem anderen Marvell PHY habe ich aus dem
Datenblatt entnommen dass für einen externen Loopback Test bei 10BASE-T
und 100BASE-TX keine Registereinträge vorgenommen werden müssen. Im
1000BASE-T Modus muss jedoch ein Register eintrag geschrieben werden um
den externen Loopback zu aktivieren. Es muss also doch möglich sein.
Oder könnte das in die Richtung gehen dass durch den Registereintrag dem
PHY der LINK vorgegaukelt wird. Es wird jedenfalls der Loopback Stecker
im Datenblatt mit dieser Pin Belegung beschrieben.
floGzmo schrieb:> 127.0.0.1 schaltet irgendwo zuvor in den Loopback, ich möchte das aber> extern.
Was soll das für einen Vorteil gegenüber 127.0.0.1 haben?
ping 127.0.0.1 prüft nur intern, stellt aber keine Kontakt/Kabelfehler
fest.
Eine Lösung wäre z.B. PC mit passender Giga-LAN-Karte und Crosskabel als
Partner im gleichen Subnetz.
Genau darum geht es oszi40.
Es sollen Kontaktfehler festgestellt werden. Eine Lösung mit PC und CVI
habe ich bereits erstellt, aber jetzt arbeite ich an der "Low Budget"
Version die keine extra Hardware wie den PC mit Netzwerkkarte braucht.
Heißt also konkret für mich dass wenn ich mit dem Loopback Stecker teste
und nur einen Link bei 100MBit bekomme (wie kann ich am PC eigentlich
sehen ob er Full oder Halfduplex ausgehandelt hat? Am eval.Board hab ich
ne LED dafür.), er bei 100BASE-TX nur 2 von 4 Adernpaare benutzt?
Bis ich von dem PHY den ich hier auf dem evalBoard habe die anderen
Datenblätter bekomme dauert es noch etwas, mein Betreuer ist im Urlaub
:/
Dann kann ich nachsehen ob der 88E1111 auch den externen Loopback wie
der 88E6122 unterstützt. Denn dort im Datenblatt wird geschrieben
(leider nichts genaueres) dass, mit der oben genannten Beschaltung des
Loopbacksteckers, der PHY auch bei 1000 Mbps einen "self-link"
herstellen kann (nachdem ein Registereintrag geschrieben wurde).
Da das Register durch paging anzusprechen ist habe ich das auch schon
mal am 88E1111 ausprobiert. Entweder mache ich das noch falsch oder
dieser PHY hat garkein paging. Ich lese jedenfalls immer den gleichen
Wert aus dem Register unter verschiedenen Pages.
In den FAQ eines Produkts das den 88E1111 verwendet steht
(http://www.kogent.co.jp/product/finisar/pdf/an2036_fcmj85213_faq_rev_a.pdf):
"19. Is external loopback possible for this module, and do you have any
other recommendations to aid in testing and debugging?
Although the PHY does have a test mode for external loopback, the
regular operation of the PHY must be severely modified to work with an
external loopback cable. By design all 1000BASE-T PHYs cancel the
effects of their own transmissions from the received signals, also
called Near End Cross Talk (NEXT) canceling. If line A is connected to
line B, the crosstalk between the lines becomes 100%, and the PHY will
automatically cancel the entire signal. Therefore, to enable external
loopback, the NEXT canceling must be disabled, which can then make
debugging, and testing ineffective."
Also kann der PHY wohl externen Loopback bei 1000BASE-T. Jedoch verstehe
ich nicht ganz was mit line A/B gemeint ist und dem NEXT canceling.
ipconfig -all und das LAN Symbol in der Taskleiste kenn ich schon. Nur
dachte ich, weil neben dem 100MBit nicht half oder full steht, dass
diese Information fehlt.
Warum ist der stecker auf dem foto 10 Polig ?
Sieht mir alles echt verdammt russisch aus was du da treibst...
Und was NEXT ist steht doch da .... das du dich nicht selbst störst, und
dein eigenes signal versuchst raus zu rechnen.
Beim NEXT cancelling, rechnet der Phy die eigene Sendesignale aus dem
empfangenen Signal raus.
Der Phy sendet und empfängt ja auf denselben Leitungen. Der Empfänger
sieht also auch immer alle Daten, die der Phy gerade sendet. Dazu kommt,
dass natürlich die eigenen Sendesignale auf alle Empfangsleitungen
durchschlagen. Diese müssen daher aus dem Empfangssignal rausgerechnet
werden, dass nennt man NEXT cancelling.
Das ist aber ein erheblicher Teil der Signalverarbeitung des Phy. Wenn
man das also abschaltet, ist die Funktion des Phy massiv beeinträchtigt.
Ich könnte mir allerdings vorstellen, dass der Phy mit sich selbst
redet, wenn man das NEXT ausschaltet und gar keine Leitung anschliesst.
Dann müsste er eigentlich seine Sendesignale für Empfangssignale eines
anderen Phy halten. Allerdings wird er dann kein Autonegotiation machen
können.
>Heißt also konkret für mich dass wenn ich mit dem Loopback Stecker teste>und nur einen Link bei 100MBit bekomme (wie kann ich am PC eigentlich>sehen ob er Full oder Halfduplex ausgehandelt hat? Am eval.Board hab ich>ne LED dafür.), er bei 100BASE-TX nur 2 von 4 Adernpaare benutzt?
Nein, er benutzt dann 4 Leitungen, zwei für TX und zwei für RX. Wenn nur
TX oder RX vernunden sind, bekommt er keinen Link. Allerdings kann der
Phy durchaus einen Link bekommen, wenn nur eine der zwei TX oder eine
der zwei RX Leitungen angeschlossen ist und die andere offen ist. Die
meisten Phy sind empfindlich genug, damit auch noch eine Verbindung
hinzukriegen.
Gruss
Axel
10 polig weil ich keinen 8 poligen hier hab, schimpft sich dann halt
RJ48. Die äußersten beiden Pins sind dabei unbelegt.
Es gibt hier in der Abteilung zwar einen Kollegen mit russischem Akzent,
der aber hat mit der Sache nichts zu tun.
Okay dass das Near End Crosstalk 100% erreicht wenn rauskommt was
reingeht, klingt einleuchtend. Aber wieso sollte das das Testen/Debuggen
uneffektiv machen. Ja ich weiß, dass du auch nur so viel weißt wie dort
steht.
Vielen Dank Axel Laufenberg für die Erklärung.
Ich habe ja auch von Adernpaaren gesprochen und nicht von
Leitungen/Adern.
"..er bei 100BASE-TX nur 2 von 4 Adernpaare benutzt?". Oder meintest du
doch das Selbe wie ich?
Laut Wikipedia: "100BASE-TX, IEEE 802.3 Clause 25 (früher IEEE 802.3u) –
Benutzt wie 10BASE-T je ein verdrilltes Adernpaar pro Richtung"
Für mich heißt das er benutzt 2 Adernpaare = 4 von 8 Drähte.
"1000BASE-T, IEEE 802.3 Clause 40 (früher IEEE 802.3ab)...Verwendung
aller vier Doppeladern in beide Richtungen (Echokompensation)"
Hier werden nun natürlich alle 4 Adernpaare = 8 Drähte benutzt.
Dein "Kurzschlussstecker" kann nie prüfen, ob die Paare im Kabel
wirklich als PAARE verschaltet wurden. Somit wirst Du bösartige
Kabel-Fehler, die mit dem Ohmmeter nicht zu finden sind, auch nie
finden.
Ui ich glaub wir reden aneinander vorbei. Ich möchte keinen Kabeltester
bauen und herausfinden ob die Adern richtig verseilt sind. Ich möchte
testen ob der Ethernet PHY Baustein, die RJ45 Buchse und weitere an der
Funktion beteiligte Bauteile (Konfigurationswiderstände,
Koppelkondensatoren was weiß ich) auf einer Platine korrekt verlötet
sind oder ob es kalte Lötstellen/Leiterbahnsbruch, Bestückungsfehler o.ä
gibt.
Stimmt, es sind ja Kabelpaare. Du liegst also richtig.
Aber wie bereits geschrieben, ein Phy kann auch funktionieren, wenn eine
der beiden Leitungen eines Paares nicht richtig angeschlossen sind,
produziert dann allerdings u. U. mehr Fehler. Einen Link bekommt der
aber in der Regel.
Gruss
Axel
> > 127.0.0.1 schaltet irgendwo zuvor in den Loopback, ich möchte das aber> > extern.> Was soll das für einen Vorteil gegenüber 127.0.0.1 haben?
Das local (i.d.R. 127.0.0.0/8) Interface ist eine virtuelle
Schnittstelle des Rechners, alle Operationen darauf bewirken
absolut nichts Physikalisches (oder irgendeine "local loop").
VG,
Hans
@oszi40 und Axel
Richtig der Link ansich sagt nicht besonders viel aus. Aber ich brauche
einen Link damit der PHY überhaupt anfängt zu senden. Das Programm das
dann läuft, sendet mit ca 980MBit/s (mit Wireshark gemessen, als ich nen
PC angeschlossen hab) Ethernet Frames (Source und Destination MAC sind
jeweils die des FPGA. Ansonsten ließe sich auch noch ein promiscuous
mode einstellen). Wenn ich die alle erhalte und auch noch auf
korrektheit hin überprüfen kann, gehe ich davon aus dass auch HF mäßig
alles in Ordnung ist.