Jump to content

Dbox2 mit 10Mbit Vollduplex?


Worschter

Empfohlene Beiträge

  • Antworten 56
  • Created
  • Letzte Antwort

Top Posters In This Topic

Aber klar doch.

Ich habe im Datenblatt vom Netzwerkchip bei der suche nach den LED Anschlüssen gefunden das mann die Collisonserkennung über PIN für die Collisons-LED abschalte kann. Ein Abschalten der Collisonserkennung hat ja zur Folge das der Chip im Fullduplex Modus arbeiten kann. Da ich Netzwerktechniker bin habe ich auch einige managbare Switche die Fullduplex bei 10 MBit können. Da ich morgen frei habe will ich das mal testen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hm, ist lange her, aber ich erinnere mich an Versuche im tuxbox Forum das zu aktivieren.

Irgendwas schwebt mir da im Hinterkopf, daß wirklich eine Hardware Änderung nötig war.

 

Allerdings haperte es dann glaube an der Software. Es wurde glaub vom nötigen Setzen eines Registers gesprochen

Aber es ist so lange her, daß ich da auch was verwechseln kann.

Auf das Ergebnis bin ich gespannt :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hoffe ja auch das das einfach so klapt. Mann muß ja nur den PIN (ich glaub 20 oder 21, bin auf Arbeit und hab leider nicht alles hier) auf Masse legen. Wenn das Linux jetzt noch mit dem Vollduplex klar kommt wäre das ja toll und die Problemme beim Aufnehmen hofentlich auch weg.

Wenn das so geht werde ich eine richtige Beschreibung erstellen und auch mal ein paar Switche testen die mit 10 MBt Fullduplex klar kommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

verstehe ich jetzt nicht so ganz : betrifft also nur den, der den Link gepostet hat ? Oder alle anderen ausser ihn ? Naja, jetzt wo du einen Link gesetzt hast, hier mein ursprüngliches Posting, welches ich vorhin editiert hatte :

 

Hi,

im tuxbox-Forum hat wohl tatsächlich mal funktioniert, eine (kleine) Software-Anpassung war wohl auch nötig. War wohl ziemlich genial fürs streamen ...

Schau mal hier :

http://forum.tuxbox.org/forum/viewtopic.ph...ight=fullduplex

sowie hier (der ist richtig interessant!) :

http://forum.tuxbox.org/forum/viewtopic.ph...ight=fullduplex

 

Hoffe das hilft dir,

Ciao,

DdD.

Link zu diesem Kommentar
Auf anderen Seiten teilen

naja, den ersten Thread hab ich gemeint vorhin, den zweiten hab ich nooch nicht durchgelesen.

Werd ich mal machen :P

 

 

Wenn man Links aufs Tuxbox Forum stezt, dann kommt es vor, daß derjenige der ihn anklickt

ein Bild von einem Lego Männchen zu sehen bekommt welches ein Schilp mit "IDIOT" drauf hochhält.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ahh, jetzt verstehe ich, aber sowas hatte ich noch nie ... Komische sache das ...

 

Zurück zum Topic :

Also das Problem damals war wohl, dass die Box kein "autonegotiation" beherrscht. Deshalb braucht man dann einen manage-baren Switch oder eine Netzwerkkarte unter Linux (per Crosskabel angebunden), die man im Treiber FEST auf 10 Mbit fullduplex einstellen kann ...

 

Wenn es mit nem kleinen Hardware und Software - Eingriff klappen würde, wären bestimmt einige Leute (Streamer) daran interessiert ... Also viel Erfolg ...

 

Ciao,

DdD.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich es noch fertig zusammenbringe, es war eine kleine Hardwareänderung (2 Pullups ?) um den Chip auf "externen Loop" zu setzen und dazu ein Patch am Kernel (bzw. am Netzwerktreiber). Problem war damals, dass Autonegation nicht funktioniert und damit fast alles, was man nicht fest auf 10fdx einstellen kann, auf die Nase fällt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @ALL

da mir die Sache keine Ruhe gelassen hat, habe ich diese Nacht schon mal angefangen zu testen. Ich hab dem MB86961A erst mal erklärt das er keine Collisonserkennung mehr machen soll und externen loopback (PIN21 auf Masse). Anscheint tut er das auch doch leider kann er wirklich kein Autonegation und somit bekam der Switch auch nichts mit davon. Kein Problem dachte ich mir. Switch fest auf 10 FDX. Doch leider ging die Übertragungsrate so in den Keller das noch nicht einmal das Abspielen mehr vernünftig möglich war. Anscheinen muß man dem Kernel doch noch sagen das da jetzt Fullduplex ist und er sich darum nicht mehr kümmern muss.

Es ist schon klar das das mit dem fest Einstellen nur teure Switche können, aber die meisten Netzkarten kann man fest auf 10 MBit Fullduplex einstellen und man hätte wenigstens in Verbindung mit eine Crossover Kabel genug Bandbreite zu Verfügung.

Denn bei meinen Test habe ich ca 20-40% Bandbreitenverlust nur durch die Collisonen da der MB86961A das mit dem Zufallstimer für Wiederholungen nicht so genau nimt.

Ich werde an der Sache dran bleiben und jetzt erst mal versuchen heraus zu finden wie ich dem Kernel das mit dem FDX erklären kann.

Da ich das WE leider :P nicht da bin kann ich aber erst am Mo. Testen.

 

 

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

@DdD

danke für die Infos, das ist ja genau das was ich mir so gedacht habe und wie es wirklich läuft.

 

@Worschter

 

ich hab da nur da so ein kleine Problem. Ich habs nicht so mit dem Backen und schon karnicht mit Kernel backen.

Würdest du dich bereit erklären, wenn es kein so großer Aufwand ist, mal einen Kernel mit diesen Änderungen zu backen. Ich häge sie mal hier an.

 

Ich würde dan die Tests noch mal machen, auch mit Netzkarten und unterschiedlichen Switchen.

 

 

---snip---
*** arch/ppc/8xx_io/enet.c-ORG 2003-12-28 13:46:57.000000000 +0100
--- arch/ppc/8xx_io/enet.c 2003-12-28 13:50:24.000000000 +0100
***************
*** 894,901 ****

/* Set processing mode. Use Ethernet CRC, catch broadcast, and
* start frame search 22 bit times after RENA.
*/
! sccp->scc_pmsr = (SCC_PMSR_ENCRC | SCC_PMSR_NIB22);

/* It is now OK to enable the Ethernet transmitter.
* Unfortunately, there are board implementation differences here.
--- 894,902 ----

/* Set processing mode. Use Ethernet CRC, catch broadcast, and
* start frame search 22 bit times after RENA.
+ * Enable Full duplex mode (requires external loopback configuration)
*/
! sccp->scc_pmsr = (SCC_PMSR_ENCRC | SCC_PMSR_NIB22 | SCC_PMSR_LPB | SCC_PMSR_FDE);

/* It is now OK to enable the Ethernet transmitter.
* Unfortunately, there are board implementation differences here.
---snap---

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi vitacola1,

schön zu wissen, dass du dran bleibst ... :D

Bzgl. der Kernel-Änderung : In dem 2.Thread vom tuxbox-Forum, hatte das ja noch mal jemand("Tattergreis") etwas später probiert, hatte aber keinen Erfolg :P Vllt. hat sich da was zwischenzeitlich geändert (oder er hatte nur was falsch gemacht) ...

 

Bleib dran,

DdD.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hm,

 

Originalzeilen in der aktuellen Datei:

 

/* Set processing mode.  Use Ethernet CRC, catch broadcast, and

  * start frame search 22 bit times after RENA.

  */

sccp->scc_pmsr = (SCC_PMSR_ENCRC | SCC_PMSR_NIB22);

 

/* It is now OK to enable the Ethernet transmitter.

  * Unfortunately, there are board implementation differences here.

  */

 

Irgenwie ist mir die Syntax von dem oben geposteten Difff nicht ganz geläufig,

 

aber ich denke es muss die rote Zeile bgeändert werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @ ALL und sorry das ich mich jetzt erst wieder melde, aber bei mir gehts im Moment drunter und drüber. Zum glück bin ich jetzt erst mal bis ende der Woche krankgeschrieben und hab somit Zeit für die Box :angry: .

@ Worschter

Leider kenne ich mich der ganzen Sache nicht so aus (das mit dem C und so), aber in der fec.c habe ich das Wort full_duplex auch noch gefunden. Vielleicht kann man das da aktivieren.

 

/* values for phy_status */

#define PHY_CONF_ANE    0x0001  /* 1 auto-negotiation enabled */
#define PHY_CONF_LOOP   0x0002  /* 1 loopback mode enabled */
#define PHY_CONF_SPMASK 0x00f0  /* mask for speed */
#define PHY_CONF_10HDX  0x0010  /* 10 Mbit half duplex supported */
#define PHY_CONF_10FDX  0x0020  /* 10 Mbit full duplex supported */
#define PHY_CONF_100HDX 0x0040  /* 100 Mbit half duplex supported */
#define PHY_CONF_100FDX 0x0080  /* 100 Mbit full duplex supported */

#define PHY_STAT_LINK   0x0100  /* 1 up - 0 down */
#define PHY_STAT_FAULT  0x0200  /* 1 remote fault */
#define PHY_STAT_ANC    0x0400  /* 1 auto-negotiation complete  */
#define PHY_STAT_SPMASK 0xf000  /* mask for speed */
#define PHY_STAT_10HDX  0x1000  /* 10 Mbit half duplex selected */
#define PHY_STAT_10FDX  0x2000  /* 10 Mbit full duplex selected */
#define PHY_STAT_100HDX 0x4000  /* 100 Mbit half duplex selected */
#define PHY_STAT_100FDX 0x8000  /* 100 Mbit full duplex selected */
#endif  /* CONFIG_USE_MDIO */                    

bearbeitet von vitacola1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

 

so, ich hab mir das fec.c mal angesehen. Wenn ich mich nicht total geirrt hab, dann ist das

dort so, daß hier nur die Register des Chips ausgelesen werden.

Mit dem Define wird einfach nem Register Zustand ein Klartext Wert zugewiesender

dann vom Preprozessor beim Compilieren wieder durch den Zahlenwert ersetzt wird.

Beeinflusst wird in der fec.c allerdings für mein empfinden nichts.

Entweder der Chip liefert den Wert zurück, daß er Fullduplex kann, oder eben nicht.

 

Da was zu ändern macht in meinen Augen keinen Sinn.

Aber ich kann mich natürlich auch täuschen, hab´s eben nur kurz angelesen und nicht studiert :angry:

 

 

Ich überleg gerade wie ich Dir am besten mal nen Kernel zukommen lassen könnt.

Ich denk mit nem Test-Image, aber das will erst mal gebaut sein :angry:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie gesagt, ich kenne mich damit leider nicht so aus. Bin gerade erst dabei mich in C einzufuchsen.

Fals du ein Testimage haben solltest kann ich die eine Mail-Adresse geben die auch große Anhänge entgegen nimmt. Ich werde es dann auch sofort testen und berichten.

Ich hoffe sonst ist alles gut aus gegangen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.

×
×
  • Neu erstellen...