openwrt/package/boot/uboot-envtools/files
Marco von Rosenberg f314debd4f ath79: add support for Huawei AP5030DN
Huawei AP5030DN is a dual-band, dual-radio 802.11ac Wave 1 3x3 MIMO
enterprise access point with two Gigabit Ethernet ports and PoE
support.

Hardware highlights:
- CPU: QCA9550 SoC at 720MHz
- RAM: 256MB DDR2
- Flash: 32MB SPI-NOR
- Wi-Fi 2.4GHz: QCA9550-internal radio
- Wi-Fi 5GHz: QCA9880 PCIe WLAN SoC
- Ethernet 1: 10/100/1000 Mbps Ethernet through Broadcom B50612E PHY
- Ethernet 2: 10/100/1000 Mbps Ethernet through Marvell 88E1510 PHY
- PoE: input through Ethernet 1 port
- Standalone 12V/2A power input
- Serial console externally available through RJ45 port
- External watchdog: SGM706 (1.6s timeout)

Serial console:
  9600n8 (9600 baud, no stop bits, no parity, 8 data bits)

MAC addresses:
  Each device has 32 consecutive MAC addresses allocated by
  the vendor, which don't overlap between devices.
  This was confirmed with multiple devices with consecutive
  serial numbers.
  The MAC address range starts with the address on the label.
  To be able to distinguish between the interfaces,
  the following MAC address scheme is used:
    - eth0 = label MAC
    - eth1 = label MAC + 1
    - radio0 (Wi-Fi 5GHz) = label MAC + 2
    - radio1 (Wi-Fi 2.4GHz) = label MAC + 3

Installation:
0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP

1. Power up the AP

2. At prompt "Press f or F  to stop Auto-Boot in 3 seconds",
   do what they say.
   Log in with default admin password "admin@huawei.com".

3. Boot the OpenWrt initramfs from TFTP using the hidden script
   "run ramboot". Replace IP address as needed:

   > setenv serverip 192.168.1.10
   > setenv ipaddr 192.168.1.1
   > setenv rambootfile
     openwrt-ath79-generic-huawei_ap5030dn-initramfs-kernel.bin
   > saveenv
   > run ramboot

4. Optional but recommended as the factory firmware cannot
   be downloaded publicly:
   Back up contents of "firmware" partition using the web interface or ssh:

   $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap5030dn_fw_backup.bin

5. Run sysupgrade using sysupgrade image. OpenWrt
   shall boot from flash afterwards.

Return to factory firmware (using firmware upgrade package downloaded from
non-public Huawei website):
1. Start a TFTP server in the directory where
   the firmware upgrade package is located

2. Boot to u-boot as described above

3. Install firmware upgrade package and format the config partitions:

   > update system FatAP5X30XN_SOMEVERSION.bin
   > format_fs

Return to factory firmware (from previously created backup):
1. Copy over the firmware partition backup to /tmp,
   for example using scp

2. Use sysupgrade with force to restore the backup:
   sysupgrade -F huawei_ap5030dn_fw_backup.bin

3. Boot AP to U-Boot as described above

Quirks and known issues
-----------------------

- On initial power-up, the Huawei-modified bootloader suspends both
ethernet PHYs (it sets the "Power Down" bit in the MII control
register). Unfortunately, at the time of the initial port, the kernel
driver for the B50612E/BCM54612E PHY behind eth0 doesn't have a resume
callback defined which would clear this bit. This makes the PHY unusable
since it remains suspended forever. This is why the backported kernel
patches in this commit are required which add this callback and for
completeness also a suspend callback.

- The stock firmware has a semi dual boot concept where the primary
kernel uses a squashfs as root partition and the secondary kernel uses
an initramfs. This dual boot concept is circumvented on purpose to gain
more flash space and since the stock firmware's flash layout isn't
compatible with mtdsplit.

- The external watchdog's timeout of 1.6s is very hard to satisfy
during bootup. This is why the GPIO15 pin connected to the watchdog input
is configured directly in the LZMA loader to output the CPU_CLK/4 signal
which keeps the watchdog happy until the wdt-gpio kernel driver takes
over. Because it would also take too long to read the whole kernel image
from flash, the uImage header only includes the loader which then reads
the kernel image from flash after GPIO15 is configured.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
[fixed 6.6 backport patch naming]
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 06cdc07f8c)
2024-04-03 02:56:56 +02:00
..
apm821xx apm821xx: MBL: make mtd chip work 2022-06-19 12:31:02 +02:00
ath79 ath79: add support for Huawei AP5030DN 2024-04-03 02:56:56 +02:00
cns3xxx uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
fw_printsys uboot-envtools: add wrapper scripts for alternate config 2021-04-08 09:20:59 +02:00
fw_setsys uboot-envtools: add wrapper scripts for alternate config 2021-04-08 09:20:59 +02:00
imx_cortexa7 uboot-envtools: imx: cortexa7: add TechNexion PICO-PI-IMX7D 2022-07-11 14:28:03 +02:00
imx_cortexa9 uboot-envtools: move imx to imx_cortexa9 2021-11-03 12:45:40 +01:00
ipq40xx uboot-envtools: ipq40xx: fix WHW03V2 mtd partition 2023-01-18 00:07:30 +01:00
ipq806x ipq806x: add support for Nokia Airscale AC400i 2023-03-19 18:02:34 +01:00
ipq807x ipq807x: add initial support for prpl Foundation Haze board 2023-06-12 22:10:29 +02:00
kirkwood kirkwood: add ix4-200d support to uboot-envtools 2024-03-23 14:58:33 +01:00
lantiq uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
layerscape layerscape: remove Traverse LS1043 boards 2023-07-26 13:36:58 +02:00
mediatek_filogic uboot-envtools: add support for Zyxel EX5601-T0 ubootmod 2024-03-12 23:13:38 +01:00
mediatek_mt7622 uboot-envtools: mt7622: bpi-r64: fix env selection 2023-01-29 03:43:58 +00:00
mediatek_mt7623 uboot-envtools: add configuration for UniElec U7623 board 2022-01-23 20:20:42 +00:00
mediatek_mt7629 mediatek: add support for Netgear EX6250v2 series 2023-07-13 12:05:28 +01:00
mpc85xx mpc85xx: add support for Enterasys WS-AP3715i 2023-04-08 14:41:01 +02:00
mvebu mvebu: add support for Buffalo LinkStation LS220DE 2023-02-26 22:22:48 +01:00
mxs uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
oxnas uboot-envtools: oxnas: fix wrong eraseblock size for shuttle,kd20 2022-03-21 20:16:16 +00:00
pistachio uboot-envtools: drop shebang from uci-defaults and lib files 2021-04-10 15:18:14 +02:00
qoriq qoriq: add support for WatchGuard Firebox M300 2021-12-21 21:37:46 +02:00
ramips ramips: add support for Rostelecom RT-FE-1A 2024-01-04 21:45:04 +01:00
realtek uboot-envtools: add support for APRESIA ApresiaLightGS120GT-SS 2023-02-13 12:22:17 +01:00
uboot-envtools.sh uboot-envtools: add support for multiple config partitions 2021-04-08 09:20:59 +02:00