Forum: Mikrocontroller und Digitale Elektronik Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH


von Joel T. (tuxx42)


Lesenswert?

@Laszlo,

im bootlog von Elecard sehe ich dass der kenrel die vollen 256mb ram 
erkennt:
1
MapPNX8550Mmio: Ramsize = 256 MB<\r><\n>

in meinem 3.1er linux kernel sehe ich jedoch lediglich:
1
MemTotal:         125172 kB

also 128mb.

kannst du dir vorstellen, warum der kernel nur die hälfte des rams 
erkennt? ich denke die ram initalisierung wird vom preloader 
vorgenommen. Soweit ich weiss erwartet u-boot vollständig initalisiertes 
ram. Bist du im U-boot evtl über irgendwelche ram einstellnugen 
gestoßen?

gruß,
tuxx

von Joel T. (tuxx42)


Lesenswert?

das ist auch einfach nicht normal:
1
pollinux etc # python2.7
2
Segmentation fault
3
pollinux etc # python2.7
4
Segmentation fault
5
pollinux etc # python2.7
6
Segmentation fault
7
pollinux etc # python2.7
8
Python 2.7.2+ (default, Aug 16 2011, 11:27:21) 
9
[GCC 4.6.1] on linux2
10
Type "help", "copyright", "credits" or "license" for more information.
11
>>>

von Laszlo H. (laszlo_h)


Lesenswert?

Joel T. schrieb:
> kannst du dir vorstellen, warum der kernel nur die hälfte des rams
> erkennt? ich denke die ram initalisierung wird vom preloader
> vorgenommen. Soweit ich weiss erwartet u-boot vollständig initalisiertes
> ram. Bist du im U-boot evtl über irgendwelche ram einstellnugen
> gestoßen?

Das ist normal, tut der 2.6-er auch (free meldet nur 128 MB). Der 
Board-Init von dem STB810 in Linux überschreibt die erkannte RAM Größe 
von 256MB mit 128, da die beiden Trimedias die oberen 128 Verwenden (und 
ich kein Plan habe, wie ich denen sagen kann dass sie gefälligst nicht 
in dem RAM reinpfuschen sollen). Die Einstellung wird unter 
arch/mips/pnx8550/stb810/prom_init.c getroffen. Versuchweise könntest du 
den RAM weiter beschränken, auf zB 32 MB oder 64 MB das sollte 
eigentlich ausreichen um zu schauen, ob die Segfaults noch auftreten.

U-Boot verwendet ebenfalls nur 128 MB RAM, wenn ich das erhöht habe, hat 
es zu sehr "interessanten" zufälligen Abstürzen geführt.
gruß
Laszlo

von Joel T. (tuxx42)


Lesenswert?

Hey,

an der RAM größe hat es wohl leider nicht gelegen.

Gruß, tuxx
1
pollinux ~ # python2.7 
2
Segmentation fault
3
pollinux ~ # python2.7 
4
Segmentation fault
5
pollinux ~ # cat /proc/meminfo |grep -i memtotal
6
MemTotal:          60196 kB
7
pollinux ~ #

von Joel T. (tuxx42)


Lesenswert?

Hey,

an der RAM größe hat es wohl leider nicht gelegen.

Gruß, tuxx
1
pollinux ~ # python2.7 
2
Segmentation fault
3
pollinux ~ # python2.7 
4
Segmentation fault
5
pollinux ~ # cat /proc/meminfo |grep -i memtotal
6
MemTotal:          60196 kB
7
pollinux ~ #

von Laszlo H. (laszlo_h)


Lesenswert?

Schade. Kannst du die Ausgabe von "file" und 2readelf -h" für das 
Programm posten? Vielleicht fällt mir oder jemand anderem etwas auf.

Bis dahin habe auch ich mal eine Herausforderung an alle mitlesenden. 
Und zwar stürzt bei mir U-Boot seit gestern Abend regelmäßig mit 
folgendem output beim Booten ab:
1
DRAM:  128 MiB
2
Top of RAM usable for U-Boot at: 88000000
3
Reserving 254k for U-Boot at: 87fc0000
4
Reserving 1028k for malloc() at: 87ebf000
5
Reserving 36 Bytes for Board Info at: 87ebefdc
6
Reserving 68 Bytes for Global Data at: 87ebef98
7
Reserving 128k for boot params() at: 87e9ef98
8
Stack Pointer at: 87e9ef78
9
Now running in RAM - U-Boot at: 87fc0000
10
NAND:  NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 64MiB 3,3V 8-bit)
11
64 MiB
12
Scanning device for bad blocks
13
Bad eraseblock 1226 at 0x000001328000
14
Bad eraseblock 2541 at 0x0000027b4000
15
Bad eraseblock 2542 at 0x0000027b8000
16
Bad eraseblock 3274 at 0x000003328000
17
Bad eraseblock 3276 at 0x000003330000
18
*** Warning - bad CRC, using default environment
19
20
Destroy Hash Table: 87ffd328 table = (null)
21
Create Hash Table: N=153
22
INSERT: table 87ffd328, filled 1/157 rv 87ec09b4 ==> name="bootargs" value="console=ttyS0 stb810_display=pal nomainapp=1 "
23
INSERT: table 87ffd328, filled 2/157 rv 87ec08b8 ==> name="bootcmd" value="run nfsboot"
24
INSERT: table 87ffd328, filled 3/157 rv 87ec0bd0 ==> name="baudrate" value="38400"
25
INSERT: table 87ffd328, filled 4/157 rv 87ec07c8 ==> name="ethaddr" value="00:00:00:00:00:00"
26
INSERT: table 87ffd328, filled 5/157 rv 87ec0ad4 ==> name="ipaddr" value="192.168.123.15"
27
INSERT: table 87ffd328, filled 6/157 rv 87ec0594 ==> name="serverip" value="192.168.123.16"
28
INSERT: table 87ffd328, filled 7/157 rv 87ec0a74 ==> name="preboot" value="echo;echo Welcome to pollinux board v1.1;echo"
29
INSERT: table 87ffd328, filled 8/157 rv 87ec0bf4 ==> name="netmask" value="255.255.255.0"
30
INSERT: table 87ffd328, filled 9/157 rv 87ec05d0 ==> name="hostname" value="pollinux"
31
dlmalloc.c:1685: do_check_free_chunk: Assertion `next->prev_size == sz' failed.
32
************* Machine restart *************

Google konnte leider zu dem assert nix sagen und auch in der U-Boot 
mailing list wird der Fehler nicht gehandelt. Ehrlich gesagt bin ich 
sprachlos, so etwas ist mir bis heute noch nicht untergekommen.

Für Ideen und Anregungen um dem Fehler auf die Schliche zu kommen, bzw. 
um es zu beseitigen bin ich zu haben.
gruß
Laszlo

edit
Bug gefunden und behoben. Hatte bei der Protierung des NAND Treibers auf 
den verfluchten pnx8550_mtd, der bei u-boot weggehört, vergessen. 
Scheint jetzt so zu laufen wie ich es will ^_^

von ingmar_k (Gast)


Lesenswert?

Kann das mit den Segmentation faults leider auch bestätigen. Habe mir 
inzwischen ein funktionierendes U-Boot samt Environment Settings für 
TFTP/NFS-, sowie SATA-Boot gebaut. Dazu ein selbsgebautes Emdebian 
Rootfs # 2.6.21.3er Kernel aus dem Buildroot-Package. Bei dem Versuch 
über apt-get was zu installieren, bekomme ich genau die gleichen 
Segfaults wie beschrieben. :-(
Da ist wohl wirklich noch ein RAM Problem vorhanden. Je nach Zeit werde 
ich die nächsten Tage mal eigene Kernel bauen. Und heute werde ich aus 
Neugier wohl noch ein wenig Laszlos NAND-Implementierung testen. Find's 
echt super, dass daran soviel getan wird. Ich selber bin leider noch 
nicht soweit das selbst zu machen.

von Markus W. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich verfolge Eure Aktiviteäten in diesem Forum schon seit einigen Tagen
und würde gerne wissen, ob jemand von Euch mit dem DVI Interface schon
erfolgreich war.
Hat jemand bereits einen TDA9983/4 eingelötet und die fehlenden 
Komponenten ergänzt?

Falls ja würde mich interesieren welche Teile eingesetzt wurden 
(L,C,R,D,T).

Siehe Bild.

Falls es noch keiner versucht hat, werde ich den TDA9984 einlöten und 
versuchen ob ich ein Referenz-Design zum TDA9984 im Web finde, in der
Hoffnung die restlichen fehlenden Teile zu identifizieren.

Gruß
Markus

von Artem M. (artem)


Lesenswert?

Hi,

Joel T. schrieb:
> Hey,
>
> an der RAM größe hat es wohl leider nicht gelegen.
>
> Gruß, tuxx
>
>
1
> pollinux ~ # python2.7
2
> Segmentation fault
3
> pollinux ~ # python2.7
4
> Segmentation fault
5
> pollinux ~ # cat /proc/meminfo |grep -i memtotal
6
> MemTotal:          60196 kB
7
> pollinux ~ #
8
>

Kann man den RAM auch im unteren Bereich einschränken?
Eventuell muss der im unteren Bereicht auch für etwas reserviert 
bleiben...

von ingmar_k (Gast)


Lesenswert?

Ich weiß nicht ob das hier auch funktioniert, aber kann man dem Kernel 
nicht mit der Commandline-Option "mem=" anweisen welche Speicherbereiche 
ihm zugeordnet werden?

Also z.B. "mem=64M@0x80000000" bzw, wenn man mehrere Bereiche hat, dann 
eben z.B. "mem=64M@0x80000000 mem=32M@0x9F900000".

Eine Memory-Map für die Plattform werden wir ja leider nicht bekommen, 
fürchte ich.

von B. G. (smarti)


Lesenswert?

Markus W. schrieb:
> Hallo Leute,
>
> ich verfolge Eure Aktiviteäten in diesem Forum schon seit einigen Tagen
> und würde gerne wissen, ob jemand von Euch mit dem DVI Interface schon
> erfolgreich war.
> Hat jemand bereits einen TDA9983/4 eingelötet und die fehlenden
> Komponenten ergänzt?
>
> Falls ja würde mich interesieren welche Teile eingesetzt wurden
> (L,C,R,D,T).
>
> Siehe Bild.
>
> Falls es noch keiner versucht hat, werde ich den TDA9984 einlöten und
> versuchen ob ich ein Referenz-Design zum TDA9984 im Web finde, in der
> Hoffnung die restlichen fehlenden Teile zu identifizieren.
>
> Gruß
> Markus

Hallo Markus,

ja es sind einige gerade daran die Schnittstelle in Betrieb zu nehmen.

Beitrag "TDA9984B/ externe Beschaltung"

Und wenn die Post nicht einen Brief an mich auf den ersten Versuch 
zugestellt hätte. Hätte ich mich am Wochenende damit befassen können...

Gruß
Smarti

von Joel T. (tuxx42)


Lesenswert?

ingmar_k,

danke für die tips, werde mal anschauen ob sich sowas per kernel cmd 
line machen lässst.

Ich habe auf dem debian system auch "memtester" installiert.... bisher 
konnte ich aber mit keinem memory test irgendwelche Fehler provozieren.

@Smarti & Markus:
an hdmi wäre ich auch sehr interessiert. Wär super wenn ihr eure 
gewonnenen Erkenntnise in einem Beitrag oder noch besser:im Wiki 
zusammenfassen könntet.

Gruß,
tuxx

von B. G. (smarti)


Lesenswert?

@tuxx
sobald es brauchbare Ergebnisse gibt, werde ich das Wiki ergänzen. 
Momentan warte ich auf den TDA9984.

Eine Frage, wie sieht die Unterstützung von I2C im momentanen Linux 
kernel aus? Für eine sinnvolle Verwendung des TDA muss dieser per I2C 
initialisiert werden... wenn das direkt aus dem OS passieren kann wäre 
das super.

Generell, wenn jemand zum TDA ein umfangreiches Datenblatt hat. Bitte 
zur Verfügungstellen. Gerne auch als PM, da bei NXP als Confidential 
gekenzeichnet :(

 http://www.nxp.com/products/interface_and_connectivity/hdmi/hdmi_transmitters/TDA9984BHW.html

Kennt jemand eine Set-Top Box, DVD-Player etc. in dem der TDA verbaut 
ist?

Gruß,
Smarti

von krisli (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal das Datenblatt zum TDA9983

von Joel T. (tuxx42)


Lesenswert?

@Smarti,

in den roku modules gibt es zwei open source i2c treiber:

i2c-algo-IP3203.ko und i2c-algo-IP0105.ko

ich werde mal schauen ob ich diese auf den 3.1er portiert kriege... bis 
dahin musst du wohl einen älteren/gepatchten Kernel verwenden.

Gruß,
tuxx

von Joel T. (tuxx42)


Lesenswert?

hey,

könnte mir jemand mal den gefallen tun und versuchen ein projekt auf 
elecard zu kompilieren. Mich würde interessieren ob die unerwarteten 
Segfaults auch auf dem Elecard kernel auftreten.

Gruß,
tuxx

von Chris W. (call7)


Lesenswert?

Hallo Tuxx,

ich habe das elecard image grade am laufen auf der Box, scheiter aber am 
DVB-C treiber. Wenn eine Entwicklungsumgebung im image dabei ist kann 
ich das heute oder morgen mal testen. Hättest du beispielcode, den man 
übersetzen kann ? Evtl. umfangreicher, damit die warscheinlichkeit für 
einen Fehler größer ist.

Gruß Chris

von Andreas N. (andreas_n)


Lesenswert?

Moin,

hab hier ein vollbestücktes Bord mit HDMI usw. Das Original Image 
unterstützt den Chip nicht, aber man sieht das sich was tut und der Chip 
arbeitet.
Hab in Ermagelung einen NFS, versucht das Elecard Image via USB zu 
booten. Das ist leider fehlgeschlagen, siehe oben.

Wenn ich wieder Zeit habe, werd ich das ganz nochmal in der NFS-Variante 
probieren und auch die Bestückung dokumentieren.

Wichtig ist die Bestückung von Q25 mit einen LM317 o. LM117, da kommen 
nämlich die 1,8V für den Chip her.

Alles andere ist in dem von Smarti genannten Thread schon gut 
beschrieben.

greetz Andreas

von Joel T. (tuxx42)


Lesenswert?

@Lazslo,

lass bitte wissen wenn du den NAND treiber für u-boot fertig portiert 
hast. Würde mich sehr dafür interessieren.

Pushst du deine Änderungen eigentlich ins git?

gruß,
tuxx

von Joel T. (tuxx42)


Lesenswert?

@laszlo,

du meintest neulich dvb-t müsste out of the box funktionieren? bisher 
hatte ich noch keinen erfolg. Kenn mich aber auch nicht mit dvb unter 
linux aus.

bisher hab ich den kernel mit support für Philips TDA10045H gebaut und 
die module geladen dabei kamen keine detection messages. Auch finde ich 
keine dvb devices in /dev (udev läuft).

Hast du ne Ahnung über welchen bus die dvb karten angeschlossen sind?

gruß,
tuxx

von Artem M. (artem)


Lesenswert?

Hi,

Joel T. schrieb:
> hey,
>
> könnte mir jemand mal den gefallen tun und versuchen ein projekt auf
> elecard zu kompilieren. Mich würde interessieren ob die unerwarteten
> Segfaults auch auf dem Elecard kernel auftreten.

Meinst du auf der originalen Elecard Box, oder auf unserer Box mit dem 
Elecard image?

von Joel T. (tuxx42)


Lesenswert?

@Artem M:

ich meinte mit dem elecard image auf unserer box. Ich würde gern sehen 
ob gcc mit einem "professionell" gepatchten image auch segfaultet.

ich hab mir vorgenommen die kernel patches im elecard system mal genauer 
anzuschauen

vielleicht findet sich da ja was was zu nem fix führen würde.

gruß,
tuxx

von Artem M. (artem)


Lesenswert?

Hi,

Joel T. schrieb:
> @Artem M:
>
> ich meinte mit dem elecard image auf unserer box. Ich würde gern sehen
> ob gcc mit einem "professionell" gepatchten image auch segfaultet.
>
> ich hab mir vorgenommen die kernel patches im elecard system mal genauer
> anzuschauen
>
> vielleicht findet sich da ja was was zu nem fix führen würde.

Also ich hatte mit dem Elecard-Kernel und Debian Probleme beim 
kompilieren. Apt-get lief jedoch problemlos. Beim elecard image ans sich 
fehlt der gcc. Somit kann man hier nichts kompilieren.

von Laszlo H. (laszlo_h)


Lesenswert?

Joel T. schrieb:
> lass bitte wissen wenn du den NAND treiber für u-boot fertig portiert
> hast. Würde mich sehr dafür interessieren.

Ist seit gestern drinnen. Funktioniert bei mir auch recht annehmbar, 
einziges Manko ist die längere Bootzeit. Vorteil halt, dass die 
Environment nun im Flash liegt und modifiziert werden kann. Nebenbei 
kann ich auch ein Linux + 50 MB rootfs dort einlagern, als ein fallback 
System.

> Pushst du deine Änderungen eigentlich ins git?

jau, zurzeit arbeite ich im u-boot-2011.09 tree. Da ist auch der NAND 
Treiber eingecheckt.

> du meintest neulich dvb-t müsste out of the box funktionieren? bisher
> hatte ich noch keinen erfolg. Kenn mich aber auch nicht mit dvb unter
> linux aus.
>
> bisher hab ich den kernel mit support für Philips TDA10045H gebaut und
> die module geladen dabei kamen keine detection messages. Auch finde ich
> keine dvb devices in /dev (udev läuft).

Hast du die Firmware in /lib/firmware installiert? Du kannst entweder 
der Anleitung aus [1] folgen, oder aber die Firmware aus dem pollinux 
Paket nehmen. Ich habe das neue Linux noch nicht gestartet, kann also 
nicht 100% sagen ob es laufen wird. Werde wahrscheinlich heute Abend / 
morgen dazu kommen mal Debian zu starten.

Jetzt steht erstmal an zu schauen, ob ich u-boot aus u-boot flashen (und 
nachher starten) kann. Wenn ja, könnten wir uns das WinCE auf der Box 
sparen (wobei ich es doch drauf lassen würde, sicher ist sicher.
gruß
Laszlo

[1] http://linuxtv.org/wiki/index.php/NXP_TDA1004x#TDA10046

von Joel T. (tuxx42)


Lesenswert?

laszlo,

dann lad ich dir morgen gleich mal meine aktuellste debian version 
hoch.. das läuft nämlich echt sehr gut wie ich finde (abgesehen von den 
segfaults in gcc, gdb, python und dpkg)

ansonsten läuft hostapd noch und funktioniert bei mir wunderbar, nur 
dass die maximale bandbreite auf 700kb/s gedrosselt ist. Die cpu ist 
jedenfalls nicht der bottleneck... sind gerade zu viele baustellen um da 
weiter nachzuhaken.

gruß,
tuxx

von Joel T. (tuxx42)


Lesenswert?

hey,

also ein Kurzer Blick in dem tda1004x treiber hat ergeben:

- ohne i2c treiber geht garnichts.

gruß,
tuxx

von ingmar_k (Gast)


Lesenswert?

Also entweder es ist mal wieder ein Bug in meiner Ubuntu 10.04 VM, die 
ich samt ELDK 4.1 nutze um zu kompilieren, oder ich bin zu dumm. :-(
Die ältere U-Boot Version kann ich problemlos verändern und so oft 
kompilieren wie ich will.
Bei der neuesten Version aus dem Git habe ich aber nur Probleme. ständig 
irgendwelche ".depend" hier bzw. "_depend" da Fehler. Sieht auf den 
ersten Blick so aus, als würde eine/mehrere Variable(n) nicht korrekt 
aufgelöst.

Bin aber erstens nicht der Könner in Sachen debuggen und ausserdem habe 
ich heute keine Zeit mehr. Aber da die alte Version (von vor ein Paar 
Tagen) noch immer geht, liegt's wohl doch am neuen Code!?!? Oder geht's 
bei euch problemlos? Dann müsste ich nach Ubuntu Bugs suchen.

von Laszlo H. (laszlo_h)


Lesenswert?

Joel T. schrieb:
> also ein Kurzer Blick in dem tda1004x treiber hat ergeben:
>
> - ohne i2c treiber geht garnichts.

Okay, shit, dass DVB-T I2C bracht hab ich total verpennt. Klar, dass es 
dann net geht...

ingmar_k schrieb:
> Also entweder es ist mal wieder ein Bug in meiner Ubuntu 10.04 VM, die
> ich samt ELDK 4.1 nutze um zu kompilieren, oder ich bin zu dumm. :-(
> Die ältere U-Boot Version kann ich problemlos verändern und so oft
> kompilieren wie ich will.
> Bei der neuesten Version aus dem Git habe ich aber nur Probleme. ständig
> irgendwelche ".depend" hier bzw. "_depend" da Fehler. Sieht auf den
> ersten Blick so aus, als würde eine/mehrere Variable(n) nicht korrekt
> aufgelöst.
>
> Bin aber erstens nicht der Könner in Sachen debuggen und ausserdem habe
> ich heute keine Zeit mehr. Aber da die alte Version (von vor ein Paar
> Tagen) noch immer geht, liegt's wohl doch am neuen Code!?!? Oder geht's
> bei euch problemlos? Dann müsste ich nach Ubuntu Bugs suchen.

Bei mir geht es (auch wenn ich zurzeit nicht ELDK nutze). Schau ich mir 
gleich an, kann sehr gut sein, dass ich vergessen habe etwas 
einzuchecken.
gruß
Laszlo

edit
Okay, hab wirklich vergessen eine Datei einzuchecken, ist nun mit commit 
ad803fd... drinnen. Aber schön zu wissen, dass seit gestern sich nur 
einer die Mühe gemacht hat, die Rep auszuchecken und zu testen ;).

von ingmar_k (Gast)


Lesenswert?

TOP! Danke dir. Neuer Test folgt heute Abend.
Hatte übrigens schon einen Tag zuvor mit gleichem Ergebnis getestet, 
wollte aber noch eigene Fehler ausschließen. ;-)

von ingmar_k (Gast)


Lesenswert?

@Laszlo:
So, grade neu aus dem Git gezogen. Kompilieren ging jetzt wunderbar. Nur 
beim Start hatte ich dann lauter fehler folgender Form:

"nand_read_bbt: Bad block at 0x000001abc000"

Ich schau mir grade nochmal die pollinux.h durch. Bei dir scheint's ja 
zu gehen.

von Laszlo H. (laszlo_h)


Lesenswert?

ingmar_k schrieb:
> @Laszlo:
> So, grade neu aus dem Git gezogen. Kompilieren ging jetzt wunderbar. Nur
> beim Start hatte ich dann lauter fehler folgender Form:
>
> "nand_read_bbt: Bad block at 0x000001abc000"
>
> Ich schau mir grade nochmal die pollinux.h durch. Bei dir scheint's ja
> zu gehen.

Ähm, ja... Bei mir geht es, da ich ein Bad Block Table im Flash 
hinterlegt habe. Da ich ein absolutes BBT verwende, muss dieser beim 
Start von U-Boot existieren, ansonsten erkennt er alle Sektoren als 
fehlerhaft (Patch hierfür ist in Arbeit).

Für's erste kommentier #define CONFIG_NAND_BBT aus, danach wird ein 
Memory Base BBT verwendet (und der gesamte Flash beim Starten 
durchgescannt).
gruß
Laszlo

von ingmar_k (Gast)


Lesenswert?

Läuft. Musste nur grade beim Kompilieren darauf achten nicht über die 
240kB für den Flasher zu kommen. Hatte mich nämlich kurz gewundert 
warum's nicht ging, bis ich geschnallt habe, dass die File schon 272kB 
hatte, die flashme aber nur 240kB schreibt. :-) Werde gleich ein 
bisschen weitertesten. Danke soweit! Wenn ich jetzt noch alle meine 
selbstgebauten Kernel ans Laufen bekomme, bin ich für heute happy.

von Laszlo H. (laszlo_h)


Lesenswert?

So git ist aktualisiert. Nun erkennt U-Boot, wenn NAND based BBT's 
verwendet werden, ob die Bad Block Table initialisiert ist oder nicht. 
Ist sie es nicht, so wird die Tabelle erstellt. Die Tabelle liegt an der 
Adresse 0x8c000 und 0x90000. Durch die Verwendung einer Bad Block 
Tabelle wird der Scan des gesamten Flashes nach fehelerhaften Blöcken 
vermieden.

Um sicherzugehen, dass die Erkennung zu 100% funktioniert, bitte die 
beiden Erase-Blöcke vor dem Flashen mittels den folgenden Befehlen aus 
U-Boot löschen:
1
mtdparts default
2
nand erase.part bbt

Normalerweise liegen die BBT am Ende des Flashbausteines, nur bei uns 
nicht. Der Grund ist einfach und schnell erklärt, dort liegt der 
Info-Block des microBTM. Die beiden vertragen sich nicht wirklich, bzw. 
hab ich nicht genug Platinen zum Schrotten, wenn der microBTM doch nicht 
mit einer fehlenden Info-Block umgehen kann.

Die Platzierung ist nicht wirklich endgültig, ich schwanke zwischen dem 
aktuellen Platz und dem Filler zwischen dem ROM-FS und WinCE. Meinungen 
höre ich gerne.

Zusätzlich habe ich die mtd Partitionen so angepasst:
1
  16k microBTM read-only
2
 512k U-Boot
3
  32k Env
4
  32k bbt
5
   5M Linux
6
  54M ROM-FS
7
 432k filler  read-only
8
4080k WinCE   read-only
9
  16k Info    read-only (scheinbar auch vom Flash gelockt)

Der filler wird gebraucht, damit die WinCE Partition wirklich bei 
0x3C00000 beginnt. Grundsätzlich könnte man auch den gesamten oberen 
Bereich in eine Partition packen, aber so finde ich es übersichtlicher.

U-Boot kann das Flash problemlos beschreiben, ich habe schon des Öfteren 
den Bootloader aktualisiert. Worauf zu achten ist, dass immer ein mit 
mkpollinux erstelltes Image geflasht wird, ansonsten findet microBTM den 
Header nicht und zuckt aus. Aber dafür haben wir ja WinCE ;).

Von meiner Seite aus ist U-Boot vollständig, er kann alles, was ich mir 
vorgenommen habe, sowohl die must-have als auch einige der nice-to-have 
(wozu zum Beispiel der Flash zugriff zählt). Folgende Punkte werde ich 
nicht mehr in Angriff nehmen, wenn jemand Zeit und Muße hat, kann er sie 
ja aus dem alten System portieren:
 -) I2C Treiber für U-Boot
 -) USB

Ich werde mich heute Abend mal an das Wiki dransetzten udn schauen was 
ich so alles zusammenschreibe. Blöd nur, dass das mein erstes 
Zusammentreffen mit der Wiki-Syntax sein wird, erwartet also keinen 
schillernden Eintrag. Mal sehen, wie weit ich komme.

@tuxx:
Soll ich die 2011.09 Branch in den master mergen, oder willst du die 
1.16-er Version erhalten? Wenn ma das machen wollen, ist es keine 
Arbeit, ca. 2 Befehle.
gruß
Laszlo

von Joel T. (tuxx42)


Lesenswert?

@Laszlo,

klar merge rein.. im uboot pfusch ich eh nicht rum zur zeit. habe heute 
einen grossteil des i2c treibers auf 3.1 portiert.. damit müsste dann 
bald dvb-t zum laufen zu kriegen sein.

werde wohl morgen (30.11.) beschäftigt sein und kaum dazu kommen da 
weiter zu arbeiten. Jedenfalls ist der treiber im branch i2c-ip0105 
branch des 3.1er kernels.

Leider habe ich entdeckt, dass für einen der beiden i2c Adapter bereits 
ein Treiber existiert. Leider ist das auch der an dem ich gearbeitet 
habe.

Ich habe aber trotzdem viel dabei gelernt und das wird mir helfen den 
zweiten treiber schneller fit zu kriegen.

Gruß,
tuxx

von Thorsten K. (Gast)


Lesenswert?

moin,

ich bräuchte mal die Hilfe der Linuxer.

Hab heute die Box geflasht für elecard boot vom USB-Stick. Lief alles
gut soweit, die Box bootet auch findet den Stick, aber nach dem "switch
root" passiert nichts mehr auf der Console.

Waiting 5 seconds for device "/dev/sda1" to become ready... scsi 
0:0:0:0: Direct-Access     Multiple Card  Reader     1.00 PQ: 0 ANSI: 0
done
Creating device nodes...mknod: mem: File exists
mknod: zero: File exists
mknod: random: File exists
mknod: urandom: File exists
mknod: tty: File exists
mknod: ttyS0: File exists
mknod: ttyS1: File exists
mknod: ram0: File exists
done
Setup mdev as hotplug handler... done
SCSI device sda: 3970048 512-byte hdwr sectors (2033 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 3970048 512-byte hdwr sectors (2033 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Switch root

Die Fehlerprüfung mit e2fsck hab ich schon durchgeführt, hat aber nur
dazu geführt das die Warnung aus blieb. Beim nächsten Bootvorgang war
sie wieder da.

Ich hab auch schon einen anderen Stick benutzt selbes Ergebnis...

Ich bin leider nicht besonders firm in Linux, aber vielleicht könnt ihr
mir ein bischen den Weg erleuchten ;)

von gabe (Gast)


Lesenswert?

Hallo,
Mein Deutsch ist nicht zu gut, Ich wird ins Englisch sprechen.
I've bought this twin dvb-c tuner board, case, remote & power 
supply(DELTA EADP-50DF). After assembly(didn't put in a HDD) I started 
the box & I noticed that smoke & some fire(or some light) was inside the 
box. I can't see any damage inside, besides what looked like some melted 
plastic on the top of the case. I hope it is going to still work.
From what I've read here I understand that the screws on front side of 
the power supply & the right side of the power supply have to be 
isolated. Is that correct?
Thanks in advance.

von Ingmar K. (ingmar_k)


Lesenswert?

gabe schrieb:
> ...I can't see any damage inside, besides what looked like some melted
> plastic on the top of the case. I hope it is going to still work.
> From what I've read here I understand that the screws on front side of
> the power supply & the right side of the power supply have to be
> isolated. Is that correct?
> Thanks in advance.

First off, you pretty sure killed the power supply. If you are very 
lucky it is only the fuse that blew, but it could be more, just like 
there could be damage on the rest of the system, too. So, no, I don't 
think that it's still going to work, just like that.
And concerning your question: There is no need to isolate anything. 
Isolating some of the contacts is just a measure of precaution but is 
not a must. Thus that's probably not the cause of the little light and 
smoke show with your box. I for one didn't isolate a single contact and 
my box is still working fine.


@Laszlo, Joel und die anderen Pros:
Habe da mal noch eine Frage zu den Kernels. Und zwar kann ich mich 
Laszlos Buildroot Sources wunderbar bootfähige Kernels bauen.
Das gleiche habe ich dann mal mit den 2.6.21.3er Sources, + 
Brightsign/Roku Patches ausprobiert. Bauen ist kein Problem, aber damit 
sehe ich leider als letztes ein "Starting Kernel ..." und dann nix mehr, 
wie bei Joel's Beitrag vom 08.11. . An Entry-Point etc. sollte es nicht 
liegen, da ich das Problem, sowohl beim Erstellen des uImage "von Hand", 
als auch bei Benutzung von Laszlos uImage-Patch habe. Die Loadaddress 
und der EP sollten also passen.
Ist dann wohl eine Sache der Kernel-Patches und/oder der Config, dass es 
an der Stelle hakt. Von euch schon jemand einen Tip oder eine Idee 
welcher der Patches und/oder welcher Config-Eintrag dafür verantwortlich 
sein könnte? Eventuell sogar nur die console-Einstellung?
Die extra Module des Brighsign-Package wären ja ganz interessant, nur 
deshalb probier ich da überhaupt rum.


@Laszlo bezügl. U-Boot:
Spricht etwas dagegen die Memtest Endadresse zu ändern? Wenn ich das 
richtig sehe testet der "mtest" momentan garnix. Habe dann mal ein wenig 
dazu gesucht und einen Beitrag von Wolfgang Denk gefunden.
U-Boot erkennt ja momentan 128MB bei der Box. Das wäre dann eine 
Endadresse von "0x87FFFFFF". Geht allerdings nicht und laut Herrn Denk 
muss man ein wenig Freiraum lassen. Ich habe also mal

#define CONFIG_SYS_MEMTEST_END    0x87000000

eingestellt und der mtest läuft soweit. Testet dabei zwar "nur" 112MB, 
aber läuft.

von Joel T. (tuxx42)


Lesenswert?

@Ingmar K.

ich vermute stark, dass dein uImage irgendwie nicht stimmt.. hier hast 
du nochmal mein skript was ich zum bauen des 3.1er kernels verwende:
1
#!/bin/sh
2
export CROSS_COMPILE=/opt/emlix/netdcu6/bin/mipsel-linux-
3
export NM=${CROSS_COMPILE}nm
4
export OBJCOPY=${CROSS_COMPILE}objcopy
5
6
rm -f vmlinux.bin.gz 
7
8
make ARCH=mips -j10
9
10
$OBJCOPY -O binary --remove-section=.reginfo --remove-section=.mdebug --remove-section=.comment --remove-section=.note --remove-section=.pdr --remove-section=.options --remove-section=.MIPS.options vmlinux vmlinux.bin
11
12
gzip -9 vmlinux.bin
13
14
mkimage -A mips -O linux -T kernel -C gzip -a 0x80060000 -e 0x$($NM vmlinux | grep kernel_entry | cut -f1 -d ' ') -n MIPS -d vmlinux.bin.gz uImage
15
16
# cp uImage /opt/emlix/lp/tftpboot/u-boot

anschliessend nicht vergessen die console=ttyS0,115200n8 (oder ttyS1) in 
der bootargs variable zu setzen sonst wird auf der falschen seriellen 
ausgegeben.

@alle:

leider bin ich nicht mehr dazu gekommen am 3.1er i2c-ip0105 treiber zu 
arbeiten.. ich bin jedoch über einen ip0105 treiber gestoßen:

http://lists.lm-sensors.org/pipermail/i2c/2008-June/003959.html

Das portieren dieses Treibers dürfte recht schnell gehen.. vielleicht 
komme ich dieses Wochenende ja schon dazu.

Gruß,
tuxx

Ingmar K. schrieb:
> @Laszlo, Joel und die anderen Pros:
> Habe da mal noch eine Frage zu den Kernels. Und zwar kann ich mich
> Laszlos Buildroot Sources wunderbar bootfähige Kernels bauen.
> Das gleiche habe ich dann mal mit den 2.6.21.3er Sources, +
> Brightsign/Roku Patches ausprobiert. Bauen ist kein Problem, aber damit
> sehe ich leider als letztes ein "Starting Kernel ..." und dann nix mehr,
> wie bei Joel's Beitrag vom 08.11. . An Entry-Point etc. sollte es nicht
> liegen, da ich das Problem, sowohl beim Erstellen des uImage "von Hand",
> als auch bei Benutzung von Laszlos uImage-Patch habe. Die Loadaddress
> und der EP sollten also passen.
> Ist dann wohl eine Sache der Kernel-Patches und/oder der Config, dass es
> an der Stelle hakt. Von euch schon jemand einen Tip oder eine Idee
> welcher der Patches und/oder welcher Config-Eintrag dafür verantwortlich
> sein könnte? Eventuell sogar nur die console-Einstellung?
> Die extra Module des Brighsign-Package wären ja ganz interessant, nur
> deshalb probier ich da überhaupt rum.

von Ingmar K. (ingmar_k)


Lesenswert?

Danke dir! Werde die nächsten Tag noch ein wenig testen. Mag gut sein, 
dass es wirklich nur an der Erstellung des uImage lag. Ich werde mir 
aber trotzdem auch mal die ganzen Brightsign Patches anschauen und 
versuchen dabei was zu lernen.

von Laszlo H. (laszlo_h)


Lesenswert?

Ingmar K. schrieb:
> Danke dir! Werde die nächsten Tag noch ein wenig testen. Mag gut sein,
> dass es wirklich nur an der Erstellung des uImage lag. Ich werde mir
> aber trotzdem auch mal die ganzen Brightsign Patches anschauen und
> versuchen dabei was zu lernen.

Was sind deine bootargs (kannst mit "printenv bootargs" sehen)? Wenn du 
mein U-Boot verwendest ist die Konsole auf ttyS0, d.h. auf J2. 
Grundsätzlich solltest du aber das U-Boot aus dem github verwenden, der 
ist neuer. Ich werde aber auch mal die Patches testen, vielleicht liegt 
es ja an denen, aber zuerst mal das Wiki.
gruß
Laszlo

von Ingmar K. (ingmar_k)


Lesenswert?

Konsoleneinstellung in den Bootargs stand/steht auf ttyS0 (horche auf 
J2). Änderung auf ttyS1 oder dergl. hatte nix geändert. Kriege einfach 
keinen Output mehr über seriell. Deshalb ja die Vermutung, dass es 
irgendwie an den Patches liegt. Aber wiegesagt, werde noch ein wenig 
experimentieren, wenn's die Zeit hergibt.
Hab schon gesehen, dass du bei deiner Kernel-Config aus dem Buildroot 
die standardmäßige Kernel-Commandline aktiviert und auf "console=ttyS0" 
gesetzt hast.
Da die Uboot-Bootargs das aber eh ersetzen sollten, sollte auch ein 
Kernel ohne fest einkompilierte Standardcommandline gehen. Aber schauen 
wir mal.

von Laszlo H. (laszlo_h)


Angehängte Dateien:

Lesenswert?

Da ich nicht weiß, wie ich beim Wiki eine Datei anhängen kann, kommt 
mein Flashpaket für den Original WinCE hier hinein. Es handelt sich 
dabei um das Paket von AgentData mit einem ausgetauschenten Bootloader.

Ich habe zurzeit kein WinCE Kompiler, so muss die Installation von 
U-Boot in zwei Schritten geschehen:

1. Im ersten Schritt wird ein Flasher U-Boot auf dem Board
   installiert
2. Über diesen wird das endgültige (und größere) U-Boot in den
   Speicher geladen und anschließend geflasht

Wenn mir jemand die angehängte cpp kompilieren kann, wäre ich ihm sehr 
verbunden. Die Änderung sind recht einfach, ich habe den Flash-Bereich 
des Bootloaders auf 512 KB erhöht und den Kernel verschoben + 
verkleinert, sodass es dem neuen Flash-Layout entspricht.
gruß
Laszlo

P.S.: Es wäre toll wenn jemand mal über die Anleitung in der Wiki 
schauen könnte, ob sie verständlich ist. Natürlich inklusive Kritik & 
Kommentaren.

von Thomas K. (agentdata)


Angehängte Dateien:

Lesenswert?

Have Fun!

von Laszlo H. (laszlo_h)


Lesenswert?

Danke, teste ich gleich. Wenn es funktioniert vereinfacht es mein Leben 
ungemein. Wahrscheinlich werde ich nochmal an dem Programm arbeiten, ich 
habe da eine Idee, dass die Flash-Parameter aus den Dateinamen genommen 
werden (oder aber aus einem kleinen Header in den Dateien). Damit 
bräuchte man dann keine neue FlashMe bei jeder einzelnen Änderung an dem 
Flash-Layout.

Ich habe grad den Elecard Kernel getestet. Funktioniert so weit (Ausgabe 
ist auf ttyS1), aber die Boot Parameter werden nicht übernommen. Ob 
das mit allen 2.6.21.3 passiert habe ich noch nicht getestet. Laut [1] 
könnte es an dem Alter des Kernels liegen. Ansonsten bleibt mir wohl 
nichts anderes Übrig als einen Patch für den Kernel zusammen zu 
schustern (wird sicherlich alles Andere als lustig).
gruß
Laszlo

[1]http://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?_forum_action=ForumMessageBrowse&thread_id=30286&action=ForumBrowse

von Laszlo H. (laszlo_h)


Lesenswert?

Laszlo H. schrieb:
> Ich habe grad den Elecard Kernel getestet. Funktioniert so weit (Ausgabe
> ist auf ttyS1), aber die Boot Parameter werden nicht übernommen. Ob
> das mit allen 2.6.21.3 passiert habe ich noch nicht getestet.

Das passiert nicht mit Off-The-Shelf 2.6.21-er Kernel. Die bleiben 
einfach stecken, da sich die Parameterübergabe wirklich geändert hat. In 
2.6.21 wurde in argv[0] ebenfalls ein Parameter übergeben, heute steht 
bei u-boot dort ein NULL-Pointer drinnen. Natürlich führt das zu einem 
"kleinen" Schluckauf bei den 2.6.21-er Kernel... Fix dafür ist in git 
(ich übergebe einfach als argv[0] einen leeren String).

Das hat aber natürlich nix bei dem Elecard Linux gebracht. Thomas K, du 
hast dich doch mit dem Bootloader von Elecard auseinander gesetzt. Weißt 
du wie und wo der Kernel die Parameter erwartet (dann kann ich ein 
u-boot Patch dafür schreiben)? Hab versuch mir den Bootloader 
anzuschauen, leider ist das Ding "ein Wenig" über meinem Assembler 
Verständnis.

gruß
Laszlo

von Thomas K. (agentdata)


Lesenswert?

Also im Phillips Bootloader sieht das so aus:

RAM:80030CF8     li  $a0, 1
RAM:80030CFC     addiu $a1, $sp, 0x1A8+var_lpCommandLine
RAM:80030D00
RAM:80030D00 loc_80030D00:
RAM:80030D00     jalr $s1                   # go for gold -> s1 = 
EntryPoint
RAM:80030D04     move $a2, $zero

mit anderen Worten:

KernelEntry( 1, *CommandLine, 0 );

Gruß
Thomas

von Laszlo H. (laszlo_h)


Lesenswert?

Danke, den Codeausschnitt hätte ich noch lange gesucht.

Einerseits gut, dass es nicht hart kodiert ist, aber andererseits, Gott, 
wie nervig! Dadurch dass der Kernel einen String als Boot Parameter 
nimmt, im Gegensatz zu dem normalen Kernel, der ein argc/argv Array 
erwartet, werde wohl oder Übel für Philips ne Extrawurscht überlegen 
müssen.

Patch kommt sobald ich ne Idee hab, wie ich das schön implementieren 
kann (wahrscheinlich eigener Boot Befehl oder die "alles in einer Zeile" 
Lösung).
gruß
Laszlo

von bla b. (feli)


Lesenswert?

Hey Laszlo,

ich hab vorhin versucht dein u-boot aus dem github zu bauen und zu 
flashen.

beim bauen habe ich folgende änderungen vorgenommen:
1
-#define CONFIG_BAUDRATE                38400
2
+#define CONFIG_BAUDRATE                115200
3
4
-#define CONFIG_CONSOLE_PORT    CONFIG_SERIAL_PORT_1
5
+#define CONFIG_CONSOLE_PORT    CONFIG_SERIAL_PORT_2

zudem musste ich aufgrund eines kompile-errors die folgende Zeile in
include/linux/compiler-gcc.h auskommentieren:
1
//#include gcc_header(__GNUC__)

Nach dem bauen habe ich dann mit mkpollinux ein flashbares image aus 
u-boot.bin erzeugt mit:
1
mkpollinux u-boot.bin 00004000_00040000__loader.bin

die image habe ich dann mit der standardmethode ins nand geflashed. Beim 
booten des boards blieb die serielle jedoch tot.

Mit dem alten u-boot habe ich dann versucht in das neue git u-boot image 
zu booten, indem ich mit tftp das u-boot.bin ins mem geladen habe und 
dann mit go in 0x82000000 gesprungen bin. Auch das war nicht 
erfolgreich.

Komischerweise konnte ich aber mit tftp + bootelf das u-boot (elf 
binary) erfolgreich anspringen und habe auch ausgaben auf der richtigen 
seriellen erhalten, so dass ich incht glaube dass es ein problem mit der 
config einstellung ist. Ideen woran es liegen könnte?

Zudem finde ich sollten wir, der bequemlichkeit halber, die option
1
#define CONFIG_CMDLINE_EDITING 1
einfügen.

Danke schonmal! :)

von Ingmar K. (ingmar_k)


Lesenswert?

Größe deiner U-Boot Datei, die du geflasht hast?
Ich frage, da die Standardmethode max. 240kB bearbeitet. Ist deine Datei 
größer hast du dein Problem. Würde auch erklären, warum es per tftp 
ging. denn da wird einfach soviel geladen wie eben da ist.

von Michael (Gast)


Lesenswert?

Hallo Laszlo,
ich brauch noch mal nen Tip ...
Wie geht das eigentlich mit der Samba Freigabe?
Ich find irgendwie garnichts - es gibt nur einen Sybolischen Link der 
smb.conf auf den /tmp Ordner. Aber die Datei selber kann ich weder 
sehen, geschweigedenn bearbeiten. Ich finde auch irgendwie überhaupt 
kein binary mit smb oder samba oder so. Kannst Du mir bitte noch einmal 
aus der Patsche helfen?

Danke & Gruß
Michael

von Laszlo H. (laszlo_h)


Lesenswert?

bla blubb schrieb:
> zudem musste ich aufgrund eines kompile-errors die folgende Zeile in
> include/linux/compiler-gcc.h auskommentieren:
>
1
> //#include gcc_header(__GNUC__)
2
>

Sollte nicht sein, welchen Compiler verwendest du? Es muss meines 
Wissens nach ein gcc 4.1 oder höher sein.

bla blubb schrieb:
> Nach dem bauen habe ich dann mit mkpollinux ein flashbares image aus
> u-boot.bin erzeugt mit:
>
>
1
mkpollinux u-boot.bin 00004000_00040000__loader.bin
>
> die image habe ich dann mit der standardmethode ins nand geflashed. Beim
> booten des boards blieb die serielle jedoch tot.

Wahrscheinlich ist, wie Ingmar K. geschrieben hat, U-Boot zu groß. Du 
kannst das flashme.exe aus [1] versuchen (der flasht 512 kb), ansonsten 
muss du den Weg über den u-boot flasher im Wiki gehen.

bla blubb schrieb:
> Mit dem alten u-boot habe ich dann versucht in das neue git u-boot image
> zu booten, indem ich mit tftp das u-boot.bin ins mem geladen habe und
> dann mit go in 0x82000000 gesprungen bin. Auch das war nicht
> erfolgreich.

Schau dir TEXT_BASE (heißt anders an, der liegt nicht auf 0x82000000 
(das ist die loadaddr). Wenn du U-Boot aus dem RAM starten möchtest, 
musst du die u-boot.bin auf 0x80100000 laden.

bla blubb schrieb:
> Komischerweise konnte ich aber mit tftp + bootelf das u-boot (elf
> binary) erfolgreich anspringen und habe auch ausgaben auf der richtigen
> seriellen erhalten, so dass ich incht glaube dass es ein problem mit der
> config einstellung ist. Ideen woran es liegen könnte?

Ja, bootelf verwendet den Header im elf um u-boot auf die entsprechende 
Adresse u entpacken. Danach bootet u-boot aus dem RAM.

bla blubb schrieb:
> Zudem finde ich sollten wir, der bequemlichkeit halber, die option
>
1
> #define CONFIG_CMDLINE_EDITING 1
2
>
> einfügen.

Kannte ich gar nicht. Bin grad nicht in Linux drin, werde ich heute 
Abend reingeben und pushen.

Michael schrieb:
> Hallo Laszlo,
> ich brauch noch mal nen Tip ...
> Wie geht das eigentlich mit der Samba Freigabe?
> Ich find irgendwie garnichts - es gibt nur einen Sybolischen Link der
> smb.conf auf den /tmp Ordner. Aber die Datei selber kann ich weder
> sehen, geschweigedenn bearbeiten. Ich finde auch irgendwie überhaupt
> kein binary mit smb oder samba oder so. Kannst Du mir bitte noch einmal
> aus der Patsche helfen?

Ich habe mich mit Samba auf dem pollinux noch gar nicht beschäftigt. Ich 
glaube nicht, dass es einen Server auf der Box gibt. Auf die Schnelle 
habe ich nur die cifs.ko gefunden. D.h. du kannst eine Freigabe aus dem 
Netzwerk auf der Box mounten (siehe [2]), doch nichts selber einen 
Ordner freigeben. Dafür müsstest du samba für die Box kompilieren (viel 
Vergnügen) oder das Debian-Package verwenden und es aus der Repository 
installieren.
gruß
Laszlo

[1] Beitrag "Re: Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH"
[2] http://opensuse.swerdna.org/susesambacifs.html

von Chris W. (call7)


Lesenswert?

Hallo,
ich wollte mich nun auch mal dran machen das U-Boot auf die Box zu 
bringen, dazu hab ich mir wie im Wiki beschrieben die Sourcen aus dem 
SVN geholt und versucht zu kompelieren.
das
1
export CROSS_COMPILE=mipsel-linux-
hab ich natürlich auch vorher augeführt.
Ich bekomme dann folgende Fehlermeldung:
1
root@server:~/polgithub/tuxx42-PNX8550_U-BOOT-092e61d# make mrproper
2
root@server:~/polgithub/tuxx42-PNX8550_U-BOOT-092e61d# make pollinux_flasher_config
3
awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend
4
Configuring for pollinux_flasher - Board: pollinux, Options: POLLINUX_FLASHER=1
5
root@server:~/polgithub/tuxx42-PNX8550_U-BOOT-092e61d# make
6
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
7
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
8
dirname: fehlender Operand
9
âdirname --helpâ gibt weitere Informationen.
10
Generating include/autoconf.mk
11
/bin/bash: Zeile 3: mipsel-linux-gcc: Kommando nicht gefunden.
12
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
13
dirname: fehlender Operand
14
âdirname --helpâ gibt weitere Informationen.
15
Generating include/autoconf.mk.dep
16
/bin/bash: Zeile 3: mipsel-linux-gcc: Kommando nicht gefunden.
17
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
18
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
19
dirname: fehlender Operand
20
âdirname --helpâ gibt weitere Informationen.
21
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
22
/bin/bash: mipsel-linux-ld: Kommando nicht gefunden.
23
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
24
dirname: fehlender Operand
25
âdirname --helpâ gibt weitere Informationen.
26
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
27
dirname: fehlender Operand
28
âdirname --helpâ gibt weitere Informationen.
29
mipsel-linux-gcc -DDO_DEPS_ONLY \
30
                -g  -Os   -ffunction-sections -fdata-sections -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80100000 -I/home/christoph/polgithub/tuxx42-PNX8550_U-BOOT-092e61d/include -fno-builtin -ffreestanding -nostdinc -isystem  -pipe  -DCONFIG_MIPS -D__MIPS__ -G 0 -mabicalls -fpic -msoft-float -march=4kc -EL -mtune=4kc -Wall -Wstrict-prototypes      \
31
                -o lib/asm-offsets.s lib/asm-offsets.c -c -S
32
/bin/bash: mipsel-linux-gcc: Kommando nicht gefunden.
33
make: *** [lib/asm-offsets.s] Fehler 127

den Fehler mipsel-linux-gcc: Kommando nicht gefunden, bekommen ich auch 
wenn ich z.b. make mrproper zwei mal ausführe. Ich muss dann erst mit 
make clean wieder alles bereinigen, damit es funktioniert.
Hat jemand eine Idee, woran es liegen könnte ?

Ich arbeite mit eine Debian amd64 Distribution.

Womit kompeliert ihr den Code ?

Gruß Chris

von Laszlo H. (laszlo_h)


Lesenswert?

Chris W. schrieb:
> ich wollte mich nun auch mal dran machen das U-Boot auf die Box zu
> bringen, dazu hab ich mir wie im Wiki beschrieben die Sourcen aus dem
> SVN geholt und versucht zu kompelieren.
> das
1
export CROSS_COMPILE=mipsel-linux-

Die Zeile muss auf den verwendeten Cross Compiler angepasst werden. 
Scheinbar heißt deiner nicht mipsel-linux- ansonsten würdest du die 
"Kommando nicht gefunden" Meldung beim Aufruf nicht kriegen. Oder aber 
der Compiler ist nicht im Pfad mit enthalten (bezweilfe ich hier mal 
dezent). Also meine Gegenfrage an dich, welchen Cross Compiler 
verwendest du? Dessen Prefix muss dann in die CROSS_COMPILE 
Umgebungsvariable.

Wenn du noch keines hast, für Debian gibt es ein Package im embedian 
Repository. Ich werde mal das in den Wiki mit hineinbringen.
gruß
Laszlo

von Chris W. (call7)


Lesenswert?

Hallo Laszlo,

dann würd eich sagen das ich keine drauf habe.
Hab mir aber grade mal dei Mühe gemacht was zu installieren.
1
apt-get install linux-libc-dev-mipsel-cross
2
apt-get install libc6-mipsel-cross  libc6-dev-mipsel-cross
3
apt-get install binutils-mipsel-linux-gnu
4
apt-get install gcc-4.4-mipsel-linux-gnu
5
apt-get install g++-4.4-mipsel-linux-gnu
6
apt-get install apt-cross dpkg-cross

so wie bei emdebian beschrieben.
Trotzdem erhalte ich die selben fehler beim Kompelieren,

Hab ich noch was vergessen ? Es gibt so viele Pakete bin mir nicht 
sicher was ich evtl. noch alles brauche.

Gruß Chris

von Laszlo H. (laszlo_h)


Lesenswert?

Wie heißt dein gcc? Also sowas wie mipsel-linux-gnu-gcc oder wie 
mipsel-linux-gnu-gcc-4.4? Wenn das Erste, dann pass den Prefix 
entsprechend ab. Sollte es das 2. sein, so musst du symbolische Links 
von mipsel-linux-gnu-gcc-4.4 nach mipsel-linux-gnu-gcc legen. Eine 
weitere Alternative wäre die Umgebungsvariablen CC und LD direkt mit den 
entsprechenden Namen zu überschreiben. Das make würde dann irgendwie so 
aussehen:
1
CC=mipsel-linux-gnu-gcc-4.4 LD=mipsel-linux-gnu-ld-4.4 make

Ich versuche das grad aus dem Stegreif da ich Ubuntu habe und damit die 
Debian Repositories wegen Abhängigkeiten nicht verwenden kann. Also 
nicht wundern, wenn es nicht geht. Nebenbei kompiliere ich gerade ein 
corsstool-ng toolchain und werde es dann bei einem File-Hoster hochladen 
und den Link teilen. Kennt jemand vielleicht einen, wo die Datei "für 
immer" online bleibt?
gruß
Laszlo

von schreibtisch (Gast)


Lesenswert?

Hallo Laszlo,

du könntest 4shared.com nehmen, mußt dich alle 180 Tage einloggen, dann 
bleiben auch die Files erhalten.

von Chris W. (call7)


Lesenswert?

Hi Laszlo

danke für den Tip.
Der Compiler heist
mipsel-linux-gnu-gcc
ich konnte damit alles ohne Fehler kompelieren, jetzt mus ich noch 
schauen, wie ich ein Linux starte. Testweise soll es erstmal über NFS 
sein, da muss ich aber noch ein Debian Paket suchen.
Eigentlich sollte u-Boot doch auch das Elecard image Booten können oder 
?
Weist du wie ich den u-Boot konfigurieren kann damit er an der Richtigen 
Adresse nach dem NFS sucht, oder muss ich mit einem Hex editor das 
fertige Image bearbeiten ?

Gruß Chris

von Chris W. (call7)


Lesenswert?

PS: Ich habe ca. 50 MB platz auf dem Uni Webserver, allerdings wird es 
max. 3 Jahre online sein. Wenn ich die Uni verlasse wird es leider 
gelöscht.

von Laszlo H. (laszlo_h)


Lesenswert?

schreibtisch schrieb:
> Hallo Laszlo,
>
> du könntest 4shared.com nehmen, mußt dich alle 180 Tage einloggen, dann
> bleiben auch die Files erhalten.

Danke, ich werde mich mal dort umschauen. Vielleicht kann ich das 
Einloggen ja mit einem Skript lösen :D. Schlimmstenfalls lade ich es 
hier hoch, in dem Thread gibt es ja auch schon einige Dateien > 20 MB.

Chris W. schrieb:
> Testweise soll es erstmal über NFS
> sein, da muss ich aber noch ein Debian Paket suchen.
> Eigentlich sollte u-Boot doch auch das Elecard image Booten können oder
> ?

Ja, den Kernel kann U-Boot jetzt schon booten, Patches sind im U-Boot 
github schon drinnen (so lange dass ich keine Angst habe, dass du die 
nicht hast ;) ). Tuxx hat weiter oben ein emdebian Rootfs hochgeladen.

Chris W. schrieb:
> Weist du wie ich den u-Boot konfigurieren kann damit er an der Richtigen
> Adresse nach dem NFS sucht, oder muss ich mit einem Hex editor das
> fertige Image bearbeiten ?

Gott bewahre vor einem Hex Editor! Das war ein Grund wieso ich U-Boot 
vor dem Philips Bootloader bevorzuge, das kanst du alles über dessen 
Kommandozeile einstellen. Da du scheinbar noch nichts mit U-Boot zu tun 
hattest, kann ich dir als Grundlage [1] (vor allem ab Kapitel 5.8) und 
[2] empfehlen. Da steht alles drinnen, wie man mit U-Boot umgeht. 
Stichworte sind printenv, setenv, saveenv und help ;).


Woran ich zurzeit arbeite ist ein gepatcher Elecard Kernel, wo ich den 
NAND Treiber durch meinen eigenen ersetzt habe. Der Grund hierfür ist 
einfach und schnell erklärt. U-Boot verwendet als ECC den von dem WinCE, 
während der Kernel (zurzeit noch) den von Linux verwendet und leider ist 
WinCE != Linux. Und da der Kernel den NAND Treiber in der Binary 
integriert hat muss ich diesen aus dem Kernel entfernen. Meine 
Überlegung bisher:
  1) Init Code im Kernel finden: (check)
     Scheiß Arbeit, aber gefunden, zum Glück sind alle init am Ende
     des Kernels, damit musste ich nicht 5MB Code zerlegen
  2) Adresse im Aufruf-Array finden: (check)
     Ein Spaziergang im Wald gegenüber 1).
  3) Adresse durch etwas ersetzten, dass den Kernel nicht bricht:
     Hier dachte ich da an eine Umleitung auf eine Null-Funktion,
     also so etwas wie:
1
xyz:
2
  jr $ra
3
  li $v0, 0     ; pnx8550_init gibt 0 zurück

Danach sollte ich in der Lage sein meine NAND Funktionen und die MTD 
Partition von mir zu integrieren. Wenn jemand etwas an der Idee 
auszusetzten hat, nur melden ^^.
gruß
Laszlo

[1] http://www.denx.de/wiki/DULG/Manual
[2] 
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Introduction-to-Das-UBoot-the-universal-open-source-bootloader/

von Mortimer N. (Firma: privat) (ranseyer)


Lesenswert?

Falls Ihr dauerhaft Webspace oder andere Entwicklertools* braucht. Könnt 
Ihr euch gerne bei mir melden. (GIT, usw.)

von Thomas K. (agentdata)


Lesenswert?

Hallo Laszlo,

ich hab hier momentan ein leichtes Verständnisproblem was du mit WinCE 
ECC != Linux ECC meinst (bezüglich des Elecard Kernels)...

Ich benutze doch in der flashme.exe die WinCE library (und damit auch 
den WinCE ECC) um den Elecard Kernel zu flashen. Dieser Kernel bootet 
dann auch wunderbar... Was willst du da also genau ändern?

Gruß
Thomas

von Laszlo H. (laszlo_h)


Lesenswert?

Thomas K. schrieb:
> ich hab hier momentan ein leichtes Verständnisproblem was du mit WinCE
> ECC != Linux ECC meinst (bezüglich des Elecard Kernels)...

Der Elecard kernel verwendet einen andere ECC Algorithmus und ein 
anderes OOB Layout als WinCE. Ich habe damals, als ich das NAND auf 
U-Boot portiert habe beide ECC Funktionen gegeneinander getestet und für 
den gleichen Datensatz kommen andere ECC-Werte raus.

Als Versuch, folgende Befehle lesen den mtd1 aus, löschen diesen und 
schreiben dann das Image wieder hinein. Des weiteren werden die OOB 
Daten vor und nach dem Beschreiben ausgegeben.
1
nanddump -c -l 512 -n /dev/mtd1 >vorher.txt
2
nanddump --noecc --omitoob --bb=skipbad --file mtd1.noecc /dev/mtd1
3
flash_erase /dev/mtd1 0 0
4
nandwrite /dev/mtd1 mtd1.noecc
5
nanddump -c -l 512 -n /dev/mtd1 >nachher.txt

Die Ausgaben der beiden nanddump. Diese geben beide den Header von dem 
Bootloader aus (512 Byte von Adresse 0x4000)

vorher (OOB Layout von WinCE):
1
 OOB Data: 00 fc 02 80 ff ff ff 85 00 30 ff 00 00 c0 ff fe
ECC: 00 30 ff 00 00 c0 (3 byte pro 256)

nachher (OOB Layout von Linux):
1
 OOB Data: ff ff 03 ff ff ff ff ff ff ff ff ff ff ff ff ff
ECC: ff ff 03 ff ff ff (3 byte pro 256)


> Ich benutze doch in der flashme.exe die WinCE library (und damit auch
> den WinCE ECC) um den Elecard Kernel zu flashen. Dieser Kernel bootet
> dann auch wunderbar... Was willst du da also genau ändern?

Ich verstehe, dass du verwirrt bin, ich bin es gerade auch. Hab grad 
fast eine Seite getippt, das zeigt, dass microBTM nicht bootet, wenn der 
Linux ECC im OOB abgelegt ist. Den Feldversuch gemacht, d.h. aus Linux 
mtd1 ausgelesen, gelöscht und neu beschrieben. Das Ergebnis: U-Boot 
bootet wieder als wäre nichts geschehen, statt dass das Board anfängt 
panisch vor sich hin zu blinken.

Scheinbar bin ich einem falschen Glauben erleben, ich dachte, dass ich 
schon einmal versucht habe den Bootloader aus Linux neu zu flashen und 
dass es nicht ging. Und da Linux ECC Fehler im Flash angezeigt hat, 
welche 100% auf den falschen Layout + ECC Algorithmus zurückzuführen 
sind (siehe weiter oben), nahm ich an, dass das der Fehler sei. 
Offensichtlich habe ich mich geirrt...

Zurzeit ist es so, dass aus Linux nur Daten aus dem Flash ausgelesen 
werden können, wenn man den ECC abschaltet. Hier würde der Vorteil einer 
gemeinsamen ECC + OOB erwachsen, dass man die Daten mit ECC auslesen 
könnte. So muss man, nach einem Flashen per WinCE den NAND ohne ECC 
auslesen, löschen und diesen anschließen zurückschreiben (sodass die ECC 
von Linux neu generiert werden). Danach kann der Flash mit ECC gelesen 
werden, was vor allem für NAND-FS Treiber wie JFFS2 und co. interessant 
ist.

Ein weiteres Bonus des neuen NAND Treibers wäre ein Flash basiertes Bad 
Block Table, das das durchsuchen des gesamten Flash nach fehlerhaften 
Blöcken erspart. U-Boot verwendet diesen "notgezwungen", da ich abstürze 
hatte, wenn eines meiner fehlerhaften Flash Blöcke mehr als 2x 
hintereinander ausgelesen wurde. Dies trat auf, wenn zum Beispiel eine 
neue Version des Bootloaders in den RAM gespielt und anschließend 
gestartet wurde. Und es wäre natürlich vorteilhaft, wenn U-Boot und 
Linux die gleichen Tabellen teilen würden, da ein Flash basierter BBT 
nur bei einem fehlerhaften Löschen aktualisiert wird.
gruß
Laszlo

von Thomas K. (agentdata)


Lesenswert?

Also ich habe es glaube ich noch nicht ganz verstanden aber ich versuche 
es mal auseinander zu nehmen...

Wenn ich die Sources richtig verstanden habe ist es im Moment so:

block0:
-> unangetastet - also der original nboot

ab block1:
-> die erste page (0x200 byte) ist der WCE0 tag um nboot happy zu machen
-> direkt im Anschluss folgt uboot

=> uboot wurde also so compiliert das es im RAM ab 0x80100000 läuft
=> EntryPoint ist ebenfalls bei 0x80100000
   -> sollte bei einem bootloader wohl automatisch so sein

MicroBTM wird demzufolge momentan garnicht mehr verwendet.
Ist das soweit richtig?

Wenn dem so ist wie oben beschrieben, dann müsste ich flashme.exe 
nochmal modifizieren... Der MicroBTM erwartet im oob die RAM-Adresse wo 
er die jeweilge Page aus dem NAND hinladen soll.

flashme.cpp:
NAND_ReadSpareData( dwAddressToWrite, &lpSpareData );
memcpy( &lpSpareData, &lpVirtualLoadAddress, 4 ); <-- hier

Es ist also völlig klar das du andere Daten bekommst wenn du flashme.exe 
und linux writes vergleichst.

Ich bin mir nicht sicher ob ich alles richtig verstanden habe - aber 
irgendwie glaub ich im Moment noch nicht so recht das es verschiedene 
ECC Algos gibt sondern viel eher das in flashme.exe irgendwas nicht so 
ist wie du dir das vorstellst.

Gruß
Thomas

von Laszlo H. (laszlo_h)


Angehängte Dateien:

Lesenswert?

Thomas K. schrieb:
> Also ich habe es glaube ich noch nicht ganz verstanden aber ich versuche
> es mal auseinander zu nehmen...
>
> Wenn ich die Sources richtig verstanden habe ist es im Moment so:
>
> block0:
> -> unangetastet - also der original nboot

Genau, da ist das FlashReader drinnen. Ich habe nur der "Einfachheit" 
halber den Namen microBTM für ihn übernommen. Werde es umbenennen, damit 
keine Verwirrung mehr aufkommt. Ich habe nur einmal mit dem 
herumgespielt, was in einem Ziegelstein geendet hat. Diesen Block rühre 
ich seit dem nicht mehr an ;)

> ab block1:
> -> die erste page (0x200 byte) ist der WCE0 tag um nboot happy zu machen
> -> direkt im Anschluss folgt uboot
>
> => uboot wurde also so compiliert das es im RAM ab 0x80100000 läuft
> => EntryPoint ist ebenfalls bei 0x80100000
>    -> sollte bei einem bootloader wohl automatisch so sein
>
> MicroBTM wird demzufolge momentan garnicht mehr verwendet.
> Ist das soweit richtig?

Genau, U-Boot wird direkt statt dem microBTM ausgeführt. Er ist für alle 
weiteren Schritte im Bootvorgang verantwortlich und muss somit auch auf 
den Flash zugreifen können.

> Wenn dem so ist wie oben beschrieben, dann müsste ich flashme.exe
> nochmal modifizieren... Der MicroBTM erwartet im oob die RAM-Adresse wo
> er die jeweilge Page aus dem NAND hinladen soll.
>
> flashme.cpp:
> NAND_ReadSpareData( dwAddressToWrite, &lpSpareData );
> memcpy( &lpSpareData, &lpVirtualLoadAddress, 4 ); <-- hier

Okay, das erklärt die 4 Bytes am Anfang des OOB, die ich nicht zuordnen 
konnte. Grundsätzlich kannst du die drinnen lassen U-Boot verwendet die 
Bytes nicht. Die liegen in einem freien Bereich des OOB (8 Byte, da 16 - 
6xECC - 2xBadBlock Marker) und stehen damit zur freien Verwendung der 
Applikation.

> Es ist also völlig klar das du andere Daten bekommst wenn du flashme.exe
> und linux writes vergleichst.

Genau, aber die Reads sind nicht nur in den freien Bereichen 
verschieden. Die Unterschiede zwischen WinCE und Linux fangen schon mit 
der Platzierung des ECC (Linux: Byte 0-5, WinCE: Byte 8-13) an. Damit 
"bricht" natürlich der ECC schon an dieser Stelle, da er einfach die 
falschen Bytes für die Fehlererkennung + Korrektur heranzieht. Schön zu 
beobachten ist dies indem ein Block mit Daten 2x ausgelesen wird, 1x 
ohne ECC und 1x mit. Diese beiden sollten sich im Normalfall nicht 
unterscheiden, tun sich in unserem Fall aber.

Ich habe eine kleine Wahrheitstabelle erstellt. In der Horizontalen ist 
der OS aus dem der Flash beschrieben wurde, Vertikal die Programme, die 
den Flash auslesen.

Option 1: U-Boot mit WinCE ECC + OOB

       | WinCE | Linux |
-------+-------+-------+
U-Boot |  OK   |  NOK  |
-------+-------+-------+
Linux  | NOK   |   OK  |
-------+-------+-------+

Das heißt U-Boot kann ein Kernel Image aus dem Flash laden, den WinCE 
dort hinein geschrieben hat, aber z.B. nicht die JFFS2 Partition Lesen 
und darf diesen auch nicht aktualisieren (da sonst Linux diesen nicht 
mehr lesen kann).

Option 2: U-Boot mit Linux ECC + OOB

       | WinCE | Linux |
-------+-------+-------+
U-Boot | NOK   |   OK  |
-------+-------+-------+
Linux  | NOK   |   OK  |
-------+-------+-------+

U-Boot kann mit Linux zusammenspielen, aber das Flashen über WinCE 
zerbricht alles, da dann U-Boot nicht mehr in der Lage ist den Kernel 
fehlerfrei aus dem Flash zu lesen.

Das heißt, ich habe das Problem, dass entweder U-Boot die aus WinCE 
geflashten Daten lesen kann oder die von Linux geschriebenen, aber nicht 
beide. Aus diesem Grund dachte ich mir, dass ich Option 1 nehme und auch 
Linux "hinbiege", damit er mit WinCE Ball spielen kann.

> Ich bin mir nicht sicher ob ich alles richtig verstanden habe - aber
> irgendwie glaub ich im Moment noch nicht so recht das es verschiedene
> ECC Algos gibt sondern viel eher das in flashme.exe irgendwas nicht so
> ist wie du dir das vorstellst.

Ich hab ein C Programme mit den beiden ECC angehängt. Die WinCE ECC ist 
direkt aus flashlib.dll genommen und eines Assembler Code, das mit ein 
wenig sed Magie in C umgewandelt wurde. Ich habe es schon ein wenig 
verschönert (gotos durch if und for ersetzt), ansonsten aber nichts 
weiter verändert. Zumindest für die ersten 10 Blöcke des microBTM (also 
mtd1) generiert es die richtigen ECC-Bytes.

Folgende Befehle kompilieren es und starten den ECC
1
gcc ecc_test.c -o wince
2
./wince mtd1_512

Was schön zu beobachten ist, dass sich die ECC nicht nur "leicht" 
unterscheiden, d.h. nicht nur invertiert oder so etwas. Das deutet für 
mich schwer darauf hin, dass im Hintergrund eine andere Berechnung von 
Statten geht, da ja die Eingangsdaten gleich sind.
gruß
Laszlo

von Thomas K. (agentdata)


Lesenswert?

Hallo Laszlo,

vielen Dank für deine wie immer tolle Erklärung.

Ich glaube ich habe jetzt verstanden was dein Problem ist.
Desweiteren glaube ich auch die Ursache des Problems zu kennen...

Ich vermute jetzt einfach mal, dass dir beim portieren von uboot ein 
Fehler unterlaufen ist und du (wie auch immer) alten und neuen Source 
vermischt hast.

Man sieht das eigentlich recht deutlich am verwendeten ECC Algo.

Momentan bei tuxx im git findet man folgendes file:
https://github.com/tuxx42/PNX8550_U-BOOT/blob/master/drivers/mtd/nand/nand_ecc.c

Ich zitiere mal aus dem intro dieses Files:
"This file contains an ECC algorithm from Toshiba..."
"Copyright (C) 2006 Thomas Gleixner <tglx@linutronix.de>"

--> das ist das was du als linux_ecc bezeichnest und verwendest


Schaut man sich nun mal die aktuellen Linux-Sources an findet man 
folgendes File:
http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/drivers/mtd/nand/nand_ecc.c

Ich zitiere auch hier mal aus dem intro:
"Completely replaces the previous ECC implementation..."
"which was written by Thomas Gleixner (tglx@linutronix.de)"

--> das ist GENAU DAS was du als wince_ecc bezeichnest !!!


Wenn ich das richtig sehe wurde der ecc_algo mit kernel 2.6.3* updated.

Lange Rede kurzer Sinn - check mal die Aktualität deiner Sources. Irgend 
etwas scheint mir da mächtig schief gegangen zu sein.

Gruß
Thomas

von Joel T. (tuxx42)


Lesenswert?

hey jungs,

kann mir jemand erklären wodurch die 512kb begrenzung für uboot 
herrührt?

einzig vom flash tool? ist der nicht opensource, können wir den nicht 
einfach modifizieren damit er uboots > 512kb akzeptiert?

sorry wenn das schon irgendwo erklärt wurde... bin nicht so auf dem 
laufenden momentan.

gruß,
tuxx

von Ingmar K. (ingmar_k)


Lesenswert?

512KB klingen doch eh schon vollkommen ausreichend für U-Boot, oder 
nicht? Ich meine die 240KB die anfangs durch die flashme.exe galten, das 
war was anderes. Aber hast du wirklich schon ein kompiliertes U-Boot, 
das über 512KB groß ist?
Sorry, falls es dumm klingt, aber mein letztes, kompiliertes U-Boot 
hatte mit allem Drum und Dran was ich "bräuchte" (ginge eigentlich auch 
weitaus kleiner) ~275KB.

Und die Einteilung sollte relativ frei sein. Sprich ich denke das hat 
Laszlo in der "pollinux.h" selbst definiert, nach Überlegungen über 
sinnvolle Einteilung bei gleichzeitiger Beibehaltung des WinCE und des 
MicroBTM. Richtig?

von Thomas K. (agentdata)


Lesenswert?

Richtig.

Die flashme.exe kann man jederzeit modifizieren... Mal sehen ob ich die 
Zeit finde das tool etwas universaler zu machen.

von Laszlo H. (laszlo_h)


Lesenswert?

Thomas K. schrieb:
> Ich zitiere auch hier mal aus dem intro:
> "Completely replaces the previous ECC implementation..."
> "which was written by Thomas Gleixner (tglx@linutronix.de)"
>
> --> das ist GENAU DAS was du als wince_ecc bezeichnest !!!

Die Sources sind Aktuell, ich verwende das 2011.09-er U-Boot, neuer ist 
da nur noch der git. Ob ECC im U-Boot selber noch aktuell ist, ist eine 
andere Frage ;). Den ECC schaue ich mir morgen ab, habe hier ein 3.0-er 
Kernel rumliegen. Wäre natürlich toll für U-Boot, da ich den 
Pseudo-Assembler kübeln könnte.

Der Grund aber, wieso ich bei dem Testprogramm den alten ECC drinnen 
habe ist ganz einfach: Der Elecard Kernel verwendet 2.6.21.3, d.h. die 
alte ECC (und ich bin auch nicht auf die Idee gekommen mir eine neuere 
Anzuschauen ;) ). Damit wäre das leider noch immer nicht gelöst, denn 
den Elecard will ich im Flash behalten als ein Backup-System wenn das 
Booten von der Festplatte/Netzwerk fehlschlägt.

Ingmar K. schrieb:
> Und die Einteilung sollte relativ frei sein. Sprich ich denke das hat
> Laszlo in der "pollinux.h" selbst definiert, nach Überlegungen über
> sinnvolle Einteilung bei gleichzeitiger Beibehaltung des WinCE und des
> MicroBTM. Richtig?

Genau, ich habe das einfach mal willkürlich festgelegt so wie es für 
mich sinnvoll erschien ;). Die 512k kamen zustande, da mir 256k zu wenig 
geworden sind und ich es dann einfach mal verdoppelt habe. Bis jetzt 
habe ich es auch nicht geschafft ein U-Boot größer 280kb zu machen. Das 
Problem bei der Modifizierung der Größe liegt darin, dass danach die 
Umgebungsvariablen von U-Boot und anschließend die BBT kommen. Danach 
Linux und seine ROMFS und nach einem ~400k "Loch" dann WinCE. D.h. sitzt 
da drinnen alles recht kompakt beisammen. Würde es gaaanz ehrlich nur 
ungern ändern.

Thomas K. schrieb:
> Richtig.
>
> Die flashme.exe kann man jederzeit modifizieren... Mal sehen ob ich die
> Zeit finde das tool etwas universaler zu machen.

Da habe ich mir mal während einer Fahrt mit dem Zug Gedanken gemacht. 
Ich würde einen extra Header für die Dateien vorschlagen, die dann alle 
notwendigen Informationen zum Flashen enthalten. Aufbau könnte so 
aussehen, ist aber sehr "allround" und könnte locker abgespeckt werden:

0        8               24     32
+--------+----------------+--------+
|  Vers  |       CRC      |  Flags |
+----------------------------------+
|        Start Address             |
+----------------------------------+
|             Size                 |
+----------------------------------+
|          Reserved                |
+----------------------------------+
|            Data...               |

Vers:     Major Version, wird verändert, wenn sich der Header
          ändert
CRC:      CRC über die gesamte Datei *1
Flags:    Nicht genutzter Bereich, kann z.B. Flags oder so
          etwas enthalten
Start:    Start Offset, Erase Block aligned *2
Size:     Größe des zu flashenden Bereiches
Reserved: Ungenutzter Bereich, ist immer gut so etwas drinnen zu
          haben ;).

Alle Daten sind in little Endian, zum einfacheren Verwendung.

*1 Mit Version + CRC wird sichergestellt, dass es sich bei der Datei um 
ein echtes Flash Image handelt und wir nicht irgendeine bin in den Flash 
schreiben und dadurch vielleicht die Box bricken (da das Vermeintliche 
Flash Image mit vielen 0x00 beginnt und somit den FlashReader mit "Alle 
Meine Entchen" überschreibt).

*2 Ansonsten müssten wir die Daten aus den nicht beschriebenen Pages 
sichern, den Block löschen, die gesicherten Daten zurückschreiben und 
dann unsere Daten hineinschreiben.

Wenn anschließend die Anzahl der Dateien nicht begrenzt wird (d.h. zum 
Beispiel alle Dateien mit der Endung .bin und einem OK Header zum 
Flashen herbeigezogen werden), sollte das Flash tool eigentlich nie 
wieder angefasst werden müssen. Vor allem dieser Punkt wird wohl 
aufwendig werden (vor allem GUI entsprechend dynamisch 
anpassen/erweitern).

Ich gebe zu, dass ich mir über die Implementierung noch keine Gedanken 
gemacht habe, doch sollte zumindest das Testen des Headers eigentlich 
nicht wahnsinnig aufwendig sein eine Prüfklasse zu schreiben, die den 
rohen Header zerlegt und ihn bereitstellt. Alternativ ein Strukt und ~5 
Funktionen. Einzig das Errechnen des CRCs wird schwierig, da dafür die 
gesamte Datei gelesen werden muss (in den Speicher laden wäre auch eine 
"hardcore" Option).

Die einfachste Möglichkeit ist natürlich einfach nur 32 bit Start und 32 
bit Size anzufügen. Wenn das NAND geklärt ist und wenn der Header gut 
ankommt, werde ich mich mal an eine PC-Version ransetzten und die Logik 
schreiben.
gruß
Laszlo

von Jeija (Gast)


Lesenswert?

Hallo und ein großes Dankeschön an die Linuxer hier im Thread!
Ich hatte schon erfolgreich ein elecard auf der Box installiert, jetzt 
versuche ich uBoot zu verwenden um den 3.1er Kernel zu booten.
Ich habe mir die uBoot-Sources geholt und kompiliert, sodass uBoot das 
uImage von der Festplatte bootet. Soweit, so gut.

Der Kernel will aber irendwie nicht die Festplatte als root ansehen, und 
gibt das über die serielle schnittstelle aus:

Root-NFS: no NFS server address
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "(null)" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available 
partitions:
0800        78150744 sda  driver: sd
  0801         1048576 sda1 00000000-0000-0000-0000-000000000000
  0802        77101056 sda2 00000000-0000-0000-0000-000000000000
Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(2,0)

oder alternativ bei nicht angeschlossenem Netzwerkkabel

IP-Config: Retrying forever (NFS root)...
eth0: DSPCFG accepted after 0 usec.
Sending DHCP requests ...... timed out!
IP-Config: Retrying forever (NFS root)...
eth0: DSPCFG accepted after 0 usec.
...

Zuerst scheint der Kernel also über NFS booten zu wollen, da ich aber 
keinen Server an habe, klappt das nicht.
Als cmdline für den Kernel habe ich das hier in der pollinux.h:

#define  CONFIG_BOOTARGS      \
  "console=ttyS1 "    \
  "root=/dev/sda2"

Ich habe auch probiert, rootdev zu setzen :

"rootdev=/dev/sda2"            \

Momentan habe ich das rootfs auf einer seperaten partition --> sda2,
ich hatte es aber auch schon anders probiert (Alles auf einer 
Partition).

Ich verwende übrigens polwheezy und das darin enthaltene uImage, 
gepostet von tuxx42 am 25.11.2011 15:05.
Laut ihm funktioniert das booten von der Sata-platte.
Das Bootcommand ist "run ideboot"


Was mache ich falsch? Was genau muss ich in der pollinux.h angeben, 
damit die Box von der Festplatte bootet?

Freundliche Grüße,
Jeija

von Joel T. (tuxx42)


Lesenswert?

das müsste aber root=/dev/sda2 heissen nicht "rootdev=".. kannst du mal 
deine variable bootargs hier pasten?

mit dem befehl:
1
setenv bootargs "console=ttyS1,115200n8 root=/dev/sda"

müsste das eigentlich booten. Eventuell musst du die baudrate und das 
ttySX anpassen für denie seriellen einstellungen.

Hast du /dev/sda2 als ext2,3,4?

Willst du den kernel von der platte lesen? Dazu musst du den Pfad in 
irgend einer ide-Variable angeben und dann mit run ideboot starten.

Ich werde mal bei gelegenheit (evtl über die weihnachtsfeiertage ein 
wiki schreiben).

Lg, tuxx

von Laszlo H. (laszlo_h)


Angehängte Dateien:

Lesenswert?

Laszlo H. schrieb:
> Thomas K. schrieb:
>> Ich zitiere auch hier mal aus dem intro:
>> "Completely replaces the previous ECC implementation..."
>> "which was written by Thomas Gleixner (tglx@linutronix.de)"
>>
>> --> das ist GENAU DAS was du als wince_ecc bezeichnest !!!
>
> Die Sources sind Aktuell, ich verwende das 2011.09-er U-Boot, neuer ist
> da nur noch der git. Ob ECC im U-Boot selber noch aktuell ist, ist eine
> andere Frage ;). Den ECC schaue ich mir morgen ab, habe hier ein 3.0-er
> Kernel rumliegen. Wäre natürlich toll für U-Boot, da ich den
> Pseudo-Assembler kübeln könnte.

Anbei die neue Test Datei. Es scheint, dass der neue ECC eine bessere 
Implementation des Alten ist. Wie sagt man so schön bei Monopoly, 
"Zurück an den Start". Naja, ich werde mal (damit ich nicht untätig 
herumsitze), den Header in Angriff nehmen. Danach kommt der Elecard 
Kernel mit einer kleinen Operation dran grin.

Jeija schrieb:
> Hallo und ein großes Dankeschön an die Linuxer hier im Thread!
> Ich hatte schon erfolgreich ein elecard auf der Box installiert, jetzt
> versuche ich uBoot zu verwenden um den 3.1er Kernel zu booten.
> Ich habe mir die uBoot-Sources geholt und kompiliert, sodass uBoot das
> uImage von der Festplatte bootet. Soweit, so gut.

Erstmal sorry, hab deinen Beitrag übersehen.

> Der Kernel will aber irendwie nicht die Festplatte als root ansehen, und
> gibt das über die serielle schnittstelle aus:
>
> Root-NFS: no NFS server address
> VFS: Unable to mount root fs via NFS, trying floppy.
> VFS: Cannot open root device "(null)" or unknown-block(2,0)
> Please append a correct "root=" boot option; here are the available
> partitions:
> 0800        78150744 sda  driver: sd
>   0801         1048576 sda1 00000000-0000-0000-0000-000000000000
>   0802        77101056 sda2 00000000-0000-0000-0000-000000000000
> Kernel panic - not syncing: VFS: Unable to mount root fs on
> unknown-block(2,0)

Poste mal bitte die ersten Zeilen der Kernel-Ausgabe, wo die Boot 
Parameter zu sehen sind. Da wird wohl der Hund vergraben sein.

> Zuerst scheint der Kernel also über NFS booten zu wollen, da ich aber
> keinen Server an habe, klappt das nicht.
> Als cmdline für den Kernel habe ich das hier in der pollinux.h:
>
> #define  CONFIG_BOOTARGS      \
>   "console=ttyS1 "    \
>   "root=/dev/sda2"

Hast du schon ein U-Boot vorher drauf gehabt? Wenn ja, bitte die Ausgabe 
von U-Boot posten, steht da etwas von "Environment not found" oder so? 
Wenn nicht, werden die CONFIG_BOOTARGS  Variablen ignoriert (da ja im 
Flash eine richtige Environment ist). Poste hierfür bitte auch die 
Ausgabe von "printenv".

Versuchshalber kannst du auch diese 3 Befehle ausführen und dann die 
Ausgabe betrachten. Wenn sie nicht mit deinen Erwartungen übereinstimmt 
(was ich annehme), dann hast du den Übeltäter.
1
run addip
2
run ideargs
3
printenv bootargs

Dann musst du die Umgebungsvariablen manuell in U-Boot aktualisieren und 
mit "saveenv" im Flash ablegen. Wenn du noch immer nicht weiter weißt, 
bitte die Ausgabe davon auch hier posten.

Joel T. schrieb:
> mit dem befehl:setenv bootargs "console=ttyS1,115200n8 root=/dev/sda"

Und nach dem Anpassen der Bootargs "saveenv" nicht vergessen! Ansonsten 
wird das Environment im Flash nicht aktualisiert. Die Baudrate würde ich 
aber Vorsichtshalber weglassen, wer weiß auf welche Rate sein U-Boot 
eingestellt ist.

> müsste das eigentlich booten. Eventuell musst du die baudrate und das
> ttySX anpassen für denie seriellen einstellungen.

Eine Ausgabe ist ja vorhanden. Das heißt, das das System grundsätzlich 
funktioniert, nur bekommt der Linux Kernel die falschen Boot Parameter 
und zickt dann verständlicherweise rum.

> Hast du /dev/sda2 als ext2,3,4?

Hoff ich, ansonsten ist es ein wunder, wie er mit U-Boot den Kernel von 
der Platte lesen kann. Wenn ich mich richtig erinnere habe ich in U-Boot 
kein VFAT Support drinnen ;).
gruß
Laszlo

von Jeija (Gast)


Angehängte Dateien:

Lesenswert?

Hallo tuxx und vielen Dank für deine Antwort!

Der Fehler war zwar nicht da wo du ihn vermutet hast, aber deine Antwort 
hat mich trotzdem auf die Idee gebracht:

> Hast du /dev/sda2 als ext2,3,4?

Ja, ich hatte ext2 als Dateisystem. Da kam immer der oben gepostete 
Fehler. Nachdem ich jetzt sda2 als ext3 formatiert habe, hat plötzlich 
alles funktioniert. Hat mich selber auch verwundert, aber von mir aus...

Im Anhang habe ich ein uBoot zum Flashen mit der flashme.exe mit dem 
neuen layout (gepostet von agentdata am 02.12.2011 19:41) für all 
diejenigen, die es sich nicht selbst kompilieren wollen.
Damit es funktioniert, muss folgendes gegeben sein:

Serielle Schnittstelle: /dev/ttyS1 115200n8 (J33 auf der Platine)
uImage:                 /dev/sda1 Festplatte ext2 formatiert unter 
/uImage (uImage enthalten im Rootfs, s.u.)
Rootfs:                 /dev/sda2 Festplatte ext3 formatiert (rootfs 
gepostet von tuxx42 am 25.11.2011 15:05)

Ich werde auch mal ein wenig nach dem wiki schauen... Leider noch ganz 
schön verwirrend.

Cheers,
Jeija

Ach ja Laszlo, auch danke dass du dir so viel Mühe gibst ^^ Hab ich aber 
erst zu spät gesehen.

von Ingmar K. (ingmar_k)


Lesenswert?

Auf welchem Filesystem das Rootfs liegt, kann man dem Kernel übrigens 
mit folgendem Bootarg mitteilen:

"rootfstype=ext3"

Natürlich den Typ entsprechend anpassen. ;-)

von Jeija (Gast)


Lesenswert?

Hallo!

Nachdem jetzt ein debian bootet, wollte ich versuche einige pakete zu 
installieren.
Zuerst habe ich die Paketlisten geupdatet per apt-get update.
Danach wollte ich mal probeweise ein Paket installieren,
dabei kommt aber immer folgendes raus:
1
devpool010 ~ # apt-get install htop
2
Reading package lists... Done
3
Building dependency tree       
4
Reading state information... Done
5
You might want to run 'apt-get -f install' to correct these:
6
The following packages have unmet dependencies:
7
 libstdc++6 : Depends: gcc-4.6-base (= 4.6.2-4) but 4.6.2-7 is to be installed
8
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

OK, also hab ich apt-get -f install ausgeführt.
1
devpool010 ~ # apt-get -f install
2
Reading package lists... Done
3
Building dependency tree       
4
Reading state information... Done
5
Correcting dependencies... Done
6
The following extra packages will be installed:
7
  libstdc++6
8
The following packages will be upgraded:
9
  libstdc++6
10
1 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.
11
Need to get 0 B/295 kB of archives.
12
After this operation, 0 B of additional disk space will be used.
13
Do you want to continue [Y/n]? Y
14
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 2589 package 'dpkg':
15
 missing description
16
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 2589 package 'dpkg':
17
 missing architecture
18
(Reading database ... 12353 files and directories currently installed.)
19
Preparing to replace libstdc++6 4.6.2-4 (using .../libstdc++6_4.6.2-7_mipsel.deb) ...
20
Unpacking replacement libstdc++6 ...
21
dpkg: error: parsing file '/var/lib/dpkg/status' near line 955 package 'tzdata':
22
 `Depends' field, invalid package name `debconf-2.0': character `.' not allowed (only letters, digits and characters `-+._')
23
E: Sub-process /usr/bin/dpkg returned an error code (2)

Dieses missing architecture - bedeutet das, dass es keine neuere 
libstdc++ für mipsel gibt? Letztendlich scheint das problem aber nur 
daran zu liegen, dass im Namen debconf-2.0 ein . enthalten ist.
Hat jemand schon das gleiche Problem gehabt? Wie geht die Lösung?
Ansonsten probier ich mal mir selber ein rootfs zu erstellen.

Grüße,
Jeija

von Jeija (Gast)


Lesenswert?

Sorry, ignoriert meinen Beitrag oben.
Ich habe den 2. Befehl:
apt-get -f install
noch ein paar mal ausgeführt, beim 10. mal oder so hats funktioniert.

Grüße,
Jeija

von overflowed (Gast)


Lesenswert?

Ich bin ein bisschen am verzweifeln, vielleicht kann mir mal jemand 
unter die Arme greifen.

I2C wird ja scheinbar für DVB-T gebraucht, also versuche ich mir einen 
Kernel (3.1) mit i2c und DVB zu bauen, ausgegangen bin ich von der 
Config aus dem Kermel des 3.1er Debian Systems hier im Thread.

Ich schaff es jedoch einfach nicht, dass kompilieren bricht immer mit:
1
LD      .tmp_vmlinux1
2
drivers/built-in.o: In function `i2c_gpio_setscl_dir':
3
i2c-gpio.c:(.text+0xb7548): undefined reference to `gpio_direction_input'
4
i2c-gpio.c:(.text+0xb7548): relocation truncated to fit: R_MIPS_26 against `gpio_direction_input'
5
i2c-gpio.c:(.text+0xb7550): undefined reference to `gpio_direction_output'
6
i2c-gpio.c:(.text+0xb7550): relocation truncated to fit: R_MIPS_26 against `gpio_direction_output'
7
drivers/built-in.o: In function `i2c_gpio_setsda_dir':
8
i2c-gpio.c:(.text+0xb7560): undefined reference to `gpio_direction_input'
9
i2c-gpio.c:(.text+0xb7560): relocation truncated to fit: R_MIPS_26 against `gpio_direction_input'
10
i2c-gpio.c:(.text+0xb7568): undefined reference to `gpio_direction_output'
11
i2c-gpio.c:(.text+0xb7568): relocation truncated to fit: R_MIPS_26 against `gpio_direction_output'
12
drivers/built-in.o: In function `i2c_gpio_getsda':
13
i2c-gpio.c:(.text+0xb7570): undefined reference to `gpio_get_value'
14
i2c-gpio.c:(.text+0xb7570): relocation truncated to fit: R_MIPS_26 against `gpio_get_value'
15
drivers/built-in.o: In function `i2c_gpio_getscl':
16
i2c-gpio.c:(.text+0xb7578): undefined reference to `gpio_get_value'
17
i2c-gpio.c:(.text+0xb7578): relocation truncated to fit: R_MIPS_26 against `gpio_get_value'
18
drivers/built-in.o: In function `i2c_gpio_setscl_val':
19
i2c-gpio.c:(.text+0xb7580): undefined reference to `gpio_set_value'
20
i2c-gpio.c:(.text+0xb7580): relocation truncated to fit: R_MIPS_26 against `gpio_set_value'
21
drivers/built-in.o: In function `i2c_gpio_setsda_val':
22
i2c-gpio.c:(.text+0xb7588): undefined reference to `gpio_set_value'
23
i2c-gpio.c:(.text+0xb7588): relocation truncated to fit: R_MIPS_26 against `gpio_set_value'
24
drivers/built-in.o: In function `i2c_gpio_probe':
25
i2c-gpio.c:(.devinit.text+0x30e0): undefined reference to `gpio_request'
26
i2c-gpio.c:(.devinit.text+0x30e0): relocation truncated to fit: R_MIPS_26 against `gpio_request'
27
i2c-gpio.c:(.devinit.text+0x30f8): undefined reference to `gpio_request'
28
i2c-gpio.c:(.devinit.text+0x30f8): relocation truncated to fit: R_MIPS_26 against `gpio_request'
29
i2c-gpio.c:(.devinit.text+0x3118): undefined reference to `gpio_direction_output'
30
i2c-gpio.c:(.devinit.text+0x3118): additional relocation overflows omitted from the output
31
i2c-gpio.c:(.devinit.text+0x312c): undefined reference to `gpio_direction_input'
32
i2c-gpio.c:(.devinit.text+0x3150): undefined reference to `gpio_direction_output'
33
i2c-gpio.c:(.devinit.text+0x3164): undefined reference to `gpio_direction_input'
34
i2c-gpio.c:(.devinit.text+0x3278): undefined reference to `gpio_free'
35
i2c-gpio.c:(.devinit.text+0x3280): undefined reference to `gpio_free'
36
drivers/built-in.o: In function `i2c_gpio_remove':
37
i2c-gpio.c:(.devexit.text+0xb0): undefined reference to `gpio_free'
38
i2c-gpio.c:(.devexit.text+0xb8): undefined reference to `gpio_free'
39
make: *** [.tmp_vmlinux1] Fehler 1

ab, sowohl in dem master als auch in der i2c git branch.

Der Kernel von
Autor: Joel T. (tuxx42)
Datum: 19.11.2011 13:06
scheint aber irgendwas an i2c zu laden, sata erkennt er jedoch nicht und 
usb fs will er bei mir auch nicht. Die Meldung:
i2c /dev entries driver
macht mich jedoch zuversichtlich.

Hat eventuell jemand einen 3.1er Kernel mit dvb den er bereitstellen 
würde, oder weiß wo der Hund begraben ist?

Viele Grüße

von Ingmar K. (ingmar_k)


Lesenswert?

Also wenn ich das richtig sehe kann das noch gar nicht gehen, weil der 
passende Treiber noch nicht portiert ist. Sofern ich das richtig 
verstanden habe, wollte Joel das mal in Angriff nehmen, kam aber bisher 
(wahrscheinlich zeitlich bedingt) einfach nicht dazu.

Sprich, entweder selber basteln, oder abwarten. ;-)

von Christian B. (9chicane9)


Lesenswert?

Hallo!

Ich bin neu hier am Board, hab aber fast alle Beiträge gelesen (fast ein 
Tag Arbeit) und möchte hier ein grosses Lob an die Forscher und 
Entwickler aussprechen! Tolle Arbeit.

Ich arbeite seit 1995 mit Linux und Unix und hab auch elektrotechnische 
und elektronische Ausbildung.
Leider ist mein know-how bei embedded systems nicht so gross und ich 
habe wenig Ahnung vom cross-compilen und von Nand's etc.
Einzig ein wenig Erfahrung mit NSLU2(mit SlugOS-BE und native compiler), 
WRT, Dream 7025+ und Clarke Tech ET9000.

So nun endlich zum Problem:
Habe hier in Österreich bei einem Restpostenhändler billig diese Boards 
und Gehäuse bekommen und gleich drei bestellt. Habe erst danach 
rausgefunden dass es die bei Pollin gibt und über Google dann auch 
dieses Forum gefunden.
Am Wochenende hab ich dann begonnen laut Wiki mit flasher.exe im 
Originalsystem zu flashen - Vorgang ohne fehler - neustart - Telegent 
screen hängt beim booten, auf der seriellen sagt er, dass WinCE 
irgendwas nicht findet.
Reflash vom USB, 4mal bis hundert gezählt, alles wieder im 
Ausgangszustand!
Danach flasher ausgeführt und nur loader und kernel geflasht, neustart 
und ich hatte den flasher auf der Konsole.
u-boot.img raufgespielt, bei nand write $(loadaddr) nehme ich an das man 
da 82000000 reinschreibt (wie bei loadb halt) und die grösse die er nach 
dem Übertragen meldet.
er löscht, er schreibt, ich mache reset - alles beim alten.
Ich versuche das mit TFTP, aber das kennt er nicht.
ich lade das linux mit kermit rauf (1,5Stunden) -> zu gross für nand 
write
Verzweiflung kommt auf - Ich probier es mit WinCE - nach 30 min 
übertragungsfehler - Box hängt - nichts geht mehr!

Was hab ich falsch gemacht bzw wie mache ich es bei den nächsten Boxen 
richtig?
Ist die erste Box nun als Wanddeko zu verwenden oder gibt es schon 
irgendwelche Möglichkeiten (JTAG/EJTAG) oder sonstiges??

Danke schon mal!

von Klaus R. (ruebi)


Lesenswert?

Ich hätte noch einen vollständig zusammengebauten und funktionierenden 
Pollin-Receiver (inkl 160GB SATA + WLAN-Karte) abzugeben. Ernste 
Angebote unter ru7388 aet web.de.

von overflowed (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Christian B., kann es sein, dass du wieder blos ein uboot, das als 
flasher geschrieben wurde in den NAND geschrieben hast?
JTAG oder anderes geht nicht. Kannst du mit beiden DIP's auf off noch 
die flashme.exe starten? Falls ja kannst du ja noch u-boot flashen.

Ich habe hier mal meine aktuelle Variante des Sticks angehängt.
Sollte auf einen Fat32 formatierten USB Stick (in cfdisk type 0B, danach 
mkfs.vfat).
Entweder flashme.exe aus dem Auslieferungszustand ausführen oder wenn 
schon einmal mit flashme.exe geflasht dip's auf off und mit angestecktem 
Stick starten. Auf dem Scart Ausgang erscheint dann die flashme.exe mit 
1 u-boot flashen und mit 2 kernel flashen, falls in dem 
Auslieferungszustand auch
mit 3 das wince flashen.
Ausschalten dip 1 wieder auf on stellen und stick abziehen.

Als rootfs kann das hier im Thread verlinkte DebianMIPSEL genommen 
werden. Dies muss in ein ext3 FS. Rootfs via USB oder SATA anschließen 
(der Kernel bootet von beidem, muss jedoch auf der ersten Partition der 
ersten Platte liegen, also /dev/sda1). Anschalten und an einem Debian 
ohne DVB auf der Box erfreuen.

Serielle Konsole ist in U-Boot und währen des Bootens auf J33 bei 38400, 
nachdem der Kernel geladen ist muss dies auf 115200 gestellt werden und 
man erhält einen Login.

Bevor der Kernel vom NAND geladen wird hat u-boot einen 2sec Timeout 
dort kann man den boot abbrechen und zum Beispiel, die IP oder das 
bootdevice ändern (setenv, saveenv).

von Robert H. (1robert)


Lesenswert?

Hallo Ihr Lieben,

erstmal Danke an alle, die diesen wahnsinns Threat, und das umfangreiche 
Wiki geschrieben haben.

Ich habe eigentlich vor, mir mithilfe der Anleitung im Wiki, die Medion 
FW zu Flashen und das ding als DVB-T Recorder zu nutzen. Das ist mir 
auch gelungen, aber meine Box findet keinen Sender, egal welche 
Suchlaufvariante ich auch probiere. Als erstes habe ich es mit dem 
swu.zip aus dem Wiki versucht. Da dürfte zwar der Bootloader 
funktionieren (Startbildschirm mit rotem Balken), aber mit der Software 
für die Festplatte hats was, weil nachdem er Hochgefahren ist kommt ein 
4 Zeiliges Menü ohne Textinhalt. Egal was ich dann drücke, da passiert 
eigentlich nix mehr. Was mach ich falsch ?

Nagut, als nächstes hab ich die swu_part1.rar und swu_part2.rar aus dem 
Wiki runtergeladen, wobei ich festgestellt habe das sich part2 nicht 
fehlerfrei Entpacken lässt. Es schaut aber eigentlich so aus wie wenn in 
Part1 und Part2 eh das gleiche drinnen sein sollte ? Und, das ist 
offensichtlich eine andere Version wie im swu.zip das ich vorher 
probiert habe. Wie auch immer, habe den Inhalt von Part1 auf die 
Festplatte kopiert, und siehe da, es funktioniert !
Es gibt ein Menü, das auf Kommandos von der Fernsteuerung auch wie 
erwartet reagiert. Also gleich in die Sendereinstellungen gegangen und 
Suchlauf gestartet, aber wie am Anfang schon erwähnt, er findet keinen 
einzigen Sender :-) Antenne hab ich natürlich dran, auch das kurze 
Antennenkabel zwischen den Tunern.

Fehlen da vieleicht Dateien aus dem beschädigten swu_part2 ? Habt ihr 
das Problem auch ?

Freu mich über jede Antwort.

lg
Robert

von overflowed (Gast)


Lesenswert?

Ich möchte noch kurz hierzu:

Autor: overflowed (Gast)
Datum: 20.12.2011 12:49
Angehängte Dateien:

    u-boot-stick.tar.gz (4,2 MB, 3 Downloads)

etwas anmerken. Wenn von USB gebootet werden soll, darf dass 
Netzwerkkabel erst nach dem laden des rootfs passieren, da er sonst 
scheinbar erst gar nicht nach USB Massenspeicher sucht.
Zu SATA kann ich nichts sagen, mangels test.
Falls er jedoch das rootfs nicht findet würde ich einfach mal ohne 
eingestecktes Netzwerkkabel booten.

von Thomas K. (agentdata)


Angehängte Dateien:

Lesenswert?

Hallo Laszlo,

ich hatte heute etwas Zeit und hab mich nochmal an das flashme tool 
rangesetzt und etwas universeller gestaltet.
Die zu flashenden files müssen jetzt mit einem header versehen sein 
(siehe dazu mkpollinux.c) und die flashme.exe schreibt nacheinander alle 
*.bin files die auf dem Stick gefunden werden. Eine interaktion im Sinne 
von "Knopf drücken" ist nicht mehr nötig.

Der Header in den zu flashenden Files entspricht zu 100% dem von dir 
vorgeschlagenen Layout.

Ich habe die flashme.exe vorbereitet verschiedene ecc bzw oob layouts 
flashen zu können - bin mir aber nicht sicher ob das Sinn macht und so 
funktionieren kann. Schau es dir bitte mal an und sag mir was du davon 
hälst.

[in flashme.c vorbereitet aber ungetestet]
switch( FlashHeader.flags )
{
  case 1:
    // linux_ecc only
    memset( SpareData, 0xFF, 16 );
    linux_old_calc_ecc((UCHAR *)lpVirtualAddress, &SpareData[0]);
    linux_old_calc_ecc(((UCHAR *)lpVirtualAddress)+256, &SpareData[3]);
    SpareData[6] = SpareData[4];
    SpareData[7] = SpareData[5];
    SpareData[4] = 0xFF;
    SpareData[5] = 0xFF;
    NAND_WriteSpareData( WriteAddress, &SpareData );
    break;
  case 2:
    // wince_ecc and linux_ecc
    NAND_ReadSpareData( WriteAddress, &SpareData );
    linux_old_calc_ecc((UCHAR *)lpVirtualAddress, &SpareData[0]);
    linux_old_calc_ecc(((UCHAR *)lpVirtualAddress)+256, &SpareData[3]);
    SpareData[6] = SpareData[4];
    SpareData[7] = SpareData[5];
    SpareData[4] = 0xFF;
    SpareData[5] = 0xFF;
    NAND_WriteSpareData( WriteAddress, &SpareData );
  default:
    //wince_ecc only
    break;
}


[option flags (ecc_type) noch nicht in mkpollinux cmdline implementiert]
/* construct flashfile header */
  fseek(output, 0, SEEK_SET);
  fputc(HEADERVERSION, output);             // version
  fwrite(crc_ccitt_crc(), 1, 2, output);    // crc
  /* 0x00=wince_ecc  0x01=linux_ecc  0x02=both  untested! */
  fputc(0x00, output);                      // flags
  fwrite(address, 4, 1, output);            // start
  fwrite(&offset, 4, 1, output);            // size
                                            // reserved

Gruß
Thomas

von Christian B. (9chicane9)


Angehängte Dateien:

Lesenswert?

@overflowed: Danke für deine Antwort.

Mein Board ist nicht tot - nach 17 mal aus und einschalten hatte ich 
plötzlich wieder den flasher# auf J2! Wie das geht, weiss ich nicht!
Meine Dip's sind beide auf off, allerdings ist kein WinCE mehr im flash 
wie es aussieht (Bild ist und bleibt immer schwarz)- und ich hab auch 
keine Ahnung wie ich dort wieder eins hinbringe :-(

Auf J33 kommt bei mir gar nichts (Pinbelegung fehlt übrigens im WIKI - 
ist nur hier im Forum zu finden) nur auf J2 hab ich Ausgaben.

Da ich mit dem Konsolen-flasher leider nicht so gut Freund bin, weil ich 
noch nicht ganz verstanden hab was er tut - trau ich mich nicht so recht 
herumspielen.

Die Speicherbereiche und die flasher-Befehle habe ich trotz vielen 
lesens noch nicht entschlüsseln können. (Hab bei meinen Versuchen nur 
die Anleitung vom Wiki abgetippt).

Für dezente Hinweise bin ich sehr dankbar!

P.S.: hab heute beim Lesen gesehen, dass es in diesem Forum bereits 
einen Christian B. gibt - Sorry - Ich werd bei mir noch einen Buchstaben 
anfügen um Verwechslungen vorzubeugen!

von Christian B. (9chicane9)


Lesenswert?

mein letzter Post

OK - ich habs verstanden! - Danke für die Mühe und sorry für den 
verschwendeten HTML-space!

Hab wohl die älteste Version erwischt. Mit der von overflowed hab ich 
die Ausgabe nun auf J33 RX2/TX2 gefunden.

Auch die Doku (help) ist nun aussagekräftiger!

Jetzt kann ich weiterspielen.....

von Harald K. (uturtle)


Lesenswert?

Hallo mc.net!

trotz vieler toller infos hier im board und im artikel 
"Receiver-Mainboard Plattform Philips PNX8950" habe ich noch so meine 
probleme, Linux komplett gebootet zu bekommen.

mein ziel: die box erstmal als reiner VDR-client ans laufen zu bekommen, 
also "nur" abspielen von aufnahmen via NFS, kein DVB empfang (das macht 
schon ein DVB-S server im netz;).  spaeter dann mal aufnahmen 
programmieren im remote VDR-server, und viel spaeter auch mal lokal 
aufnehmen und auf DVB-S umbauen?!?


ich habe uboot mit dem PNX8950-artikel prima ans laufen bekommen (danke 
dafuer!!), und Pollinux-NFS-root-Edition-2011.07.08-22.28.tar.bz2 
erscheint mir als ganz guter start?!

aber: welchen kernel booten, bzw. wie ???

dieser uboot will ueber nfs /pollinux/nandfs/boot/uImage booten, aber 
woher finde ich ein passendes uImage version 2.6.21 oder 2.6.23 passend 
zu den kernel modulen in Pollinux-NFS-root-Edition ? im root-Edition tar 
file ist leider gar kein uImage enthalten...

bislang konnte ich nur ein uImage version 3.1.0 im forum finden. das 
bootet auch prima ueber nfs und ich komme in die busybox, nur fehlen 
eben alle wichtigen kernel-module:-(


alternativ: wie muss man denn den kernel aus dem geflashten U-Boot.zip 
(00040000_00600000__kernelfs.bin) aus dem flash laden und starten ?  in 
diesem kernelfs.bin steckt laut "strings ..." ein 2.6.21 kernel drin, 
nur bekomme ich ihn leider nicht gebootet:-(


fuer ein paar tipps zur starthilfe waere ich sehr dankbar!!

von Laszlo H. (laszlo_h)


Angehängte Dateien:

Lesenswert?

Thomas K. schrieb:
> Ich habe die flashme.exe vorbereitet verschiedene ecc bzw oob layouts
> flashen zu können - bin mir aber nicht sicher ob das Sinn macht und so
> funktionieren kann. Schau es dir bitte mal an und sag mir was du davon
> hälst.

Hört sich wirklich cool an. Vor allem die ECC Berechnung wäre 
interessant auch wenn es eine echte Verschwendung von Bytes ist und 
JFFS2 damit flach fällt (da dieser ebenfalls ~6 Byte an Daten im OOB 
braucht). Ich weiß leider nicht, wann ich ich genug Zeit finden werde um 
es mir genauer anzuschauen. Vielleicht dieses WE, könnte aber auch sehr 
gut erst im nächsten Jahr sein (sind ja nicht mehr viele Tage).

Christian Bu. schrieb:
> Mein Board ist nicht tot - nach 17 mal aus und einschalten hatte ich
> plötzlich wieder den flasher# auf J2! Wie das geht, weiss ich nicht!
> Meine Dip's sind beide auf off, allerdings ist kein WinCE mehr im flash
> wie es aussieht (Bild ist und bleibt immer schwarz)- und ich hab auch
> keine Ahnung wie ich dort wieder eins hinbringe :-(

Wenn du ein Linux hochbooten kannst gibt es einige Seiten vorher ein 
Package von mir, dass (mit hoher Wahrscheinlichkeit) dein WinCE wieder 
hinbiegen kann. Du könntest es mal mit dem versuchen, da das Paket den 
Bootloader in Ruhe lässt sollte er ungefährlich für U-Boot und Co sein.

Harald Koenig schrieb:
> dieser uboot will ueber nfs /pollinux/nandfs/boot/uImage booten, aber
> woher finde ich ein passendes uImage version 2.6.21 oder 2.6.23 passend
> zu den kernel modulen in Pollinux-NFS-root-Edition ? im root-Edition tar
> file ist leider gar kein uImage enthalten...

Das ist logisch, der Kernel liegt ja bei Elecard im Flash, somit ist es 
unnötig es ins Filesystem zu packen. Wenn der 3.1-er Bootet ist es nur 
noch ein kleiner Schritt bis Elecard.

Ich habe ein uImage mit dem 2.6.21.3 Kernel von Elecard angehängt. 
Leider weiß ich nicht, ob es bootbar ist, habe schon seit paar Wochen 
leider keine Zeit für die Box gefunden. Wenn du einen aktuellen U-Boot 
hast sollte auch das Image Format lesbar sein. Versuch den über das 
Netzwerk zu laden, vielleicht geht er ja. Nicht erschrecken bei der 
Ausgabe, wenn ich mich richtig erinnere habe ich das letzte Mal ein 
wenig an ihm herumgepatcht. Sollte aber noch funktionstüchtig sein, wenn 
nicht, mit diesen Befehlen kannst du ein eigenes Image erstellen:
1
dd if=00040000_00600000__kernelfs.bin of=vmlinux.raw bs=512 skip=2
2
gzip --force --best vmlinux.raw
3
/path/to/your/u-boot/git/tools/mkimage -A mips -O elecard -T kernel -C gzip -a 0x80060000 -e 0x803a9000 -n "Elecard Linux 2.6" -d vmlinux.raw.gz uImage

Das daraus erstellte uImage sollte nun bootbar sein.
gruß
Laszlo

von Harald K. (uturtle)


Lesenswert?

Hallo Laszlo!

danke fuer deine schnelle antwort!

> Das ist logisch, der Kernel liegt ja bei Elecard im Flash, somit ist es
> unnötig es ins Filesystem zu packen. Wenn der 3.1-er Bootet ist es nur
> noch ein kleiner Schritt bis Elecard.

was genau ist "Elecard" (oder wo bekomme ich das her) ?

> Ich habe ein uImage mit dem 2.6.21.3 Kernel von Elecard angehängt.
> Leider weiß ich nicht, ob es bootbar ist, habe schon seit paar Wochen

leider nicht. habe es uebers netz gebootet und nach dieser ausgabe ist 
schluss:

Bytes transferred = 3233564 (31571c hex)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Elecard Linux 2.6
   Created:      2011-12-07  16:01:46 UTC
   Image Type:   MIPS Unknown OS Kernel Image (gzip compressed)
   Data Size:    3233500 Bytes = 3.1 MiB
   Load Address: 80060000
   Entry Point:  803a9000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

auch ueber J33 scheint nachwievor nichts zu gehen, an der schnittstelle 
allein sollte es nicht liegen?!

>
1
dd if=00040000_00600000__kernelfs.bin of=vmlinux.raw bs=512 skip=2
2
3
mit "skip=2" hat das raw file zu beginn noch einen 1K block null-bytes.
4
5
> gzip --force --best vmlinux.raw
6
> /path/to/your/u-boot/git/tools/mkimage -A mips -O elecard -T kernel -C
7
> gzip -a 0x80060000 -e 0x803a9000 -n "Elecard Linux 2.6" -d
8
> vmlinux.raw.gz uImage
>
> Das daraus erstellte uImage sollte nun bootbar sein.


sowohl mit skip=2 als auch mit skip=4 hoert der boot via nfs nach dieser 
ausgaben auf:

## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Elecard Linux 2.6
   Created:      2011-12-22   2:10:49 UTC
   Image Type:   MIPS Unknown OS Kernel Image (gzip compressed)
   Data Size:    3476074 Bytes = 3.3 MiB
   Load Address: 80060000
   Entry Point:  803a9000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK


irgendwas laeuft da wohl noch falsch ?!?

oder geht der "elecard" kernel evtl. doch auf die J33 schnittstelle und 
ich brauche ne zweite serielle schnittstelle ?
wuerde mich jedoch wundern, denn nach dem booten und umstecken auf J33 
bekomme ich dort zumind. keine busybox...

schonmal danke fuer die infos und einblicke!!

von Laszlo H. (laszlo_h)


Lesenswert?

Harald Koenig schrieb:
> was genau ist "Elecard" (oder wo bekomme ich das her) ?

Elecard nenne ich halt das gesamte Paket für den PNX8550, also 
Bootloader, Kernel und Root Filesystem. Und der Elecard Kernel ist halt 
der Kernel mit dem Namen 2.6.21.3PNX8550.

Harald Koenig schrieb:
> mit "skip=2" hat das raw file zu beginn noch einen 1K block null-bytes.

Das ist ok so, wenn du dir ein Vanilla Kernel anschaust hat der auch am 
Anfang ein 0-Byte Block (ROM Vektoren, wenn ich mich nicht irre).

Harald Koenig schrieb:
> Image Type:   MIPS Unknown OS Kernel Image (gzip compressed)

Dein U-Boot ist zu alt und er erkennt den "speziellen" OS, den ich für 
die Variablenübergabe zu Elecard hinzu gefügt habe nicht. Versuch es mit 
einem neu kompilierten U-Boot aus dem HEAD vom git master. Damit Sollte 
er dann loslaufen.
gruß
Laszlo

von Harald K. (uturtle)


Lesenswert?

Laszlo H. schrieb:

> Dein U-Boot ist zu alt und er erkennt den "speziellen" OS, den ich für
> die Variablenübergabe zu Elecard hinzu gefügt habe nicht. Versuch es mit
> einem neu kompilierten U-Boot aus dem HEAD vom git master. Damit Sollte
> er dann loslaufen.

erstmal hatte ich den uboot aus "u-boot-stick.tar.gz" geflashed,
aber da ging dann gar nix mehr -- so lernte ich dann den WinCE flasher 
lieben;-)

ACK! mit neuem selbstgebauten u-boot startet nun der extrahierte 
2.6.21.3 kernel via nfs.
damit bekomme ich nun schonmal ein bild auf dem TV -- super!
dein neuerer(?) kernel bootet nun auch:
     Linux version 2.6.21.3PNX8550 (root§smithy) (gcc version 4.0.0 
(DENX ELDK 4.0 4.0.0)) #1743 Fri Feb 11 10:49:15 OMST 2011

es hagelt zwar noch so einige "Unknown symbol"s beim module laden:

  phStbRpc: Unknown symbol lud_new_read_channel
  phStbRpc: Unknown symbol lud_new_write_channel
  phStbRpc: Unknown symbol lud_write_channel_ex
  phStbRpc: Unknown symbol lud_get_node_link
  phStbRpc: Unknown symbol lud_read_channel
  phStbRpc: Unknown symbol lud_new_read_channel
  phStbRpc: Unknown symbol lud_new_write_channel
  phStbRpc: Unknown symbol lud_write_channel_ex
  phStbRpc: Unknown symbol lud_get_node_link
  phStbRpc: Unknown symbol lud_read_channel
  phStbStreamingSystem: Unknown symbol phStbRpc_ProxyInit
  phStbStreamingSystem: Unknown symbol phStbRpc_RpcCall
  ....
aber es laeuft schon mal viel besser!!!


da liegt nun auch so suggestiv ein OGG file 
"2007-omc3-113_verses-quest.ogg" rum,
womit kann ich das denn abspielen fuer einen ersten audio-test ?

"ogg123 *.ogg" liefert nur

ALSA: underrun, at least 0ms.03:40.47  (114.6 kbps)  Output Buffer 
33.3%
ALSA: underrun, at least 0ms.03:40.47  (123.6 kbps)  Output Buffer 
33.3%
...

und ich hoere noch nichts:-(
alsamixer sieht eigentlich gut aus?!


aber fuer heute finde ich das schonmal klasse!!!


fragen fuer morgen:

wie bekomme ich ein eigenes bild auf den video-ausgang, wie audio ?
gibts einen "einfachen" mpeg2-abspieler ?

kann man evtl. ein vdr binary zum testen runterladen ?

wobei kann man aktuell helfen?



erstmal wieder danke an deinen tollen support!!!

von Markus .. (c_classic)


Lesenswert?

Hallo,

da ich jetzt auch Zeit hab mich mit der Box zu befassen wollte ich den 
Cross-Compiler installieren, jedoch ist mir ein Punkt im Wiki unklar.

Für die Installation des ELDK wird auf die Anleitung des Herstellers [1] 
verwiesen. Jedoch werde ich aus dieser nicht ganz schlau. Es gibt dort 
jede Menge verschiedene "Pakete". (base, basic, clutter, core, ...) 
Welche davon brauche ich jetzt für die Entwicklung auf dem Receiver? 
Könnte jemand die Kommandozeile für das install.sh-Script posten?

Ebenfalls wird gesagt, dass man ELDK 4.1 verwenden soll. Ist dies 
wirklich nötig oder kann ich auch die aktuelle Version (5.1) verwenden?

MfG
Markus

----------------------------------
[1]: http://www.denx.de/wiki/view/ELDK-5/WebHome#Section_1.6.

von Harald K. (uturtle)


Lesenswert?

Markus .. schrieb:

> da ich jetzt auch Zeit hab mich mit der Box zu befassen wollte ich den
> Cross-Compiler installieren, jedoch ist mir ein Punkt im Wiki unklar.

fuer welche linux distro?

ich habe mir gerade fuer meine opensuse 12.1 diesen gcc hier geholt

    http://www.linux-mips.org/pub/linux/mips/crossdev/x86_64-linux/mipsel-linux/

und damit zumind. schon mal den u-boot erfolgreich uebersetzt und 
gebootet...
(fuer suse 12.1 braucht man fuer diesen gcc nur noch eine aeltere libgmp 
und libmpfr, fuer 11.4 die pakete libmpfr1 und libgmpxx4).

von Markus .. (c_classic)


Lesenswert?

Ich arbeite unter Ubuntu. Deswegen wird im Wiki auf "Generischer Linux" 
verwiesen.

Danke für den Link. Werde mir das mal ansehen. Notfalls mal auf meim 
OpenSuse Notebook installieren.

Aber was ist dann das Embedded Linux Development Kit (ELDK)? Steckt da 
auch der MIPS-GCC dahinter? Im Wiki-Artikel [1] steht nämlich kein 
Eintrag zum GCC direkt. (Außer das wäre crosstool-ng)

MfG
Markus

----------------------
[1]: 
http://www.mikrocontroller.net/articles/Receiver-Mainboard_Plattform_Philips_PNX8950#Generischer_Linux

von Harald K. (uturtle)


Lesenswert?

Markus .. schrieb:
> Ich arbeite unter Ubuntu. Deswegen wird im Wiki auf "Generischer Linux"
> verwiesen.
>
> Danke für den Link. Werde mir das mal ansehen. Notfalls mal auf meim
> OpenSuse Notebook installieren.

immer gut, aber nur dafuer muss das nicht unbedingt sein.

wenn du keine gcc-pakete speziell fuer ubuntu findest, dann einfach die 
RPMs mit "alien" in ubuntu-pakete umwandeln und installieren (oder in 
einfache tar files, ganz nach wunsch):

       http://kitenet.net/~joey/code/alien/

       alien --to-deb gcc.rpm
       ...

von Markus .. (c_classic)


Lesenswert?

OK danke für den Tipp.

Jedoch installiere ich mir jetzt erstmal ein 64Bit-System (Fedora 16). 
Wenn ich das recht gesehen habe braucht der aktuelle GCC bei deinem Link 
dies. Jedenfalls ist mein Paketmanager beim 32Bit OpenSuse 11.4 immer 
abgestürzt. (Auch bei den x386-Versionen)

Aber irgendwie glaube ich, dass ich mal wieder alles komplizierter mache 
als nötig...

von Harald K. (uturtle)


Lesenswert?

Markus .. schrieb:
> Aber irgendwie glaube ich, dass ich mal wieder alles komplizierter mache
> als nötig...

ja;-)  dort haette es auch 32bit-pakete gegeben:

http://www.linux-mips.org/pub/linux/mips/crossdev/i686-linux/mipsel-linux/

von Markus .. (c_classic)


Lesenswert?

Harald Koenig schrieb:
> dort haette es auch 32bit-pakete gegeben:

Ja, die hatte ich auch gesehen, aber bei denen ist der Paketmanager 
genauso abgestürzt. :(
Jetzt unter Fedora 16 64Bit gehts einwandfrei.
Und außerdem sind die 32Bit Pakete soweit ich das seh nur in älteren 
Versionen verfügbar.

von Laszlo H. (laszlo_h)


Lesenswert?

Alle in der Wiki aufgeführten Development Kits verwenden den GCC. Der 
4.1-er wird empfohlen, da dieser von mehreren Benutzers schon länger 
erfolgreich verwendet wird (und der der 4.2-er und der 5.0-er kein MIPS 
Target hat). Du kannst natürlich den 5.1-er installieren. Um was ich 
dich dann aber bitten würde ist ein Test ob U-Boot bzw. der Linux Kernel 
damit funktionieren und danach ein kurzer Eintrag in der Wiki.

Mit Alien Packages würde ich äußerst acht geben, damit kannst du dir 
sehr schnell dein System zerschießen. Dann schon lieber selber 
kompilieren und unter /opt (also außerhalb der Pfade der 
Paketverwaltungsystems) installieren.
gruß
Laszlo

von Markus .. (c_classic)


Lesenswert?

So... hab jetzt U-Boot mit dem mipsel gcc 4.5.1 kompiliert und geflasht 
und es scheint soweit zu funktionieren. (Zumindest erhalte ich flasher# 
an J33)

Das einzige was mich irritiert ist:
1
[...]
2
Bad Block table at page 1120, version 0x01
3
Bad Block table at page 1152, version 0x01
4
*** WARNING - bad CRC, using default environment
5
[...]

Ist das ein Problem oder kann ich das einfach ignorieren?

von Laszlo H. (laszlo_h)


Lesenswert?

Markus .. schrieb:
> Das einzige was mich irritiert ist:[...]
> Bad Block table at page 1120, version 0x01
> Bad Block table at page 1152, version 0x01

Das sind die BBTs, das sollte so sein, also nichts aufregendes. Die Bad 
Blocks kannst du mit dem Befehl "nand bad" ausgeben. Es sollten 
zumindest 2 Blöcke als fehlerhaft gekennzeichnet sein (dort, wo die BBTs 
abgelegt sind).

> *** WARNING - bad CRC, using default environment

Das ist auch in Ordnung, du startest U-Boot zum ersten Mal. Die Warnung 
sagt dir nur, dass kein U-Boot Environment gefunden wurde und das 
Default aus pollinux.h verwendet wird. Diesen kannst du nun an deine 
Bedürftnisse anpassen und anschließend mit "saveenv" im Flash ablegen. 
Weitere Infos findest du in der U-Boot Doku.
gruß
Laszlo

von Markus .. (c_classic)


Lesenswert?

Und jetzt kommen die Dinge, die im Wiki noch nicht beschrieben sind, 
oder?

Das heißt ich stehe (bei meinem aktuellen Wissensstand) vor folgenden 
Problemen:
1) Welche env.-Einstellungen brauche ich, um über USB zu booten? Denke 
mal da muss ich mich durch die u-boot/README quälen.
2) Wo bekomm ich einen fertigen Kernel her? Da bleibt wohl nur selbst 
kompilieren und da muss ich mich auch erst einlesen.

Sind diese Fragen hier im Forum bereits beantwortet oder "darf" ich mir 
das selbst zusammensuchen?

MfG
Markus

von Markus .. (c_classic)


Lesenswert?

btw.: Was genau ist eigentlich die u-boot.img und warum muss ich die, 
nachdem U-Boot über den Stick geflasht wurde, mit kermit 
übertragen/flashen? [1]
Zu welchem Zeitpunkt muss man die env-Variablen setzen?
----------------------
[1]: 
http://www.mikrocontroller.net/articles/Receiver-Mainboard_Plattform_Philips_PNX8950#U-Boot_Flashen

von overflowed (Gast)


Lesenswert?

Also, du kannst beim erstellen von u-boot verschiedene Targets angeben, 
für den Pollin Receiver gibt es zwei, eins zum flashen und eins zum 
eigentlichen booten. Im Wiki stehen die targets.

Einfach kannst du sie daran erkennen ob der Prompt mit flasher# oder nur 
mit # beginnt.

Die Version zum flashen kannst du nehmen, um z.B. einen Kernel oder ein 
anderes u-boot selbst in den nand zu schreiben. Zum booten ist sie 
jedoch die flasche Wahl, daher kommt es, dass du ein u-boot.img per 
kermit übertragen sollst.

Du kannst jedoch auch die flashme.exe nehmen um die entsprechenden 
Sachen inkl u-boot in den nand zu schreiben, siehe weiter oben die 
u-boot-stick.tar.gz Konsole gibt es auf J33 mit 38400. Der enthält ein 
u-boot zum booten und eine flashme.exe zum flashen, sowie einen Kernel.

Die env Variablen musst du nicht unbedingt setzen, in jedem u-boot sind 
schon ein paar per default gesetzt. wenn die für dich passen, ist alles 
gut, sonst änder sie nach deinen wünschen mit setenv ab und speichere 
sie dauerhaft mit saveenv. Du kannst auch wenn sie passen und dich die 
Warnung nervt einmal saveenv ausführen, notwendig ist es aber nicht.

Viele Grüße
  overflowed

von Laszlo H. (laszlo_h)


Lesenswert?

overflowed schrieb:
> Also, du kannst beim erstellen von u-boot verschiedene Targets angeben,
> für den Pollin Receiver gibt es zwei, eins zum flashen und eins zum
> eigentlichen booten. Im Wiki stehen die targets.
>
> Einfach kannst du sie daran erkennen ob der Prompt mit flasher# oder nur
> mit # beginnt.
>
> Die Version zum flashen kannst du nehmen, um z.B. einen Kernel oder ein
> anderes u-boot selbst in den nand zu schreiben. Zum booten ist sie
> jedoch die flasche Wahl, daher kommt es, dass du ein u-boot.img per
> kermit übertragen sollst.

Mehr oder weniger. Die Flasher Version ist so weit abgespeckt, dass sie 
mit dem original flashme.exe aus dem alten Flash Package (ich meine 
nicht die neuen Versionen auf dieser Seite) programmiert werden kann. 
Mit diesem kann dann das normale U-Boot, das größer ist als 240kB, 
eingespielt werden. Aus diesem Grund hat es auch weder Netzwerk noch 
SATA Unterstützung.

Dieser wird aber seit kurzem nicht gebraucht. Ich aktualisiere mal bei 
Zeiten die WIki, sobald ich den neuen Flasher getestet habe. Wird aber 
wohl nicht vor dem 29. sein.
gruß und frohe Weihnachten
Laszlo

von Markus .. (c_classic)


Lesenswert?

Danke für eure Antworten! Habe jetzt das umfangreichere U-Boot (#) 
drauf. (Einfach die u-boot-stick.tar.gz über WinCE geflasht)

Nun die Frage: Woher bekomme ich einen Kernel bzw. gibt es momentan eine 
Anleitung zum Selberkompilieren (speziell für die Box).

overflowed schrieb:
> Du kannst jedoch auch die flashme.exe nehmen um die entsprechenden
> Sachen inkl u-boot in den nand zu schreiben, siehe weiter oben die
> u-boot-stick.tar.gz Konsole gibt es auf J33 mit 38400. Der enthält ein
> u-boot zum booten und eine flashme.exe zum flashen, sowie einen Kernel

Jedoch erhalte ich beim Starten diese Fehlermeldung:
1
** No boot device **
2
Wrong Image Format for bootm command
3
ERROR: can't get kernel image!

Muss ich den von die genannten Kernel erst noch flashen oder hab ich 
grundlegend was falsch verstanden?

Euch allen auch noch ein schönes Fest!

MfG
Markus

PS: Ansonsten warte ich einfach mal bis die Wiki aktuell ist und 
verstecke die wichtigen Beiträge nicht zwischen meinen "Anfängerfragen".


EDIT:
OK... hab jetzt ein Image über cKermit geschickt und konnte das soweit 
starten. (Endete zwar erstmal in ner Kernel-Panic aber es ist ein 
Fortschritt :))

von Harald K. (uturtle)


Lesenswert?

Hi,

wollte heute meinen eigenen kernel (3.1.4) bauen & booten, aber beim 
booten (via uImage via nfs) ist nach diesem output schluss (uboot ist 
aus u-boot-stick.tar.gz):

--- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
Filename '/pollinux/nandfs/boot/uImage'.
Load address: 0x82000000
Loading: 
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ########################
done
Bytes transferred = 2115796 (2048d4 hex)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   MIPS
   Created:      2011-12-29  22:11:53 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    2115732 Bytes = 2 MiB
   Load Address: 80060000
   Entry Point:  80394760
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 3.1.4.3PNX8550 (harald@harald) (gcc version 4.5.1 (GCC) ) 
#1 Thu Dec 29 22:17:03 CET 2011
CPU revision is: 00061200 (Philips PR4450)
Determined physical RAM map:
 memory: 08000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00008000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00008000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 
32512
Kernel command line:  console=ttyS1,38400n8 stb810_display=pal 
nomainapp=1 printk.time=1 root=/dev/nfs rw 
nfsroot=192.168.178.40:/pollinux/nandfs ip=192.168.178.191
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 
bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 
bytes)
[    0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 32 
bytes.
[    0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, 
linesize 32 bytes
[    0.000000] Memory: 124752k/131072k available (3322k kernel code, 
6320k reserved, 1111k data, 232k init, 0k highmem)
[    0.000000] NR_IRQS:128
--- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---

ist das zufaellig ein bekanntes problem mit 3.1.4 ?

das .config habe ich vom laufenden 3.1er kernel in u-boot-stick.tar.gz 
aus /proc/config.gz,
das sollte also ok sein ?!?

die richtigen(?) parameter fuer mkimage habe ich nach vielen 
fehlversuchen im posting von tuxx42 am 01.12.2011 22:40 gefunden.  mit 
falschen la/ep kamich zuvor immer nur bis "Starting kernel ..."


wer hat nen tipp??

zum starten  fuer neu-kernel-bauer waere es sehr hilfreich, wenn ihr 
fuer erprobte und gute kernel auch die .config files ins netz stellen 
wuerdest (plus einen markanten hinweis auf das 3.1er-bau-skript von 
Joel!)


schonmal danke! fuer eure hilfe!

von Harald K. (uturtle)


Lesenswert?

Joel T. schrieb:

> ich meinte mit dem elecard image auf unserer box. Ich würde gern sehen
> ob gcc mit einem "professionell" gepatchten image auch segfaultet.

woher bekommt man denn das original "elecard image" ?  ich kann hier 
leider keine referenz finden.

derzeit verwende ich u.a. Pollinux-NFS-root-Edition-2011.07.08-22.28
wenn ich die postings recht interpretiere, dann koennte das ein 
modifiziertes elecard-image sein. richtig?

falls ja: wo sind die aenderungen und unterschiede zum original 
dokumentiert?


danke!

von Harald K. (uturtle)


Lesenswert?

Artem M. schrieb:

> ich habe heute VDR 1.7.21 für die Box Cross-Kompiliert. Ich kann nun
> über vdr-streamdev die offenen Kanäle von DVB-C schauen. Selbst ZDF-HD
> läuft absolut problemlos.
>
> Als Basis habe ich PoLenny genommen.

laeuft das dann mit dem (elecard) 2.6.21 kernel ?

gibts beim cross-compilen des VDR etwas besonderes zu beachten ?
kann ich evtl. deine binaries und shared libs zum testen bekommen 
(muesste ja mit PolLenny.tar.gz passen?!).

woher nehme ich am besten die ganzen libs zum cross-compilen?
bislang habe ich nur den gcc-4.5.1 und die binutils, uboot und kernel 
gehen damit schon (aber die brauchen ja auch keine glibc und sonstigen 
shared libs).

> Jedoch habe die hier noch etwas Ärger mit openssl.

hat das mit openssl denn geklappt?
falls nein, bei welchem aerger kann man helfen?

> Sobald das alles gescheit läuft werde ich die Binaries hier mal posten.
> Ich muss vor allem die Pfade anpassen/aufräumen, da die durch das
> Cross-Kompilieren ziemlich komisch geworden sind.

helfe gerne testen/anpassen, falls es schon was zu testen gibt...

von Axl Rose (Gast)


Lesenswert?

Hallo zusammen,

ich habe auch so eine Kiste zu Hause.
Leider erfüllt sie nicht das, was ich mir vorgestellt habe.
Hätte evtl. jemand Interesse?

von overflowed (Gast)


Lesenswert?

@Harald Koenig, warum nach u-boot und kernel unbedingt noch cross 
compilen und nicht auf dem gerät selbst?

Ich hab im moment ein lenny fs mit VDR 1.6 inkl streamdev aus dem debian 
repository + aktuelles xvdr plugin aus dem git, gcc, g++, make, noch ein 
bisschen was zum Komfort wie ssh, netcat, tar, gzip, bz2, vim, 
locales...

Und erstaunlicherweise läuft es einfach ohne Probleme auf meiner DVB-T 
Box.

Ich nutze jedoch keine Ausgabe von der Box und habe es auch nicht vor. 
Ich benutze ein XBMC mit PVR auf einem OMAP4430 und benutze die Box nur 
als xvdr server um auf Live TV und Aufnahmen zuzugreifen.

Da ein bzip2 tar noch 142 MB groß ist, beschreibe ich lieber kurz wie 
ich zu diesem Stand gekommen bin anstatt das FS hochzuladen, es sei denn 
es besteht tatsächlich Interesse an dem FS.

Das Pollens hat bei mir nie funktioniert, vielleicht war auch einfach 
nur mein download korrupt, deshalb entschloss ich mich das fs von Anfang 
an selbst zu erstellen.

Meine Bootloader Ausgangssituation war die aus dem Archiv 
u-boot-stick.tar.gz.
Der 3er Kernel ist leider im moment für dvb nicht zu gebrauchen, deshalb 
habe das uImage vom elecard Kernel (von Laszlo vom 22.12 hier im Thread) 
mit kermit via u-boot in den nand geschrieben (das ist genauer im WIki 
unter Kernelflashen beschrieben).

Nun sollte man in der Lage sein den Kernel zu booten, zumindest so 
lange, bis er abbricht weil er kein rootfs findet.

Als nächstes habe ich mir auf einem bestehenden amd64 System angefangen 
das rootfs zu bauen.
Dies geschieht mit einem einfachen debootstrap:
# debootstrap --arch mipsel lenny ./lenny-chroot 
http://ftp.de.debian.org/debian
Irgendwann bricht debootstrap ab, an dem Punkt an dem er das erste mal 
versucht eine mipsel binary auszuführen, dass ist jedoch nicht so 
schlimm, der Rest kann auch auf dem Gerät erledigt werden.
Da der Kernel scheinbar ein init=/bin/sh ignoriert solltet ihr gleich 
von einem bestehenden debian System mit bekanntem root Passwort die 
/etc/passwd und die /etc/shadow in das Dateisystem kopieren. Außerdem 
kann man auch gleich aus einem Pollinux oder Pollenny die /lib/modules/ 
und die dvb firmware files in das neue FS kopieren.

Danach ist es zeit das fs an per usb oder sata (wahrscheinlich ist auch 
nfs möglich) an die Box zu bringen und zu booten. Irgendwann wird sich 
das Gerät damit melden, dass es keine inittab hat, einfach runlevel s 
angeben und root Passwort eingeben.

Jetzt muss man mit dpkg, apt-get und aptitude (ist manchmal zur 
Konfliktlösung keine schlechte Wahl) alles in /var/cache/apt/archives/ 
installieren.

Ist das geschafft sollte man bevor die Box ausgeschaltet oder 
neugestartet wird entweder noch einen login via rs232 einrichten oder 
ein apt-get install ssh machen.

Ein apt-get install udev sollte jetzt nicht fehlen.
Ich habe mir um laden der richtigen Module ein init script gebaut, 
anhand der geladenen Module in dem Pollinux NFS Root Edition.

Das Debian Repo beinhaltet vom vdr über diverse Plugins fast alles, 
inklusive Kompiler.
Für das xvdr plugin muss einerseits der vdr-dev installiert sein, 
andererseits braucht man ein paar Anpassungen. Die glibc in Lenny ist 
schon ein bisschen alt, ein include Pfad war glaube ich falsch und 
andererseits muss man alle betoh64, betoh32 etc nachbauen. Das ist aber 
auch schon alles und nicht wirklich spektakulär.

Falls doch Interesse an dem fertigen FS, dem xvdr-patch besteht, oder 
irgendwas doch noch nicht ganz klar ist, versuche ich das irgendwie 
zugänglich zu machen.

Für mich persönlich wäre es schon noch einmal interessant auf ein 
aktuelleres debian mit aktuellerem vdr und 3er Kernel zu wechseln, werde 
aber jetzt da keine Energie mehr investieren, da für mich jetzt alles so 
läuft wie ich es mir vorgestellt habe.

von Harald K. (uturtle)


Lesenswert?

overflowed schrieb:
> @Harald Koenig, warum nach u-boot und kernel unbedingt noch cross
> compilen und nicht auf dem gerät selbst?

gute frage! zum einen weil ich einfach noch kein komplettes system auf 
der box habe
mit development-umgebung, zum anderen aber auch, weil der komplette 
kernel
auf einem alten dual-core notebook in unter 4 minuten baut...

koennte also sein, dass ich zumind. kernel auch weiter so backen will,
fuer mal kurz vdr auf lenny bauen waere natuerlich die box auch eine 
alternative
(wenns mal laeuft -- aber ich bekomme gerade wieder hoffnung;-))

> Ich nutze jedoch keine Ausgabe von der Box und habe es auch nicht vor.
> Ich benutze ein XBMC mit PVR auf einem OMAP4430 und benutze die Box nur
> als xvdr server um auf Live TV und Aufnahmen zuzugreifen.

worauf bezieht sich hier "ausgabe" ?
TV-out, oder mpeg2 streams auf "platte" schreiben?
XBMC/PVR/xvdr sagt mir noch nix -- egal, finde ich schon raus;)

die DVB-receiver sind mir erstmal egal, da ich DVB-S brauche und einen
DVB-S/vdr schon im netz am laufen habe.  die box soll erstmal nur 
aufnahmen abspielen
via NFS auf TV-out (spaeter dann mal mehr, am schluss auch mit neuem 
DVB-S tuner;)

> Da ein bzip2 tar noch 142 MB groß ist, beschreibe ich lieber kurz wie
> ich zu diesem Stand gekommen bin anstatt das FS hochzuladen, es sei denn
> es besteht tatsächlich Interesse an dem FS.

<tatsächlich>Interesse!!</tatsächlich>

waere wirklich nett, denn es hilt einfach sehr bei den ersten 
gehversuchen,
zumal ich wenig debain-erfahrung habe (viel mehr suse und auch redhat, 
eben rpm-based;).

> Das Pollens hat bei mir nie funktioniert, vielleicht war auch einfach
> nur mein download korrupt, deshalb entschloss ich mich das fs von Anfang
> an selbst zu erstellen.
>
> Meine Bootloader Ausgangssituation war die aus dem Archiv
> u-boot-stick.tar.gz.
> Der 3er Kernel ist leider im moment für dvb nicht zu gebrauchen, deshalb
> habe das uImage vom elecard Kernel (von Laszlo vom 22.12 hier im Thread)
> mit kermit via u-boot in den nand geschrieben (das ist genauer im WIki
> unter Kernelflashen beschrieben).

aber schon den u-boot aus dem u-boot-stick.tar.gz ? der ist naemlich 
deutlich neuer
den haettest auch direkt via vfat-usb-stick von WinCE aus flashen 
koennen,
inzwischen brauchts den kermit-flasher offensichtlich nicht mehr.

> Da der Kernel scheinbar ein init=/bin/sh ignoriert solltet ihr gleich

nur diesen parameter, oder alle kernel boot command line opts ?

irgendwo hab ich hier gelesen, dass sich bei der command line uebergabe
in den kerneln was inkompatibel geaendert hat, und dass es hierfuer
in sehr neuen u-boots wohl irgendwelchen besseren support gibt?!

bislang hat bei mir noch jeder kernel auf console=serial.... fuer J33 
reagiert,
ich verwende aber auch nen selbst gebauten u-boot aus den git quellen...
init=/bin/sh muss ich mal probieren


> Das Debian Repo beinhaltet vom vdr über diverse Plugins fast alles,
> inklusive Kompiler.

das ist ein ganz wesentliches argument, weswegen ich auch schon
zum PolLenny(X) tendiere -- ich haette nur gerne eben zuerstmal
alle kernel-issues im griff (u.a. brauche noch ich noch ein paar mehr
usb kernel module fuer anderes spielzeug;-)

> Falls doch Interesse an dem fertigen FS, dem xvdr-patch besteht, oder
> irgendwas doch noch nicht ganz klar ist, versuche ich das irgendwie
> zugänglich zu machen.

entweder hier, oder gerne auch auf einen ftp-server bei mir zum 
upload...


danke!

Harald

von Dirk W. (glotzi)


Lesenswert?

Harald Koenig schrieb:
> die DVB-receiver sind mir erstmal egal, da ich DVB-S brauche und einen
> DVB-S/vdr schon im netz am laufen habe.  die box soll erstmal nur
> aufnahmen abspielen

So OOTB wird das nicht gehen. Dazu brauchst du ein Output-Plugin, das 
den HW-Dekoder benutzt. Für die 3er Kernels gibts aber keine Treiber, 
nur für den Elecard Kernel. Dekodieren per Software kannste vergessen. 
Außerdem gibts wohl immer noch das Problem mit dem nicht vorhandenen 
Ton.

von overflowed (Gast)


Lesenswert?

Harald Koenig schrieb:
>> Ich nutze jedoch keine Ausgabe von der Box und habe es auch nicht vor.
>> Ich benutze ein XBMC mit PVR auf einem OMAP4430 und benutze die Box nur
>> als xvdr server um auf Live TV und Aufnahmen zuzugreifen.
>
> worauf bezieht sich hier "ausgabe" ?
> TV-out, oder mpeg2 streams auf "platte" schreiben?

Ausgabe bezieht sich hier auf TV-OUT, Scart out oder jede andere Ausgabe 
auf einem Monitor / TV. Aufnahmen. Auf Platte schreiben sowie per 
Netzwerk Verfügbar machen funktioniert. In den Init Scripten vom 
Pollinux, sieht man auch, wie PAL Ausgabegeräte initialisiert werden, 
vermutlich könnte man wenn man sich das entsprechende zusammenkopiert 
auch eine Ausgabe auf Scart hinbekommen. Ich habe nur kein Gerät, dass 
einen Scart oder Composite In besitzt.

> XBMC/PVR/xvdr sagt mir noch nix -- egal, finde ich schon raus;)

XBMC ist ein Mediacenter, davon gibt es einen Fork der Live TV und 
Aufnahmen unterstützt (PVR), dieses benötigt aber zum kommunizieren mit 
einem Backend (es kann selbst nichts mit LiveTV anfangen) ein 
entsprechendes Plugin xvdr ist ein solches. Es gibt dafür eine Version 
für XBMC und eine für den VDR, ähnlich zu streamdev, nur dass damit noch 
Aufnahmen gestreamt werden können und die Umschaltzeiten erheblich 
kürzer sind.

> die DVB-receiver sind mir erstmal egal, da ich DVB-S brauche und einen
> DVB-S/vdr schon im netz am laufen habe.  die box soll erstmal nur
> aufnahmen abspielen
> via NFS auf TV-out (spaeter dann mal mehr, am schluss auch mit neuem
> DVB-S tuner;)

Also genau umgekehrt von mir, du willst das Ding als Ausgabe Client 
haben und hast einen Backendserver und ich will das Ding als 
Backendserver für einen Ausgabe Client haben.
Die Mainapp kann scheinbar IPTV, würde mich nicht wundern wenn du damit 
streamdev streams abspielen könntest, aber das wird nicht dein primäres 
Ziel sein.
Wie gesagt sieh dir die init scripte von dem Pollinux an, dort siehst du 
wie man Module und Parameter für eine Scart Ausgabe initialisiert.

> aber schon den u-boot aus dem u-boot-stick.tar.gz ? der ist naemlich
> deutlich neuer
> den haettest auch direkt via vfat-usb-stick von WinCE aus flashen
> koennen,
> inzwischen brauchts den kermit-flasher offensichtlich nicht mehr.

Ich weiß, ich habe ja den u-boot-stick.tar.gz erstellt, aber ohne 
Anzeigegerät und Batterien für die FB war mir Blindflashen zu 
kompliziert, und deshalb habe ich mit kermit geflasht. Sollte auch über 
WinCE gehen, ich wollte nur beschreiben wie ich es gemacht habe, dass 
ist sicherlich nicht der einzige Weg.

>> Da der Kernel scheinbar ein init=/bin/sh ignoriert solltet ihr gleich
>
> nur diesen parameter, oder alle kernel boot command line opts ?

nur diesen Parameter mit dem elecard Kernel. Da der Workaround mit der 
/etc/shadow und /etc/passwd jedoch so einfach war, habe ich mir nicht 
mehr Mühe gemacht das zu analysieren.

> irgendwo hab ich hier gelesen, dass sich bei der command line uebergabe
> in den kerneln was inkompatibel geaendert hat, und dass es hierfuer
> in sehr neuen u-boots wohl irgendwelchen besseren support gibt?!

ja stimmt, aber eigentlich habe ich den u-boot-stick.tar.gz m.E. nach 
dem hinzufügen des Supports gebaut, console=serial etc.. hat er auch 
alles akzeptiert nur eben init=shell nicht.

>> Das Debian Repo beinhaltet vom vdr über diverse Plugins fast alles,
>> inklusive Kompiler.
>
> das ist ein ganz wesentliches argument, weswegen ich auch schon
> zum PolLenny(X) tendiere -- ich haette nur gerne eben zuerstmal
> alle kernel-issues im griff (u.a. brauche noch ich noch ein paar mehr
> usb kernel module fuer anderes spielzeug;-)

Da ich zum elecard Kernel bisher weder eine Konfig noch die Header oder 
gar die Sourcen gefunden habe, wird daraus wohl nichts. Falls Ausgabe 
irgendwie mit dem 3er Kernel funktioniert könntest du aber den nehmen, 
wenn du die Segfaults in den Griff kriegst...
Um was für anderes Spielzeug handelt es sich denn?

> entweder hier, oder gerne auch auf einen ftp-server bei mir zum
> upload...

Falls das auf dem ftp Server der Allgemeinheit zur Verfügung stehen 
würde, und nicht in einer Woche wieder runtergeschmissen wird, würde ich 
es da uploaden.

von Artem M. (artem)


Lesenswert?

Hallo,

overflowed schrieb:
> wenn du die Segfaults in den Griff kriegst...

Hast du die segfaults mit dem alten kernel nicht? Ich konnte auf der Box 
nichts nativ kompilieren, da ich immer segfaults hatte.

Harald Koenig schrieb:
> Artem M. schrieb:
>
>> ich habe heute VDR 1.7.21 für die Box Cross-Kompiliert. Ich kann nun
>> über vdr-streamdev die offenen Kanäle von DVB-C schauen. Selbst ZDF-HD
>> läuft absolut problemlos.
>>
>> Als Basis habe ich PoLenny genommen.
>
> laeuft das dann mit dem (elecard) 2.6.21 kernel ?

Ja, das lief bei mir mir dem alten kernel.

> gibts beim cross-compilen des VDR etwas besonderes zu beachten ?
> kann ich evtl. deine binaries und shared libs zum testen bekommen
> (muesste ja mit PolLenny.tar.gz passen?!).

Man muss einen vdr patch einspielen, damit man den VDR gegen den alten 
kernel kompilieren kann.

> woher nehme ich am besten die ganzen libs zum cross-compilen?
> bislang habe ich nur den gcc-4.5.1 und die binutils, uboot und kernel
> gehen damit schon (aber die brauchen ja auch keine glibc und sonstigen
> shared libs).

Ich habe glaube ich das ELDK genommen. Da waren die ganzen Sachen schon 
dabei.

>> Jedoch habe die hier noch etwas Ärger mit openssl.
>
> hat das mit openssl denn geklappt?
> falls nein, bei welchem aerger kann man helfen?

Nein, leider bin ich nicht wieder dazu gekommen hier etwas weiter zu 
machen und die Box steht in der Ecke und sammelt Staub :(

von overflowed (Gast)


Lesenswert?

Artem M. schrieb:
> overflowed schrieb:
>> wenn du die Segfaults in den Griff kriegst...
>
> Hast du die segfaults mit dem alten kernel nicht? Ich konnte auf der Box
> nichts nativ kompilieren, da ich immer segfaults hatte.

Nein, jedenfalls nicht in dem Ausmaß, also ich hatte schon segfaults 
wenn beim linken der Ram nicht ausreichend war, aber durch stoppen des 
vdr und allem anderen was nicht unbedingt benötigt wird, hatte ich es 
bisher immer geschafft genug freizuschaufeln.
Mit dem 3er Kernel konnte ich nicht mal ein apt-get install ohne 
segfault durchführen.

BTW hat es schon jemand geschafft die vollen 256 MB zu nutzen? 128 MB 
ist für sowas doch ein bisschen knapp...

von Ingmar K. (ingmar_k)


Lesenswert?

@overflowed:

Schau mal in in den Kernel-Sources in "arch/mips/philips/pnx8550/", in 
die Datei "prom_init.c", dort steht z.B. folgendes:

"memsize = 0x08000000; /* Trimedia uses memory above */
add_memory_region(0, memsize, BOOT_MEM_RAM);"

Das erklärt wohl warum nur 128MB nutzbar sind. Der Rest wird einfach mal 
für die Trimedia Kerne reserviert. Wenn man diese nicht nutzt, macht das 
zwar keinen Sinn, aber will man die mögliche Videobeschleunigung nutzen, 
dann brauchen die Trimedias eben den RAM um richtig zu funktionieren. 
;-)

Man könnte das sicher editieren, sofern man auf die Funktion der 
Trimedias vollkommen verzichten kann/will.

von Artem M. (artem)


Lesenswert?

Die Frage ist nur, ob man den Speicher einfach für etwas anderes 
benutzen kann. Nicht das der Trimedia auf irgend welche Änderungen im 
Speicher anspringt, darauf reagiert und den Speicher wieder verändert...

von Ingmar K. (ingmar_k)


Lesenswert?

Vorweg: Ich weiß es nicht und habe von den Trimedia Geschichten leider 
keine Ahnung.

Aber, meine Vermutung wäre, dass es für die Funktion der Trimedias schon 
eines Kernel Moduls bedarf, bzw. einer fest einkompilierten 
Unterstützung. Deaktiviert man diese, bzw. lädt das/die Modul(e) nicht, 
so sollte der Speicher voll für andere Zwecke verfügbar sein.
Aber, wie so oft: Probieren geht über studieren. Würde es ja selber 
testen, habe aber momentan leider anderes zu tun, was wichtiger ist.

von David S. (sirnova)


Lesenswert?

Hi Overflowed!

Ich hätte auch recht starkes Interesse an deinem Paket. Hatte damals mal 
versucht mir aus dein vorhandenen Sachen was zusammen zu stricken, es 
lief, wollte es dann nochmal sauber neu aufsetzen und habs nicht mehr 
zum laufen bekommen ;) Daher wäre es echt klasse es irgendwo hoch zu 
laden.
Mir würds auch reichen, wenne es z.B über http://www.megafileupload.com/ 
(ca. 200 MB) hochlädst. "50days after no download" somit bliebe es 
erhalten, wenn es wirklich regelmäßig benutzt wird, und selbst wenn kein 
Download kommt.... 50 Tage sind lang, vielleicht gibt es bis dahin ja eh 
was neues ;)

Hoffe es reicht dir, ich weiß, dass es nicht so komfortable ist, 
vorallem, da man keinen FTP-Clienten hat, hoffe trotzdem, dass du dich 
erbarmst ;)

Gruß

David

von mfg .. (mfg) Benutzerseite


Lesenswert?

Moin moin sirnova,

Martin hat doch schon permanenten Webspace angeboten 
Beitrag "Re: Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH"
glaub bei den easyVDRlern liegen noch einige Platinen wartend parat ;-]

MfG.
      MFG.

von Joel T. (tuxx42)


Lesenswert?

hi leute,

ich hab schon länger nichts mehr an der pollin box gemacht... das liegt 
an ein paar punkten:

- ich bin absolut mit meinem latein am ende was die segfaults angeht. 
ich bezweifle dass es am fehlenden memory liegt, da dies ein OOM (out of 
memory) kill im kenrel ausführen müssten und kein segfault. An den Ram 
einstellungen haben laszlo und ich auch schon ein bischen gespielt. es 
scheint nicht möglich ohne weiterees die 128mb vom trimedia einfach 
abzuziehen. Zudem habe ich programme auch gedebuggt beim segfault um im 
disassemblierten code gesehen dass auf speicher zugegriffen wird mit 
seeehr niedrigen werten (nahe am NULL pointer), das ist sicherlich nicht 
korrekt.

- ich hatte ursprünglich vor die pollin kiste als hostapd server mit 
ipforwarding einzusetzen. Leider taugt die Kiste aber nur bedingt als 
AccessPoint, da ich statt meine erwarteten 1.5mb/s lediglich 400-500kb/s 
bekommen habe. Ich habe mit oprofile versucht den kernel zu profilen um 
rauszufinden wo genau das bottleneck ist und in welchen routinen er am 
meisten zeit verbringt, zu meinem erstauenen war die cpu allerdings 
nicht einmal voll ausgelastet. Ich befürchte das irgendwelche internen 
bus systeme zu langsam arbeiten um ordentliche durchsatzraten zu 
bekommen.

Dadurch ist die pollin kiste für mich etwas uninteressant geworden.

Um dvb im 3.1er kernel zu verwenden müsste man die beiden i2c treiber 
portieren. Das habe ich angefangen (der code befindet sich im git repo). 
Ich denke ich werde ihn demnächst auch noch fertig schreiben, dann 
müssten auch die trimedias und die rtc etc funktionieren. Bisher bin ich 
noch etwas verwundert dass ich noch keine interrupts auf dem i2c 
bekomme, obwohl ich einen i2c device mit dem dazugehörigen interrupt 
handler bereits registriert habe. Aber ich denke das kriege ich hin.

Hoffentlich finde ich noch im Januar die motivation da weiterzumachen.. 
wenn jemand mitmahcen will, würde mich das freuen.. der code liegt wie 
bereis erwähnt im git bei github zusammen mit den timer patches.

Gruß,
joel

von Christian B. (9chicane9)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Ich hab gestrahlt wie ein Atomreaktor, als ich endlich die erste 
Linux-Konsole hatte!! Vielen Dank an overflowed an dieser Stelle.

Ich hab das u-boot-stick.tar.gz von overflowed genommen und das 
Filesystem aus dem Wiki (pollinlinux.tar.gz), welches nun ein schönes 
tar.gz Format hat und kein fehlerhafter DiskDump mehr.

Vielen Dank an die eifrigen Entwickler!

Einige Fragen sind nun allerdings noch offen, welche ihr mir hoffentlich 
beantworten könnt:

1. Das angehängte Log-File zeigt den Startvorgang nun von 
Sata-Festplatte mit dem Image von overflowed.
Er findet viele Module nicht und hängt beim Starten der DSP file 
services.
Telnet läuft allerdings schon und man kann sich einloggen (was mich 
schon wahnsinnig glücklich macht).
Bildschirm bleibt schwarz.
Bitte sagt mir ob das momentan noch "normal" ist, oder ob ich was falsch 
mache.

2. Ich habe noch nicht verstanden was das "userfs" ist:
damit weiss ich auch nicht, wo ich es auf der Platte hingeben soll.
Auf einer eigenen Partition kann er nichts damit anfangen. wo ich es 
hinmounten oder reinkopieren soll steht glaub ich nirgendwo.
Auch wenn ich über NFS laut Anleitung boote, greift er auf diese 
Freigabe NIE zu.

3. Ich habe mal von meiner ersten Box berichtet, welche ich vermeintlich 
vernichtet hatte, aber dann doch noch der flasher# aufgetaucht ist.
Ich habe nun auch diese Box soweit hinbekommen, dass linux von der 
Platte bootet (u-boot, u-image funktionieren) WinCE0 leider nicht mehr, 
weil ich nicht weiss wie ich das mit u-boot wieder reinflashen kann.
Das heisst: flashen konnte ich es natürlich, aber es startet immer 
u-boot mit Linux, egal auf welcher Stellung der DIP ist.
Vielleicht hat hier wer eine Lösung?

Vielen Dank schon mal

von overflowed (Gast)


Lesenswert?

Also ich weiß jetzt aus dem Kopf nicht mehr, was in dem Pollinux FS drin 
war.

Aber ich vermute mal ganz stark, dass das eigentlich für den Gebrauch 
mit dem elecard Kernel ausgelegt war. Deine modules.dep passt also 
nicht.

Die Module wahrscheinlich auch nicht? Die Frage ist ob du mit den 
Segfaults überhaupt den Kernel verwenden willst.

Das du keine Ausgabe auf dem Scart hast ist normal, das funktioniert 
nicht wie eine normale Grafikkarte.

Zu deinem anderen Problem, du kannst auch mit u-boot u-boot selbst und 
auch den Kernel flashen. Irgendwo hier im Thread war auch eine 
Linuxversion der flashme.exe, die sollte in der Lage sein das wince0.img 
wieder zu flashen.

Falls niemand mit ftp oder richtigem Webspace kommt, würde ich das image 
bei Gelegenheit mal auf einen One-Click Hoster uploaden.

Btw: Wie groß dürfen Dateien sein die man hier anhängt und was ist 
gelitten? Sind ja schon ein paar größere FS dabei?

von Christian B. (9chicane9)


Lesenswert?

Danke für die Antwort!

Ich hab schon sowas befürchtet, dass ich da verschiedene Sachen 
vermische.

Zu meiner Verteidigung muss ich allerdings sagen, dass es hier 
mittlerweile ziemlich unübersichtlich geworden ist.

Ich hab noch eine freie Domain herumkugeln (aus meinem früheren Leben), 
auf die wir alle Daten stellen könnten.

Den Webspace würde ich gerne zur Verfügung stellen.

Voraussetzung wäre aber, dass wir das ordentlich gliedern:

- kernel und filesysteme die zusammengehören mit kurzer Beschreibung was 
sie können und wer es gemacht hat

- tools: für Linux oder Windows

Ich finde dieses Forum und die Wiki toll, allerdings wird es 
Neuankömmlingen fast unmöglich gemacht hier mitzutun, weil man Wochen 
braucht bis man alles zusammenhat was man braucht.
Was wiederum zu vielen - eigentlich unnötigen - Fragen im Forum führt!

Wenn ihr das wollt, bzw wenn du (overflowed) da mittun willst, dann 
müssen wir es nur mehr schaffen uns mal privat kurzzuschliessen um die 
Login-Daten auszutauschen und eine sinnvolle Einteilung zu erschaffen.

von mario (Gast)


Lesenswert?

Hallo,
Ich habe die Box erfolgreich mit NFS gestartet ; nun habe ich ein paar 
Fragen:
Ich habe ein "grünes Bild" , woran liegt das; Anzeige an TV nur auf 
"halben Bildschirm" in der Mitte. Einstellungen ??.
Wenn ich die Box ein/ausschalte findet diese kein NFS-kernel; ping ist 
aber OK. Muß ich den NFS-server reseten ?? (funktz auch nicht ) erst 
Reboot am Rechner startet Box neu ??

Bitte um Nachsicht Neuling mit NFS-Server und Pollin-Box.
Habe noch KEINEN RS232 drangehängt ; LAN blinkt...
Habe auch versucht nur mit  USB zu starten , mit dem Beitrag von dod ger 
vom  21.06.11.Allerdings keine Reaktion auf Ping...

Ich bin mir nicht sicher was auf den Stick muß.
Es wäre nett wenn jemand ein Übersich oder ein Abbild hätte??
Ich habe den loader auf mein IP bereich eingestellt, erhalte aber kein 
Ping mehr , Kernel-panic??

Vielen Dank schon mal

von MNG (Gast)


Lesenswert?

Moin moin!

Unglaublich, wie lang dieser Thread bereits ist, ich musste den mit dem 
FF öffnen, da alle anderen Browser irgendwann überfordert waren :D

Ich habe selber auch vor mir eine solche Box zuzulegen, allerdings habe 
ich keinen Plan von Microcontroller-Programmierung oder 
Kernel-Programmierung/-Compilierung... Entsprechend ist das Wiki nur 
bedingt hilfreich für mich und ich habe etwas Bammel davor mir das Board 
mit meinem Umwissen zu zerschießen.

Kann man denn nicht einfach irgendwie mal so einen Flash-Vorgang 
komplett zusammenpacken zu allen Dateien, die man braucht und einer 
Schritt-für-Schritt-Anleitung, sodass man dann ein lauffähiges Linux auf 
der Kiste hat? Ich meine irgendwie muss das doch auch einfacher gehen 
(wenn die Hardware immer die gleiche ist: Warum muss dann jeder den 
Kernel neu kompilieren)!?
Oder habe ich das nur zwischen den gefühlten 200.000 Postings übersehen? 
Irgendwo die Flash-Dateien, am Besten direkt für den integrierten 
Updater oder so, alle Dateien, die ich auf der HDD benötige und eine 
kleine Anleitung?

Ich möchte schon gerne so eine Box mit Linux haben, aber sich unter 
Linux zurecht zu finden (es verwenden zu können) ist eben etwas Anderes 
- finde ich - als sich mit Kernelkompilierung & Co. auszukennen.

Ich danke schonmal für jede Antwort und hoffe nicht zu vielen Leuten auf 
den Schlips getreten zu haben!?


PS: Bemerkenswert, was hier manche auf die Beine stellen!

von Peter (Gast)


Lesenswert?

Ich kann mich da nur anschließen, ist schon recht unübersichtlich hier 
geworden.

Wo ist denn hier eigentlich der aktuelle Quellcode versteckt?

Viele Grüße,
Peter

von Michael Laun (Gast)


Lesenswert?

Hallo Forum,
zunächst möchte auch ich mal all denen hier danken, die hier so viel 
Hirnschmalz investiert haben - große Klasse!
Aber - so als Mitleser bin ich jetzt an einem Punkt, an dem ich auf dem 
Schlauch stehe. Vorab: ich hab keinen Plan von Linux, und sehe mich auch 
eher auf der Anwender-Seite, was Windows angeht.

Soweit hab ich alles verstanden/hingekriegt:

- Von Pollin DVB-C Board, Gehäuse, NT und USB- und RS232-Platine 
gekauft.
- Aufgebaut, 160GB SATA-Platte drin, mit SWU geflasht lt. WIKI
- Vor dem Flashen noch den FTP-Starter eingebaut und FTP.EXE aufkopiert

Die Kiste läuft. Diverse Suchläufe (KD in RLP), so um die 200 Sender - 
OK.
Jetzt würde ich gerne Aufnahmen auf DVD brennen, d.h. aus der Kiste 
rausholen.

Als DAU - s.o. - habe ich keine Ahnung, wie ich den FTP-Server anstoßen 
soll. Die Box, also der Receiver, hängt über LAN am Router und ist dort 
auch sichtbar. Auf meinen beiden PC´s mit jeweils XP-Home SR3 ist UpnP 
aktiviert, und die "MoreTV Hybrid PVR" wird mir auch in der 
Netzwerkumgebung angezeigt. Beim Doppelklick darauf kriege ich 
allerdings nur ein Browserfenster mit der Meldung ACCESS DENIED.

In MoreTV werden mir keine MediaServer angezeigt, die ich auswählen 
könnte. Irgendwo im WIKI steht, daß man der Kiste zwei Mediaserver 
anbieten muß, damit es läuft. Ich habe deshalb auf meinen beiden 
Rechnern das NERO MediaHome 4 als Testversion installiert - ohne Erfolg.

Prinzipiell ist es mir egal, wie ich an die Daten auf der Disk komme, 
LAN wäre wohl aber ziemlich komfortabel. Disk aus- und einbauen, um die 
Disk an den Rechner zu hängen, ist ja eher suboptimal.

Hab ich was übersehen/überlesen? Tut mir leid, wenn ich wirklich 
elementare Informationen übersehen haben sollte. Ich hab den ganzen 
Thread mind. 2 mal von oben nach unten durchgeackert, und auch gezielt 
nach "LAN" und "Netzwerk" durchpflügt - aber nix erhellendes gefunden.

Nochmal - ohne mich einschleimen zu wollen - ich ziehe meinen Hut vor 
all dem geballten Wissen hier. Jeder, der lesen kann und keine zehn 
Daumen hat, kann sich so eine Kiste für wirklich kleines Geld (~20€ plus 
Disk) zusammenbauen. Für mich als Free-TV Junkie (noch drei weitere 
DVD/FP-Recorder im Einsatz) ideal. Ich hoffe nur, daß ich alt genug 
werde, mir irgendwann mal das ganze aufgezeichnete Material ansehen zu 
können. Aber wenn dem ZDF mal das Archiv abbrennt - ich kann helfen :-)

Gruß,
Michael

von W.S. (Gast)


Lesenswert?

Michael Laun (Gast) schrieb:

>Ich habe selber auch vor mir eine solche Box zuzulegen, allerdings habe
>ich keinen Plan von Microcontroller-Programmierung oder
>Kernel-Programmierung/-Compilierung...

Ja, ja. Da gibt es eine Kiste, die bereits ein funktionierendes 
Betriebssystem enthält, mit Treibern für die Hauptattraktion der Box 
(gemeint sind die 2 Trimedia-Biester), aber anstatt sich Gedanken 
darüber zu machen, wie man auf diesem System was Vernünftiges aufbauen 
kann, wie man gute Anwendungen dafür schreibt, wie man die Trimedias 
richtig benutzen kann usw. wird mit Krampf versucht, ein Linux auf die 
Box zu quetschen und dabei wird der ganze Thread mit klagenden Beiträgen 
gefüllt nach dem Motto "Heute bootet er schon ein Stück weiter als 
voriges Jahr bevor er anstürzt".

Ihr habt also immer noch kein wirklich funktionierendes 
Linux-Betriebssystem auf der Box realisiert, von einer Oberfläche (von 
Gnome & KDE an abwärts...) ganz zu schweigen.

Leute, merkt ihr eigentlich noch was?

Ich hatte eigentlich gehofft, hier einige Mitstreiter zu finden, um die 
Box mit WinCE richtig handlich hinzubekommen, aber das war wohl nix. Mir 
hatte vorgeschwebt, vielleicht die Trimedias für ne Art SDR (UKW, 2m, 
70cm, Wettersat, eventuell DAB+ usw.) also für alles, was die Tuner so 
hergeben benutzen zu können, außerdem Inet-Radio mittels VLC, und 
dergleichen, aber hier mit den Linuxern, die den Thread mit ihren 
Boot-Fehler-Logs verstopfen, kann unsereiner nix anfangen.

Kurzum, auch diese Box ist allem Anschein nach zum zweiten Mal 
verstorben. Schade eigentlich.

W.S.

von Moritz M. (thinksilicon)


Lesenswert?

So,
nach langer Ruhezeit hab ich die Box jetzt endlich mal mit Linux 
geflasht (bzw. habe mit meinen Homies eine kleine "Hacking-Session" bis 
eben gerade gemacht, weil zusammen macht sowas doch gleich viel mehr 
Spaß!).

Uboot aus dem uboot-stick.tar.gz ließ sich einwandfrei flashen, ebenso 
der Elecard-Kernel. Ein bisschen mussten wir noch mit der uboot-config 
kämpfen, aber jetzt bootet die Box soweit in ein relativ brauchbares 
Debian mit dhcpcd (sodass man die ip-Anweisung im uboot nicht mehr 
benötigt).
Haben das rootfs direkt auf eine Sata-Festplatte mit deboostrap 
installiert, was allerdings schon ein umfangreicheres unterfangen war, 
alle Pakete ordnungsgemäß einzuspielen.

Was leider noch nicht tut, ist getty auf die serielle Konsole zu bringen 
- die Devices sind mit MAKEDEV erstellt, dennoch kommt kein Login und 
früher oder später die Meldung "getty respawning too fast - disabled for 
5 minutes". Habt ihr da noch einen Tipp woran das liegen kann? Ich 
behelfe mir derzeit eben mit einem ssh-login, was prinzipiell kein 
Beinbruch ist, aber eine serielle Konsole hätte schon auch etwas für 
sich.

Ansonsten werde ich mir dann mal vdr auf der Box anschauen, vielleicht 
lässt sich da auch noch was mit den VIP1710-Boxen realisieren, dass die 
dann als vdr-client dienen.

Soweit mal meine Danksagungen für die super Arbeit (insbesondere mit 
uboot), die hier geleistet wurde! Mal sehn, was ich hoffentlich noch 
dazu beitragen kann.



P.S. an meinen Vorredner: wo liegt das Problem? Installier halt den VLC 
hust und schreib die Treiber für DAB+ hindert dich ja keiner dran... 
dass WinCE wohl in eine Sackgasse führt, wurde hier allerdings schon 
ausführlicher erörtert. ><)))°>

von Michael Laun (Gast)


Lesenswert?

@W.S.:

Das von Dir angeführte Zitat stammt nicht von mir. Evtl. mal bei 
Guttenberg nachfragen, wie das mit Copy/Paste so funktioniert.

Nix für ungut.

Michael

von Sascha W. (sascha-w)


Lesenswert?

@Michael Laun

um die Daten über FTP zu kopieren, brauchst auf der Windowsseite auch 
ein FTP-Programm. Dann einfach eine Verbindung zu der IP-Adresse der Box 
herstellen. Sehr schnell ist die Übertragung jedoch nicht gerade.
Ich habe auf meiner Box den VNC-Server drauf um kopiere die Daten von 
der Box aus auf eine Freigabe am PC - andersrum geht ja leider nicht. 
Ist etwas scheller als FTP - erreicht jedoch auch nur ca. 6.5MBit/s und 
damit in etwa Echtzeit zur Spieldauer des zu kopierenden Videos. Für 
einen Spielfilm - naja wenn man Zeit hat. Dann ziehe ich lieber das 
SATA-Kabel ab und verwende einen USB-Adapter, die Platte kann ja im 
Gehäuse bleiben.

Sascha

von Michael Laun (Gast)


Lesenswert?

@Sascha:

Danke, das ist doch mal ein Ansatz. Ich werd's erst mal via FTP 
probieren.

Schönes WoE,
Michael

von W.S. (Gast)


Lesenswert?

Moritz schrieb:
> P.S. an meinen Vorredner: wo liegt das Problem?

Es liegt wohl an der Grundeinstellung der Leute, die sich hier tummeln. 
Wenn alle (bis auf mich) sich hier darüber einig sind, daß sie WinCe 
schei... finden und sich lieber mit Linux befassen wollen, dann passiert 
halt am WinCe nix. Nenn es Sackgasse wenn du willst, ich halte das eher 
für ne mutwillig vergeigte Chance. Immerhin ist das vorliegende WinCe 
bereits jetzt weiter, als ihr mit Linux nach meiner Meinung je kommen 
werdet. Aber ich lasse mich auch gern mit guten Neuigkeiten 
überraschen..

Die Sackgasse sehe ich eher beim Linux, oder hast du (oder ein anderer 
Linuxer hier) irgendwelche konkreten Pläne, wie es denn weitergehen soll 
mit der Box, wenn ihr endlich mal ein sauber installiertes Linux 
draufhaben werdet?

Wollt ihr überhaupt je dazu kommen, irgendwelche Applikationen dafür zu 
schreiben? Oder dazu, die Trimedias sinnvoll benutzen zu können? Kurzum, 
was für einen Zweck soll die Box mit nem Linux drauf denn irgend einmal 
erfüllen?

So, wie das hier aussieht, befürchte ich, daß dieser Thread noch einige 
Monate weitergehen wird, ohne greifbare Ergebnisse zu bringen und die 
Box dann so jämmerlich endet wie die Netbox oder die Motorola VIP.

Also schreib mal, ob und was für weitergehende Pläne mit dieser Box 
existieren. Bin gespannt...

W.S.

von Laszlo H. (laszlo_h)


Lesenswert?

W.S. schrieb:
> Es liegt wohl an der Grundeinstellung der Leute, die sich hier tummeln.
> Wenn alle (bis auf mich) sich hier darüber einig sind, daß sie WinCe
> schei... finden und sich lieber mit Linux befassen wollen, dann passiert
> halt am WinCe nix. Nenn es Sackgasse wenn du willst, ich halte das eher
> für ne mutwillig vergeigte Chance.

Wenn das deine Meinung ist, dann heul nicht rum, sondern tue was. 
Entwicklungsumgebung für WinCE ist da, ne Box hast du auch, der Flash 
ist aufgeschlüsselt, es verbietet dir niemand dich nicht mit WinCE zu 
befassen. Beweis, dass WinCE nicht Schrott ist ist, überzeug Leute, es 
ist ja nicht so, dass die Linuxer dir deien Meinung verbieten würden. Es 
ist halt so, dass du bis jetzt viel rumheulst ohne Fakten oder 
Resultate. Also entschuldige, wenn ich mich jetzt nicht mit WinCE 
befassen werde, den dafür ist mir meine Zeit einfach zu schade und ich 
sehe in WinCE halt die Sackgasse.

> Die Sackgasse sehe ich eher beim Linux, oder hast du (oder ein anderer
> Linuxer hier) irgendwelche konkreten Pläne, wie es denn weitergehen soll
> mit der Box, wenn ihr endlich mal ein sauber installiertes Linux
> draufhaben werdet?

VDR/MYTHTV Backend, Fileserver, Webserver nur um meine Ziele mal zu 
nennen. Ach, ja und natürlich das Wichtigste, basteln. Für was anderes 
ist die Box nicht gut.

> Wollt ihr überhaupt je dazu kommen, irgendwelche Applikationen dafür zu
> schreiben? Oder dazu, die Trimedias sinnvoll benutzen zu können? Kurzum,
> was für einen Zweck soll die Box mit nem Linux drauf denn irgend einmal
> erfüllen?

Ehrlich? Lieber nicht, ich verwende am Liebsten schon exisiternde 
Software statt das Rad neu zu erfinden :D. Zu den Trimedias, ich 
persönlich kann auch gut ohne sie leben, dort wo die Box stehen wird, 
werde ich sowieso kein Fernseher haben. Geschweige denn davon, dass wir 
keine Informationen über sie haben, geschweige den Kompiler um die 
Frimware zu erstellen. Damit gehe ich mal davon aus, dass sie nicht 
sinnvoll eingesetzt werden können.

Und um deine Frage zu beantworten, was für ein Zweck das Ding für mich 
gaaaanz persönlich hat: überhaupt keinen, aber es ist sehr lehreich.
gruß
Laszlo

von Moritz M. (thinksilicon)


Lesenswert?

W.S. schrieb:
> Kurzum,
> was für einen Zweck soll die Box mit nem Linux drauf denn irgend einmal
> erfüllen?

Werde das Gerät entweder als vdr-Server nutzen, um dvb-t ins Netzwerk zu 
streamen, oder mit einem aktuellen Kernel als gehobenen WLAN-AP mit 
VPN/Radius/LDAP ... durch die üppige Hardware kann man damit doch 
deutlich umfangreicher arbeiten, als mit den beschränkten 
Platzverhältnissen auf einem AP mit flash-Speicher und etwa einer 
openwrt-Installation.

W.S. schrieb:
> ... und die Box dann so jämmerlich endet wie die Netbox oder die
> Motorola VIP.

Ich für meinen Teil habe aus der VIP alles rausgeholt, was mich 
interessiert hat -> Internetradio, Netzwerkkamera, IR-Empfänger, 
VDR-Client. Weitere Nutzungsmöglichkeiten ergeben sich dank Linux auf 
der Box fast unerschöpflich - einziger Wermutstropfen ist der alte 
Kernel, sodass WLAN mit der Box leider uninteressant ist.



Zurück zum Thema:
wär es evtl. tatsächlich möglich, dass overflowed sein rootfs mal bei 
einem Hoster hochläd? Dann könnte ich noch ein wenig vergleichen, wie 
die Einrichtung der Module korrekt vorgenommen wird und man vdr zum 
Rennen bekommt. Ich könnte schon auch Webspace anbieten, allerdings bin 
ich was traffic angeht etwas begrenzt, was wohl nur 3 oder 4 Downloads 
am Tag zulassen würde. Aber eigentlich sollte ein One-Click-Hoster 
vorerst auch reichen. Wäre jedenfalls sehr Dankbar für etwas 
Anschauungsmaterial.

von Christian B. (9chicane9)


Lesenswert?

An Moritz und Laszlo: Genau das ist die Wahrheit - habt ihr gut 
geschrieben!

Wegen der Frage von Moritz, wegen dem Filesystem von overflowed:

Overflowed und ich haben schon mal eine Website mit einer Übersicht und 
einer Schnellanleitung eingerichtet - die Files sind auch schon drauf.

Dazu aber nun eine wichtige Frage an die anderen Spezialisten hier (vor 
allem an Laszlo, Dirk, Atem, um nur einige zu nennen):

Dürfen wir Eure Posts von hier - in denen ihr irgendwas erklärt - auf 
unsere Seite übernehmen????
Diese Frage hat Urheberrechtlichen Charakter - overflowed und ich 
möchten nicht, dass sich jemand auf den Schlipps getreten fühlt.

Wenn das für die meisten O.K. ist (von den anderen werden eben keine 
Beiträge kopiert) geben wir die URL bekannt!

von Thomas K. (agentdata)


Lesenswert?

Also mein Zeugs könnt ihr gerne nehmen...  ich finds gut wenn mal einer 
bissl Ordnung ins Chaos bringt - der Thread ist inzwischen wirklich 
extrem unübersichtlich.

Gruß
Thomas K.

von Laszlo H. (laszlo_h)


Lesenswert?

Meine Texte könnt ihr auch haben, einzig würde ich um eine kurze Zeile 
bitte, dass sie von mir sind und auf mikrocontoller.net verweisen (ich 
nehme mal stark an, dass ihr das sowieso machen wollt ;) ).

Ich würde die Inhalte ja lieber in der (oder einer anderen) Wiki sehen, 
einfach da dadurch die Möglichkeit für Änderungen durch Andere gegeben 
sind. Ich meine damit, dass die Seite halt aktuell gehalten wird, 
sollten sich wichtige Neuerungen/Änderungen ergeben.

Ein kurzes Update von meiner Seite, von mir kam lange nichts, da 1) 
Feiertage waren und 2) ich mein Rechner neu aufgsetzt habe und mir mein 
neues 64bit Linux noch ein wenig Mucken macht. Aber ich hoffe bis 
nächste WE wieder was an der Box machen zu können.
gruß
Laszlo

von Christian B. (9chicane9)


Lesenswert?

Danke für die ersten Rückmeldungen!

Natürlich wird und soll auch überall der Name und ein Link dabeistehen- 
selbstredend...

Unsere Plattform ist derzeit als Wiki aufgebaut und uns geht es eben 
genau um Übersichtlichkeit....

Von den Profis ein paar Anleitungen - wie was geht - Somit sparen sich 
viele Einsteiger eine Menge Fragen....

Hab eh einige postings weiter oben schon mal davon geschrieben, worauf 
overflowed auch prompt reagiert hat (vielen Dank!).

von Moritz M. (thinksilicon)


Lesenswert?

So,
hab jetzt doch nochmal ein wenig gebastelt und jetzt läuft vdr mit 
streamdev. Schon echt schön - an vier Rechnern 4 verschiedene Programme 
schauen (natürlich jeweils nur 2 verschiedene Frequenzen). Aber damit 
ist CPU bei etwa 60 bis 70%. Schaue aber auch nur DVB-t, da ist 
Bandbreite ja nicht so groß.

Also nochmal dickes Lob für uboot und die Infos zum elecard-Kernel! Das 
gefällt mir (trotz der bodenlosen Umschaltzeiten -> mind. 5 bis 10 
Sekunden pro Umschalten) schon echt gut!

von Rico L. (Gast)


Lesenswert?

Hallo

Ich habe mir den Bausatz in doppelter Ausführung zugelegt (Board 
DVB-C,Gehäuse usw.).Das Win CE habe ich mir kurz angeschaut und dann auf 
More TV geflasht.Ich würde aber eine Mischung aus 
Receiver,Festplattenrecorder und Minicomputer zum Internetsurfen 
bevorzugen.Möglicherweise auch auf Linuxbasis.Ist das machbar?

Lindi

von Sebastian R. (sebr)


Lesenswert?

Es scheint ja doch einige Fortschritte gegeben zu haben mit der Box - 
super, macht weiter so :)
Da ich in den letzten Monaten hier nicht so oft reingeschaut habe sei 
mir eine Frage gestattet: ist es mittlerweile möglich QAM256 Sende zu 
schauen mit der Box?

von Rudolf H. (Gast)


Lesenswert?

Hab heute durch Zufall http://linux-party.at gefunden, die brschäftigen 
sich auch mit der Box, da war auch der Link hierhin besonders der 
Schnelleinstieg sieht sehr vielversprechend aus.

von Christian B. (9chicane9)


Lesenswert?

Re Rudolf:

Du wirst es nicht glauben, aber das ist die Plattform, welche Overflowed 
und ich gebastelt haben - ich wollte mit der Veröffentlichung nur noch 
warten, ob alle einverstanden sind und vor Allem noch etwas mehr Inhalt 
rein geben.

lg
Christian

von D.J. P. (djlinux)


Lesenswert?

@Christian ich habe mal Euer jungfreuliches "Party" Forum besudelt.
http://linux-party.at/tiki-view_forum.php?forumId=6

DJ

von Moritz M. (thinksilicon)


Lesenswert?

Christian, wäre es möglich, dass das Forum eine Anmeldung per OpenID 
bietet? Also dass man sich mit seinem Google/Yahoo/FB/sonstwas Account 
anmelden kann und nicht wieder noch einen zusätzlichen Account herum 
geistern hat? Ansonsten stellt die Seite schon mal einen sehr 
übersichtlichen Einstieg in die Box dar ;-)

von hilfe?? (Gast)


Lesenswert?

Heute ist auch mein Recievermainboard mit allem drum und dran gekommen 
und die linux-party.at webseite ist down???

ist ja fies...

von hilfe?? (Gast)


Lesenswert?

ähhh....

geht wieder...

von Christian B. (9chicane9)


Lesenswert?

re: hilfe?? (Gast)

Ja, das ist fies!  Aus irgendeinem Grund kommt bei der Tiki-Site immer 
eine weiße Seite nach ein paar Tagen, wenn ich nicht regelmässig das 
Verzeichnis /templates_c leere :-(

Wenn wer eine Lösung hat, ausser mit cron das Verzeichnis zu leeren - 
würde ich mich freuen!

von Christian B. (9chicane9)


Lesenswert?

Re: Moritz M.

OpenID ist eingebunden - Ich hoffe es funktioniert auch richtig....

von neuling (Gast)


Lesenswert?

hallo leute bin absoluter neuling was linux angeht
brauche eure hilfe ich will elecard von sata booten
tarball ist bereits auf der festplatte... hab auch usb-stick-elecard 
geflasht...
leider bekommen ich diese meldung auf der seriellen

Hit any key to stop autoboot:  0
## Error: "nandboot" not defined

was mache ich da falsch???

danke schon im vorraus!

von Moritz M. (thinksilicon)


Lesenswert?

Hi,
da stimmt noch ne Environment-Variable im uboot nicht. Bei mir habe ich 
das ganze inzwischen folgendermaßen angepasst:
1
addip=setenv bootargs $(bootargs) ip=$(ipaddr)
2
baudrate=38400
3
bootargs=console=ttyS1,38400n8 stb810_display=pal nomainapp=1
4
bootcmd=run nandboot2
5
bootdelay=2
6
bootfile=/pollinux/nandfs/boot/uImage
7
ethact=dp83815#0
8
ethaddr=00:00:00:00:00:00
9
hostname=pollinux
10
ideargs=setenv bootargs $(bootargs) root=$(rootdev) rw
11
ideboot=sata init;ext2load sata 0:1 $(loadaddr) $(bootfile);run ideargs addip;bootm
12
ipaddr=192.168.XXX.YYY
13
la=80100000
14
ld=loadb $(la);sleep 5;go $(la)
15
loadaddr=0x82000000
16
mtddevname=FlashReader
17
mtddevnum=0
18
mtdids=nand0=nxp-0
19
mtdparts=mtdparts=nxp-0:16k(FlashReader)ro,512k(U-Boot),32k(Env),32k(bbt),9M(Linux),50M(ROMFS),4080k@0x3c00000(WinCE)roo
20
nandboot=nboot Linux;run ideargs addip;bootm
21
nandboot2=nboot Linux;run ideargs;bootm
22
netmask=255.255.255.0
23
nfsargs=setenv bootargs $(bootargs) root=/dev/nfs rw nfsroot=$(serverip):$(rootpath)
24
nfsboot=nfs "$(serverip):$(bootfile)";run nfsargs addip;bootm
25
partition=nand0,0
26
preboot=echo;echo Welcome to the pollinux board v1.1;echo
27
rootdev=/dev/sda1
28
rootpath=/pollinux/nandfs
29
serverip=192.168.XXX.YYY
30
stderr=serial
31
stdin=serial
32
stdout=serial
Damit die Kiste dann eine IP bekommt, muss ein DHCP-Client laufen -> 
/etc/network/interfaces also entsprechend anpassen...

von Tim H. (dasmcboot)


Lesenswert?

Hi neuling,

mtdparts default
setenv nandboot 'nboot Linux;bootm'
saveenv
boot

... im uboot eingeben. Sollte klappen und danach auch automatisch.

von Tim H. (dasmcboot)


Angehängte Dateien:

Lesenswert?

Hallo,
im Anhang für das Board mit Debian Lenny das lcd4linux nur mit dpf 
treibern.

Hier der Link für das Display:
http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/

Eine gute Beispielconfig findet sich hier (Beitrag von Merthos am 
28.1.2012):
http://www.synology-forum.de/archive/index.html/t-25673.html?s=e57102941898fce7b5e644037e9f2886

Viel Spass damit. T.

von DerKetzer (Gast)


Lesenswert?

Moin,

ich habe es geschafft, aus dem Teil einen Briefbeschwerer zu machen, 
tauglich für Maxibriefe. Hat jemand das Teil schonmal per ejtag mit 
UrJTAG erfolgreich neu geflasht oder zumindest das U-Boot-Image ins RAM 
packen + starten können?
Sonst muss ich halt das Flash extern neu bespielen, was natürlich mehr 
Aufwand ist.

Diagnose: Der eigentliche Minimalloader (0-3FF) lebt noch.

Das CE Notfall-Flash Image ist korrupt -> wirft nette Exceptions beim 
starten. Obwohl ich mich von diesem Speicherbereich ferngehalten habe.
Das "Main Image" ist von mir kaputtgespielt worden
(########### FLASH ERROR ###############).

Wie das passiert ist, kann ich auch nicht genau sagen. Nachdem ich 
Elecard draufgeflasht habe (root per nfs), war das CE Notfall-Image 
kaputt, obwohl ich dieses mitgeflasht habe.
(das "CE kaputt" image mittels richtigem Offset aus mtd7 und mtd8 
ausgelesen, große Unterschiede sichtbar. mtd7/mtd8 entsprechend neu mit 
dem CE-Notfall-Image versorgt. Funktioniert. Elecard lief noch, Notfall 
CE auch.
Versucht U-Boot-Stick aus dem Notfall CE zu flashen -> Brick. Ich hätte 
es wissen müssen...

Achso: Ich mache niemanden dafür verantwortlich, keine Sorge.

von nachteule (Gast)


Lesenswert?

moin.....
brauche dringend hilfe bei dem board (dvbc) w_scan spuckt folgendes aus

w_scan version 20070807
Info: using DVB adapter auto detection.
Info: unable to open frontend /dev/dvb/adapter2/frontend0'
Info: unable to open frontend /dev/dvb/adapter3/frontend0'
main:2143: FATAL: ***** NO USEABLE DVB CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

hab das rootfs-lenny drauf....modinfo zeigt das tda10021 für dvb-c 
ist...
im forum hab ich jedoch gelesen das modul tda10023 für kabelempfang 
zuständig ist... die dvb.sh hab ich auch auf modelname CU geändert......

kann einer von euch ne aussage treffen was richtig ist und was dem 
system fehlt??

von HGF (Gast)


Lesenswert?

Vdr läuft noch im hintegrund. Mit "/etc/init.d/vdr stop" solltest du es 
beenden. Danach kannst du wscan starten.

von nachteule (Gast)


Lesenswert?

danke! hab ich aber schon gemacht!!!!!
vdr seem not to be running......
die meldung bei w_scan kommt trotzdem!!

von chef_de (Gast)


Lesenswert?

Probier mal w_scan -f c
-f ist für das Frontend, in deinem Fall DVB-C.
Damit scannt er schon mal bei mir.
Da Ich hier leider im Moment kein Kabelanschluss zum testen habe, sehe 
ich nicht, ob er auch was findet.
Manuell gehts auch:
w_scan -a /dev/dvb/adapter0
Ich hoffe doch mal, dass adapter0 der richtige ist.

VDR und SSH laufen bei mir auch nicht.
Ich habe diesbezüglich im Linux-party.at Forum auch schon geposted.
Linux ist nicht so ganz meine Materie...
Beim starten kommen keine Fehler, auch nicht wenn ich manuell starte.
Im TOP kann ich weder SSH noch VDR sehen. Die Netzwerk- Ports sind auch 
alle zu.

von chef_de (Gast)


Lesenswert?

So...
Habs dann doch hinbekommen.
SSH einfach neuinstalliert.(eine Menge Fehler im syslog)
Der Video-Ordner vom VDR war ungültig. Das habe ich dann auch im syslog 
gefunden.
Einfach geändert und nun läuft alles.
Samba habe ich auch noch installiert.
Zur Installation habe ich die Anleitung und die Dateien von 
Linux-party.at benutzt.
Nun wollte ich etwas weiter gehen und Plugings für VDR kompilieren.
VDR -V zeigt mir Version 1.6.0 an.
auf /usr/src finde ich aber nur /vdr-1.7.22
Kann mir jemand erklären, wie ich hier vorgehen muss?
Die Anleitung vom VDR Wiki habe ich versucht umzusetzen.
Beim kompilieren (make plugins) bekomme ich dann Fehlermeldungen.
Zum einen, das die DVB Api zu alt sei(min 5.0).
Zum anderen expect filename for $filename (oder so ähnlich, leider 
vergessen genau zu notieren)
Gruß und vielen Dank an all die fleissigen Werkler hier.

von 0^0 (Gast)


Lesenswert?

Hallo,

ich habe eine Frage zu dem vdr-streamdev.tar.bz2

Welche Pollinux version muss ich da verwenden, geht auch eine der neuen 
von Dod Ger, die nur eine Partition haben?

Da ich den NFS auf meinem System nicht zum laufen bekomme (viel mehr die 
Netzwerkverbindung nicht hinhaut und ich nicht das ganze Netzwerk 
umkonfigurieren will) benutze ich die USB-Stick boot version, da komme 
ich aber mit dem Originalen Pollinux nicht weiter ... Mounting Userfs 
ist die letzte Meldung nach dem Boot, egal ob ich das userfs in 
/usr/local kopiere oder vier Partitionen auf dem Stick erstelle ...

Die Pollinux_NFS-Root von Dod Ger vom 20.06. läuft aber problemlos (man 
muss nur eth0 aus irgendeinem Grund manuell starten ...) Aber hier 
scheint der VDR-streamdev nicht zu laufen ... das Startscript gibt keine 
Fehlermeldung, startet aber auch keinen vdr ... und vdr direkt 
aufgerufen behauptet ihm fehlt libcap.so.1 ...

Hat jemand eine Idee, wo der Haken sein könnte?

Grüße

von Michael M. (do7tla)


Lesenswert?

Hallo
Ist das schon bekannt das die Box im Originalzustand mit eingebauten 
W-Lan Modul kein WPA2-PSK  kann ?

Ich wollte den IE testen ob man damit Surfen kann.
Nur leider hat die Box mein W-LAN Netz nicht gefunden so das ich ein 
Lankabel angeschlossen habe.

Mittlerweile ist die Box mit der Medion Firmware geflasht.
Hier hab ich noch nicht getestet ob die Firmware WPA2 unterstützt.

Zum einsatz kommt die DVB-T Version.

von Michael W. (michael_w62)


Lesenswert?

@Michael M.
Die Box kann WPA2-PSK sowohl mit der Originalen CE Version wie auch mit 
der Medion Version. Hab hier 2 Stück über ne Fritzbox dranhängen. Was 
für einen Router(Accesspoint) benutzt du?

@W.S.
Falls du nochmals reinschaust melde dich doch bitte an damit man mit dir 
in Kontakt treten kann. Hätte Interesse was aus dem CE zu machen. Z.B 
gabs ein NMD Kit für CE das aber leider nicht mehr verfügbar ist. Darin 
waren alle Dinge die man für ne STB benötigt enthalten. Eventuel hast du 
als CE ENtwickler die Version noch rum liegen.

Erst mal Danke an alle für ihre wirklich tolle Leistung bezüglich des 
Pollinboards Daraus entwickelt sich bestimmt noch ein richtig geiles 
Projekt (Nachfolger der legendären D-Box)egal ob auf CE oder Linux 
Seite.

So jetzt noch ein paar Infos von meiner Seite zum Ce mit more-tv (Mehr 
hab ich noch nicht auf der Box. An Linux traue ich mich zur Zeit noch 
nicht ran da ich nicht sicher bin ob ich das Nand wieder auf den 
Originalzustand bekomme.)
Maus und Tastatur werden wohl erkannt aber es fehlt im Rom die HID 
unterstützung. Wenn also jemand ein ROM bauen kann in dem die kbdhid.dll
und MouHid.dll enthalten sind sollte es eigentlich gehen wobei die Soft 
keine Tastatur oder Maus unterstützt.
Ein DVD an der 2. ten SATA Schnittstelle wir sauber erkannt und mit dem 
DemoDVDPlayer von CE kann man auch DVD schauen. TCMPM hängt sich bei mir 
auf als nächstes wäre jetzt mal VLC dran.

Die More-TV Software wurde von Winbox für Medion geschrieben die wollen 
aber ne Unmenge Geld für die SDK für das Board. Aber auch die haben das 
Teil zugekauft. Beim zerlegen einiger Dateien bin ich auf nen Eintrag 
gestoßen der mich auf diese Firma brachte:

http://www.tara-systems.de/tvolution.html

die sind für das Probiritäre Dateisystem der Moretv Soft verantwortlich.

Nochmals Klar gesagt ich bin kein Feind von Linux (ganz im Gegenteil) 
jedoch finde ich auch die Kiste ist eine Multimediakiste und sollte als 
solche genutzt werden und da CE bereits drauf läuft und alle Treiber 
hier enthalten sind wird es einfacher gehen eine neue Oberfläche zu 
schreiben als die Treiber zu finden oder zu schreiben da Philips halt 
nur CE Treiber für das Board geliefert hat.

Schön wäre natürlich auch wenn man entweder die Elecard Firmware sauber 
zum laufen bekommt oder aber eventuell Enigma2 (ja ja die gute alte 
D-Box zeit). Hier wäre z.B. eine Ähnliche Box die ebenfalls nen Mips 
Prozessor einsetzt und Enigma2 drauf hat:
http://www.clarke-tech.com/produkte?template=detail&entryid=41&lang=
Ebenfalls eine Twin-kiste
Das Firmware hab ich schon mal Runtergelden und mal angeschaut. Sobald 
ein ersatzboard da ist werde ich mal den Schritt Linux wagen.

Gruß an alle und weiter so

von Michael M. (do7tla)


Lesenswert?

Als Router kommt eine Fritzbox 7390 zum Einsatz.

von Michael R. (Gast)


Lesenswert?

Hallo zusammen,
warum ist es hier auf einmal so ruhig geworden?
Ich wäre auf jeden Fall interessiert an den aktuellen Neuerungen in 
Sachen Pollin Box.

Meine läuft soweit super; mit dem Image aus der Partyzone.
Habe einen FTP- und einen Samba Server installiert.
Leider ziggt der VDR nun etwas mit dem Samba-Ordner herum ...
aber ich denke das liegt irgendwie an den Benutzerrechten - das bekomme 
ich bestimmt wieder hingebastelt.


Gruß Michael

von Michael M. (do7tla)


Lesenswert?

Stimmt seit einiger zeit ist hier Funkstille.
Wird an dem Receiver noch Programmiert oder ist dieses Projekt 
eingestellt ?

von Moritz M. (thinksilicon)


Lesenswert?

Nja... seit der VDR (mit streamdev) bei mir einwandfrei läuft, steht die 
Kiste oben unterm Dach (da is Empfang am besten) und streamt ins 
Netzwerk...
Von daher habe ich jetzt eigentlich nichts großartig neues mehr mit der 
Kiste gemacht

von Michael M. (do7tla)


Lesenswert?

Ich hab die Normale MoreTV Soft am laufen in der DVB-T version.
Alles Funktioniert so wie gewünscht.

Wie weit ist der Stand das Linux auf dem Receiver Benutzerfreundlich 
läuft ?
Gibt es schon eine Gui die man mit der Fernbedienung bedienen kann oder 
läuft das noch auf Kommandozeilen Basis (CMD) ?

von R. H. (snapper)


Lesenswert?


von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ja mittlerweile hat doch jeder vom Raspberry PI gehört ... ich sehe 
keinen Bedarf mehr jeden Thread damit zuzupflastern ...

Ich mein ich warte auch gespannt auf das Teil, aber bis normalsterbliche 
eins in der Hand halten werden, wirds wohl noch ein weilchen dauern.

Wollt ich nur gerade mal anmerken, denn 50% der Posts in diesem Forum 
sind gerade gefühlt: Guck mal RaspberryPI, nimm den! Damit kannst du 
alles ersetzen (auch den Tiny der ne LED bliniken lässt)

von möpmöp (Gast)


Lesenswert?

wääääh
Christian Bu. mach mal das linux-party.at wieder geht ;)

von möpmöp (Gast)


Lesenswert?

oh und was muss man machen um ein signal auf dem svhs ausgang zu haben 
bei einem jungfräulichen board (also mit windos CE usw)? hab grad leider 
kein composite oder scartkabel da...

von möpmöp (Gast)


Lesenswert?

hab ein composite kabel gefunden ;) also kein svhs mehr nötig grad ;)

von phil (Gast)


Lesenswert?

Hallo Gemeinde,
habe die Hardware der DVB-C Box komplett aufgebaut (inkl. Gehäuse,
W-Lan, FB etc.) und komme aber nicht dazu, damit weiterzumachen. Habe
einmal das eingebaute CE gebootet, immer fleißig mitgelesen und mich
über den Fortschritt gefreut und das wars.
Daher würde ich sie gerne an aktivere Bastler abgeben, Preisvorstellung
inkl. Versand ca. 20 Euro.

Grüße,
Philipp

von Christoph Rasim (Gast)


Lesenswert?

Ich würde meine Sachen aus Zeitmangel ebenfalls gerne abgeben. Zwei 
komplette DVB-T-Geräte (ohne WLAN, aber inkl. Serial/USB-Headerboards 
und SATA/HDD-Stromkabeln) sowie ein zusätzliches DVB-C-Board und eine 
Fernbedienung. Auf einem Gerät ist schon der Bootloader aktualisiert, 
auf dem hatte ich Linux vom USB-Stick laufen.

Preis 40 Euro komplett inkl. Versand für alles.

von Dieter K. (ddd1)


Lesenswert?

Hallo
folgendes habe ich gefunden
http://support.roku.com/entries/246042-roku-player-open-source-resources
http://lxr.linux.no/linux+v3.3/arch/mips/
vieleicht kann jemand damit was anfangen.
Gruß
Dieter

von Sven J. (locutussum)


Angehängte Dateien:

Lesenswert?

Hi,

ich hab jetzt mal die Schnelleinstiegs-Anleitung von linux-party.at 
befolgt und - nur mit Hilfe dieses Threads, weil da doch tatsächlich der 
wichtige Teil zum einstellen des U-Boots nicht vollständig ist! - das 
Board soweit gebracht, das Linux von der Platte zu booten.

Jetzt habe ich aber ein Problem: Auf der seriellen Konsole komme ich 
einfach nicht weiter: Die Box bootet soweit (siehe angehängtes Bootlog), 
aber nach dem crond-start passiert gar nichts mehr. Auch auf gesendete 
Tasten passiert nicht. Eigentlich sollte ich doch über die serielle 
Konsole dann eine Shell starten können? Ich hab auch schon in der 
/etc/inittab die auskommentierten Zeilen zum Thema "Shell auf seriellen 
Konsolen" einkommentiert und die Baudrate angepasst, aber: nichts.

Der einzig andere Weg, den ich noch hätte, um mit der Box zu 
kommunizieren, wäre SSH, aber das scheitert daran, dass ich die 
Login-Informationen nicht kenne.

Kann mir wer helfen, damit ich mit dem Linux arbeiten kann?

von Michael T. (pcmichi)


Lesenswert?

Hallo,

habe das Problem, das vdr nicht startet. Auf der Konsole taucht das 
immer auf:
1
Starting Linux Video Disk Recorder: vdr
2
Searching for plugins (VDR 1.6.0-2/1.6.0) (cache hit):
3
WARNING: The following plugins have been left out due to really binary incompatibility: streamdev-server xvdr.



Wenn ich unter /var/logs/syslog schaue, finde ich folgendes:
1
Jan  1 04:08:38 vdr vdr-kbd: [1236] cTimeMs: using monotonic clock (resolution is 4000000 ns)
2
Jan  1 04:08:38 vdr vdr-kbd: [1251] cTimeMs: using monotonic clock (resolution is 4000000 ns)
3
Jan  1 04:08:38 vdr vdr-kbd: [1251] ERROR: /usr/lib/vdr/plugins/libvdr-streamdev-server.so.1.6.0: cannot open shared object file: Permission denied
4
Jan  1 04:08:38 vdr vdr-kbd: [1255] cTimeMs: using monotonic clock (resolution is 4000000 ns)
5
Jan  1 04:08:38 vdr vdr-kbd: [1255] ERROR: /usr/lib/vdr/plugins/libvdr-xvdr.so.1.6.0: cannot open shared object file: Permission denied
6
Jan  1 04:08:55 vdr vdr-kbd: [1316] cTimeMs: using monotonic clock (resolution is 4000000 ns)
7
Jan  1 04:08:55 vdr vdr: [1316] ERROR: /var/vdr/video: Permission denied
8
Jan  1 04:08:55 vdr runvdr: stopping after fatal fail (vdr: can't access video directory /var/vdr/video)


Ich bin nach der Schnelleinstieg Anleitung von linux-party.at 
vorgegangen und habe ein DVB-C Board.

Hat einer eine Idee, warum vdr bei mir nicht starten will?

Grüße
Michael

von Joel T. (tuxx42)


Lesenswert?

Hi Leute,

ich hab mich heute mit jtag an die kiste rangewagt.

Ich versuche mit einem FT2232 mit usbjtag an die firmware ranzukommen. 
Dabei hab ich ein paar Anfangsschwierigkeiten:
1
tuxx@dev10:~$ cat openocd.cfg 
2
#define our ports
3
telnet_port 4444
4
gdb_port 3333
5
6
#interface
7
interface ft2232
8
ft2232_vid_pid 0x0403 0x6010
9
ft2232_layout "usbjtag"
10
reset_config trst_and_srst
11
#ft2232_device_desc "DLP2232M A"
12
#ft2232_latency 2
13
# 6/(1+n) Mhz TCLK
14
jtag_khz 6000
15
16
tuxx@dev10:~$ sudo openocd 
17
Open On-Chip Debugger 0.4.0 (2010-10-08-15:44)
18
Licensed under GNU GPL v2
19
For bug reports, read
20
        http://openocd.berlios.de/doc/doxygen/bugs.html
21
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
22
Info : clock speed 6000 kHz
23
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
24
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -expected-id 0x00000000 ..."
25
Warn : AUTO auto1.tap - use "jtag newtap auto1 tap -expected-id 0x00000000 ..."
26
Warn : AUTO auto0.tap - use "... -irlen 5"
27
Warn : AUTO auto1.tap - use "... -irlen 5"
28
Warn : gdb services need one or more targets defined
29
Info : accepting 'telnet' connection from 0
30
Runtime error, file "command.c", line 650:
31
    invalid command name "scan_chains"
32
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
33
-- ------------------- -------- ---------- ---------- ----- ----- ------
34
 0 auto0.tap              Y     0x00000000 0x00000000     5 0x01  0x03
35
 1 auto1.tap              Y     0x00000000 0x00000000     5 0x01  0x03
36
37
38
> scan_chain 
39
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
40
-- ------------------- -------- ---------- ---------- ----- ----- ------
41
 0 auto0.tap              Y     0x00000000 0x00000000     5 0x01  0x03
42
 1 auto1.tap              Y     0x00000000 0x00000000     5 0x01  0x03
43
>

Wäre nett wenn jemand der jtag am laufen hat mir kurz beschreiben könnte 
was ich da falsch mache... IdCode 0x0000000 hört sich irgendwie falsch 
an ;)

Gruß,
tuxx42

von Markus .. (c_classic)


Lesenswert?

Hi,

welcher Kernel ist denn der Aktuellste, den es für die Box gibt (Also 
mit allen Kernelmodulen etc.)? Der Neueste, den ich finden konnte war 
2.6.21.3 (Laszlo H.) [1].

Gibt es irgendwo eine Anleitung, wie ich einen Kernel für die Box 
kompiliere?

Wie stehts in der Version mit Audio und WLAN?

Könnte jemand mit ausreichendem Wissen bitte die Beiträge ab "Kernel 
Flashen" [2] im Wiki ergänzen?

Sorry dass es nur Fragen sind, aber ich kam erst jetzt wieder dazu mich 
mit der Box zu beschäftigen. Auf jeden Fall schonmal Danke für die 
Antworten.

MfG
Markus

[1]: Linux vdr 2.6.21.3PNX8550 #1743 Fri Feb 11 10:49:15 OMST 2011 mips 
GNU/Linux
http://www.mikrocontroller.net/attachment/129368/uImage

[2]: 
http://www.mikrocontroller.net/articles/Receiver-Mainboard_Plattform_Philips_PNX8950#Kernel_Flashen

von overflowed (Gast)


Lesenswert?

Sven J. schrieb:
> ich hab jetzt mal die Schnelleinstiegs-Anleitung von linux-party.at
> befolgt und - nur mit Hilfe dieses Threads, weil da doch tatsächlich der
> wichtige Teil zum einstellen des U-Boots nicht vollständig ist! - das
> Board soweit gebracht, das Linux von der Platte zu booten.

das mtdparts default steht auch in der Anleitung

> Jetzt habe ich aber ein Problem: Auf der seriellen Konsole komme ich
> einfach nicht weiter: Die Box bootet soweit (siehe angehängtes Bootlog),
> aber nach dem crond-start passiert gar nichts mehr. Auch auf gesendete
> Tasten passiert nicht. Eigentlich sollte ich doch über die serielle
> Konsole dann eine Shell starten können?

Nicht per default, dein Bootvorgang ist abgeschlossen, die Box ist 
betriebsberiet.

> Ich hab auch schon in der
> /etc/inittab die auskommentierten Zeilen zum Thema "Shell auf seriellen
> Konsolen" einkommentiert und die Baudrate angepasst, aber: nichts.

Dann solltest du auch raufkommen, richtigen Port verbunden?

>
> Der einzig andere Weg, den ich noch hätte, um mit der Box zu
> kommunizieren, wäre SSH, aber das scheitert daran, dass ich die
> Login-Informationen nicht kenne.

Steht auch im Schnelleinstieg...

Vielleicht einfach nocheinmal die Anleitung aufmerksam von Anfang bis 
Ende lesen?

von Sven J. (locutussum)


Lesenswert?

overflowed schrieb:
> Sven J. schrieb:
>> ich hab jetzt mal die Schnelleinstiegs-Anleitung von linux-party.at
>> befolgt und - nur mit Hilfe dieses Threads, weil da doch tatsächlich der
>> wichtige Teil zum einstellen des U-Boots nicht vollständig ist! - das
>> Board soweit gebracht, das Linux von der Platte zu booten.
>
> das mtdparts default steht auch in der Anleitung

In der Anleitung von Linux-Party.at steht:
"[...] muss mit setenv nandboot dem ein mtdparts default vorangestellt 
werden. Nicht vergessen mit saveenv zu speichern! [...]"

Ich weis ja nicht, wie du das siehst, ich kann daraus aber nicht direkt 
ableiten, was zu tun ist. "dem ein"? Da fehlt was.


>> Ich hab auch schon in der
>> /etc/inittab die auskommentierten Zeilen zum Thema "Shell auf seriellen
>> Konsolen" einkommentiert und die Baudrate angepasst, aber: nichts.
>
> Dann solltest du auch raufkommen, richtigen Port verbunden?

Sollte eigentlich der Richtige sein, ich hab auch in der inittab beide 
Ports aufgeschaltet.


>>
>> Der einzig andere Weg, den ich noch hätte, um mit der Box zu
>> kommunizieren, wäre SSH, aber das scheitert daran, dass ich die
>> Login-Informationen nicht kenne.
>
> Steht auch im Schnelleinstieg...
>
> Vielleicht einfach nocheinmal die Anleitung aufmerksam von Anfang bis
> Ende lesen?

Tatsache, das steht auch da. Hab ich überlesen, weil das unter DVB-T 
stand, ich aber DVB-C hab und entsprechend erst mal ne Zeile weiter 
gesprungen bin.

von Ari (Gast)


Lesenswert?

Hallo,
möchte einer von euch ein Board mit Gehäuse, Wlan und Netzteil 
loswerden?
Angebot bitte an mich...
ari.kaspari@googlemail.com

von Karol B. (johnpatcher)


Lesenswert?

Wäre auch an einem vollständigen Set interessiert. Sofern jemand das 
Interesse verloren hat oder nicht genügend Zeit hat, bitte melden ;).

von schwix (Gast)


Lesenswert?

Wieviel wäre euch die Box denn wert? ;)
Mir ist die Bastellust vergangen. Wenns genug einspielt das ich n
ordentlichen DVBT Receiver dafür kaufn kann, verkauf ich das Ding, auf 
Wunsch auch inkl. HDD.

mal n Angebot an schwix (at) gmail.com

von Richard (Gast)


Lesenswert?

hätte eine komplette Dvbt box abzugeben angebote bitte an Richardbaier 
AAATTT gmx.de

von Sven G. (sveng)


Lesenswert?

Harald Koenig schrieb:
> overflowed schrieb:
>> Da ein bzip2 tar noch 142 MB groß ist, beschreibe ich lieber kurz wie
>> ich zu diesem Stand gekommen bin anstatt das FS hochzuladen, es sei denn
>> es besteht tatsächlich Interesse an dem FS.
>
> <tatsächlich>Interesse!!</tatsächlich>
...
>> Falls doch Interesse an dem fertigen FS, dem xvdr-patch besteht, oder
>> irgendwas doch noch nicht ganz klar ist, versuche ich das irgendwie
>> zugänglich zu machen.
>
> entweder hier, oder gerne auch auf einen ftp-server bei mir zum
> upload...

Ich würde das mal unterschreiben...
Bei so vielen "waghalsigen" Formulierungen wie "einen login via rs232 
einrichten", "ein init script gebaut" und "braucht man ein paar 
Anpassungen" wäre es für viele sicherlich hilfreich, eine 
schlüsselfertige Minimallösung zu bekommen, auf der man aufbauen kann.

Und - ja, ich bekomme gern alles fertig sortiert; gern auch mit 
Sahnehäubchen - gibt es eigentlich schon fertige Lösungen zum Thema 
"Minimal-RootFS im NAND"?

Bitte nicht falsch verstehen - ich bin gern bereit, Zeit zu investieren 
- auch weiter zu testen, aber alles ist irgendwie einfacher, wenn man 
die ersten Schritte anhand einer funktionierenden Komplett-Anleitung 
gehen kann.
Bei meiner Dockstar habe ich damals so recht gute Erfahrungen 
gemacht.....

(an dieser Stelle schonmal DANKE vorab!)

von Moritz M. (thinksilicon)


Lesenswert?

Hallo mal wieder,
ich bin gerade dabei mein XBMC zu updaten und wollte jetzt auch mal das 
LiveTV ausprobieren. Dafür benötigt man das xvdr-Plugin, welches ich 
auch auf der Box kompilieren wollte.
Leider bricht das ganze aber mit
1
src/live/channelcache.c: In member function 'void cChannelCache::CreateDemuxers(cLiveStreamer*)':
2
src/live/channelcache.c:28: error: 'class cLiveReceiver' has no member named 'SetPids'
3
src/live/channelcache.c:37: error: 'class cLiveReceiver' has no member named 'AddPid'
4
make: *** [src/live/channelcache.o] Error 1
ab :-(
Habe das ganze direkt ausm git ausgecheckt. Leider bin ich in c++ noch 
weniger bewandert, als in C, deswegen meine Frage, ob jemand vielleicht 
weiß, woran der fehler liegt. Ich habe mich schon ein wenig in den 
Includes umgesehen, daran scheint es aber nicht direkt zu liegen.

Kann es an meiner doch schon etwas älteren vdr-1.6.0-Installation 
liegen?

@Sven G.
bringt dich der Schnelleinstieg von 
http://linux-party.at/Schnelleinstieg nicht weiter? Dort gibts doch 
schon ein schlüsselfertiges System? Da musst halt noch entsprechend per 
apt den vdr nachinstallieren (sources list anpassen, da lenny ja 
inzwischen ins Archiv gewandert ist)

von Moritz M. (thinksilicon)


Angehängte Dateien:

Lesenswert?

Ok,
das Thema von oben hat sich erstmal soweit erledigt, nachdem ich das 
vdr-plugin-vnsiserver aus 
https://github.com/pipelka/xbmc/tree/master/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver 
genommen habe und das auch erfolgreich kompilieren konnte.
Für alle, die es auch gerne haben möchten, habe ich mal den kompletten 
Ordner (also Quellcode + Objects + libvdr-vnsiserver.so) gepackt und in 
den Anhang geladen.
Jetzt macht LiveTV mit XBMC richtig Spaß! ;)

Zum Installieren einfach die libvdr-vnsiserver.so nach 
/usr/lib/vdr/plugins/libvdr-vnsiserver.so.1.6.0 kopieren (habe für 
vdr-1.6.0 kompiliert) und den Ordner vnsiserver mit der 
allowed_hosts.conf nach /var/lib/vdr/plugins/ kopieren. Anschließend 
noch Owner ändern: chown -R vdr:vdr vnsiserver

Nach einem Neustart von vdr hat er das Plugin geladen - viel Spaß!



(siehe auch 
http://htpc-wiki.de/wiki/VDR:Plugins#Paket_selbst_kompilieren )

von Martin G. (percolator25)


Lesenswert?

Dank der Anleitung auf linux-party.at und kermit habe ich endlich eine 
Ausgabe auf der seriellen Schnittstelle:

[code]
U-Boot 2011.09-00000-gf54ce7f-dirty (Dec 20 2011 - 12:36:29)

DRAM:  128 MiB
NAND:  NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 
64MiB 3,3V 8-bit)
64 MiB
Bad block table at page 1120, version 0x01
Bad block table at page 1152, version 0x01
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   natsemi: EEPROM contents:
 d008 0400 0b34 00f3 0000 0000 0000 8c00 48f9 1442 0000 aa9a
natsemi: MAC-Address: 0:18:F3:91:84:28
dp83815#0

Welcome to the pollinux board v1.1

Hit any key to stop autoboot:  0
#
[code]

Hier endet leider die Anleitung und ich komme nicht weiter. Ich kann 
nichts auf der Konsole eingeben und über Netzwerk ist die Box auch nicht 
erreichbar. Es wird weder von SATA noch von USB gebootet (beide male 
ext3 mit dem rootfs, das auf linux-party.at angegeben ist). Was muss ich 
noch machen? Wie komme ich zu SSH?

von overflowed (Gast)


Lesenswert?

@Martin G.
Aus dem Bauch würde ich mal tippen du hast das mtdparts default nicht 
davor gesetzt.

@Sven G.
>In der Anleitung von Linux-Party.at steht:
>"[...] muss mit setenv nandboot dem ein mtdparts default vorangestellt
>werden. Nicht vergessen mit saveenv zu speichern! [...]"
>
>Ich weis ja nicht, wie du das siehst, ich kann daraus aber nicht direkt
>ableiten, was zu tun ist. "dem ein"? Da fehlt was.

mit dem ist die Envvar nandboot gemeint.
Gemeint ist damit folgendes:
* Gib dir die envvars aus
* Siehe dir an was in nandboot steht
* Gebe folgendes ein setenv nandboot "mtdparts default;<alter nandboot 
Wert>"
* Führe noch "saveenv" aus.

In Kurzfassung dem nandboot muss ein mtdpats default vorangestellt 
werden.

Im Übrigen ist der Schnelleinstieg und die Dateien dazu genau die 
fertige Lösung die haben wolltest.
Davor hatte ich nur beschrieben wie man sich selbst das rootfs erstellt.

Das mtdpats default hab ich einfach vergessen beim u-boot erstellen, 
mach nochmal ein neues und ich tausche es aus.


@Moritz M.
In dem Schnelleinstieg ist ein xvdr plugin bereits im vdr drin. Geht das 
mit neuen Clients nicht mehr?
Ja das sieht ohne mich näher damit zu beschäftigen, nach einem 
Versionskonflikt aus. Die channels.conf hat sich mitlerweile auch 
erheblich verändert in der die PIDS festgehalten werden.
Müsste aber zu beheben sein...

von Martin G. (percolator25)


Lesenswert?

"Aus dem Bauch würde ich mal tippen du hast das mtdparts default nicht
davor gesetzt."

Das ist ja mein Problem, wo muss ich das eingeben? Im bin-file? Auf der 
TTY kann ich gar nichts schreiben. Und was und wo sind diese setenv und 
wie lasse ich mir die ausgeben? Und was macht mtdparts default?

von Sven J. (locutussum)


Lesenswert?

Hit any key to stop autoboot:  0 zählt von 5 od. so auf 0 runter. vor 
der null schnell ne taste drücken und du kommst in die konsole vom 
UBoot. da musst du dann die befehle eingeben, die du hier irgendwo im 
thread findest - wo genau, k.a., am besten den ganzen thread mal nach 
setenv durchsuchen, irgendwo wurde das mal erklärt.

von Martin G. (percolator25)


Lesenswert?

Das funktioniert leider nicht, der ist sofort auf 0 (in weniger als 
einer Sekunde), auf Tasteneingaben reagiert die Box gar nicht (weder 
über RS232 noch direkt an der Box).

von Stefan S. (stefan_ro)


Lesenswert?

This site contains malicious code
1
http://linux-party.at/Schnelleinstieg
 and viruses! (HDD S.M.A.R.T)

von Moritz M. (thinksilicon)


Lesenswert?

@overflowed,
ok... habe nich die files ausm schnelleinstieg sondern damals n rootfs 
hier ausm forum genommen; dann liegts wohl daran. Aber mit VNSI bin ich 
ja jetzt erstmal soweit zufrieden - dennoch danke für den Hinweis, 
vielleich werd ich dann mal updaten ;-)

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

So, ich habe auch den "Status: error..." bei der flashme.exe

Wie ist das mit dem Zurücksetzen in den Auslieferungszustand gemeint?
Es ist doch bereits das Windows CE 5.0 drauf, als ich es gekauft habe. 
Ist das die falsche Version?

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

So ich habe es jetzt herausgefunden: Man muss die "reflash"-Variante als 
erstes einspielen. Danach kann man U-Boot laden - Das flashme.exe sagt 
dann auch "Status: ready..."

Man muss auch nicht die Fernbedienung benutzen. Man kann die Box immer 
mit dem Knopf vorn einschalten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.