Neutrino auf der Dreambox

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Nun ja. "Aufnahme nur mit ausgeschaltetem Fernseher" ist für mich nicht akzeptabel.
Das Problem scheint auch nicht der Demux zu sein, sondern eher, daß "Wenn Netzwerk benutzt, dann dropt der Demux Pakete". Deswegen vermute ich, daß es mit der 600 gehen könnte, da die ja nicht aufs Netzwerk schreiben muß.
Generell sieht das IMO schwer nach Treiber-Pfusch aus, aber "dank" dem closed-source-Treiber wird das wohl nie jemand erfahren. Und das, was ich bei meinen reverse-engineering-Versuchen gesehen habe, war nicht schön (ich vermute, das Teil ist nicht closed source wegen Lizenzfragen, sondern weil es so peinlich ist :-)
Das Demux+Netzwerk-Problem ist scheinbar auch wesentlich weniger dramatisch wenn man keinen TS sondern multi-PES aus dem Demux zieht, ich habe da auch schon eine Lösungsidee... :-)

Dietmars complete.img solltest du nach /dev/mtd/0 flashen können und es sollte einfach gehen (ich habe jetzt genau dieses Image nicht probiert, aber ich flashe mehrmals täglich vergleichbare images, und seit ich den mksquashfs-3.0-Fehler gefixt habe, gab es keine Probleme mehr ;-)
Ich mache das immer direkt mit fcp:

Code: Alles auswählen

fcp -v /tmp/complete.img /dev/mtd/0
Booten würde ich mit serieller Konsole (115200 baud, damit du was siehst, falls es nicht geht) und ein funktionierendes DreamUP zur Hand zu haben, falls es doch nicht funktioniert, ist sicher eine gute Idee.

Achtung: beim ersten booten wird /var initialisiert == gelöscht, also wenn du deine enigma-settings etc. später noch haben willst, würde ich mittels

Code: Alles auswählen

cat /dev/mtd/3 > /tmp/total-complete-mit-var.img
ein backup machen :-)

Achso: getestet nur mit SAT, für's Kabel warte ich noch auf AudioSlyer's patches.
tomX
Interessierter
Interessierter
Beiträge: 75
Registriert: Sonntag 3. Dezember 2006, 18:01

Beitrag von tomX »

@seife

Danke für das gute Howto, werde es heute oder morgen noch testen.

Bootloader wird nicht zerschossen, wenn man nach /dev/mtd/0 schreibt?

Ach ja, ist in diesem Image ethtool mit dabei? Ich würde gerne default auf 100Mbit half stellen, da ich auch meinen NAS so eingestellt habe, damit er mit der Dbox besser zurecht kommt.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

tomX hat geschrieben:@seife

Danke für das gute Howto, werde es heute oder morgen noch testen.

Bootloader wird nicht zerschossen, wenn man nach /dev/mtd/0 schreibt?
bei mir nicht ;-) Aber schau vorher noch mal nach:

Code: Alles auswählen

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00600000 00020000 "DreamBOX cramfs+squashfs"
mtd1: 001c0000 00020000 "DreamBOX jffs2"
mtd2: 00040000 00020000 "DreamBOX OpenBIOS"
mtd3: 007c0000 00020000 "DreamBOX (w/o bootloader)"
mtd4: 00800000 00020000 "DreamBOX (w/ bootloader)"
mtd5: 004e0000 00020000 "DreamBOX SquashedFS"
mtd6: 00120000 00020000 "DreamBOX Cramfs"
Ach ja, ist in diesem Image ethtool mit dabei? Ich würde gerne default auf 100Mbit half stellen, da ich auch meinen NAS so eingestellt habe, damit er mit der Dbox besser zurecht kommt.
Nein, ist es nicht. Aber die autonegotiation sollte die dreambox ja auf dasselbe einstellen wie die Gegenstelle. Ansonsten kopier dir halt ethtool aus deinem jetzigen Image raus und mach es nach /var/bin
tomX
Interessierter
Interessierter
Beiträge: 75
Registriert: Sonntag 3. Dezember 2006, 18:01

Beitrag von tomX »

Danke sieht bei mir genauso aus. Also besteht keine Gefahr.

Im jetzigen Image gibt es auch kein ethtool. Ist bei keinem DM-Image dabei.

Weiss jemand, wie man bei der DM500 ins Bios kommt? Angeblich kann man dort das Netzwerk auf 100Mbit half einstellen.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

Ich habe, basierend auf seifes letzten Änderungen, mal das Diff-Paket etwas "durchforstet".
Das Ergebnis liegt unter http://www.blau-weissoedingen.de/dreamb ... 18.diff.gz passend für die DM7000 (ich kann's nicht auf anderen Boxen testen).
Dabei sind mir ein paar Dinge aufgefallen:
- Wie auf Seite 1 des Threads schon erwähnt, ist das Auschecken des root-Verzeichnisses aus dem HEAD unnötig und verursacht m.E. mehr Probleme als es löst.
- Ebenso ist es das Auschecken des driver-Verzeichnisses nicht notwendig.
- Ich habe gestern ein paar kleine Änderungen im CVS eingecheckt, sodass jetzt auch die Plugins durchkompilieren.
- Durch einige Patches wurden Teile aus dem "var_init"-Zweig nach "var" verschoben, was eigentlich auch nichts bringt, da beim ersten Starten der Box nach dem Flashen sowieso der Inhalt von var_init nach var kopiert wird.
- Ich habe die Patches aus dem "PATCH-CREATE"-Verzeichnis erstmal rausgenommen, da ich nicht so ganz verstehe, wozu die gebraucht werden :gruebel:. Bei "normalen" Enigma-Images ist das ja auch nicht drin. Ist das evtl. was spezielles nur für die DM500 oder wird das fürs Booten über NFS gebraucht?


Also es reichen jetzt die folgenden Befehle, um ein passendes CDK zu bekommen:

Code: Alles auswählen

#!/bin/bash 
 cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -f -r dreambox -P . 
 cvs -qz3 up -dPA   apps/
Danach wie gehabt das Patch-Paket mit

Code: Alles auswählen

zcat neutrino-dreambox7000-20070518.diff.gz | patch -p1
entpacken und mit

Code: Alles auswählen

cd cdk 
./prepare
make dreamboximage_neutrinoroot
bauen.

So langsam könnte man sich auch mal überlegen, wie das ganze passend für's CVS gemacht werden könnte. Die meisten geänderten Sachen sind ja schon per #ifdef gekapselt, sodass der C++-Sourcecode relativ simpel angepasst und eingecheckt werden könnte. Etwas problematisch sind die Änderungen an den rules-make, rules-install und rules-archive im cdk-Verzeichnis. AFAIK wurde damals aus Kompatibilitätsgründen darauf verzichtet, auf die neuere FreeType-Version (2.1.x) zu wechseln, also müsste man das da wohl irgendwie anders regeln...

dbluelle
tomX
Interessierter
Interessierter
Beiträge: 75
Registriert: Sonntag 3. Dezember 2006, 18:01

Beitrag von tomX »

seife sagt, dass das Streaming Problem der DM500 ein Treiberpfusch sein könnte. Nun meine Frage, unterscheidet sich der Prozessor der ABCOM IP BOX (Relook Mutant, Cubecafe ...) überhaupt von dem PPC der DM500.
Könnte man nicht eventuell deren Treiber nehmen? Oder haben diese Boxen das gleiche Problem?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

für welche dreamboxen ist das gedacht ??
auch für dm7020 und 7025 ?
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

dbluelle hat geschrieben:Ich habe, basierend auf seifes letzten Änderungen, mal das Diff-Paket etwas "durchforstet".
passend für die DM7000 (ich kann's nicht auf anderen Boxen testen)...
ergebnisse auf http://tuxbox.trale.de
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

irgendwie ist der wurm drin.
alles so gemacht wie angegeben.

Code: Alles auswählen

make[4]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/showlogo'
Making all in bootmenue
make[4]: Entering directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue'
Making all in skins
make[5]: Entering directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue/skins'
make[5]: Für das Ziel »all« ist nichts zu tun.
make[5]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue/skins'
make[5]: Entering directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue'
if powerpc-tuxbox-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I./../lib -I../../include -I../../../enigma/include -I../../../enigma -I../../../enigma/src -I/home/mb405/download/dreambox/driver/include -I/home/mb405/download/dreambox/driver/include -fno-exceptions -fno-rtti -D_REENTRANT -DHAVE_DREAMBOX_HARDWARE -DDISABLE_LIRC -DENABLE_KEYBOARD -DENABLE_PRIVATE_EPG -DUSE_EXTERNAL_FLASHTOOL -DDEBUG -I/home/mb405/download/dreambox/root/cdkroot/include/freetype2 -I/home/mb405/download/dreambox/root/cdkroot/include   -I/home/mb405/download/dreambox/root/cdkroot/include   -I/home/mb405/download/dreambox/root/cdkroot/include/tuxbox   -I/home/mb405/download/dreambox/root/cdkroot/include -I/home/mb405/download/dreambox/driver/include   -I/home/mb405/download/dreambox/root/cdkroot/include/tuxbox   -I/home/mb405/download/dreambox/root/cdkroot/include/libpng12   -I/home/mb405/download/dreambox/root/cdkroot/lib/sigc++-1.2/include -I/home/mb405/download/dreambox/root/cdkroot/include/sigc++-1.2    -I/home/mb405/download/dreambox/root/cdkroot/include/tuxbox/xmltree    -Wall -mcpu=405 -msoft-float -mmultiple -mstring -meabi -pipe -Os -ggdb3 -DHAVE_DREAMBOX_HARDWARE -MT my_fb.o -MD -MP -MF ".deps/my_fb.Tpo" -c -o my_fb.o my_fb.cpp; \
then mv -f ".deps/my_fb.Tpo" ".deps/my_fb.Po"; else rm -f ".deps/my_fb.Tpo"; exit 1; fi
In file included from my_fb.cpp:2:
my_fb.h:40: error: `FTC_ImageDesc' does not name a type
my_fb.cpp: In constructor `fbClass::fbClass()':
my_fb.cpp:163: error: `desc' undeclared (first use this function)
my_fb.cpp:163: error: (Each undeclared identifier is reported only once for each function it appears in.)
my_fb.cpp: In member function `void fbClass::RenderString(std::string, int, int, int, int, int, int, int, int)':
my_fb.cpp:479: error: `desc' undeclared (first use this function)
my_fb.cpp: In member function `int fbClass::RenderChar(FT_ULong, int, int, int, int, int, int)':
my_fb.cpp:529: error: `desc' undeclared (first use this function)
make[5]: *** [my_fb.o] Fehler 1
make[5]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue'
make[4]: *** [all-recursive] Fehler 1
make[4]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot/bootmenue'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma/boot'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/mb405/download/dreambox/apps/tuxbox/enigma'
make: *** [.enigma] Fehler 2
edit
fehler von mir. hab den falschen build aufruf genommen :(
jetz macht er weiter
tomX
Interessierter
Interessierter
Beiträge: 75
Registriert: Sonntag 3. Dezember 2006, 18:01

Beitrag von tomX »

- Der PPC der Dreambox ist wesentlich schneller, als der der Dbox2.
- Die Dreambox kommt auch mit MPEG-Files zurecht.
- Das Netzwerkinterface kann 100Mbit full duplex, real wird's deutlich weniger sein, aber noch immer weit über der Dbox2.

---> Wunsch: Integration einer DVDlib (natürlich ohne DeCSS) zum Abspielen von DVD-Verzeichnissen über NFS

Ist das möglich?

Unter Enigma gibt es ein Plugin, dieses spricht DVD's aber über Blockdevice an und kann daher keine Files von Festplatte, NFS etc.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

hier ist es ja ruhig geworden :(
@seife
Dietmars complete.img solltest du nach /dev/mtd/0 flashen können und es sollte einfach gehen (ich habe jetzt genau dieses Image nicht probiert, aber ich flashe mehrmals täglich vergleichbare images, und seit ich den mksquashfs-3.0-Fehler gefixt habe, gab es keine Probleme mehr ;-)
Ich mache das immer direkt mit fcp:

fcp -v /tmp/complete.img /dev/mtd/0

Booten würde ich mit serieller Konsole (115200 baud, damit du was siehst, falls es nicht geht) und ein funktionierendes DreamUP zur Hand zu haben, falls es doch nicht funktioniert, ist sicher eine gute Idee.
ich hab noch nicht so lange eine dream :)
kann ich das img irgendwie auf ne dream 7020 bekommen ??
das mit dem bootlog. wie bekomme ich das hin ??
danke
gnome
Interessierter
Interessierter
Beiträge: 49
Registriert: Donnerstag 27. Mai 2004, 19:09

Beitrag von gnome »

also erstma fetten respekt und danke für die arbeit!

leider bin ich noch nicht so fit im image basteln mit ner 7020/7025.
inwieweit könnte ich dort neutrino als gui verwirklichen? kann mir da jemand auf die sprünge helfen, bisschen unter die arme greifen?

cu

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

Beitrag von mb405 »

genau das selbe problöem hab ich auch. denn ich hab auch nur ne 7020 mit boxman cvs images. die lüppen wie der teufel.
ich hab schon versucht, das img einzuspielen, da segt der mir aber, das es nicht geht, da die endung ja img ist. die 7020 baucht ne andere endung.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

mb405 hat geschrieben:hier ist es ja ruhig geworden :(
nun ja, so viele scheint es ja nicht zu interessieren :-)
ich hab noch nicht so lange eine dream :)
ich auch nicht.
kann ich das img irgendwie auf ne dream 7020 bekommen ??
das mit dem bootlog. wie bekomme ich das hin ??
danke
Du wirst dir halt selbst eins bauen müssen. Bei der dm500 kann man am Anfang die Kernelparameter über die serielle Schnittstelle einstellen (default ist console=null).
Ich habe extra einen Patch für die dm500-Kernel-Config drin, der das per default auf console=ttyS0,115200 stellt. Das wirst du dir für die 7020 auf jeden Fall anpassen müssen.
Da ich keine 7020 habe (und mit großer Wahrscheinlichkeit nie haben werde) kann ich dir das nicht genauer erklären. Es sollte aber recht trivial sein.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

@mb405 und @gnome
Zu Bootlogs auf den Dreamboxen siehe http://dream.reichholf.net/wiki/Howto:Bootlog
Für die 7020 werden Images ja über OpenEmbedded erstellt, also wird man da wohl ein paar Sachen ändern müssen, um ein lauffähiges Image zu erhalten.
OE holt sich, glaube ich, nur die Enigma-Quellen aus dem CVS und kompiliert die.
Evtl. könntet ihr da ja mal nachforschen, wie das gemacht wird (Ich habe keine Erfahrung mit OE).

dbluelle
rico-one
Beiträge: 1
Registriert: Freitag 1. Juni 2007, 17:40

Beitrag von rico-one »

Hallo alle miteinander,

bin neu hier und möchte wenn ihr das erlaubt mitmachen. (Zumindest möchte ich es versuchen).

Ich habe schon lange ne Dbox und Neutrino am laufen und seit ein paar Wochen auch ne Dreambox. Nun aber mal zum Thema,
ich hab dieses Image von Seife geladen und hab es auch schon geflasht, bin auch sehr begeistert das es so schön läuft.

Meine frage ist nun, kann ich dieses Image auch Flashen mit dem Neutrino eigenen Tool da ich es bisher nur mit Dreamup geladen hab und wenn das geht dann wie?!
Also genauer welche Option muss ich nehmen, da ist ja reichlich Auswahl vorhanden?!
Ich bin mir nicht mal sicher welches für welche Art von FS das Image Compiliert ist (ich denke Squash bin mir aber nicht sicher ..)

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

Beitrag von mb405 »

also ich hab mir ne dream 7000 ergattert zum spielen :)
ein bootlog hab ich schon mal gemacht
Dreambox DM7000
loaded at: 00500000 00614170
relocated to: 00400000 00514170
board data at: 00512124 00512170
relocated to: 00405194 004051E0
zimage at: 004058D5 00511571
avail ram: 00515000 02000000

Linux/PPC load: console=null root=/dev/mtdblock5 rootfstype=squashfs ro console=ttyS0,115200
Uncompressing Linux...done.
Now booting the kernel
Linux version 2.6.9 (mb405@linux) (gcc version 3.4.4) #1 Sun May 20 21:42:30 CEST 2007
Built 1 zonelists
Kernel command line: console=null root=/dev/mtdblock5 rootfstype=squashfs ro console=ttyS0,115200
PID hash table entries: 256 (order: 8, 4096 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 29952k available (1888k kernel code, 516k data, 80k init, 0k highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
NET: Registered protocol family 16
SCSI subsystem initialized
drivers/usb/core/usb.c: registered new driver usbfs
drivers/usb/core/usb.c: registered new driver hub
Squashfs 2.2-r2 (released 2005/09/08) (C) 2002-2005 Phillip Lougher
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
Serial: 8250/16550 driver $Revision: 1.90 $ 7 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 20) is a 16550A
ttyS1 at MMIO 0x0 (irq = 21) is a 16550A
ttyS2 at MMIO 0x0 (irq = 31) is a 16550A
loop: loaded (max 8 devices)
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@cam.org>
eth0: SMC91C11xFD (rev 1) at 0xc305e300 IRQ 28 [nowait]
eth0: Ethernet addr: 00:09:34:10:16:a2
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
IBM STB04xxx OCP IDE driver version 2.3
hda: SAMSUNG SV1604N, ATA DISK drive
Using deadline io scheduler
ide0 at 0xc30601f8-0xc30601ff,0xc30601f6 on irq 25
hda: max request size: 1024KiB
hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(33)
/dev/ide/host0/bus0/target0/lun0: p1
dreambox: flash mapping: 800000 at 7f800000
DreamBOX rev3+: Found 1 x16 devices at 0x0 in 16-bit bank
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
disable flash VPP
Creating 7 MTD partitions on "DreamBOX rev3+":
0x00000000-0x00600000 : "DreamBOX cramfs+squashfs"
0x00600000-0x007c0000 : "DreamBOX jffs2"
0x007c0000-0x00800000 : "DreamBOX OpenBIOS"
0x00000000-0x007c0000 : "DreamBOX (w/o bootloader)"
0x00000000-0x00800000 : "DreamBOX (w/ bootloader)"
0x00120000-0x00600000 : "DreamBOX SquashedFS"
0x00000000-0x00120000 : "DreamBOX Cramfs"
drivers/usb/host/ohci-ocp.c: ohci_hcd (OCP) at 0xe0010000, irq 18

ocp_usb 07: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
drivers/usb/core/usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
IBM IIC driver v2.1
ibm-iic0: using standard (100 kHz) mode
ibm-iic1: using standard (100 kHz) mode
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 80k init
init started: BusyBox v1.2.1 (2007.05.20-19:44+0000) multi-call binary
head: module license 'Proprietary' taints kernel.
clear mem...done.
fp: attaching fp at 0xee to adapter IBM IIC
FPrev 0.06
fp selftest: PASSED.
using a0900000 as framebuffer base
VID_DISP_MODE set to 0088e6c0
registered framebuffer
allocated major 250 for denc.
[DENC] set PAL
[DENC] disable WSS
demux set source
core: Loaded IBM STB04xxx core driver
write 1 event's ...
[MPEG] setting vertical disp border to 288 lines (vsize is 0)
[MPEG] setting horizontal disp border to 360 lines (hsize is 0)
audio init
AUDIO_CLEAR_BUFFER
demux: init
xp0_clk_stop
registering frontend...
disable continuous tone
already got a frontend.
detected tuner.
stb04_pig: $Id: stb04_pig.c,v 1.15 2007/02/28 21:34:47 ghost Exp $
lcd.o: LCD driver (KS0713) module
avs: attaching avs at 0x94 to adapter IBM IIC
[AVS] set mode to FBAS
[CI] insert detected
write 1 event's ...
drivers/usb/core/usb.c: registered new driver hid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
mount: Mounting /dev/mtdblock/6 on /root failed: No such file or directory
/etc/init.d/rcS: /etc/init.d/rcS: 38: /bin/showlogo: not found
umount: Couldn't umount /root: No such file or directory
cp: /var_init/tuxbox/config/enigma/enigma.conf: No such file or directory
/etc/init.d/rcS: /etc/init.d/rcS: 84: /sbin/ifconfig: not found
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
/etc/init.d/rcS: /etc/init.d/rcS: 135: hdparm: not found
/etc/init.d/rcS: /etc/init.d/rcS: 135: hdparm: not found
mount: Mounting /dev/scsi/host0/bus0/target0/lun0/part1 on /mnt/usb failed: No such file or directory
mount: Mounting /dev/scsi/host0/bus0/target0/lun0/disc on /mnt/usb failed: No such file or directory
rm: cannot remove `/var/etc/.dont_restart_enigma': No such file or directory
/etc/init.d/rcS: /etc/init.d/rcS: 196: /bin/enigma: not found
enigma returned with 127
Restart
starten tut sie schon mal nur wird eben nach enigma gesucht.
das muss man noch ausmerzen.
das erste ist dies

mount: Mounting /dev/mtdblock/6 on /root failed: No such file or directory

laut partitionstabelle weis ich nicht was dort hin soll ??
Creating 7 MTD partitions on "DreamBOX rev3+":
0x00000000-0x00600000 : "DreamBOX cramfs+squashfs"
0x00600000-0x007c0000 : "DreamBOX jffs2"
0x007c0000-0x00800000 : "DreamBOX OpenBIOS"
0x00000000-0x007c0000 : "DreamBOX (w/o bootloader)"
0x00000000-0x00800000 : "DreamBOX (w/ bootloader)"
0x00120000-0x00600000 : "DreamBOX SquashedFS"
0x00000000-0x00120000 : "DreamBOX Cramfs"
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

Ich habe jetzt mal angefangen, seifes Änderungen ins CVS zu übernehmen.
Es sind erstmal die "ungefährlichen" Sachen, die keinen Einfluss auf die Kompilation für die Dbox haben (sollten ;)).
Das bedeutet, dass man die folgenden Dateien aus dem PatchSet entfernen kann:

Code: Alles auswählen

apps/dvb/zapit/include/client/msgtypes.h.diff
apps/dvb/zapit/include/client/zapitclient.h.diff
apps/dvb/zapit/include/audio.h.diff
apps/dvb/zapit/include/getservices.h.diff
apps/dvb/zapit/include/scan.h.diff
apps/dvb/zapit/include/settings.h.diff
apps/dvb/zapit/lib/zapitclient.cpp.diff
apps/dvb/zapit/src/zapost/video.cpp.diff
apps/dvb/zapit/src/udpstreamps.cpp.diff
apps/tuxbox/libs/liblcddisplay/lcddisplay.cpp.diff
apps/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp.diff
apps/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp.diff
apps/tuxbox/neutrino/src/driver/lcdd.cpp.diff
apps/tuxbox/neutrino/src/driver/rcinput.h.diff
apps/tuxbox/neutrino/src/driver/stream2file.cpp.diff
apps/tuxbox/neutrino/src/driver/vcrcontrol.cpp.diff
apps/tuxbox/neutrino/src/gui/pictureviewer.cpp.diff
apps/tuxbox/neutrino/src/system/setting_helpers.cpp.diff
apps/tuxbox/neutrino/src/system/setting_helpers.h.diff
apps/tuxbox/neutrino/src/system/settings.h.diff
Ich habe ein angepasstes PatchSet für die DM7000 online gestellt : http://www.blau-weissoedingen.de/dreamb ... 03.diff.gz

dbluelle
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

seife hat geschrieben:Das neueste und beste:
http://wiki.spieleck.de/attach/Neutrino ... 17.diff.gz
Hi,

im CVS log habe ich folgende Änderung gesehen:

Code: Alles auswählen

--- a/apps/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp      29 Mar 2007 15:43:32 -0000      1.237
+++ b/apps/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp      17 May 2007 21:14:47 -0000
@@ -5919,7 +5919,9 @@ int eit_set_update_filter(int *fd)
        dsfp.filter.mask[1] = 0xFF;
        dsfp.filter.mask[2] = 0xFF;
        dsfp.filter.mask[3] = (0x1F << 1) | 0x01;
+#if HAVE_DVB_API >= 3
        dsfp.filter.mode[3] = 0x1F << 1;
+#endif
 //     dsfp.filter.mask[4] = 0xFF;
        dsfp.flags = DMX_CHECK_CRC | DMX_IMMEDIATE_START;
        dsfp.pid = 0x12;
Das kann einfach nicht richtig sein. Deshalb habe ich mir mal den umliegenden Code angeschaut und dabei ist mir etwas aufgefallen:

Code: Alles auswählen

	bzero(&dsfp, sizeof(struct dmx_sct_filter_params));
	dsfp.filter.filter[0] = 0x4e;	/* table_id */
	dsfp.filter.filter[1] = (unsigned char)(messaging_current_servicekey >> 8);
	dsfp.filter.filter[2] = (unsigned char)messaging_current_servicekey;
//	dsfp.filter.filter[3] = (messaging_current_version_number << 1) | 0x01;
//	dsfp.filter.filter[4] = messaging_current_section_number;
	dsfp.filter.mask[0] = 0xFF;
	dsfp.filter.mask[1] = 0xFF;
	dsfp.filter.mask[2] = 0xFF;
	dsfp.filter.mask[3] = (0x1F << 1) | 0x01;
#if HAVE_DVB_API >= 3
	dsfp.filter.mode[3] = 0x1F << 1;
#endif
//	dsfp.filter.mask[4] = 0xFF;
Durch den Aufruf von bzero wird u.a. filter[3] auf 0 gesetzt. Da das setzen von filter[3] auf einen sinnvollen Wert abgeschaltet ist, führt mask[3] mit dem Wert 0x3F dazu, dass niemals korrekte Daten empfangen werden können. Das hat zwei Ursachen:

1. Das niedrigste Bit hat folgende Bedeutung:
current_next_indicator: This 1-bit indicator, when set to "1" indicates that the sub_table is the currently applicable
sub_table. When the bit is set to "0", it indicates that the sub_table sent is not yet applicable and shall be the next
sub_table to be valid.
Daraus folgt, dass nur diejenigen Tabellen gültige Werte beinhalten, bei denen dieses Bit auf 1 steht. Der Code filtert jedoch ausschließlich auf 0.

2. Die fünf benachbarten Bits geben die Versionsnummer der Tabelle an:
version_number: This 5-bit field is the version number of the sub_table. The version_number shall be incremented
by 1 when a change in the information carried within the sub_table occurs. When it reaches value 31, it wraps around to
0. When the current_next_indicator is set to "1", then the version_number shall be that of the currently applicable
sub_table. When the current_next_indicator is set to "0", then the version_number shall be that of the next applicable
sub_table.
In der neueren API-Version gibt es das Mode-Feld, das die Bedeutung der Angegeben Bits im Filter umkehrt:

Eine Section / Tabelle wird dann an sectionsd weitergereicht, wenn für alle Bits des Filters gilt:

(filter AND mask) = (data AND mask) XOR mode

Es gibt keine entsprechende Funktion in der alten API.

Der Code für API >= 3 würde hier auf Versionen != 0 filtern, wenn Punkt 1 nicht zutreffen würde. Der Code für API < 3 macht nun das Gegenteil: Er filtert ausschließlich auf Version 0. Jedoch gilt hier ebenfalls Punkt 1.

Grüße
Obi
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

@obi
Ich habe das auch nur von seife übernommen und nicht weiter nachgeprüft.
Wie würde sich dieser Fehler den äussern ?
(Beim EPG ist mir bisher nix aufgefallen :gruebel: )

@mb405
Ups, da fehlte noch ein Patch:

Code: Alles auswählen

Index: cdk/root/etc/init.d/rcS
===================================================================
RCS file: /cvs/tuxbox/cdk/root/etc/init.d/rcS,v
retrieving revision 1.31.2.21
diff -U3 -r1.31.2.21 rcS
--- cdk/root/etc/init.d/rcS	4 Apr 2007 16:47:47 -0000	1.31.2.21
+++ cdk/root/etc/init.d/rcS	3 Jun 2007 15:54:30 -0000
@@ -156,6 +156,66 @@
 	. /var/etc/init
 fi
 
+if [ -e /bin/neutrino ] ; then
+	if [ ! -d /var/etc/network ]; then
+		mkdir /var/etc/network
+	fi
+	ifup -a
+	sectionsd
+	timerd
+	dccamd
+	zapit
+	controld
+	nhttpd
+	until neutrino -f -u ; do
+		echo "Neutrino exited with nonzero exit status, restarting..."
+		pidof sectionsd >/dev/null || sectionsd
+		pidof timerd    >/dev/null || timerd
+		pidof dccamd    >/dev/null || dccamd
+		pidof zapit     >/dev/null || zapit
+		pidof controld  >/dev/null || controld
+		pidof nhttpd    >/dev/null || nhttpd
+	done
+	
+	[ -e /tmp/tuxmaild.pid ] && kill $( cat /tmp/tuxmaild.pid )
+	[ -e /tmp/tuxcald.pid ] && kill $( cat /tmp/tuxcald.pid )
+	[ -e /var/run/automount.pid ] && kill -TERM $( cat /var/run/automount.pid )
+	pzapit -kill
+	
+	i=9
+	while expr $i != 0 > /dev/null
+	do
+		if pidof controld > /dev/null; then echo "Waiting for controld (max. $i seconds)"
+		elif pidof timerd > /dev/null; then echo "Waiting for timerd (max. $i seconds)"
+		elif pidof zapit > /dev/null; then echo "Waiting for zapit (max. $i seconds)"
+		elif pidof tuxmaild > /dev/null; then echo "Waiting for tuxmaild (max. $i seconds)"
+		elif pidof tuxcald > /dev/null; then echo "Waiting for tuxcald (max. $i seconds)"
+		else break;
+		fi
+		i=`expr $i - 1`
+		sleep 1
+	done
+	
+	if [ -e /tmp/.nohalt ] ; then
+		killall -q sectionsd
+		killall -q timerd
+		killall -9 dccamd
+		killall -q zapit
+		killall -q controld
+		killall -q nhttpd
+		saa --fbas
+		switch -fnc 0 -fblk 0
+		echo "Neutrino and its daemons terminated (hopefully)"
+		exit
+	fi
+	
+	if [ -e /tmp/.reboot ] ; then
+		reboot
+	else
+		halt
+	fi
+	exit 0
+fi
 rm /var/etc/.dont_restart_enigma
 touch /tmp/.enigma
 while [ -e /tmp/.enigma ]
Im PatchSet von heute nachmittag ist das jetzt auch mit drin.

dbluelle
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

@dbluelle:

Auf der dbox2:
Neue EPG-Daten kommen entweder bevor sie gültig sind oder nie.

Auf der Dreambox:
Neue EPG-Daten kommen nur dann, wenn ganz zufällig deren Versionsnummer 0 ist (nicht 1 bis 31) oder nie.

Das heißt nicht, dass anfangs keine kommen, sondern dass sie nie aktualisiert werden. Das ganze davon ausgehend, dass die Funktion tatsächlich benutzt wird.
BoxMan
Interessierter
Interessierter
Beiträge: 61
Registriert: Mittwoch 1. Mai 2002, 19:09

Beitrag von BoxMan »

@dbluelle

erst einmal Danke für das einschecken.

Jetzt aber noch einmal die Frage, welches Skript muss man nehmen, damit Dein Patch geht?

Ich bekomme immer wieder Hunks:
patching file apps/tuxbox/neutrino/src/neutrino.cpp
Hunk #2 succeeded at 617 (offset 1 line).
Hunk #3 succeeded at 790 (offset 2 lines).
Hunk #4 succeeded at 1303 (offset 4 lines).
Hunk #5 succeeded at 1332 (offset 4 lines).
Hunk #6 succeeded at 1722 (offset 4 lines).
Hunk #7 succeeded at 1744 (offset 4 lines).
Hunk #8 succeeded at 2052 (offset 4 lines).
Hunk #9 succeeded at 2086 (offset 4 lines).
Hunk #10 succeeded at 2110 (offset 4 lines).
Hunk #11 succeeded at 2121 (offset 4 lines).
Hunk #12 succeeded at 2283 (offset 6 lines).
Hunk #13 succeeded at 2301 (offset 6 lines).
Hunk #14 succeeded at 2320 (offset 6 lines).
Hunk #15 succeeded at 2373 (offset 6 lines).
Hunk #16 succeeded at 2381 (offset 6 lines).
Hunk #17 succeeded at 2417 (offset 6 lines).
Hunk #18 succeeded at 2427 (offset 6 lines).
Hunk #19 succeeded at 3060 (offset 8 lines).
Hunk #20 succeeded at 4005 (offset 9 lines).
Hunk #21 succeeded at 4014 (offset 9 lines).
Hunk #22 succeeded at 4143 (offset 9 lines).
Hunk #23 succeeded at 4301 (offset 9 lines).
Hunk #24 succeeded at 4310 (offset 9 lines).
Hunk #25 succeeded at 5163 (offset 9 lines).
Hunk #26 succeeded at 5233 (offset 9 lines).
Hunk #27 succeeded at 5241 (offset 9 lines).
Hunk #28 succeeded at 5253 (offset 9 lines).
Hunk #29 succeeded at 5274 (offset 9 lines).
Hunk #30 succeeded at 5288 (offset 9 lines).
Hunk #31 succeeded at 5337 (offset 9 lines).
Hunk #32 succeeded at 5476 (offset 9 lines).
patching file apps/tuxbox/neutrino/src/neutrino.h
patching file apps/tuxbox/neutrino/src/driver/BitrateCalculator.cpp
patching file apps/tuxbox/neutrino/src/driver/BitrateCalculator.h
patching file apps/tuxbox/neutrino/src/driver/framebuffer.cpp
patching file apps/tuxbox/neutrino/src/driver/framebuffer.h
patching file apps/tuxbox/neutrino/src/driver/audiodec/basedec.cpp
patching file apps/tuxbox/neutrino/src/driver/audiodec/oggdec.cpp
patching file apps/tuxbox/neutrino/src/driver/audiodec/oggdec.h
patching file apps/tuxbox/neutrino/src/gui/Makefile.am
patching file apps/tuxbox/neutrino/src/gui/alphasetup.h
patching file apps/tuxbox/neutrino/src/gui/audioplayer.cpp
patching file apps/tuxbox/neutrino/src/gui/movieplayer.cpp
Hunk #4 succeeded at 1054 (offset 6 lines).
Hunk #5 succeeded at 1232 (offset 6 lines).
Hunk #6 succeeded at 1964 (offset 6 lines).
Hunk #7 succeeded at 2115 (offset 6 lines).
Hunk #8 succeeded at 2123 (offset 6 lines).
Hunk #9 succeeded at 2173 (offset 6 lines).
Hunk #10 succeeded at 4319 (offset 19 lines).
Hunk #11 succeeded at 4364 (offset 19 lines).
patching file apps/tuxbox/neutrino/src/gui/movieplayer.h
patching file apps/tuxbox/neutrino/src/gui/pictureviewer.cpp
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file apps/tuxbox/neutrino/src/gui/streaminfo2.cpp
patching file apps/tuxbox/neutrino/src/gui/streaminfo2.h
patching file apps/tuxbox/neutrino/src/gui/update.cpp
patching file apps/tuxbox/neutrino/src/gui/widget/menue.cpp
patching file apps/tuxbox/neutrino/src/system/settings.cpp
patching file apps/tuxbox/tools/misc/Makefile.am
patching file cdk/Patches/busybox.config
patching file cdk/Patches/busybox.diff
patching file driver/include/dbox/fb.h
patching file driver/include/ost/frontend.h
patching file cdk/Makefile.am
patching file cdk/rules-archive
patching file cdk/rules-make
patching file cdk/rules-install
Und dann bleibt es bei
make[5]: Betrete Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino/src/gui'
if powerpc-tuxbox-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../daemons -I../../src -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include/tuxbox -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include/freetype2 -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include/tuxbox -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include/tuxbox -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include/tuxbox/mpegtools -I/home/dreamer/images/dm7000_neutrino/root/cdkroot/include -I/home/dreamer/images/dm7000_neutrino/driver/include -I../../lib -I/home/dreamer/images/dm7000_neutrino/driver/include -I/home/dreamer/images/dm7000_neutrino/driver/include -Wall -mcpu=405 -msoft-float -mmultiple -mstring -meabi -pipe -Os -ggdb3 -DHAVE_DREAMBOX_HARDWARE -MT pictureviewer.o -MD -MP -MF ".deps/pictureviewer.Tpo" -c -o pictureviewer.o pictureviewer.cpp; \
then mv -f ".deps/pictureviewer.Tpo" ".deps/pictureviewer.Po"; else rm -f ".deps/pictureviewer.Tpo"; exit 1; fi
pictureviewer.cpp: In member function `void CPictureViewerGui::view(unsigned int, bool)':
pictureviewer.cpp:675: error: 'class CFrameBuffer' has no member named 'setTransparency'
pictureviewer.cpp: In member function `void CPictureViewerGui::endView()':
pictureviewer.cpp:698: error: 'class CFrameBuffer' has no member named 'setBlendLevel'
make[5]: *** [pictureviewer.o] Fehler 1
make[5]: Verlasse Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino/src/gui'
make[4]: *** [all-recursive] Fehler 1
make[4]: Verlasse Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino/src/gui'
make[3]: *** [all-recursive] Fehler 1
make[3]: Verlasse Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino/src'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino'
make[1]: *** [all] Fehler 2
make[1]: Verlasse Verzeichnis '/home/dreamer/images/dm7000_neutrino/apps/tuxbox/neutrino'
make: *** [.neutrino] Fehler 2
stehen, wenn ich die Hunks ignoriere.
BoxMan
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

das letzte diff von dbluelle hat wohl einen fehler beim pictureviewer.
kannste manuell die paar änderungen machen. is ja nich viel.
ich bastel grad an einen script, was das ganze automatisiert.
BoxMan
Interessierter
Interessierter
Beiträge: 61
Registriert: Mittwoch 1. Mai 2002, 19:09

Beitrag von BoxMan »

und vorher beim patchen die ganzen Hunks ignorieren?
Sieht ja nicht gerade schön aus. :)
BoxMan
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

BoxMan hat geschrieben:und vorher beim patchen die ganzen Hunks ignorieren?
Sieht ja nicht gerade schön aus. :)
soilang kein hunk failed kommt macht es eigendlich nichts :)

Boxman nochmal im Dbox-Board, krass ;)

Gruß Riker