Gehe zu Seite: Erste 2 Letzte |nächste|

Open Source Software (Linux-Kernel) im LCD

+A -A
Autor
Beitrag
p)(d
Stammgast
#1 erstellt: 10. Sep 2007, 17:05
hallo zusammen!

open source software (u.a. linux-kernel)in unseren philips lcd's!!!

hat sich schon jemand mit dem thema auseinander gesetzt?
meine absicht ist per netzwerk/usb/flashupdate evtl mehr mit unserem tv machen zu können.

falls ein solcher thread hier im forum unerwünscht ist - dann bitte gleich schliessen.

da mein lcd (42pfl9732) erst bestellt ist, kann ich hier noch von keinen testergebnissen berichten.
ich kann bisher nur infos weitergeben, die man auf der philips seite finden kann.

im sammelthread 42 pfl 9732 hatte ich schonmal mit diesem thema angefangen, aber es betrifft ja noch viele weitere modelle (evtl alle?)

zu folgenden modellen habe ich ein ca 82mb grosses zip mit einem "opensource-publicationpack" gefunden.

37 pfl 9632
37 pfl 9732
42 pfl 7862
42 pfl 9632
42 pfl 9732 http://www.p4c.phili...9732d_10_osf_aen.zip
42 pfl 9900
47 pfl 9532
47 pfl 9732

hierfür gibt es bisher noch kein oss file:
32 pw 9551
37 pfl 7662
37 pf 9641
42 pfl 7662
42 pf 9641
42 pf 9731
47 pfl 5522
47 pfl 7642
50 pf 9631

in den zips sind die verwendeten oss teile drin, z.b. linux_2.6.10_mvl40x_patchlevel_956.tar.bz2, gcc_3.4.3_25.0.70.0501961.src.rpm, glibc_2.3.3_40.0.57.0501961.src.rpm, usw.

die tatsache, das oss verwendet wird heist aber nicht, das es einfach sein wird teile davon zu modifizieren.
zuerst müssen wir einen zugang finden - sei es per netzwerk oder durch modifikation der flashfiles, die warscheinlich geschützt sind.

inhalt der autorun.upg datei:
2SWU3TXV Release for TV520 R1:
Q581E-0.59.28.0 Generation date:
4/09/2007 10:40:0

dann 00-Bytes bis Hex 1FF - danach sieht es auf den ersten blick crypted, oder komprimiert aus.

kann mal jemand per portscanner schaun, ob vielleicht ein port offen ist?

so - nun seit ihr erstmal dran - vielleicht finde ich hier ja die ein oder anderen gleichgesinnten...


WARNUNG VORWEG: DURCH EINE NICHT VOM HERSTELLER AUTORISIERTE MODIFIKATION ERLISCHT DIE GARANTIE - DAS GERÄT WIRD MÖGLICHERWEISE DEFEKT!!!
Bufobufo
Inventar
#2 erstellt: 10. Sep 2007, 18:32
Hi,

Optimist ?

Ohne Schnittstellen Docu wird das NIE was.
Außerdem halte ich es für anmaßend, dass du/ihr mehr aus dem TV "rausholt", als Philips selbst.


falls ein solcher thread hier im forum unerwünscht ist - dann bitte gleich schliessen.


Aber nur zu, postet was das Zeug hält.

Gruß Jan
p)(d
Stammgast
#3 erstellt: 10. Sep 2007, 20:11

Ohne Schnittstellen Docu wird das NIE was.


ich will ja nicht unbedingt die grafikchips ansteuern.
der reiz für mich ist schon "rausfinden, was geht" und "was geht definitiv nicht".

auserdem ist alles eine frage der energie die man reinsteckt.

ne menge infos gibts ja schon in den sourcen und patches.



Außerdem halte ich es für anmaßend, dass du/ihr mehr aus dem TV "rausholt", als Philips selbst.

falls es eine möglichkeit gibt überhaupt was zu machen, dann will ich nicht mehr als philips rausholen. vielleicht will ich ja nur ne andere menüfarbe...

...und wenn man den linux-kernel irgendwie nutzen kann stehen sowieso unendlich viele möglichkeiten offen die dann nur noch von speicherfragen begrenzt werden.

wiegesagt rausfinden was überhaupt geht ist mein motto
p)(d
Stammgast
#4 erstellt: 26. Jan 2008, 15:35
als ich das thema aufgriff hatte ich mich (leider) erst kurz zuvor von meinem 42 pf 9731 getrennt.
der hatte noch eine eingebaute netzwerkkarte.

hat eigentlich mal jemand einen portscan auf einem philips mit netzwerkkarte gemacht?

mich lässt das thema einfach nicht los und werde demnächst (wenn meine frau mal ein wochenende nicht zuhause ist) meinen 47 pfl 9732 aufmachen.
hardware um flashroms auszulesen (notfalls sockel ich nen ungesockelten chip) hab ich.

hat schonmal jemand seinen philips geöffnet und evtl fotografiert?
Razorblade
Ist häufiger hier
#5 erstellt: 26. Feb 2008, 22:06
Ich plane die Anschaffung eines 47 PFL 9732 und war positiv überrascht, daß die Kiste mit Linux läuft.
Nach einigen Recherchen habe ich folgendes herausgefunden:

Entsprechend dem hier geposteten Archiv-Header handelt es sich um Philips' TV520 Serie, diese wiederum basiert auf dem Nexperia PNX8535.
Hier ist eine kurze Beschreibung der TV520 Plattform:
http://www.elektronikpraxis.vogel.de/index.cfm?pid=822&pk=46296

Was mich in dem Artikel etwas stört ist, daß diese Plattform eigentlich für den "kostensensitive Mainstream-LCD-Markt" gedacht ist. Ich dachte die PFL 9732 wäre eher die gehobene Schiene, aber naja...


Also, nun das wir wissen, daß es ein PNX8535 ist, gehts weiter:
http://www.linux-mips.org/wiki/PNX85XX

Soso, ein guter DSP ohne Doku... naja, da ein 2.6.10 Kernel läuft (für den wir auch die Sourcen haben), sollte es doch möglich sein ein USBNet Treiber zu "crosscompilieren" (schönes denglisch) und einzubinden.

Fernziel wäre es natürlich irgendwas zur Videowiedergabe (evtl sogar Streaming?) laufen zu lassen, aber irgendwie glaube ich nicht daran.

Werde mir jetzt nochmal das Update-Image vornehmen und gucken, ob man da irgendwas außer dem Header extrahieren kann...


edit: hier noch mehr Detail-Infos, dann spart man sich das Aufschrauben und nachgucken:
http://tree.celinuxf...get=LinuxOnTv520.pdf

Gruß,
Razor


[Beitrag von Razorblade am 26. Feb 2008, 22:21 bearbeitet]
p)(d
Stammgast
#6 erstellt: 27. Feb 2008, 00:21

Razorblade schrieb:

edit: hier noch mehr Detail-Infos, dann spart man sich das Aufschrauben und nachgucken:
http://tree.celinuxf...get=LinuxOnTv520.pdf

Gruß,
Razor


schaut mal auf Seite 4:
IDE Anschluss!
Serialport!!!

Ich werde am Samstag den Schraubenzieher rausholen
Razorblade
Ist häufiger hier
#7 erstellt: 27. Feb 2008, 00:30
Ich bin inzwischen mal die Open Source Bestandteile von Philips durchgegangen und zumindestens was die Kernel-Patches angeht scheint es vollständig zu sein.

D.h. wenn man die Userland-Bestandteile aus dem Image extrahieren könnte, sollte einer Anpassung eigentlich nichts im Weg stehen.

Was das Image angeht, so tippe ich eher auf Komprimierung als Verschlüsselung, habs mir mal mit einem Hexeditor angeguckt und für (gute) Verschlüsselung sind mir zu viele wiederkehrende Muster enthalten (ok, das sollte bei guter Komprimierung auch nicht passieren).
Mein Tip derzeit: ein komprimiertes jffs2 Image


Gruß,
Razor
p)(d
Stammgast
#8 erstellt: 09. Mrz 2008, 17:35
Anbei die Ausgabe des Service UART (rs232 mit 38400 Baud):


Standby application ceissppnxjagCFG10 version 18.2.1
Built on Oct 2 2007 at 09:57:49
UªU

uBTM NDK R5.2b retail Feb 7 2007 11:56:37
Boot device - ST NAND512W3A
BootFFS initialization - OK
uBTM has been enabled with ECC
Searching BootLoader.tdf
File System ID is BFFS_ID
Loading /bffs0/BootLoader.tdf-Done

Starting /bffs0/BootLoader.tdf
JBL enabled with ECC check

Initialize I2C module


BootLoader OS_R0.4.6 retail Apr 25 2007 12:01:32
Searching boot.bat
Executing /bffs2/boot.bat from label "1:"
* SR1->Coldboot
* On error goto 60
* Loading /bffs2/atvTm0App.tdf - ok
* Loading /bffs2/tm5050.tdf - ok
* Loading /bffs2/Kernel.tdf - ok
* MemFill 0x83fff000 0x1000 0xff
* Signal 30
Parsing Kernel Boot Command Line

CMD_LINE arguments passed by JBL :
* Starting /bffs2/Kernel.tdf(Warning) [-29976] MDCS write timeout 0/0 from 2 to 6 at 1be47064; EPC 801d18ac
(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warning) [-2997(Warn"htv520EU/82 startup script ..."
"Mounting file systems"
Total usertime mount for /proc: 0,000000 [Sec]
Total systemtime mount for /proc: 0,000000 [Sec]
Total usertime mount for /sys: 0,000000 [Sec]
Total systemtime mount for /sys: 0,000000 [Sec]
Total usertime mount for /dev/shm: 0,000000 [Sec]
Total systemtime mount for /dev/shm: 0,000000 [Sec]
Total usertime mount for /dev/pts: 0,000000 [Sec]
Total systemtime mount for /dev/pts: 0,000000 [Sec]
ing) [-2997(Warn"htv520EU/82 startup script ..."

"Mounting file systems"

Total usertime mount for /pro"Mounting the flash file systems"
c: 0,000000 [Sec]

Total systemtime mount for /proc: 0,000000 [Sec]

Tot"Loading PNX5050 Image"
al usertime mount for /sys: 0,000000 [Sec]

Total systemtime mount for /sys: 0,000000 [Sec]

Total usertime mount for /dev/shm: 0,000000 [Sec]

Total systemtime mount for /dev/shm: 0,000000 [Sec]

Total usertime mount for /dev/pts: 0,000000 [Sec]

Total systemtime mount for /dev/pts: 0,000000 [Sec]

ing) [-2997(Warn"htv520EU/82 startup script ..."



"Mounting file systems"



Total usertime mount for /pro"Mounting the flash file systems"

c: 0,000000 [Sec]



Total systemtime mount for /proc: 0,000000 [Sec]



Tot"Loading PNX5050 Image"

al usertime mount for /sys: 0,000000 [Sec]



Total systemtime mount for /sys: 0,000000 [Sec]



Total usertime mount for /dev/shm: 0,000000 [Sec]



Total systemtime mount for /dev/shm: 0,000000 [Sec]



Total usertime mount for /dev/pt[-29880] MDCS read timeout 1/1 from 0 to 25 at 28040010; EPC 8006283c
s: 0,000000 [Sec]



Total systemtime mount for /dev/pts: 0,000000 [Sec]



ing) [-2997(Warn"htv520EU/82 startup script ..."







"Mounting file systems"







Total usertime mount for /pro"Mounting the flash file systems"



c: 0,000000 [Sec]







Total systemtime mount for /proc: 0,000000 [Sec]







Tot"Loading PNX5050 Image"



al usertime mount for /sys: 0,000000 [Sec]







Total systemtime mount for /sys: 0,000000 [Sec]







Total usertime mount for /dev/shm: 0,000000 [Sec]







Total systemtime mount for /dev/shm: 0,000000 [Sec]







Total usertime mount for /dev/pt[-"Launching TV application"

s: 0,000000 [Sec]







Total systemtime mount for /dev/pts: 0,000000 [Sec]







ing) [-2997(Warn"htv520EU/82 startup script ..."















"Mounting file systems"















Total usertime mount for /pro"Mounting the flash file systems"







c: 0,000000 [Sec]















Total systemtime mount for /proc: 0,000000 [Sec]















Tot"Loading PNX5050 Image"







al usertime mount for /sys: 0,000000 [Sec]















Total systemtime mount for /sys: 0,000000 [Sec]















Total usertime mount for /dev/shm: 0,000000 [Sec]















Total systemtime mount for /dev/shm: 0,000000 [Sec]















Total usertime mount for /dev/pt[-"Launching TV application"



s: 0,000000 [Sec]















Total systemtime mount for /dev/pts: 0,000000 [Sec]















ing) [-2997(Warn"htv520EU/82 startup script ..."































"Mounting file systems"































Total usertime mount for /pro"Mounting the flash file systems"















c: 0,000000 [Sec]































Total systemtime mount for /proc: 0,000000 [Sec]































Tot"Loading PNX5050 Image"















al usertime mount for /sys: 0,000000 [Sec]































Total systemtime mount for /sys: 0,000000 [Sec]































Total usertime mount for /dev/shm: 0,000000 [Sec]































Total systemtime mount for /dev/shm: 0,000000 [Sec]































Total usertime mount for /dev/pt[-"Launching TV application"







s: 0,000000 [Sec]































Total systemtime mount for /dev/pts: 0,000000 [Sec]































ing) [-2997(Warn"htv520EU/82 startup script ..."




















checking hotboot: NO
Total usertime mount for /mnt/jffs0: 0,000000 [Sec]
Total systemtime mount for /mnt/jffs0: 0,240000 [Sec]
Incompatible standby version found (18.x.2.1).
Expected 15.x.0.0.

Slave /dev/pts/0
0 - Reference timestamp
RW partition: 4
mounting partition 4 to jffs2 file system failed

MountJffsPartition( 4, TRUE ) failed, mountcheck will try again
RW partition: 5
mounting partition 5 to jffs2 file system failed

MountJffsPartition( 5, TRUE ) failed, mountcheck will try again

/mnt/jffs0/rupg/cetv/display found - Layoutcheck OK
Display flash file : Layout version = 5 ; Content version = 42
Display flash file : Project Id = 0 ; Branch Id = 64
version string: DISPT_000.064.005.042
Using screen option 101, name LCD LPL SLB1 DF 47"Diversity: BoardType=/82, BoardVersion=3, Detected pnx8535 version=M2
AmbientLightGenerator : DFI
AmbientLightMode : Triple
AmbientLightTechnology : Led
CabinetNumber : 3
ChannelDecoderType : Tda10048
ClearLcdSupported : True
DimmingBacklightSupported : True
DisplayRawNumber : 101
DvbHdSupported : False
EpldPresent : False
HDMIMuxPresent : Mux4
IfDemVersion : V2
LightSensor : Present
LightSensorType : MS7
Sti7100Present : False
PacificPresent : True
Region : Europe
Pnx5050Present : True
SawVersion : New
TunerI2cConfig : ViaI2cMux
TunerType : 24

RU Flash file not found in /mnt/jffs0/rupg/tv520avi/cabinet3
RO Flash file not found in /mnt/jffs0/ro/tv520avi/cabinet3
Local flash file not found in file/cabinet3
RU Flash file found in /mnt/jffs0/rupg/tv520avi/cabinet
Cabinet flash file : Layout version = 4 ; Content version = 23
Cabinet flash file : Project Id = 0 ; Branch Id = 64
version string: ACSTS_000.064.004.023
Using cabinet option 3, name MS7_speaker_B 2K7
/mnt/jffs0/rupg/cetv/pqprivate found
PQ private flash file : Layout version = 4 ; Content version = 13
PQ private flash file : Project Id = 0 ; Branch Id = 64
version string: PRFPV_000.064.004.013
/mnt/jffs0/rupg/cetv/ambientlight found
Ambientlight flash file : Layout version = 3 ; Content version = 2
Ambientlight flash file : Project Id = 0 ; Branch Id = 64
version string: PRFAM_000.064.003.002
/mnt/jffs0/rupg/cetv/pqpublic found
PQ public flash file : Layout version = 2 ; Content version = 15
PQ public flash file : Project Id = 0 ; Branch Id = 64
version string: PRFPB_000.064.002.015Main software: Q581E_0.64.14.15
Standby software: STDBY_18.10.2.1
startr_init
Startup m_InitDoneBlunk: 1, m_InitDoneMain: 1

svbas pgselN_OnProgramChangeRequested

svbas pgselN_OnProgramChangeCompleted
--- pass 0 ---
freeMem : 15304
pgmajfault : 85
sectorsread: 8224
Razorblade
Ist häufiger hier
#9 erstellt: 09. Mrz 2008, 18:04
Das sieht zwar sehr interessant aus, aber zeigt auch einen Haufen Unbekannte auf:

- das benutzte Dateisystem "bffs" (das ist wohl kaum BSD Fast FileSystem)
- der initiale BTM Bootloader
- der folgende JBL (vermutlich Jaguar Bootloader)


Zu keinem der Drei sind irgendwelche Referenzen oder gar Quellcode im OpenSource Paket und Google spuckt zu den Themen auch nicht gerade viel aus.

Ich denke mit dem Wissensstand können wir es abhaken, aus den OpenSource Quellen selbst ein lauffähiges Image zu bauen.

Falls sich doch noch Info's zum BFFS finden lassen sollten, wäre es aber vielleicht möglich, "fertige" Images zu modifizieren. Der Bootprozess legt erstmal keine (offensichtlichen) krytographischen Schutzmechanismen Nahe.


Gruß,
Razor
p)(d
Stammgast
#10 erstellt: 09. Mrz 2008, 18:08


Terminal Einstellung: 38400 Baud 8N1


[Beitrag von p)(d am 09. Mrz 2008, 18:10 bearbeitet]
p)(d
Stammgast
#11 erstellt: 09. Mrz 2008, 18:15
So, der Kleine is vom Mittagsschlaf wach - kann erst nächstes Wochenende weitermachen.

Eventuell bringt es was die Flashroms auszulesen.


[Beitrag von p)(d am 09. Mrz 2008, 19:02 bearbeitet]
p)(d
Stammgast
#12 erstellt: 06. Apr 2008, 21:29
hier nochmal ein logfile beim updaten - damit ist klar das es jffs2 ist:

Total systALIVE MESSAGE 0 sent to Message Queue
disablealive_main - done
"Loading PNX5050 Image"
"Launching SW Download Application From Boot2"
checking hotboot: NO
Incompatible standby version founSlave /dev/pts/0
0 - Reference timestamp
RW partition: 4
mounting partition 4 to jffs2 file system passed

RW partition: 5
mounting partition 5 to jffs2 file system passed

mounted: </dev/mtdblock6>
Mount check passes, 2 iterations
Could allocate 41943040.

mounted: </dev/mtdblock7>
Mount check passes, 2 iterations
pffsN_OnMounted sets m_InitDoneBlunk to true
Initial Sw Version:
Startup m_InitDoneBlunk: 1, m_InitDoneMain: 1

/mnt/jffs0/rupg/cetv/display found - Layoutcheck OK
Display flash file : Layout version = 5 ; Content version = 36
Display flash file : Project Id = 0 ; Branch Id = 59
version string: DISPT_000.059.005.036
Using screen option 101, name LCD LPL SLB1 DF 47"
MMIO address obtained from pnx5050 drv = 0x28000000
startr_init
Startup m_InitDoneBlunk: 1, m_InitDoneMain: 1

gfxptr: 2fbe5000
malloc 807297032
S18,0,Q581E_0.59.31.0
Go!!!!!!!
FAT: invalid media value (0x01)
FAT: invalid media value (0x01)
4 upgs found on USB. Press right to enter the list.
2008-03-31 - 000.064.014.017 <--- Upgrade now
L: 3%
L: 15%
L: 27%
L: 40%
L: 51%
L: 63%
L: 75%
L: 82%
L: 93%
V: 0%
V: 3%
V: 7%
V: 10%
V: 13%
V: 17%
V: 20%
V: 23%
V: 27%
V: 30%
V: 34%
V: 36%
V: 40%
V: 43%
V: 47%
V: 50%
V: 53%
V: 57%
V: 60%
V: 63%
V: 67%
V: 70%
V: 73%
V: 77%
V: 80%
V: 84%
V: 86%
V: 90%
V: 93%
V: 97%
V: 100%
P: 0%
P: 0%
/data/rupg/* is being scanned for size
current flashsize: 7949008:
current flashsize: 8035879:
current flashsize: 8045280:
/data/rw/* is being scanned for size
current flashsize: 8045315:
/squash/* is being scanned for size
current flashsize: 15274755:
/bffs2/* is being scanned for size
current flashsize: 15286742:
current flashsize: 15286819:
current flashsize: 19688735:
current flashsize: 21786519:
current flashsize: 22802530:
current flashsize: 24191446:
m_JffsMounted = 3
Sync called
Sync DONE
CheckUnMount: /mnt/jffs0
/mnt/jffs0 is mounted
Unmount /mnt/jffs0
/mnt/jffs0 is not mounted
umounting /mnt/jffs0 ok
umounting partition 4 from jffs2 file system passed

Sync called
Sync DONE
CheckUnMount: /mnt/jffs1
/mnt/jffs1 is mounted
Unmount /mnt/jffs1
/mnt/jffs1 is not mounted
umounting /mnt/jffs1 ok
umounting partition 5 from jffs2 file system passed

P: 0%
FORMAT 2
Totalsize flashed: 0, TotalProgramSize: 24191446
m_JffsMounted = 0
P: 0%
P: 0%
P: 0%
P: 0%
Format succesfull
Totalsize flashed: 0, TotalProgramSize: 24191446
m_JffsMounted = 0
P: 0%
FORMAT 3
Totalsize flashed: 0, TotalProgramSize: 24191446
m_JffsMounted = 0
spawning flash_eraseall
param: flash_eraseall
param: -q
param: /dev/mtd5
P: 0%
P: 0%
status: 1 ,erasing partimage partition succesfull
Totalsize flashed: 0, TotalProgramSize: 24191446
P: 0%
m_JffsMounted = 0
P: 0%
/data/rupg/
Totalsize flashed: 0, TotalProgramSize: 24191446
m_JffsMounted = 0
JFFS found to write /data/rupg/ceapps
mounting partition 4 to jffs2 file system passed

Totalsize flashed: 0, TotalProgramSize: 24191446
P: 0%
P: 0%
P: 0%
P: 0%
P: 0%
P: 0%
P: 0%
P: 0%
P: 2%
P: 2%
P: 4%
P: 4%
P: 6%
P: 6%
P: 6%
P: 8%
P: 8%
P: 10%
P: 10%
P: 12%
P: 12%
P: 12%
P: 14%
P: 16%
P: 16%
P: 16%
P: 16%
P: 16%
P: 18%
P: 18%
P: 18%
P: 20%
P: 20%
P: 22%
P: 22%
P: 25%
P: 25%
P: 27%
P: 27%
P: 29%
P: 29%
P: 31%
P: 31%
P: 31%
m_JffsMounted = 1
Sync called
Sync DONE
CheckUnMount: /mnt/jffs0
/mnt/jffs0 is mounted
Unmount /mnt/jffs0
/mnt/jffs0 is not mounted
umounting /mnt/jffs0 ok
umounting partition 4 from jffs2 file system passed

P: 33%
/data/rw/
Totalsize flashed: 8045280, TotalProgramSize: 24191446
m_JffsMounted = 0
JFFS found to write /data/rw/cehtv
P: 33%
mounting partition 5 to jffs2 file system passed

Totalsize flashed: 8045280, TotalProgramSize: 24191446
m_JffsMounted = 2
Sync called
Sync DONE
CheckUnMount: /mnt/jffs1
/mnt/jffs1 is mounted
Unmount /mnt/jffs1
/mnt/jffs1 is not mounted
umounting /mnt/jffs1 ok
umounting partition 5 from jffs2 file system passed

P: 33%
WRITE /squashFS/
P: 33%
Totalsize flashed: 8045315, TotalProgramSize: 24191446
m_JffsMounted = 0
v1 squash

Totalsize flashed: 8045315, TotalProgramSize: 24191446
spawning nandwrite
param: nandwrite
param: -z
param: 7229440
param: /dev/mtd5
param: /philips/pipe
execute nandwrite OK
Writing data to block 0
Writing data to block 4000
Writing data to block 8000
Writing data to block c000
Writing data to block 10000
Writing data to block 14000
Writing data to block 18000
Writing data to block 1c000
Writing data to block 20000
Writing data to block 24000
Writing data to block 28000
Writing data to block 2c000
Writing data to block 30000
Writing data to block 34000
Writing data to block 38000
Writing data to block 3c000
Writing data to block 40000
Writing data to block 44000
Writing data to block 48000
Writing data to block 4c000
Writing data to block 50000
P: 33%
Writing data to block 54000
Writing data to block 58000
Writing data to block 5c000
Writing data to block 60000
Writing data to block 64000
Writing data to block 68000
Writing data to block 6c000
Writing data to block 70000
Writing data to block 74000
Writing data to block 78000
Writing data to block 7c000
Writing data to block 80000
Writing data to block 84000
Writing data to block 88000
Writing data to block 8c000
Writing data to block 90000
Writing data to block 94000
Writing data to block 98000
Writing data to block 9c000
Writing data to block a0000
Writing data to block a4000
P: 35%
Writing data to block a8000
Writing data to block ac000
Writing data to block b0000
Writing data to block b4000
Writing data to block b8000
Writing data to block bc000
Writing data to block c0000
Writing data to block c4000
Writing data to block c8000
Writing data to block cc000
Writing data to block d0000
Writing data to block d4000
Writing data to block d8000
Writing data to block dc000
Writing data to block e0000
Writing data to block e4000
Writing data to block e8000
Writing data to block ec000
Writing data to block f0000
Writing data to block f4000
Writing data to block f8000
Writing data to block fc000
P: 37%
Writing data to block 100000
Writing data to block 104000
Writing data to block 108000
Writing data to block 10c000
Writing data to block 110000
Writing data to block 114000
Writing data to block 118000
Writing data to block 11c000
Writing data to block 120000
Writing data to block 124000
Writing data to block 128000
Writing data to block 12c000
Writing data to block 130000
Writing data to block 134000
Writing data to block 138000
Writing data to block 13c000
Writing data to block 140000
Writing data to block 144000
Writing data to block 148000
Writing data to block 14c000
Writing data to block 150000
Writing data to block 154000
Writing data to block 158000
P: 37%
Writing data to block 15c000
Writing data to block 160000
Writing data to block 164000
Writing data to block 168000
Writing data to block 16c000
Writing data to block 170000
Writing data to block 174000
Writing data to block 178000
Writing data to block 17c000
Writing data to block 180000
Writing data to block 184000
Writing data to block 188000
Writing data to block 18c000
Writing data to block 190000
Writing data to block 194000
Writing data to block 198000
Writing data to block 19c000
Writing data to block 1a0000
Writing data to block 1a4000
Writing data to block 1a8000
Writing data to block 1ac000
Writing data to block 1b0000
P: 39%
Writing data to block 1b4000
Writing data to block 1b8000
Writing data to block 1bc000
Writing data to block 1c0000
Writing data to block 1c4000
Writing data to block 1c8000
Writing data to block 1cc000
Writing data to block 1d0000
Writing data to block 1d4000
Writing data to block 1d8000
Writing data to block 1dc000
Writing data to block 1e0000
Writing data to block 1e4000
Writing data to block 1e8000
Writing data to block 1ec000
Writing data to block 1f0000
Writing data to block 1f4000
Writing data to block 1f8000
Writing data to block 1fc000
Writing data to block 200000
Writing data to block 204000
Writing data to block 208000
P: 41%
Writing data to block 20c000
Writing data to block 210000
Writing data to block 214000
Writing data to block 218000
Writing data to block 21c000
Writing data to block 220000
Writing data to block 224000
Writing data to block 228000
Writing data to block 22c000
Writing data to block 230000
Writing data to block 234000
Writing data to block 238000
Writing data to block 23c000
Writing data to block 240000
Writing data to block 244000
Writing data to block 248000
Writing data to block 24c000
Writing data to block 250000
Writing data to block 254000
Writing data to block 258000
Writing data to block 25c000
Writing data to block 260000
P: 41%
Writing data to block 264000
Writing data to block 268000
Writing data to block 26c000
Writing data to block 270000
Writing data to block 274000
Writing data to block 278000
Writing data to block 27c000
Writing data to block 280000
Writing data to block 284000
Writing data to block 288000
Writing data to block 28c000
Writing data to block 290000
Writing data to block 294000
Writing data to block 298000
Writing data to block 29c000
Writing data to block 2a0000
Writing data to block 2a4000
Writing data to block 2a8000
Writing data to block 2ac000
Writing data to block 2b0000
Writing data to block 2b4000
Writing data to block 2b8000
P: 43%
Writing data to block 2bc000
Writing data to block 2c0000
Writing data to block 2c4000
Writing data to block 2c8000
Writing data to block 2cc000
Writing data to block 2d0000
Writing data to block 2d4000
Writing data to block 2d8000
Writing data to block 2dc000
Writing data to block 2e0000
Writing data to block 2e4000
Writing data to block 2e8000
Writing data to block 2ec000
Writing data to block 2f0000
Writing data to block 2f4000
Writing data to block 2f8000
Writing data to block 2fc000
Writing data to block 300000
Writing data to block 304000
Writing data to block 308000
Writing data to block 30c000
Writing data to block 310000
P: 45%
Writing data to block 314000
Writing data to block 318000
Writing data to block 31c000
Writing data to block 320000
Writing data to block 324000
Writing data to block 328000
Writing data to block 32c000
Writing data to block 330000
Writing data to block 334000
Writing data to block 338000
Writing data to block 33c000
Writing data to block 340000
Writing data to block 344000
Writing data to block 348000
Writing data to block 34c000
Writing data to block 350000
Writing data to block 354000
Writing data to block 358000
Writing data to block 35c000
Writing data to block 360000
Writing data to block 364000
Writing data to block 368000
P: 47%
Writing data to block 36c000
Writing data to block 370000
Writing data to block 374000
Writing data to block 378000
Writing data to block 37c000
Writing data to block 380000
Writing data to block 384000
Writing data to block 388000
Writing data to block 38c000
Writing data to block 390000
Writing data to block 394000
Writing data to block 398000
Writing data to block 39c000
Writing data to block 3a0000
Writing data to block 3a4000
Writing data to block 3a8000
Writing data to block 3ac000
Writing data to block 3b0000
Writing data to block 3b4000
Writing data to block 3b8000
Writing data to block 3bc000
Writing data to block 3c0000
P: 47%
Writing data to block 3c4000
Writing data to block 3c8000
Writing data to block 3cc000
Writing data to block 3d0000
Writing data to block 3d4000
Writing data to block 3d8000
Writing data to block 3dc000
Writing data to block 3e0000
Writing data to block 3e4000
Writing data to block 3e8000
Writing data to block 3ec000
Writing data to block 3f0000
Writing data to block 3f4000
Writing data to block 3f8000
Writing data to block 3fc000
Writing data to block 400000
Writing data to block 404000
Writing data to block 408000
Writing data to block 40c000
Writing data to block 410000
Writing data to block 414000
Writing data to block 418000
P: 50%
Writing data to block 41c000
Writing data to block 420000
Writing data to block 424000
Writing data to block 428000
Writing data to block 42c000
Writing data to block 430000
Writing data to block 434000
Writing data to block 438000
Writing data to block 43c000
Writing data to block 440000
Writing data to block 444000
Writing data to block 448000
Writing data to block 44c000
Writing data to block 450000
Writing data to block 454000
Writing data to block 458000
Writing data to block 45c000
Writing data to block 460000
Writing data to block 464000
Writing data to block 468000
Writing data to block 46c000
Writing data to block 470000
P: 52%
Writing data to block 474000
Writing data to block 478000
Writing data to block 47c000
Writing data to block 480000
Writing data to block 484000
Writing data to block 488000
Writing data to block 48c000
Writing data to block 490000
Writing data to block 494000
Writing data to block 498000
Writing data to block 49c000
Writing data to block 4a0000
Writing data to block 4a4000
Writing data to block 4a8000
Writing data to block 4ac000
Writing data to block 4b0000
Writing data to block 4b4000
Writing data to block 4b8000
Writing data to block 4bc000
Writing data to block 4c0000
Writing data to block 4c4000
P: 52%
Writing data to block 4c8000
Writing data to block 4cc000
Writing data to block 4d0000
Writing data to block 4d4000
Writing data to block 4d8000
Writing data to block 4dc000
Writing data to block 4e0000
Writing data to block 4e4000
Writing data to block 4e8000
Writing data to block 4ec000
Writing data to block 4f0000
Writing data to block 4f4000
Writing data to block 4f8000
Writing data to block 4fc000
Writing data to block 500000
Writing data to block 504000
Writing data to block 508000
Writing data to block 50c000
Writing data to block 510000
Writing data to block 514000
Writing data to block 518000
Writing data to block 51c000
P: 54%
Writing data to block 520000
Writing data to block 524000
Writing data to block 528000
Writing data to block 52c000
Writing data to block 530000
Writing data to block 534000
Writing data to block 538000
Writing data to block 53c000
Writing data to block 540000
Writing data to block 544000
Writing data to block 548000
Writing data to block 54c000
Writing data to block 550000
Writing data to block 554000
Writing data to block 558000
Writing data to block 55c000
Writing data to block 560000
Writing data to block 564000
Writing data to block 568000
Writing data to block 56c000
Writing data to block 570000
Writing data to block 574000
P: 56%
Writing data to block 578000
Writing data to block 57c000
Writing data to block 580000
Writing data to block 584000
Writing data to block 588000
Writing data to block 58c000
Writing data to block 590000
Writing data to block 594000
Writing data to block 598000
Writing data to block 59c000
Writing data to block 5a0000
Writing data to block 5a4000
Writing data to block 5a8000
Writing data to block 5ac000
Writing data to block 5b0000
Writing data to block 5b4000
Writing data to block 5b8000
Writing data to block 5bc000
Writing data to block 5c0000
Writing data to block 5c4000
Writing data to block 5c8000
Writing data to block 5cc000
P: 56%
Writing data to block 5d0000
Writing data to block 5d4000
Writing data to block 5d8000
Writing data to block 5dc000
Writing data to block 5e0000
Writing data to block 5e4000
Writing data to block 5e8000
Writing data to block 5ec000
Writing data to block 5f0000
Writing data to block 5f4000
Writing data to block 5f8000
Writing data to block 5fc000
Writing data to block 600000
Writing data to block 604000
Writing data to block 608000
Writing data to block 60c000
Writing data to block 610000
Writing data to block 614000
Writing data to block 618000
Writing data to block 61c000
Writing data to block 620000
Writing data to block 624000
P: 58%
Writing data to block 628000
Writing data to block 62c000
Writing data to block 630000
Writing data to block 634000
Writing data to block 638000
Writing data to block 63c000
Writing data to block 640000
Writing data to block 644000
Writing data to block 648000
Writing data to block 64c000
Writing data to block 650000
Writing data to block 654000
Writing data to block 658000
Writing data to block 65c000
Writing data to block 660000
Writing data to block 664000
Writing data to block 668000
Writing data to block 66c000
Writing data to block 670000
Writing data to block 674000
Writing data to block 678000
Writing data to block 67c000
P: 60%
Writing data to block 680000
Writing data to block 684000
Writing data to block 688000
Writing data to block 68c000
Writing data to block 690000
Writing data to block 694000
Writing data to block 698000
Writing data to block 69c000
Writing data to block 6a0000
Writing data to block 6a4000
Writing data to block 6a8000
Writing data to block 6ac000
Writing data to block 6b0000
Writing data to block 6b4000
Writing data to block 6b8000
Writing data to block 6bc000
Writing data to block 6c0000
Writing data to block 6c4000
Writing data to block 6c8000
Writing data to block 6cc000
Writing data to block 6d0000
Writing data to block 6d4000
P: 62%
Writing data to block 6d8000
Writing data to block 6dc000
Writing data to block 6e0000
Writing data to block 6e4000
/philips/pipe could is closed
m_JffsMounted = 0
P: 62%
WRITE /bffs2/
Totalsize flashed: 15274755, TotalProgramSize: 24191446
m_JffsMounted = 0
Totalsize flashed: 15274755, TotalProgramSize: 24191446
P: 62%
P: 62%
P: 64%
P: 64%
P: 66%
P: 66%
P: 68%
P: 68%
P: 68%
P: 70%
P: 70%
P: 70%
P: 72%
P: 72%
P: 75%
P: 75%
P: 75%
P: 77%
P: 77%
P: 79%
P: 79%
P: 81%
P: 81%
P: 81%
P: 83%
P: 83%
P: 83%
P: 85%
P: 85%
P: 87%
P: 87%
P: 89%
P: 89%
P: 89%
P: 91%
P: 91%
P: 93%
P: 93%
P: 93%
P: 95%
P: 95%
P: 97%
P: 97%
P: 97%
m_JffsMounted = 0
Totalsize flashed: 24191446, TotalProgramSize: 24191446
Completed !!
Operation Successful! Remove all inserted media and restart the TV set.
p)(d
Stammgast
#13 erstellt: 07. Apr 2008, 14:43
ich habe mir eben die upg files der 000.064.014.* releaseversionen mit einem hexeditor angeschaut und miteinander verglichen.

meine vermutung: die upg-files sind jeweils mit einem 16Byte xor "verschlüsselt". ebenso wird KEINE kompression verwendet.

pro upg gibt jeweils mehrere 16-Byte folgen, die häufiger (auch am stück) vorkommen.

bei jeder 000.064.014.* releaseversion sind diese wiederholungen immer an der selben adresse im binary (zumindest in den ersten Kbytes) - allerdings ist auch mit jeder releaseversion jeweils ein anderer schlüssel verwendet worden.


[Beitrag von p)(d am 07. Apr 2008, 22:29 bearbeitet]
p)(d
Stammgast
#14 erstellt: 07. Apr 2008, 15:12
die bytefolge
ãj×2ž=Hg9÷åÚívÌ
kommt z.b. 28582 mal in der version 000.064.014.017 vor
in der vorgänger version 000.064.014.015 ist die sequenz °}{f?}·ä¦çʘö 28464 mal drin.

kennt jemand ein programm, mit dem ich xor mit 16 Bytes durchführen kann?
diddl123
Ist häufiger hier
#15 erstellt: 07. Apr 2008, 17:33
Hey cool Dein Ansatz. Mach weiter so - vielleicht gibts ja noch was tolles zu endecken.
Unchianed
Ist häufiger hier
#16 erstellt: 07. Apr 2008, 17:44

p)(d schrieb:


Terminal Einstellung: 38400 Baud 8N1


Was seh ich denn da? EIB Kabel?

Ausserdem fehlt noch die GUI. Die ist in den Sourcen nicht enthalten!!!


[Beitrag von Unchianed am 07. Apr 2008, 17:46 bearbeitet]
p)(d
Stammgast
#17 erstellt: 08. Apr 2008, 11:17

Unchianed schrieb:

p)(d schrieb:


Terminal Einstellung: 38400 Baud 8N1


Was seh ich denn da? EIB Kabel?

Ausserdem fehlt noch die GUI. Die ist in den Sourcen nicht enthalten!!!



hehehe,
ich hätte nicht gedacht, das jemand den kabeltyp erkennt. stimmt das ist eib kabel

ich habe eben angefangen ein xor programm zu schreiben (mit autoit) wenn es fertig ist werde ich hier (warscheinlich erst heute abend) berichten, ob wirklich nur ein einfacher xor verwendet wurde.

oder ist vielleicht jemand schneller?

kann doch nicht sein, das ich der einzige bin, der hierfür interesse hat und programmieren kann?

ich bin leider nur ein schlechter programmierer. crypt-zeugs ist eigentlich auch nicht so mein ding...

nochmal zu den files:
die häufigste bytesequenz beginnt bei allen firmware versionen bei 0x330c.

wiederholende bytesequenzen beginnen immer bei 0xXXXXXXc (letzte ziffer = "c")
p)(d
Stammgast
#18 erstellt: 09. Apr 2008, 07:55
mit einem einfachen xor ist es anscheinend nicht getan - leider!
ich habe es mit mehreren keys probiert und konnte nichts vernünftiges im output finden.

kann mir jemand sagen, wie ein jffs2 image file typischer weise beginnt?


falls jemand mit meinem ansatz weitermachen möchte - hier der sourcecode:

$key = Binary("0x9E3D486739F7E51CDAED76CCE36AD732")

$sourceFilename = "autorun.upg"
$destinationFilename = "autorun_xor.upg"

$sourceFile = FileOpen($sourceFilename, 16)
$destinationFile = FileOpen($destinationFilename, 17)
While 1
$input = FileRead($sourceFile, 16)
If @error = -1 Then ExitLoop
$output = "0x"
For $n = 1 To 16
$input_int = Int(BinaryMid($input, $n, 1))
$key_int = Int(BinaryMid($key, $n, 1))
$XOR_int = BitXOR($input_int, $key_int)
$output &= Hex($XOR_int, 2)
Next
$output_bin = Binary($output)
FileWrite($destinationFile, $output_bin)
Wend

FileClose($sourceFile)
FileClose($destinationFile)


ich habe das mit autoit geschrieben: http://www.autoitscr.../autoit-v3-setup.exe (6.56MB)

das programm hat noch ein paar macken
- sehr langsam
- das ende wird evtl nicht richtig geschrieben


[Beitrag von p)(d am 10. Apr 2008, 07:30 bearbeitet]
Brotrinde
Stammgast
#19 erstellt: 09. Apr 2008, 14:58

p)(d schrieb:


kann doch nicht sein, das ich der einzige bin, der hierfür interesse hat und programmieren kann?


Ich habe zwar den Philips nicht, aber stehe kurz davor mir einen zu kaufen. Daher ist mein Interesse auf jeden Fall da, nur leider kann ich nicht mal schlecht, sondern gar nicht programmieren.
diddl123
Ist häufiger hier
#20 erstellt: 09. Apr 2008, 16:15
Ich bin ebenfalls bei Dir. Würde mich freuen, wenn hierbei was rauskommt.
Aber:
Ich kann auch nicht programmieren
touareg4711
Neuling
#21 erstellt: 13. Apr 2008, 21:57
Hallo p)(d,

nun an Interesse soll es nicht mangeln, leider muss auch ich mich - wie die Vorredner - als Nicht-Programmierer outen.

Dafür kann ich noch ein paar Meter EIB-Kabel anbieten ;-)

Ich habe mir mal das "OpenSource-PublicationPack" angesehen, welches von Philips geladen werden kann. Wenn ich mir die Patches ansehe, dann müsste USB-Ethernet aktiv sein. Hat jemand einen USB-Ethernet Adapter der unter Linux funktioniert und kann diesen mal am PFL ausprobieren und mit einem Port-Scanner prüfen, was so geht?

Wenn ich mal unterstelle, dass die Einträge in den ganzen Patch-Dateien ernstgemeint sind, dann findet man dort:

040_pnx8535_product_optimization_tv520_defconfig
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
030_pnx8550_modification__updates_for_stb810_board.patch
-CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 root=/dev/nfs ip=bootp"
+CONFIG_CMDLINE="console=ttyS1,38400n8 kgdb=ttyS0 mem=48M root=/dev/sda2 rw ip=dhcp"

Ich bin zwar nicht der Linux-Pro, aber das klingt für mich erstmal vielversprechend. Außerdem habe ich in weiteren Patch-Files noch Einträge zu USB-Ethernet gefunden.

Gruß
touareg
touareg4711
Neuling
#22 erstellt: 13. Apr 2008, 22:46

p)(d schrieb:
hier nochmal ein logfile beim updaten - damit ist klar das es jffs2 ist:
....
Writing data to block a4000
P: 35%
Writing data to block a8000
Writing data to block ac000
Writing data to block b0000
Writing data to block b4000
....

Hallo p)(d,
hast Du Dir mal das nandwrite.c aus den Sourcen angesehen? Dort taucht das "Writing data to block" in Zeile 376 auf.

Kannst Du da evtl. etwas erkennen, bzgl. der Verschlüsselung/Komprimierung?

Falls das File nur für den Transport gesichert wäre, dann müsste es m.E. an dieser Stelle zurücktransformiert werden. Ansonsten könnte es natürlich auch noch im Bootloader stecken. Spontan habe ich dort mit einem Fachlaien-Wissen nur gesehen, dass die Daten scheinbar gepadded werden.

Gruß
touareg
eppie
Ist häufiger hier
#23 erstellt: 14. Apr 2008, 14:54
Wenn man den padded,dann kann es sein daß die P:35% beim kopieren overflockt wird und damit das ganze Bild bei 75 % gemodelt wird. also sei vorsichtig !
p)(d
Stammgast
#24 erstellt: 14. Apr 2008, 15:38
@eppie:
kannst du mir deinen satz erklären ("padded", "overflocket", "gemodelt")?
oder ist das nur ein witz?


zunächst möchte ich mir nur das image, bzw teile davon in einem x86-linux mounten und anschauen.
leider bin ich auch nicht so der profi linux freak.

ich habe mir eben mal ein opensuse 10.3 installiert, habe aber keine ahnung, wie ich jffs2 unterstützung einbinde, damit ich z.B. ein loop-device mit jffs2 formatieren kann. kann mir jemand evtl eine andere linux distri empfehlen? habe hier noch alternativ eine ubuntu 7.10 cd liegen.
diger
Stammgast
#25 erstellt: 30. Apr 2008, 23:24

p)(d schrieb:
kann mal jemand per portscanner schaun, ob vielleicht ein port offen ist?



touareg4711 schrieb:
Hat jemand einen USB-Ethernet Adapter der unter Linux funktioniert und kann diesen mal am PFL ausprobieren und mit einem Port-Scanner prüfen, was so geht?


Ich habe bei meinem 42PFL9703D mal einen Portscan der "Well Known Ports" gemacht. Waren aber leider alle dicht. Ich Ports darüber werde ich mal bei Gelegenheit durchlaufen lassen (dauert halt ewig)

Ich habe auch mal einen USB-Ethernet Adapter gngeschlossen, aber ohne Ergebnis. Allerdings hat meiner ja schon OnBoard einen Ethernet Anschluß.

Mal eine Frage zu der Console über den seriellen Anschluß. Eingaben sind darüber vermutlich nicht möglich, oder?
p)(d
Stammgast
#26 erstellt: 01. Mai 2008, 07:18
[quote="diger"]Mal eine Frage zu der Console über den seriellen Anschluß. Eingaben sind darüber vermutlich nicht möglich, oder?[/quote]

mit dem von mir beschriebenen kabel bisher leider nein. ich bin mir noch nicht einmal sicher, ob mein kabel alle notwendigen anschlüsse hat.
allerdings habe ich mir alle vorstellbaren möglichen BREAK-tastenkombis probiert.

vielleicht gibt es ja eine "geheime" tastenfolge (evtl auch über ferbedienung), die eine shell frei schaltet?

in der letzten zeit habe ich nicht so viel zeit da reingesteckt. trotzdem bin ich immer noch der meinung, das das update-file ein guter ansatzpunkt ist.
in dem logfile vom flashen sieht man, das unterschiedliche partitionen geflasht werden.
neben dem jffs gibt es auch noch ein squashFS. ich denke, das es sinnvoll ist, das update.upg zu zerlegen in einzelne teile. möglicherweise hat jeder einzelne abschnitt einen eigenen xor-key.

vielleicht liest das hier der ein oder andere linux freak mit crypt knowhow, der lust hat uns zu unterstützen?


[Beitrag von p)(d am 01. Mai 2008, 07:21 bearbeitet]
gggggg
Stammgast
#27 erstellt: 01. Mai 2008, 10:01
Ich nehme an, dass du die Einträge im Service Menü kennst ?
Hier gibt's auch Listen der Files (zumindest beim 42pfl9703) im Bereich "Development SW" und ich glaube es war "Hardware...". Wäre schön, wenn du ev. auch einen Tip für mein Prob. hättest...LG Richard
Service Menü Infos ...


[Beitrag von gggggg am 01. Mai 2008, 10:02 bearbeitet]
gggggg
Stammgast
#28 erstellt: 06. Mai 2008, 14:32
Wollte mal fragen, ob ihr weitergekommen seid ?
Hab mal einen Linuxfreund gebeten einen Blick drauf zu werfen.
Er hat eine Routine rund um den mtd-Treiber entdeckt - mtd_error_injection oder so.... @flipmsk enthält einen Kommentar mit Hinweise auf XOR....
(File: 776_eh25_4085_Intake_of_linutronix_nand_driver.patch)

Er meint der nächste Schritt könnte sein:
- Patch tool quilt installieren (siehe Hinweis im Script =quiltrc im Kernel verzeichnis) http://freshmeat.net/projects/quilt/
Damit hätte man mal einen lesbaren Source.

- Kernel mit patches compilieren und in "einem Linux system" das Mounten des autorun.upg (unter jffs) versuchen. ...wie immer das geht.
Dann könnte man ja, soweit ich das verstanden habe, auf die autorun über die gepatchten Routinen zugreifen .....
Greift man auf ein File zu wo Teile des Inhalts (Header o.ä) bekannt sind, wäre der Schlüssel nicht mehr weit.


[Beitrag von gggggg am 06. Mai 2008, 14:52 bearbeitet]
p)(d
Stammgast
#29 erstellt: 06. Mai 2008, 15:59
hi,
habe in den letzten tagen wenig zeit gehabt - denzufolge auch nicht viel machen können.

habe mir mal das file 776_eh25_4085_Intake_of_linutronix_nand_driver.patch angeschaut.

ethernet over usb ist hier folgendes:
-# USB Network Adapters
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_CDCETHER=y
+CONFIG_USB_NET_NET1080=y

devices based on the ASIX AX88172 chip. Supported devices are: Linksys USB200M, Netgear FA120, D-Link DUB-E100, Hawking UF200

werde mir das heute abend nochmal genauer anschauen
gggggg
Stammgast
#30 erstellt: 06. Mai 2008, 17:04
hab ein Dokument gefunden, wo der Service Konnektor = RS232 gezeigt ist -> dein Kabel ist OK - ob's auf der PC-Seite auch passt weis ich nicht.
UND da gibt's ein Philips Werkzeug mit Namen ComPair mit der Software SearchMan. Mit den Tools stattet Phil anscheinend seine Werkstätten aus -> ComPair kennt wahrscheinlich die Kommandos für das Interface....hab nicht weiter gegoogelt, ob man ev. eine Doku der software etc findet...Lg Richard


[Beitrag von gggggg am 06. Mai 2008, 19:53 bearbeitet]
p)(d
Stammgast
#31 erstellt: 06. Mai 2008, 23:29
das tool gibts offiziell von philips hier im service zugang (nur mit passwort): http://www.atyourser...ges/Login.html?nav=0

registrieren kann man sich hier:
http://www.atyourser...s/LoginRegister.html

habe auch diverse "bezahlseiten" gefunden
diger
Stammgast
#32 erstellt: 08. Mai 2008, 18:15

p)(d schrieb:
habe auch diverse "bezahlseiten" gefunden


War es denn auch "bezahlbar"? Oder jenseits eines "akzeptablen" Preises?
p)(d
Stammgast
#33 erstellt: 08. Mai 2008, 22:05
15$ - ist nicht viel. allerdings ist es auch offensichtlich illegal.
hans3000
Stammgast
#34 erstellt: 08. Mai 2008, 23:09
Keep it Up!
Super-Idee: Entlich schaut mal einer hinter die Fassaden... vielleicht findet ein Mod ja noch paar Linux Freunde...
Oder vielleicht könnte evtl. jemand diese Informationen ins Gulli-Forum oder in ein Linux-Forum posten und mal dort nachfragen, dort sind mehr "Linux-Freunde" am start..


[Beitrag von hans3000 am 09. Mai 2008, 00:55 bearbeitet]
gggggg
Stammgast
#35 erstellt: 14. Mai 2008, 08:18
Unser Status: (mein Freund ist Linux Fan - mit ich ist er gemeint ;-) Ziel: Die Parameterfiles der Smart Settings verändern

Beim Versuch die Sourcen und patches unter Linux zum laufen zu bringen:
-> Kernel patches einspielen, hat geklappt, aber ich kann noch keinen kernel kompilieren da fehlt jede menge entwicklungszeug auf meinem ubuntu

-> ubuntu kann selbst jffs2 mounten (was in summe schwierig ist weil nicht direkt sondern nur über mtdram device möglich) aber es sollte klappen, tut es aber auch nicht weil "Superblock not found"
was ich mittlerweile rausgefunden hab, jffs ist immer compressed gibt auch verschiedene algorithmen, natürlich keinen schimmer welcher der richtige ist
gggggg
Stammgast
#36 erstellt: 25. Mai 2008, 16:19
wie steht's ???
gggggg
Stammgast
#37 erstellt: 29. Mai 2008, 09:04
p)(d: Hast du den Searchman schon getestet ?
atzplzw
Ist häufiger hier
#38 erstellt: 17. Jun 2008, 03:13
Das Teil hat zwar Busybox aber keine Shell drauf.
Siehe config: CONFIG_FEATURE_SH_IS_NONE=y

Das mit XOR Verschlüsselung ist ja wohl eher geraten, würde ich jetzt nicht drauf tippen.
Eher komprimiert mit lzma, kommt ja auch in den sourcen vor.

Jedenfalls geh ich mal zu Anfang nach einem kurzen Blick auf autorun.upg von Folgendem aus:

struct trx_header {
uint32_t magic; /* "2SWU" */
uint32_t magic1; /* "3TXV" - magic[i] + 1 */
uint32_t data_offset; /* Start of Data */
uint32_t data_length; /* maybe not but points near end of file */
};


Mehr vielleicht später...


[Beitrag von atzplzw am 17. Jun 2008, 03:55 bearbeitet]
p)(d
Stammgast
#39 erstellt: 17. Jun 2008, 09:55

atzplzw schrieb:
Das Teil hat zwar Busybox aber keine Shell drauf.
Siehe config: CONFIG_FEATURE_SH_IS_NONE=y

Das mit XOR Verschlüsselung ist ja wohl eher geraten, würde ich jetzt nicht drauf tippen.
Eher komprimiert mit lzma, kommt ja auch in den sourcen vor.

Jedenfalls geh ich mal zu Anfang nach einem kurzen Blick auf autorun.upg von Folgendem aus:

struct trx_header {
uint32_t magic; /* "2SWU" */
uint32_t magic1; /* "3TXV" - magic[i] + 1 */
uint32_t data_offset; /* Start of Data */
uint32_t data_length; /* maybe not but points near end of file */
};


Mehr vielleicht später...



das mit der einfachen xor verschlüsselung glaube ich auch nicht mehr.
was mich an der "komprimierung" stört ist die auffälligkeit von wiederholungsmustern in den unterschiedlichen firmware releases, die immer an den selben adressen sind. aber dazu kenne ich mich zu wenig mit komprimierungsalgorithmen aus.

ein anderer lösungsansatz könnte ein selbstgestricktes binary sein.

im service manual ist dazu folgendes sinngemäß beschrieben

auf dem usb-stick im root das directory “JETTFILES” anlegen

die dateien “MemoryTestPNXxxxx.bin” und “autojett.bin” hineinkopieren
serielles kabel anschliessen und terminalprogramm mit 38400Baud 8N1 starten.

den usb-stick in den tv einstecken, einschalten und “i+” auf der philips dvd rc6 fernsteuerung (oder auch die tv fernbedienung im dvd-modus benutzen).

der test wird am bildschirm und auf dem terminal ausgegeben.
hier muss es wohl möglich sein auch uart commands abzusetzen.

ich vermute/hoffe, das ein crosscompiliertes "hello world" für PNX85XX eine konsolenausgabe machen könnte.

hilfe von einem linux-guru für das compilieren wäre super.

ich habe momentan nur sehr wenig zeit (nichtmal zum glotzen).
wäre super wenn hier noch ein bisschen unterstützung von anderen kommt.
atzplzw
Ist häufiger hier
#40 erstellt: 17. Jun 2008, 19:15
Wo kommen die .bin Dateien her?

Habt's schon mal nach Firmware Hacks & Projekten gesucht?
p)(d
Stammgast
#41 erstellt: 17. Jun 2008, 21:52

atzplzw schrieb:
Wo kommen die .bin Dateien her?

Habt's schon mal nach Firmware Hacks & Projekten gesucht?


die oben genannten .bin dateien bekommt man nur als philips reperatur werkstatt - hier=> http://www.atyourser...eam/Pages/Login.html
ich habe probiert mich anzumelden, wurde aber abgelehnt.


You registered for the Philips AtYourService website. This request has been rejected for the following reason:
Der Zugang zu dieser Seite ist für Garantiereparaturen autorisierten Werkstätten vorbehalten. Bitte leiten Sie defekte Geräte über das Logistikportal InfoTip-RTS (www.infotip-rts.de) an die zuständige Vertragswerkstatt weiter.


ein projekt zu den philips lcd habe ich bisher nicht gefunden.

nur bezahlseiten, für servicemanuals/software.
gggggg
Stammgast
#42 erstellt: 18. Jun 2008, 13:03
All die Files inkl. Image werden den Rep.Werkstätten in einem zip zur Verfügung gestellt. Dieser zip existiert glaube ich je Modell od. Chasis und hat den magischen Namen ONE ZIP (siehe auch Service Manual). Leider konnte ich bisher noch keinen auftreiben...


[Beitrag von gggggg am 18. Jun 2008, 15:06 bearbeitet]
michube
Neuling
#43 erstellt: 19. Jun 2008, 09:46
Hallo, ich habe auch versucht, die an der fw ein wenig rum zuwursteln..

an offset 16 des images, *könnte* eine lzma komprimierte partition liegen:

Uncompressed size: 6 MB (6291456 bytes)
Dictionary size: 5 MB (2^22 bytes)
Literal context bits (lc): 1
Literal pos bits (lp): 3
Number of pos bits (pb): 3

ich habe ein relativ lagnsames script angepasst (gefunden im openwrt forum):
#!/bin/bash
for ((i=1;i<=28566572;i+=1)); do
dd if=1.lzma skip=$i count=256 bs=1 of=temp.bin 2> /dev/null
echo $i >> log.txt
./lzmainfo.exe temp.bin >> log.txt
done

ich konnte das image noch nicht extrahieren, muss also nicht zwingend richtig sein... komprimiert/verschlüsselt ist das image auf jeden fall, sonst sollten strings wie z.B. "Busybox" klartext im image sein
p)(d
Stammgast
#44 erstellt: 20. Jun 2008, 07:31
wäre ja toll, wenn das einer mit lzma hinbekommt.

einen kleinen zweifel habe ich trotzdem noch

auf der lzma seite http://tukaani.org/lzma/ steht:
Average compression ratio of LZMA is about 30% better than that of gzip, and 15% better than that of bzip2

trotzdem kann ich die upg-files mit winrar nochmal um ca. 4% komprimieren (von 26mb auf 25mb).

wie kann das möglich sein, wenn das schon so gut komprimiert ist?
lumi
Ist häufiger hier
#45 erstellt: 20. Jun 2008, 12:39
Vielleicht wurde/wird zum komprimieren eine ältere Version von lzma verwendet... (?)
p)(d
Stammgast
#46 erstellt: 23. Jun 2008, 11:55
ein interessantes detail habe ich bisher übersehen.
in dem pnx8535 werkelt eine mips32 cpu (pr4450). crosscompilen dafür dürfte kein problem sein. da gibt es genug howtos im netz.

in dem service manual zu meinem tv (47pfl9732 Q528.1ELA Chasis) ist die funktion mit den "JETTFILES" nicht erwähnt.

nur dieser eine punkt:

BFFS partition 1 (DVD cursor down):
- Back up software upgrade application
- boot batch file 1
- Linux kernel
- JETT : needed for ComPair


ich habe mal probiert ein mips32 binary in den ordner JETTFILES des usb-sticks zu kopieren und umbenannt. nach der oben beschriebenen methode kam aber nur die "backup software upgrade application" - sonst nichts...

vielleicht kann das mal jemand mit einem 9603 oder 9703 (Q529.1E LA) probieren?
Varon
Schaut ab und zu mal vorbei
#47 erstellt: 17. Jul 2008, 21:41
huhu!
gibt's schon was neues? ich schmeiss mich auch mal an die autorun.upg. das ding muss doch zu entpacken sein. xD

42PFL9732
p)(d
Stammgast
#48 erstellt: 18. Jul 2008, 12:44
bei mir gibts derzeit leider nix neues - nicht mal zeit zum glotzen...
Varon
Schaut ab und zu mal vorbei
#49 erstellt: 18. Jul 2008, 22:36
hmmm. also jffs2 wurde ja schon von p)(d herausgefunden.
dem header von atzplzw würde ich auch zustimmen. es ist so bei verschiedenen firmwares von verschiedenen geräten...
Wobei man den bestimmt noch erweitern kann, denn alle FWs haben bei DWORD 5: xxxx AExx
DWORD 6,7,8: 0000 0060 0000 0000 0000 0000
danach kommt 0D-getrennter Text bis Adr. 220h

Das die Startadresse im DWORD 3 ist quasi-immer 2DCh. Verschiedene FWs haben davor auch ein Haufen 0en...

Erste Frage: Läuft der "Zielrechner" mit big-endian oder little-endian?

Nun zum Dateisystem selbst. Die Vermutung ist ja, dass JFFS2 ab 2DCh anfängt (95%). Macht man selbst mkfs.jffs2 -r [...] -o [...] kommt ne Datei zustande die quasi genau so eine upg-Datei sein müsste. Mit hexedit konnte ich aber keine Auffälligkeiten von 16 sich wiederholenden Bytes sehen. Aber 4 Bytes wiederholen sich sehr oft und auch unterschiedliche Varianten. Quasi genau so wie in der upg-Datei {mit 16 Bytes, wie p)(d schon sagte}. Da es in der upg-datei überdurchschnittlich häufig vorkommt, würde ich annehmen, dass keine Kompression vorliegt, sondern ausschliesslich ein mit 128-bit Blockchiffre verschlüsseltes Dateisystem. (Kein zip/rar/7z & co produziert sowas "Gleiches"!)

/*128-bit-Erklärung:
Würden jetzt bspw. 1000 Nullen gespeichert werden, dann ist im original jffs2 z.b.
4D0E3393 4D0E3393 4D0E3393 4D0E3393
4D0E3393 4D0E3393 4D0E3393 4D0E3393
4D0E3393 4D0E3393 4D0E33 ...
Nach einer 128-bit Blockchiffre hätten wir bspw.
F02536D8 D1335DA8 5A1BD99A C4B4BC8A
F02536D8 D1335DA8 5A1BD99A C4B4BC8A
...*/

weiterhin kann jffs2 die dateien selbst komprimiert speichern mit zlib und rtime (mkfs.jffs2 -L), was aber NICHT die inodes beeinflusst. Das heisst, dass trotzdem die magic bytes existieren müssten. die sind beim jffs2: 85h 19h
oder andersrum (je nach endian)

Das Problem ist natürlich der Key... 128-bit ist ja vielleicht noch knackbar durch Boinc, aber welches System (blowfish, twofish, aes, serpent oder sogar cast128) usw... omg | ps: blowfish war's auch beim tomtom... ist sehr beliebt ^^

irgendwo muss dieser key aber sitzen. Vermutlich innerhalb von 220h und 2DCh. Wie wir da dran kommen ist 'ne gute Frage. Ich vermute mal nicht, dass man so einfach ein Savegame von Zelda einschleusen kann. ^^ (insider)

falls noch jemand was für ein unwichtiges detail hält, bitte posten! greetings
p)(d
Stammgast
#50 erstellt: 19. Jul 2008, 13:44
die haupt cpu ist ein pnx8535 von nxp (nexperia)

mit google "pnx8535 endian" finde ich hinweise auf little endian. aber halt auch nix sicheres.

das kommt halt auch immer auf die verbauten flash chips an
0xdeadbeef
Stammgast
#51 erstellt: 19. Jul 2008, 14:11
Habe folgendes dazu gefunden:


Philips released PNC8535/TV520 for Hybid ATSC/NTSC LCD TV reference design. Inside PNX8535, there are many digital controller/processor: one 80C51, one MIPS 4Kc, one Trimedia VLIW DSP, one REAL-DSP. 533MHz DDR2 and NAND Flash memory is used. Linux OS from MontaVista.


Der PNX8535 ist also selber keine CPU im engeren Sinne, sondern integriert mehrere CPU-Cores. Der 80C51-Core ist sicher "little endian". Der MIPS vermutlich auch, obwohl es anscheinend auch MIPS-Cores gibt, die einen "big endian"-Modus haben. Ich würde mal annehmen, daß das Linux auf dem MIPS läuft, der 80C51 für irgendwelchen low-end-Kram benutzt wird (IR o.ä.) und die beiden DSPs für Bild und Ton benutzt werden.

Das Referenzdesign mit dem PNX8535 heißt übrigens "TV520/20". Da findet sich im Netz einiges - ist aber leider mehr Marketing-Blahblah.


[Beitrag von 0xdeadbeef am 19. Jul 2008, 14:21 bearbeitet]
Suche:
Gehe zu Seite: Erste 2 Letzte |nächste|
Das könnte Dich auch interessieren:
50PFL7956K - Open Source Software?
-fiesta- am 13.02.2013  –  Letzte Antwort am 14.02.2013  –  6 Beiträge
Philips Open Source
aggro600 am 30.12.2010  –  Letzte Antwort am 31.12.2010  –  2 Beiträge
Open Source File für 37PFL9732?
Lordhelmlein am 06.03.2008  –  Letzte Antwort am 06.03.2008  –  2 Beiträge
42PFL9732D/10 Software Update
hela+ am 30.12.2007  –  Letzte Antwort am 30.12.2007  –  4 Beiträge
37PFL5405 Source ändern
whiskeytumbler am 25.12.2010  –  Letzte Antwort am 29.12.2010  –  10 Beiträge
Firmware 42PFL9603D/10
predator5 am 03.12.2008  –  Letzte Antwort am 05.12.2008  –  4 Beiträge
Bild flimmert bei Eurosport US OPEN
suworow am 03.09.2009  –  Letzte Antwort am 09.09.2011  –  8 Beiträge
HDCP Signal nach Source Umschaltung o.F.
robojr am 14.01.2009  –  Letzte Antwort am 15.01.2009  –  3 Beiträge
DLNA Problem beim 37PFL8694H/12 in Verbindung mit Linux
sb11 am 11.08.2009  –  Letzte Antwort am 06.11.2010  –  7 Beiträge
Menu: Software Aktualisierung -> Ansage ?
zoulou am 19.06.2010  –  Letzte Antwort am 21.06.2010  –  5 Beiträge

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.669 ( Heute: 5 )
  • Neuestes MitgliedKisa012005
  • Gesamtzahl an Themen1.550.843
  • Gesamtzahl an Beiträgen21.532.910