hacking a pnx8950 based set top box dvb-t board
source: mikrocontroller.net !
logs: http://hackdaworld.org/download/pnx/logs/orig_01.log
jtag> cable DLC5 parallel 0x378 Initializing parallel port at 0x378 jtag> detect Warning: TDO seems to be stuck at 1
jtag> detect IR length: 12 Chain length: 2 Device Id: 00010000100010011000000000101011 (0x000000001089802B) Manufacturer: Philips Semi. (Signetics) Unknown part! Device Id: 00010010010110100000000000101011 (0x00000000125A002B) Manufacturer: Philips Semi. (Signetics) Unknown part! chain.c(149) Part 0 without active instruction chain.c(200) Part 0 without active instruction chain.c(149) Part 0 without active instruction
source: mikrocontroller.net!
jtag> cable DLC5 ppdev /dev/parport0 Initializing ppdev port /dev/parport0 jtag> detect IR length: 10 Chain length: 2 Device Id: 0 (0x0000000000000000) Device Id: 0 (0x0000000000000000) chain.c(149) Part 0 without active instruction chain.c(200) Part 0 without active instruction chain.c(149) Part 0 without active instruction
jtag> part 0 jtag> include ejtag.inc jtag> instruction BYPASS jtag> part 1 jtag> include ejtag.inc jtag> instruction IDCODE jtag> shift ir jtag> shift dr jtag> dr 00010010110000001000000000101011
jtag> initbus ejtag ImpCode?=00100001010000000100000000000000 21404000 EJTAG version: 2.5 EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA? MIPS32 Processor entered Debug Mode. ejtag.c(203) No processor access, ctrl=01000000000000001101000000001000 jtag> initbus ejtag ImpCode?=00100001010000000100000000000000 21404000 EJTAG version: 2.5 EJTAG Implementation flags: R4k DINTsup ASID_8 NoDMA? MIPS32 Processor entered Debug Mode. Initialized bus 1, active bus 0
Active bus: *0: EJTAG compatible bus driver via PrAcc? (JTAG part No. 1) start: 0x00000000, length: 0x20000000, data width: 8 bit start: 0x20000000, length: 0x20000000, data width: 16 bit start: 0x40000000, length: 0x20000000, data width: 32 bit
http://hackdaworld.org/download/pnx/orig_nand_layout__by_agentdata.txt
guess memory address space of the pnx8550
analyzing the way urjtag is doing things
and compare it to the way the ejtag baycom tool is doing stuff
and what does the mips (ejtag) std say ...
pnx8950 based/related code is available at: http://www.hackdaworld.org/cgi-bin/gitweb.cgi?p=my-code/pnx.git;a=tree
in the following some code and some results are explained ...
build & usage:
completed:
todo:
PAUSED: urjtag is great and we deal with common mips ejtag on con1 !!!
usage and output looks like this. you will end up with 7 files ...
hackbard@tx2:~/projects/pnx$ ./efp_extract /scratch/stb/elecard/STB820.rel.256.rev0036.201101111002.master.svn7576.pal_retail_itelec.ENG.wf.smithy.efp number of files: 7 file 1: - wtf: 36 - len: 5537280 - offset: 190 - next estimated offset: 5537470 file 2: - wtf: 36 - len: 16351232 - offset: 5537470 - next estimated offset: 21888702 file 3: - wtf: 36 - len: 20381696 - offset: 21888702 - next estimated offset: 42270398 file 4: - wtf: 16 - len: 7512 - offset: 42270398 - next estimated offset: 42277910 file 5: - wtf: 16 - len: 27260 - offset: 42277910 - next estimated offset: 42305170 file 6: - wtf: 36 - len: 5537280 - offset: 42305170 - next estimated offset: 47842450 file 7: - wtf: 36 - len: 1553 - offset: 47842450 - next estimated offset: 47844003 mapping file into memory ... hackbard@tx2:~/projects/pnx$ file file_0* file_01: sticky data file_02: sticky Linux jffs2 filesystem data little endian file_03: sticky Linux jffs2 filesystem data little endian file_04: sticky data file_05: sticky data file_06: sticky data file_07: sticky gzip compressed data, was "fwinfo.tar", from Unix, last modified: Tue Jan 11 05:03:45 2011 hackbard@tx2:~/projects/pnx$
content of the files:
hackbard@tx2:~/projects/pnx$ ls content_file0* content_file02: bin config.defaults dev lib opt samba sys usr boot config.firmware etc media proc sbin tmp var config config.templates home mnt profile share usb content_file03: bin config.templates etc samba share xworks config.defaults dvb lib sbin webkit
that was easy!
added
deb http://www.emdebian.org/debian/ unstable main
to /etc/apt/sources.list and installed gcc-4.3-mipsel-linux-gnu and gcc-4.3-mips-linux-gnu
thanks (em)debian!
TODO: u-boot, kernel, rootfs ...