PnxStb


hacking a pnx8950 based set top box dvb-t board

links

system specific

booting

usefull

hardware

intro

reversing the pcb

uart and jtag

modifications / extensions

rs232

source: mikrocontroller.net !

logs: http://hackdaworld.org/download/pnx/logs/orig_01.log

access jtag

 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

eeprom

eeprom content

accessing the eeprom

flash

flash content

http://hackdaworld.org/download/pnx/orig_nand_layout__by_agentdata.txt

bootloader

accessing the flash

 

pnx8550 memory address mapping

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 ...

utility code

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 ...

host tools

jtag - tool to play with the (e)jtag capable pnx8550

build & usage:

completed:

todo:

PAUSED: urjtag is great and we deal with common mips ejtag on con1 !!!

efp_extract - tool to extract elecard efp files

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

mips(el) toolchain

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!

stb code

TODO: u-boot, kernel, rootfs ...


Edit PnxStb HackDaWorld PageList RecentChanges PageHistory