FullDuplex wieder aufwärmen

Boxenweitwurf
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Re: FullDuplex wieder aufwärmen

Beitrag von ingrid »

Mal ganz blöd gefragt: Bedeutet das, man könnte theoretisch FD einschalten, ohne Hardware an der Box modifizieren zu müssen (sprich: ohne Löten)? :gruebel:
Biertrinker
Interessierter
Interessierter
Beiträge: 57
Registriert: Freitag 18. Januar 2008, 10:21

Re: FullDuplex wieder aufwärmen

Beitrag von Biertrinker »

Interessant. Allerdings frage ich mich, was der LBK Pin wirklich macht? Laut Datenblatt:

LOOPBACK: When LBK=1, forced loopback is enabled. When LBK=0, normal loop-
back is enabled.

Aber was ist denn "forced loopback"?

viele Grüße

Biertrinker
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Re: FullDuplex wieder aufwärmen

Beitrag von Z80 »

Biertrinker hat geschrieben:Aber was ist denn "forced loopback"?
steht drin:
The MB86961A provides loopback
functions controlled by pin 22 (LBK). When the TP
port is selected and LBK=1, TP loopback is “forced,”
overriding collisions on the TP circuit. When LBK=0,
normal loopback is in effect.

When the AUI port is selected and LBK=1, data transmitted
by the back-end controller is internally looped back
from the TXD pin through the Manchester encoder/decoder
to the RXD pin. When LBK=0, no AUI loopback occurs.
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Re: FullDuplex wieder aufwärmen

Beitrag von Z80 »

zonie hat geschrieben:Irgendwie hab ich das Gefühl, dass der LBK-Eingang des Chips auf 1 stehen muss, damit Kollisionen wirklich ueberschrieben werden.
du hast recht, einen versuch ist es sicherlich wert.
wenn sich der fujitsu MB86961A jedoch kompatibel zum intel-pendent verhalten sollte, wird das wohl leider nix werden, da dort explizit steht (S.16):

Code: Alles auswählen

LBK = High / !FDE = Low => Not used
wäre imho also undefiniert.

hingegen ist

Code: Alles auswählen

LBK = Low / !FDE = Low => Enable external loopback test mode and full-duplex mode
ausdrücklich für FullDuplex genannt.
2.9.2 External Loopback/Full Duplex
The LXT905 also provides an external loopback test mode for system-level testing. When both
LEDC/FDE and LBK are Low, the LXT905 enables external loopback and full-duplex mode, and
disables internal loopback circuits, SQE, and collision detection. Refer to Table 3 for a summary ofloopback and duplex modes.
Carlos_1481
Interessierter
Interessierter
Beiträge: 29
Registriert: Sonntag 13. August 2006, 14:09

Re: FullDuplex wieder aufwärmen

Beitrag von Carlos_1481 »

Hallo,

jetzt versteh ich gar nichts mehr. Sollte man jetzt MD0 (Pin5) der ja laut Nokia Schaltplan auf Masse liegt, mit +5V beschalten? :gruebel:

Daran ändert ja eine Softwareschaltung auch nichts, Software kann ja hier die Hardware nicht ändern, oder ist dass jetzt wieder was anderes? :dash:

Es leuchtet ein wenn der Chip Hersteller angibt "für Twisted-Pair-Only Application" 5 Volt an MD0 anzulegen, dass auch zu tun, oder nicht? :gruebel:

Für mich hat es langsam den Anschein, wenn man die BOX auf 10mbit fullduplex umgeschaltet wird, als arbeite der NIC-Chip beim Empfangen der Daten trotzdem noch im Halbmodus, nur beim Senden von Daten arbeitet er im fullduplex Modus.
Das würde auch die unterschiedlichen Datenraten erklären.

Wenn ich wüsste, dass ich meinen NIC-Chip nicht zerstöre, würde ich's ja Testen.
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Re: FullDuplex wieder aufwärmen

Beitrag von Z80 »

Carlos_1481 hat geschrieben: Hallo,

jetzt versteh ich gar nichts mehr. Sollte man jetzt MD0 (Pin5) der ja laut Nokia Schaltplan auf Masse liegt, mit +5V beschalten? :gruebel:
hmm, also mit MD0/MD1 bestimmt man ja in welchem Kompatibilitätsmodus der Chip arbeiten soll. Lt. Nokia-Schaltplan mit MD0=MD1=Low also zu AMD Am7990 kompatibel. (scheint lt. google übrigens ein "BNC-only" Chip zu sein.)
Ein kurzes Querchecken zum Datenblatt des in der Sagem verbauten Intel LXT wird in der Tabelle bestätigt.
Ein fixes durchklingeln der Pins MD0/MD1 in der Sagem ergibt, dass auch hier beide auf Low-Potential und somit den gleichen Kompatibilitätsmodus verwenden :(
Nichtdestotrotz könnte ein Test nicht schaden und MD0 mal auf High zu ziehen, um somit
den "Intel 82596 Kompatibilitätsmodus" zu erreichen.
Carlos_1481 hat geschrieben:Es leuchtet ein wenn der Chip Hersteller angibt "für Twisted-Pair-Only Application" 5 Volt an MD0 anzulegen, dass auch zu tun, oder nicht? :gruebel:
s.o.
Carlos_1481 hat geschrieben:Wenn ich wüsste, dass ich meinen NIC-Chip nicht zerstöre, würde ich's ja Testen.
ich seh da kein Problem
Termination Circuitry
The LXT905 pulls several I/O pins up or down internally, to keep the signals from floating. Intel
recommends hard-wiring these pins either High or Low. Externally pull-up pins (LEDT/PDN,
LEDC/FDE, LEDR, LEDL) and pull-down pins (LBK, TEN, TXD, DSQE, MDO, MDI)
separately, using a 10 k Ω, 1% resistor, or tie them directly to VCC or ground.
gleiches wird auch für den Fujitsu gelten.
zonie
Interessierter
Interessierter
Beiträge: 26
Registriert: Donnerstag 1. März 2007, 02:19

Re: FullDuplex wieder aufwärmen

Beitrag von zonie »

Zaaanngg!!!

Es könnte einfacher kaum sein ... aaaaaaarrrgghh!!!

Offensichtlich arbeitet die Kollisionserkennungsabschaltung (sorry :o ) des Fujitsu's nicht 100%ig.
Die logische Konsequenz ist den CLSN-Input-Pin (CTS2 / PC9) des MPC823 einfach abzuschalten, damit der
SCC2 nicht mehr auf fälschlicherweise gemeldete Kollisionen reagiert.

Hier nun der komplette Patch, der bei mir funktioniert!
(Bei der Gelegenheit hab ich den LBK (PA5) gleich mal vernünftig als Ausgang deklariert und auf Low gesetzt.)

Code: Alles auswählen

--- linux-2.4.36.2.orig/include/asm-ppc/commproc.h        2008-02-24 21:38:03.000000000 +0100
+++ linux-2.4.36.2/include/asm-ppc/commproc.h     2008-04-02 21:16:58.622079782 +0200
@@ -473,6 +473,7 @@
#define PA_ENET_RXD    ((ushort)0x0004)
#define PA_ENET_TXD    ((ushort)0x0008)
#define PA_ENET_RCLK   ((ushort)0x0200)
+#define PA_ENET_LBK    ((ushort)0x0400)
#define PA_ENET_TCLK   ((ushort)0x0800)

#define PC_ENET_TENA   ((ushort)0x0002)

Code: Alles auswählen

--- linux-2.4.36.2.orig/arch/ppc/8xx_io/enet.c  2008-04-05 03:01:31.000000000 +0200
+++ linux-2.4.36.2/arch/ppc/8xx_io/enet.c       2008-04-05 03:08:24.000000000 +0200
@@ -73,6 +73,8 @@
  * All functions are directly controlled using I/O pins.  See <asm/commproc.h>.
  */

+static int duplex_mode=0;
+
 /* The transmitter timeout
  */
 #define TX_TIMEOUT     (2*HZ)
@@ -799,6 +801,13 @@
 #error Exactly ONE pair of PA_ENET_[RT]XD, PB_ENET_[RT]XD must be defined
 #endif

+#if defined(PA_ENET_LBK)
+       /* Disable Loopback */
+       immap->im_ioport.iop_papar &= ~PA_ENET_LBK;
+       immap->im_ioport.iop_padir |=  PA_ENET_LBK;
+       immap->im_ioport.iop_padat &= ~PA_ENET_LBK;
+#endif /* PA_ENET_LBK */(
+
 #if defined(PC_ENET_LBK)
        /* Configure port C pins to disable External Loopback
         */
@@ -810,7 +819,15 @@

        /* Configure port C pins to enable CLSN and RENA.
        */
-       immap->im_ioport.iop_pcpar &= ~(PC_ENET_CLSN | PC_ENET_RENA);
+       if (duplex_mode==2)
+       {
+               immap->im_ioport.iop_pcpar &= ~PC_ENET_RENA;
+               immap->im_ioport.iop_pcpar |=  PC_ENET_CLSN; // Disable CLSN pin
+       }
+       else
+       {
+               immap->im_ioport.iop_pcpar &= ~(PC_ENET_CLSN | PC_ENET_RENA);
+       }
        immap->im_ioport.iop_pcdir &= ~(PC_ENET_CLSN | PC_ENET_RENA);
        immap->im_ioport.iop_pcso  |=  (PC_ENET_CLSN | PC_ENET_RENA);

@@ -984,7 +1001,19 @@
        /* 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);
+       if (duplex_mode==0)
+       {
+               sccp->scc_pmsr = (SCC_PMSR_ENCRC | SCC_PMSR_NIB22);
+               printk(KERN_INFO "half-duplex mode enabled\n");
+       }
+       else
+       {
+               sccp->scc_pmsr = (SCC_PMSR_ENCRC | SCC_PMSR_NIB22 | SCC_PMSR_LPB | SCC_PMSR_FDE);
+               if (duplex_mode==2)
+                       printk(KERN_INFO "forced full-duplex mode enabled\n");
+               else
+                       printk(KERN_INFO "full-duplex mode enabled\n");
+       }

        /* It is now OK to enable the Ethernet transmitter.
         * Unfortunately, there are board implementation differences here.
@@ -1055,3 +1084,14 @@

        return 0;
 }
+
+#ifndef MODULE
+static int __init duplex_mode_setup(char *str)
+{
+        duplex_mode = simple_strtol(str, NULL, 0);
+        return 1;
+}
+
+__setup("dbox_duplex=", duplex_mode_setup);
+#endif
+


Ergebnis:
Paralleles Rauf- und Runterladen eines 8MB Images auf/von der Box mit jeweils ca. 1MB/s 8)
Für ausgiebigere Tests kann sich sicher wer anders begeistern ... :wink:

Um den Patch zu aktivieren "dbox_duplex=2" setzen.

Noch 2 Kleinigkeiten:

1.) Ein Kollege hat mir heut 'nen 18pF-Kondensator zwischen Beinchen 10 des ST7010T und Masse gelötet. Ob der nun notwendig ist mag bitte jemand ausprobieren. Ich lass ihn erstmal drin. In der Doku vom Fujitsu steht er ja auch. Nur Nokia hat ihn (zumindest im Schaltplan) vergessen.
Vielleicht ist er aber auch schon drin. Wir waren ja schliesslich auch ein wenig irritiert, als wir zwischen Pin21 des Fujitsu und +5V die verlangten 10 kOhm gemessen haben obwohl der Pin21 lt. Nokia-Plan ins Leere geht.

2.) Das ziehen des XLBK des Fujitsu auf Masse ist unbedingt nötig. Macht man das nicht und aktiviert meinen Patch trotzdem hat man das Phänomen in der anderen Richtung: Upload Schnell - Download Langsam.

zonie
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: FullDuplex wieder aufwärmen

Beitrag von DrStoned »

@zonie
Habe noch ein paar Fragen bezüglich Nokia-Box:

1. Ist es jetzt noch notwendig, einen Schalter für Umschaltung zwischen Half- und Fullduplex einzubauen, oder genügt es den Pin auf Masse zu ziehen, den Widerstand und den Schalter habe ich bereits drin? Beschreibe mal bitte genau, was ich noch an meiner Box verändern muss, diesen Umbau habe ich ja bereits gemacht.
2. Sind noch irgendwelche anderen Pins auf Gnd bzw. Vcc zu legen, mal abgesehen vom 18pF Widerstand am Pin 10 vom Netzwerkübertrager ST7010T, den ich für die ersten Tests mal weglassen werde?

Greetz von DrStoned :lol: :lol: :lol:
zonie
Interessierter
Interessierter
Beiträge: 26
Registriert: Donnerstag 1. März 2007, 02:19

Re: FullDuplex wieder aufwärmen

Beitrag von zonie »

@DrStoned

1) Muss mal überlegen. Den Schalter würde ich drin lassen ... vielleicht geht mir ja mal der Switch kaputt und muss übergangsweise einen nehmen,
der nicht auf Fullduplex einzustellen geht. Resultat mit ausschliesslich Pin21 auf Masse und "dbox_duplex=0" wären dann miserable Downloadraten und nicht ganz optimale Uploadraten (hab's grad mal ausprobiert)

2) Es sind keine weiteren Umbauten an der Box-Hardware nötig. Es muss nur der Pin21 des Fujitsu auf Masse gezogen werden. Der Widerstand ist meines Erachtens schon eingebaut gewesen. Bei mir sind es zumindest 5kOhm. Würde ich jetzt noch einen mit 10kOhm parallel dazu einbauen hätte ich ja einen Widerstand von 3,33 kOhm. Bei +5Volt flösse dann bei ausgeschaltetem Schalter (also Pin21 auf High) ein Strom von etwas über 1.5 Milliampere. (Keine Ahnung, ob der Chip das vertragen würde).
Alle anderen Pins bleiben wie sie sind, da der Patch mit "dbox_duplex=2" den CLSN-Eingang des SCC2 nur in Software deaktiviert.

Fazit für Nokia500 mit MB86961APD-G:
- Pin21 auf Masse ziehen und in "boot.conf" "dbox_duplex=2". Die Notwendigkeit des Kondensators gilt es noch zu überprüfen.
Zuletzt geändert von zonie am Samstag 5. April 2008, 13:00, insgesamt 1-mal geändert.
Carlos_1481
Interessierter
Interessierter
Beiträge: 29
Registriert: Sonntag 13. August 2006, 14:09

Re: FullDuplex wieder aufwärmen

Beitrag von Carlos_1481 »

@ zonie

Ist dieser Patch schon im alten Fullduplexpatch enthalten, oder muss man den Patch mit den neuen Befehlszeilen wieder neu ins Image kompilieren? Oder muss im Image nur eine Datei abgeändert werden. :gruebel:

Leider verstehe ich nicht soviel vom Image-Bau. :oops:

Bin jetzt leicht verwirrt? Werden dann nicht zweit Fullduplex Paches benötigt, eine für Nokia’s und einen für die Sagem Boxen. :gruebel:

Ich glaube der neue Patch würde ja bei Nokia AVIA600 auch passen, gleicher NIC-Chip nur andere Bauform? :)
zonie
Interessierter
Interessierter
Beiträge: 26
Registriert: Donnerstag 1. März 2007, 02:19

Re: FullDuplex wieder aufwärmen

Beitrag von zonie »

@carlos_1481

Hmm. Ok.
Mein Patch (der eigentlich aus zwei patches besteht) enthält den ersten full-duplex patch von (...von wem isser eigentlich?) und baut nicht auf ihm auf.
Ich weiss grad auch nicht, ob er irgendwo im repository rumfliegt.

Im wesentlichen werden 2 Dateien geändert:

- linux/arch/ppc/8xx_io/enet.c
- linux/include/asm-ppc/commproc.h

Angewandt wird er, indem er einfach an die Patches aus dem "cdk/Patches"-Vezeichnis angehängt wird.
Also in "cdk/rules-make" die Zeile fuer "linux24;..." anpassen. (Ah. Ich hab's nur mit dem kernel 2.4.36.2 ausprobiert)

Anonsten wissen sicher die Imagebauer was zu tun ist.

Über die Konfiguration in "/var/tuxbox/boot/boot.conf" kann dann wahlweise der Patch für die Sagem "dbox_duplex=1" oder für die Nokia/Avia500 "dbox_duplex=2" aktiviert werden.

Cool wäre, wenn das auch jemand mit der Nokia und Avia600 ausprobieren könnte.
Carlos_1481
Interessierter
Interessierter
Beiträge: 29
Registriert: Sonntag 13. August 2006, 14:09

Re: FullDuplex wieder aufwärmen

Beitrag von Carlos_1481 »

@zonie

wenn du mir dein Image mit dem neuen Patch schicken könnest, dann könnte ich auf meinen beiden Nokias AVIA500 und AVIA600 das mal testen.
zonie
Interessierter
Interessierter
Beiträge: 26
Registriert: Donnerstag 1. März 2007, 02:19

Re: FullDuplex wieder aufwärmen

Beitrag von zonie »

ok .. wie schick ich es dir?
oder kann ich es auch hier ins forum stellen?
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Re: FullDuplex wieder aufwärmen

Beitrag von Z80 »

zonie hat geschrieben:Die logische Konsequenz ist den CLSN-Input-Pin (CTS2 / PC9) des MPC823 einfach abzuschalten, damit der SCC2 nicht mehr auf fälschlicherweise gemeldete Kollisionen reagiert.
cool 8)
vermutlich ist dann auch gleich die philips mit abgedeckt (auch Fujitsu MB86961)
zonie hat geschrieben:ok .. wie schick ich es dir?
oder kann ich es auch hier ins forum stellen?
http://ulc.tuxbox-cvs.sourceforge.net/
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: FullDuplex wieder aufwärmen

Beitrag von DrStoned »

Z80 hat geschrieben:
zonie hat geschrieben:ok .. wie schick ich es dir?
oder kann ich es auch hier ins forum stellen?
http://ulc.tuxbox-cvs.sourceforge.net/
Um einen Upload-Account für das Downloadcenter zu bekommen, eine PN an wittinobi schicken.

Greetz von DrStoned :lol: :lol: :lol:
wittinobi
Einsteiger
Einsteiger
Beiträge: 116
Registriert: Montag 29. März 2004, 22:00

Re: FullDuplex wieder aufwärmen

Beitrag von wittinobi »

:gruebel: .oO(...wittnet ?)
neee, ...CarstenW ist der richtige. :D
http://tuxbox-forum.dreambox-fan.de/for ... &sk=t&sd=a

mfg
wittinobi
Biertrinker
Interessierter
Interessierter
Beiträge: 57
Registriert: Freitag 18. Januar 2008, 10:21

Re: FullDuplex wieder aufwärmen

Beitrag von Biertrinker »

Sehr coole sache das. Ich bin begeistert, das sieht ja fast so aus, als wenn Full-Duplex jetzt für alle Boxen funktionieren könnte.

Ach ja, der letzte Patch so wie er im Wiki steht ist von mir, aber die wichtigsten Teile davon stammen aus dem ersten Full-Duplex Thread.

viele Grüße

Biertrinker
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: FullDuplex wieder aufwärmen

Beitrag von DrStoned »

wittinobi hat geschrieben::gruebel: .oO(...wittnet ?)
neee, ...CarstenW ist der richtige. :D
http://tuxbox-forum.dreambox-fan.de/for ... &sk=t&sd=a

mfg
wittinobi
Ups, sorry :oops: :oops: :oops:

Greetz von DrStoned :lol: :lol: :lol:
Z80
Erleuchteter
Erleuchteter
Beiträge: 710
Registriert: Dienstag 3. September 2002, 12:54

Re: FullDuplex wieder aufwärmen

Beitrag von Z80 »

@zonie
wegen nicht vorhandener nokia, kann ich "forced full-duplex mode enabled" nicht ausprobieren.
testen konnte ich den patch hingegen
a) bei einer philips (mit dem 48-pinnigen fujitsu MB86961 PQFP), sowie
b) ob es auf einer sagem inkompatibilitäten bei "dbox_duplex=2" gibt.
um's kurz zu machen: ich hab nur positives zu berichten :wink:

zu a) der in der philips verbaute 48-pinnige MB86961 verhält sich offenbar wie der 44-pinner:
nachdem der XLBK (hier: pin 28) nach GND gezogen ist, kann ich den problemlosen FullDuplex-Betrieb vermelden. haben nicht auch nokias mit AVIA600 den 48-pinner MB86961 PQFP verbaut?

zu b) der durch deinen patch erzwungene fd-modus scheint keine neg. auswirkungen bei der sagem box zu haben: sowohl dbox_duplex=1 als auch dbox_duplex=2 laufen hier beide ohne das ich auffälligkeiten bemerken konnte.

thnx and well done! 8)
Carlos_1481
Interessierter
Interessierter
Beiträge: 29
Registriert: Sonntag 13. August 2006, 14:09

Re: FullDuplex wieder aufwärmen

Beitrag von Carlos_1481 »

@zonie

Leider bin ich erst jetzt zum Testen deines Images gekommen "PC-defekt, Server Netzteil abgebrannt usw." :dash:

In deinem Image läst sich leider der fullduplex mode nicht mit "dbox_boot=1" oder "...=2" aktivieren. Das liegt wohl daran das du "U-Boot v1.2.0" verwendest. Soviel ich weis kann erst mit "U-Boot v1.3" mit diesen Parametern geschalten werden.

Auszug aus dem Bootlog:
------
U-Boot 1.2.0 (Tuxbox) (Apr 5 2008 - 16:54:17)

CPU: PPC823ZTnnA at 67.200 MHz: 2 kB I-Cache 1 kB D-Cache
*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: DBOX2, Nokia, BMon V1.0
....
Scanning JFFS2 FS: ........ done.
env: found "console"
env: found "baudrate"
env: found "lcd_inverse"
env: found "lcd_contrast"
env: found "dbox_duplex"
env: can't set "dbox_duplex"

FB: ready
LCD: ready
In: serial
Out: serial
....
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
half-duplex mode enabled
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:1a:5c:4d
loop: loaded (max 8 devices)
------

Versuche ich jetzt die für "U-Boot v1.2" gültige Befelszeile aus "Tuxbox Wiki" in der boot.conf, bleit die Box beim Starten hängen.
"bootcmd=setenv bootargs console=ttyS0,9600 root=/dev/mtdblock2 rootfstype=squashfs dbox_duplex=1;fsload;bootm"

Bootlog gesamt:
------
odebug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS
debug: BMon V1.0 mID 01
debug: feID dd gtxID 0b
debug: fpID 5a dsID 01-34.56.23.07.00.00-87
debug: HWrev X5 SWrev 0.81
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Given up BOOTP/TFTP boot
boot net failed

Flash-FS bootstrap loader (v1.5)

Found Flash-FS superblock version 3.1
Found file /root/platform/nokia-dbox2/kernel/os in Flash-FS
debug: Got Block #0032

will verify ELF image, start= 0x800000, size= 154332
verify sig: 262
Branching to 0x40000


U-Boot 1.2.0 (Tuxbox) (Apr 5 2008 - 16:54:17)

CPU: PPC823ZTnnA at 67.200 MHz: 2 kB I-Cache 1 kB D-Cache
*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: DBOX2, Nokia, BMon V1.0
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: ........ done.
env: found "console"
env: found "baudrate"
env: found "lcd_inverse"
env: found "lcd_contrast"
env: found "bootcmd"
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
find_inode failed for name=logo-lcd
load: Failed to find inode
ready - can't find logo in flash
find_inode failed for name=logo-fb
load: Failed to find inode
can't find logo in flash

Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
Unknown command 'gs' - try 'help'
### FS (jffs2) loading 'vmlinuz' to 0x100000
### FS load complete: 669686 bytes loaded to 0x100000
## Booting image at 00100000 ...
Image Name: dbox2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 669622 Bytes = 653.9 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
------

Nun verwende ich ein anderes Image das für fullduplex vorbereitet ist, hat aber leider deinen Patch nicht eingebaut, deshalb ist nur "dbox_duplex=1" mode möglich.
Hier muss aber auch die lange Befehlszeile aus Tuxbox Wiki verwendet werden da auch "U-Boot v1.2".
------
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600 root=/dev/mtdblock2 rootfstype=squashfs
dbox_duplex=1
Decrementer Frequency = 252000000/60
m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
....
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
full-duplex mode enabled<6>eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:1a
:5c:4d
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
.....
avia_gt_gv: set_input_size (width=720, height=576)
[neutrino] Software update enabled
[neutrino] enable flash
[neutrino] unknown entry 'bootcmd=setenv bootargs console=ttyS0,9600 root=/dev/m
tdblock2 rootfstype=squashfs dbox_duplex=1;f' found in boot.conf
[neutrino] unknown entry 'sload;bootm
' found in boot.conf
------

Könntest du vielleicht in dein Image "U-Boot v1.3" einbauen, damit man deinen fullduplex Patch testen kann. :wink: :)

Grüße
Carlos
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: FullDuplex wieder aufwärmen

Beitrag von mb405 »

also ich denke mal wer den "normalen" duplex mode drin hat, muss nur die beiden dateien im kernel ändern, und im original patch ne erkennung für forced mit rein, dann passt das schon.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: FullDuplex wieder aufwärmen

Beitrag von mb405 »

der full duplex patch für den kernel neu hab ich mal hier geuppt.
http://home.arcor.de/mb407/dbox2/linux- ... uplex.diff
für neutrino muss an der neutrino.cpp // und an den settings.h angepasst werden.

Code: Alles auswählen

// uboot config file
	if(fromflash)
	{
		g_settings.uboot_console	= 0;
		g_settings.uboot_lcd_inverse	= -1;
		g_settings.uboot_lcd_contrast	= -1;
		g_settings.uboot_baudrate	= 9600;
		g_settings.uboot_dbox_duplex	= 0;

		FILE* fd = fopen("/var/tuxbox/boot/boot.conf", "r");
		if(fd)
		{
			char buffer[100];

			while(fgets(buffer, 99, fd) != NULL)
			{
				if(strncmp(buffer,"console=",8) == 0)
				{
					if(strncmp(&buffer[8], "null", 4)==0)
						g_settings.uboot_console = 0;
					else if(strncmp(&buffer[8], "ttyS0", 5)==0)
						g_settings.uboot_console = 1;
					else if(strncmp(&buffer[8], "tty", 3)==0)
						g_settings.uboot_console = 2;
				}
				else if(strncmp(buffer,"baudrate=", 9) == 0)
				{
					g_settings.uboot_baudrate = atoi(&buffer[9]);
				}
				else if(strncmp(buffer,"lcd_inverse=", 12) == 0)
				{
					g_settings.uboot_lcd_inverse = atoi(&buffer[12]);
				}
				else if(strncmp(buffer,"lcd_contrast=", 13) == 0)
				{
					g_settings.uboot_lcd_contrast = atoi(&buffer[13]);
				}
				else if(strncmp(buffer,"dbox_duplex=", 12) == 0)
				{
					g_settings.uboot_dbox_duplex = atoi(&buffer[12]);
				}
				else
					printf("[neutrino] unknown entry '%s' found in boot.conf\n", buffer);
			}

			fclose(fd);
		}
		g_settings.uboot_console_bak = g_settings.uboot_console;
	}

Code: Alles auswählen

//uboot
	int	uboot_lcd_inverse;
	int	uboot_lcd_contrast;
	int	uboot_console;
	int	uboot_console_bak;
	int	uboot_baudrate;
	int	uboot_dbox_duplex;
Carlos_1481
Interessierter
Interessierter
Beiträge: 29
Registriert: Sonntag 13. August 2006, 14:09

Re: FullDuplex wieder aufwärmen

Beitrag von Carlos_1481 »

Hallo,

ich kenne mich leider mit Imagebau nicht aus. :(
....
also ich denke mal wer den "normalen" duplex mode drin hat, muss nur die beiden dateien im kernel ändern, und im original patch ne erkennung für forced mit rein, dann passt das schon.
....
der full duplex patch für den kernel neu hab ich mal hier geuppt.
http://home.arcor.de/mb407/dbox2/linux- ... uplex.diff
für neutrino muss an der neutrino.cpp // und an den settings.h angepasst werden.
....
Das alles sagt mir leider nicht's. Ich habe zwar schon für meinem eisfair nach Anleitung einen neuen Kernel erstellt, aber das wars schon.. :gruebel:
zonie
Interessierter
Interessierter
Beiträge: 26
Registriert: Donnerstag 1. März 2007, 02:19

Re: FullDuplex wieder aufwärmen

Beitrag von zonie »

@carlos

ich erinnere mich - ich hatte das problem umgangen, indem ich in die boot.conf folgendes geschrieben hatte:

Code: Alles auswählen

console=serial
baudrate=9600 dbox_duplex=2
...
Damit sieht die /proc/cmdline dann so aus:

Code: Alles auswählen

console=serial,9600 dbox_duplex=2 ...
Sollte wohl funzen.
Ist natürlich nur zum ausprobieren gedacht.

z.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: FullDuplex wieder aufwärmen

Beitrag von mb405 »

das nutzt nur nix, wenn das nicht im kernel drin ist.