Differences

This shows you the differences between two versions of the page.

doc:techref:bootloader:pp_boot [2011/02/24 04:14]
orca Page moved from oldwiki:openwrtdocs:bootloaders:pp_boot to doc:techref:bootloader:pp_boot
doc:techref:bootloader:pp_boot [2012/10/13 13:58] (current)
mandrake
Line 3: Line 3:
====== PP Boot ====== ====== PP Boot ======
-PP Boot v1.5 seems to be unique to the Conexant Solos CX946xx board as used in the Linksys WAG54G2+This is propietary bootloader with no open sources.
-===== Commands =====+All trails point to Conexant as owner.
-Boot can be interupted and a console entered by pressing space on the serial console early in the boot sequence.+There are known evolutions of this PP boot, v1.5, v5.09... but little documentation in general. 
 + 
 +===== PP Boot v1.5 ===== 
 +PP Boot v1.5 seems to be unique to the Conexant Solos CX946xx board as used in the Linksys [[http://wiki.openwrt.org/oldwiki/openwrtdocs/hardware/linksys/wag54g2|WAG54G2]], [[http://wiki.openwrt.org/toh/xavi/xavi_7968|Xavi 7968]], DG834, Billion 7402XL and some others. 
 + 
 +However, the behaviour and look of pp-boot seems to change depending on the vendor. For instance, Xavi pp-boot seems to have ethernet uploading cancelled, which prevents firmware replacement. 
 + 
 +On the contrary, routers WAG54G2, DG834 and Billion 7402XL have a recovery tool, allowing replacement of working firmware via pp-boot. 
 + 
 +Preliminary investigation shows that the default config of PP Boot simply tries to boot the kernel at rom offset 0x20000. 
 + 
 +==== Commands ==== 
 + 
 +Boot can be interrupted and a console entered by pressing space on the serial console (usually 38400 bauds) early in the boot sequence. 
 + 
 +Pressing help or ? will pop the following text: 
 + 
 +<code> 
 +Commands to the console are: 
 + configeeprom            display EEPROM configuration information 
 + configflash              display FLASH configuration information 
 +        mac <address>              set MAC address 
 +        networkboot {yes | auto}    boot auto-select Ethernet, USB or PCI 
 +        networkboot ethernet        boot from Ethernet only 
 +        networkboot usb            boot from USB only 
 +        networkboot pci            boot from PCI only 
 +        networkboot no              boot from FLASH 
 +        networkboot ask            always prompt user for boot source 
 +        copyimages {yes | no}      copy network booted image files 
 +        flashfs {auto | emergency}  use automatic FLASHFS selection or 
 +                                    force boot from emergency FLASHFS 
 +        flashnetboot {yes | no}    flash boots auto network boots 
 +        autolanrecover {yes | no}  attempt LAN recovery if flash corrupt 
 +        initialise                  initialise configuration information 
 +        listenv                    list environment variables 
 +        setenv <key> <value>        set environment variable 
 +        unsetenv <key>              unset environment variable 
 +        pda read                    read PDA information 
 + configpci                          display EEPROM PCI configuration 
 + configpci set <idx> <addr> <data>  set PCI pair 
 + dw <address> [<length>]  dump words (hex/ascii) 
 + enter <address>          enter an image 
 + erw <wrdaddress>        read a single word from EEPROM 
 + eww <wrdaddress> <value> write a single word to EEPROM 
 + fdw <address> [<length>] dump flash words (hex/ascii) 
 + flash config            print flash configuration 
 + help                    print this text 
 + netboot [recover]        perform immediate network boot [in recovery mode] 
 + quit                    leave the console 
 + reset                    reset system 
 + rw <address>            read a single word 
 + why                      reason for console entry 
 + ww <address> <value>    write a single word 
 + xmodem [fast]            download mkflash image using X-Modem 
 +</code> 
 + 
 +==== Structure ===== 
 +Taken from [[http://www.edimax.com/images/Image/OpenSourceCode/Wireless/Router/AR-7284WnA/AR-7284WnA&B_SDK_6222.tar.zip|Edimax]] sources, the following code checks the integrity of a working pp-boot 1.5 binary (and enlightens us with its structure): 
 + 
 +<code> 
 +//      This reads the flash boot program from flash. This program needs 
 +//      to comprehend the format that mkflash has built the flash in. 
 +//      This is 
 +// 
 +//      Word 0: NP boot length in words (b) 
 +//      Word 1: First word of NP boot 
 +//      : 
 +//      Word b:Last word of NP boot 
 +//      Word b + 1: NP boot checksum 
 +//      Word b + 2: Number of unused words (u) 
 +//      : 
 +//      Word b + u + 3: PP boot length (p) 
 +//      Word b + u + 4: First word of PP boot 
 +//      : 
 +//      Word b + u + p + 3:Last word of PP boot 
 +//      Word b + u + p + 4: Number of unused words (v) 
 +//      : 
 +//      Word b + u + p + v + 4: Configuration Information  
 +</code>
-Googleing shows commands for PP Boot versions >8.5 and above. The only one that seems to work on v1.5 on the WAG54G2 is "netboot" 
-Preliminary investigation shows that the default config of PP Boot on WAG54G2 simply tries to boot the kernel at rom offset 0x20000 

Back to top

doc/techref/bootloader/pp_boot.txt · Last modified: 2012/10/13 13:58 by mandrake