openwrt/target/linux
Marco von Rosenberg 769253775c ath79: add support for Huawei AP6010DN
Huawei AP6010DN is a dual-band, dual-radio 802.11a/b/g/n 2x2 MIMO
enterprise access point with one Gigabit Ethernet port and PoE
support.

Hardware highlights:
- CPU: AR9344 SoC at 480MHz
- RAM: 128MB DDR2
- Flash: 32MB SPI-NOR
- Wi-Fi 2.4GHz: AR9344-internal radio
- Wi-Fi 5GHz: AR9580 PCIe WLAN SoC
- Ethernet: 10/100/1000 Mbps Ethernet through Atheros AR8035 PHY
- PoE: yes
- Standalone 12V/2A power input
- Serial console externally available through RJ45 port
- External watchdog: CAT706SVI (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
    - radio0 (Wi-Fi 2.4GHz) = label MAC + 1
    - radio1 (Wi-Fi 5GHz) = label MAC + 2

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_ap6010dn-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_ap6010dn_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 FatAP6X10XN_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_ap6010dn_fw_backup.bin

3. Boot AP to U-Boot as described above

Quirks and known issues:
- 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 AHB_CLK/2 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>
(cherry picked from commit f84a9f7dc0)
Link: https://github.com/openwrt/openwrt/pull/16978
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 23:22:27 +01:00
..
airoha kernel: bump 5.15 to 5.15.125 2023-08-10 21:07:50 +02:00
apm821xx apm821xx: WNDR4700: fix broken sysupgrade, factory images 2023-10-21 16:42:26 +02:00
archs38 treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
armsr kernel: bump 5.15 to 5.15.165 2024-09-14 16:51:13 +02:00
at91 kernel: bump 5.15 to 5.15.157 2024-05-13 14:01:51 +02:00
ath25 ath25: eth: Fix PHY access over ar2313 driver 2024-07-28 23:56:36 +02:00
ath79 ath79: add support for Huawei AP6010DN 2024-11-23 23:22:27 +01:00
bcm27xx kernel: bump 5.15 to 5.15.173 2024-11-23 23:20:16 +01:00
bcm47xx kernel: bump 5.15 to 5.15.158 2024-05-13 18:38:23 +03:00
bcm53xx kernel: bump 5.15 to 5.15.170 2024-11-16 00:03:52 +01:00
bcm63xx kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
bcm4908 kernel: bump 5.15 to 5.15.165 2024-09-14 16:51:13 +02:00
bmips kernel: bump 5.15 to 5.15.162 2024-07-08 21:26:43 +02:00
gemini kernel: bump 5.15 to 5.15.146 2024-01-08 23:15:35 +01:00
generic kernel: bump 5.15 to 5.15.173 2024-11-23 23:20:16 +01:00
imx kernel: backport NVMEM patches queued for the v6.5 2023-07-10 12:54:53 +02:00
ipq40xx ipq40xx: fix MAC address on Meraki MR33 and MR74 after nvmem-layout 2024-10-07 10:36:12 +02:00
ipq806x kernel: bump 5.15 to 5.15.172 2024-11-23 23:20:16 +01:00
ipq807x kernel: bump 5.15 to 5.15.165 2024-09-14 16:51:13 +02:00
kirkwood kirkwood: fix Ctera C200 V1 ubi part name 2023-12-14 21:40:20 +01:00
lantiq kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
layerscape kernel: 5.15: backport v6.1 PHY changes required for Aquantia 2024-01-31 11:57:41 +01:00
malta treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
mediatek kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
mpc85xx mpc85xx: p1010: fix NAND devices 2024-10-17 11:00:40 +02:00
mvebu kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
mxs mxs: rework image generation 2023-07-06 17:04:13 +02:00
octeon octeon: ubnt-edgerouter: fix sysupgrade config backup/restore 2024-09-28 18:33:21 +02:00
octeontx kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
omap treewide: remove files for building 5.10 kernel 2023-05-12 13:02:43 +02:00
oxnas kernel: bump 5.15 to 5.15.157 2024-05-13 14:01:51 +02:00
pistachio kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver 2023-11-02 09:45:08 +01:00
qoriq kernel: fix handling of CONFIG_DYNAMIC_DEBUG 2023-05-03 10:26:17 -07:00
ramips kernel: bump 5.15 to 5.15.170 2024-11-16 00:03:52 +01:00
realtek realtek: 5.15: backport VLAN fix 2024-09-22 16:26:25 +02:00
rockchip rockchip: remove redundant 'console' parameter from boot script 2024-03-31 20:39:57 +02:00
sifiveu kernel: bump 5.15 to 5.15.168 2024-11-16 00:03:52 +01:00
sunxi sunxi: fix network bringup on Olinuxino Micro boards 2024-04-21 23:26:53 +02:00
tegra tegra: Activate CONFIG_SND_DRIVERS 2024-07-08 21:13:26 +02:00
uml kernel: bump 5.15 to 5.15.132 2023-09-25 23:04:37 +02:00
x86 kernel: bump 5.15 to 5.15.158 2024-05-13 18:38:23 +03:00
zynq generic: enable CONFIG_ARM_CRYPTO for 32bit arm targets 2023-05-10 19:01:45 +02:00
Makefile linux: add dtb makefile target to targets list 2024-02-10 13:29:43 +01:00