Advanced firmware upload options

Manual U-boot TFTP flashing

These instructions are for Jalapeno board

  • You will need TFTP server running on your PC. On Linux install package 'tftpd-hpa', on Windows - TFTPD32.
  • Put sysupgrade image to your TFTP folder.
  • Reboot or power up Jalapeno with serial console running and connected to PC.
U-Boot 2012.07-00020-gb997d20 [local,local] (Mar 30 2018 - 07:34:14)

=====================================
Caraboot v4.2 (IPQ4018) U-boot
http://www.8devices.com/
-------------------------------------
smem ram ptable found: ver: 1 len: 3
DRAM:  256 MiB
machid : 0x9000002
NAND:  spi_nand: spi_nand_flash_probe SF NAND ID 0:ef:aa:21
SF: Detected W25N01GV with page size 2 KiB, total 128 MiB
SF: Detected W25Q64 with page size 4 KiB, total 8 MiB
ipq_spi: page_size: 0x100, sector_size: 0x1000, size: 0x800000
136 MiB
In:    serial
Out:   serial
Err:   serial
machid: 9000002
flash_type: 0
Net:   MAC0 addr:c4:93:0:f:89:9b
PHY ID1: 0x4d
PHY ID2: 0xd0b2
ipq40xx_ess_sw_init done
eth0
Hit any key to stop autoboot:  0 
(IPQ40xx) # 
(IPQ40xx) #
  • Look up for serverip in list of u-boot commands:
(IPQ40xx) # printenv
args_common=rootfstype=squashfs
baudrate=115200
boot1=echo Booting from partition: ${partname}
boot2=nand device default
boot3=set mtdparts mtdparts=nand1:0x8000000@0x0(ubi)
boot4=ubi part ubi && ubi read 84000000 kernel
boot5=cfgsel 84000000 && run bootfdtcmd
bootcmd=run setup && run bootlinux
bootdelay=1
bootlinux=run boot1 boot2 boot3 boot4 boot5|| reset
do_recovery=run rec1 rec2 rec3 rec4; reset
ethact=eth0
flash_type=0
ipaddr=192.168.2.100
machid=9000002
production=no
rec1=echo Doing firmware recovery!
rec2=sleep 2 && tftpboot ${tftp_loadaddr} ${recovery_file}
rec3=nand device default && nand erase.chip
rec4=nand write ${fileaddr} 0x0 ${filesize}
recovery_file=fwupdate.bin
serverip=192.168.2.254
setup=partname=1 && setenv bootargs ubi.mtd=ubi ${args_common}
stderr=serial
stdin=serial
stdout=serial
tftp_loadaddr=0x84000000
  • Set server ip (in our case it is 192.168.2.254) on your network interface to which Jalapeno is connected.
  • Copy u-boot firmware to tftp server directory and rename it to fwupdate.bin:
sudo cp lede-ipq806x-Jalapeno-squashfs-nand-factory.ubi /var/lib/tftpboot/fwupdate.bin
  • Run u-boot upgrade command:
(IPQ40xx) # run do_recovery
Doing firmware recovery!
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :1000 Full duplex
eth0 PHY4 up Speed :1000 Full duplex
Using eth0 device
TFTP from server 192.168.2.254; our IP address is 192.168.2.100
Filename 'fwupdate.bin'.
Load address: 0x84000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################
done                                                                                            
Bytes transferred = 6029312 (5c0000 hex)                                                                                           
    
NAND erase.chip: device 1 whole chip 
Erasing at 0x7fe0000 -- 100% complete.     
OK      
    
NAND write: device 1 offset 0x0, size 0x5c0000                   
 6029312 bytes written: OK      
resetting ...
  • After reset flashing is done and device should boot up like normally.