immortalwrt/package/boot
Shiji Yang 836b03aa23
ramips: add support for H3C TX1800 Plus / TX1801 Plus / TX1806
H3C TX180x series WiFi6 routers are customized by different carrier.
While these three devices look different, they use the same motherboard
inside. Another minor difference comes from the model name definition
in the u-boot environment variable.

Specifications:
 SOC:      MT7621 + MT7915
 ROM:      128 MiB
 RAM:      256 MiB
 LED:      status *2
 Button:   reset *1 + wps/mesh *1
 Ethernet:        lan *3 + wan *1 (10/100/1000Mbps)
 TTL Baudrate:    115200
 TFTP server IP:  192.168.124.99

MAC Address:
 use        address(sample 1)   address(sample 2)    source
 label      88:xx:xx:98:xx:12   88:xx:xx:a2:xx:a5   u-boot-env@ethaddr
 lan        88:xx:xx:98:xx:13   88:xx:xx:a2:xx:a6   $label +1
 wan        88:xx:xx:98:xx:12   88:xx:xx:a2:xx:a5   $label
 WiFi4_2G   8a:xx:xx:58:xx:14   8a:xx:xx:52:xx:a7   (Compatibility mode)
 WiFi5_5G   8a:xx:xx:b8:xx:14   8a:xx:xx:b2:xx:a7   (Compatibility mode)
 WiFi6_2G   8a:xx:xx:18:xx:14   8a:xx:xx:12:xx:a7
 WiFi6_5G   8a:xx:xx:78:xx:14   8a:xx:xx:72:xx:a7

Compatibility mode is used to guarantee the connection of old devices
that only support WiFi4 or WiFi5.

TFTP + TTL Installation:
Although a TTL connection is required for installation, we do not need
to tear down it. We can find the TTL port from the cooling hole at the
bottom. It is located below LAN3 and the pins are defined as follows:
|LAN1|LAN2|LAN3|----|WAN|
--------------------
    |GND|TX|RX|VCC|

1. Set tftp server IP to 192.168.124.99 and put initramfs firmware in
   server's root directory, rename it to a simple name "initramfs.bin".
2. Plug in the power supply and wait for power on, connect the TTL cable
   and open a TTL session, enter "reboot", then enter "Y" to confirm.
   Finally push "0" to interruput boot while booting.
3. Execute command to install a initramfs system:
   # tftp 0x80010000 192.168.124.99:initramfs.bin
   # bootm 0x80010000
4. Backup nand flash by OpenWrt LuCI or dd instruction. We need those
   partitions if we want to back to stock firmwre due to official
   website does not provide download link.
   # dd if=/dev/mtd1 of=/tmp/u-boot-env.bin
   # dd if=/dev/mtd4 of=/tmp/firmware.bin
5. Edit u-boot env to ensure use default bootargs and first image slot:
   # fw_setenv bootargs
   # fw_setenv bootflag 0
6. Upgrade sysupgrade firmware.
7. About restore stock firmware: flash the "firmware" and "u-boot-env"
   partitions that we backed up in step 4.
   # mtd write /tmp/u-boot-env.bin u-boot-env
   # mtd write /tmp/firmware.bin firmware

Additional Info:
The H3C stock firmware has a 160-byte firmware header that appears to
use a non-standard CRC32 verification algorithm. For this part of the
data, the u-boot does not check it so we can just directly replace it
with a placeholder.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit 1330816178)
2023-01-09 14:43:31 +08:00
..
arm-trusted-firmware-bcm63xx arm-trusted-firmware-bcm63xx: add ATF for Broadcom devices 2022-01-03 14:28:13 +01:00
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: bring back package 2021-02-24 11:02:04 +00:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: pass commit ids to a3700-utils/mv-ddr-marvell 2021-01-30 14:46:32 +01:00
arm-trusted-firmware-rockchip atf-rockchip: update to 2.3 2020-07-28 15:52:44 +02:00
arm-trusted-firmware-rockchip-vendor arm-trusted-firmware-rockchip-vendor: workaround for VARIANT issue 2021-08-13 00:36:10 +08:00
arm-trusted-firmware-sunxi arm-trusted-firmware-sunxi: Replace with official ARM version 2019-01-13 17:35:14 +01:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: add patch to pass LDFLAGS 2021-02-10 19:19:18 +00:00
at91bootstrap at91bootstrap: Add PKG_MIRROR_HASH to fix download 2021-01-18 22:10:03 +01:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 x86: grub2: search for the "kernel" filesystem on all disks 2022-04-21 16:43:31 +08:00
imx-bootlets
kexec-tools treewide: use new extra_command function for init 2020-11-07 19:42:37 +08:00
kobs-ng kobs-ng: add header for integer definitions 2017-11-16 22:56:54 +01:00
mt7623n-preloader mediatek: mt7623n-preloader: add preloader for Banana Pi R64 2020-09-19 13:39:29 +01:00
tfa-layerscape tfa-layerscape: build fiptool again 2021-02-21 13:55:30 +01:00
uboot-at91 uboot-at91: fix dtc compilation on host gcc 10 2021-08-28 15:48:08 +02:00
uboot-bcm4908 uboot-bcm4908: include SoC in output files 2022-09-01 17:39:51 +02:00
uboot-envtools ramips: add support for H3C TX1800 Plus / TX1801 Plus / TX1806 2023-01-09 14:43:31 +08:00
uboot-fritz4040 ipq40xx: add support for AVM FRITZ!Repeater 1200 2019-10-23 01:17:28 +02:00
uboot-imx6 uboot-imx6: define 'BUILD_DEVICES' for Toradex Apalis 2021-04-18 12:05:51 +02:00
uboot-kirkwood kirkwood: add support for Seagate BlackArmor NAS220 2020-12-22 19:11:50 +01:00
uboot-lantiq uboot-lantiq: danube: fix hanging lzma kernel uncompression #2 2021-11-27 23:00:31 +01:00
uboot-layerscape uboot-layerscape: adjust LS1012A-IOT config and env 2022-11-12 21:05:43 +01:00
uboot-mediatek mediatek: update uboot to latest patchset provided by MTK 2020-11-04 20:32:52 +01:00
uboot-mvebu uboot-mvebu: update to v2021.01 2021-01-30 14:46:32 +01:00
uboot-mxs uboot-mxs: bump to v2020.04 2020-06-03 16:49:28 +02:00
uboot-omap omap: update uboot to v2020.04 2020-10-04 03:45:21 +02:00
uboot-oxnas uboot-oxnas: fix memory leak in tool mkox820crc 2020-01-15 23:15:19 +01:00
uboot-ramips ramips: add support for RAVPower RP-WD009 2020-06-29 12:24:01 +02:00
uboot-rockchip uboot-rockchip: drop CONFIG_IDENT_STRING 2022-07-12 18:55:17 +08:00
uboot-sunxi Merge Official Source 2022-08-30 10:39:29 +08:00
uboot-tegra uboot-tegra: bump to 2020.04 2020-12-22 18:59:10 +01:00
uboot-zynq uboot-zynq: fix dtc compilation on host gcc 10 2020-12-13 16:12:45 +01:00