0
0
mirror of https://git.openwrt.org/openwrt/openwrt.git/ synced 2025-10-05 23:42:55 +02:00
Files
openwrt/scripts/nand-fwupgradecfg-gen.sh
Sven Eckelmann (Plasma Cloud) c7c54f3134 ramips: add support for Plasma Cloud PAX1800-Lite
Plasma Cloud PAX1800-Lite is a dual-band Wi-Fi 6 router, based on MediaTek
MT7621A + MT79x5D platform.

Specifications:

- SOC:      MT7621AT (880 MHz)
- DRAM:     DDR3 448 MiB (Nanya NT5CC256M16DP-DI)
- Flash:    2 MiB SPI NOR (S25FL016K) + 128 MB SPI NAND (W25N02KVZEIR)
- Ethernet: 1x 10/100/1000 Mbps (SOC's built-in switch, with PoE+)
- Wi-Fi:    2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN)
            (MT7905DAN doesn't support background DFS scan/BT)
- LED:      tri-color LED for status (red, blue, green)
- Buttons:  1x (reset)
- Antenna:  4x internal, non-detachable omnidirectional
- UART:     1x 4-pin (2.54 mm pitch, marked as "3V3 G/RX GND W/TX")
- Power:    12 V DC/2 A (DC jack)

MAC addresses:

WAN:     54:9C:27:xx:xx:00 (factory 0x3fff4, device label)
2.4 GHz: 54:9C:27:xx:xx:02 (factory 0x4, device label +2)
5 GHz:   54:9C:27:xx:xx:08 (factory 0xa, device label +8)

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console (115200 8N1) must be used to access the u-boot shell
during bootup. It can then be used to first boot up the initramfs image
from a TFTP server (here with the IP 192.168.1.21):

    setenv serverip 192.168.1.21
    setenv ipaddr 192.168.1.1
    tftpboot 0x83001000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

    scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

    sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20152
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-04 20:30:36 +02:00

62 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (C) 2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
usage() {
echo "Usage: $0 <TARGET> <out file path> <kernel path> <rootfs path>"
exit 1
}
[ "$#" -lt 4 ] && usage
CE_TYPE=$1
CFG_OUT=$2
KERNEL_PATH=$3
ROOTFS_PATH=$4
case $CE_TYPE in
PAX1800-Lite)
EXTRA_SETENV=""
;;
*)
echo "Error - unsupported ce type: $CE_TYPE"
exit 1
;;
esac
# kernel calculation
KERNEL_MD5=$(mkhash md5 $KERNEL_PATH)
KERNEL_SHA256=$(mkhash sha256 $KERNEL_PATH)
KERNEL_SIZE=$(stat -c%s "$KERNEL_PATH")
KERNEL_CHECK_SIZE=$(printf '0x%x' $KERNEL_SIZE)
# rootfs calculation
ROOTFS_MD5=$(mkhash md5 $ROOTFS_PATH)
ROOTFS_SHA256=$(mkhash sha256 $ROOTFS_PATH)
ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH")
ROOTFS_CHECK_SIZE=$(printf '0x%x' $ROOTFS_SIZE)
cat << EOF > $CFG_OUT
[kernel]
filename=kernel
md5sum=$KERNEL_MD5
filemd5sum=$KERNEL_MD5
filesha256sum=$KERNEL_SHA256
checksize=$KERNEL_CHECK_SIZE
ubi=1
cmd_success=setenv bootseq 1,2; $EXTRA_SETENV; saveenv
[rootfs]
filename=rootfs
md5sum=$ROOTFS_MD5
filemd5sum=$ROOTFS_MD5
filesha256sum=$ROOTFS_SHA256
checksize=$ROOTFS_CHECK_SIZE
ubi=1
cmd_success=setenv bootseq 1,2; $EXTRA_SETENV; saveenv
EOF