This AX3000 flying saucer shaped device is sold under a few names:
- Widelantech WAP430X
- Felicomm (changing language to English on Widelantech's website gets you here)
- UeeVii UAP200 (on Amazon)
True name, as marked on the PCB, is WAP430X.
tl;dr
I have ported OpenWrt to this device, and will soon post a PR, but some details are missing:
- How to install OpenWrt without opening the device and connecting to UART;
- After installation, I tried to
sysupgradeanother OpenWrt build, which for some reason converted therootfsmtd partition toubi, soft-bricking the device.
I recovered by reflashingsysupgradefrom UART, and it's probably a stupid configuration mistake on my part which needs fixing before submitting the PR.
Hardware
- SoC: Mediatek MT7981B
- RAM: 256MiB DDR3
- ROM: 16MiB NOR flash (Winbond 25Q128JVSQ)
- Wired: one GbE RJ45 port
- Wireless: Mediatek MT7976CN DBDC
- Antennas: Internal (two 2.4 GHz 4.5 dBi, three 5 GHz 6 dBi)
- GPIO: two blue LEDs, one reset button
- Power: DC5521 (12V) or 802.3af PoE (48V 0.3A)
- UART: J500 on PCB [3v3] (Rx) (Tx) (Gnd), 115200n
MTD partitions
(from UART log)
[ 0.459902] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.464946] 6 fixed-partitions partitions found on MTD device spi0.0
[ 0.471314] Creating 6 MTD partitions on "spi0.0":
[ 0.476102] 0x000000000000-0x000000040000 : "BL2"
[ 0.481238] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.486937] 0x000000050000-0x000000100000 : "Factory"
[ 0.492358] 0x000000100000-0x000000180000 : "FIP"
[ 0.497442] 0x000000180000-0x000000f00000 : "firmware"
[ 0.503034] 2 fit-fw partitions found on MTD device firmware
[ 0.508709] 0x000000180000-0x000000400000 : "kernel"
[ 0.514064] 0x000000400000-0x000000f00000 : "rootfs"
[ 0.519390] mtd: device 6 (rootfs) set to be root filesystem
[ 0.525099] 1 squashfs-split partitions found on MTD device rootfs
[ 0.531289] 0x000000a50000-0x000000f00000 : "rootfs_data"
[ 0.537087] 0x000000ff0000-0x000001000000 : "opt"
FIP contains BL3.1 and U-boot;
kernel is a 5.4.246 linux kernel with embedded DTB;
rootfs is a non-standard SquashFS;
opt contains some strings.
U-Boot
Friendly bootloader allows us basically anything.
U-Boot 2022.04 (Jul 20 2022 - 08:58:25 +0000)
CPU: MediaTek MT7981
Model: mt7981-rfb
DRAM: 256 MiB
Core: 32 devices, 13 uclasses, devicetree: embed
Loading Environment from nowhere... OK
In: serial@11002000
Out: serial@11002000
Err: serial@11002000
Net:
Warning: ethernet@15100000 (eth0) using random MAC address - a2:fb:d9:1a:50:84
eth0: ethernet@15100000
*** U-Boot Boot Menu ***
1. Startup system (Default)
2. Upgrade firmware
3. Upgrade ATF BL2
4. Upgrade ATF FIP
5. Upgrade single image
6. Load image
0. U-Boot console
Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
Loading initramfs (option 6) via TFTP and via Xmodem works.
Flashing sysupgrade (option 2) works too.
Contents of rootfs
Firmware (both flash dump and downloaded binaries) uses a modified Squashfs format, not identified by existing tools.
$ dd if=wap430x.flashdump of=rootfs bs=64k skip=64 count=101
$ hexdump -C rootfs | head -n20
00000000 68 73 71 73 00 00 04 00 04 00 00 00 01 00 c0 04 |hsqs............|
00000010 ee 17 42 14 00 00 00 00 12 00 4f 3e 04 00 31 5c |..B.......O>..1\|
00000020 01 16 e5 23 35 f8 a9 bd 3f bd 97 1a ee 9b 94 43 |...#5...?......C|
00000030 a8 4b 64 00 fc 21 87 7b 58 8c e1 0e ed 51 64 03 |.Kd..!.{X....Qd.|
00000040 1b 82 a9 53 71 29 54 4b 63 1b c3 28 98 52 3b 28 |...Sq)TKc..(.R;(|
00000050 0c 80 00 00 04 00 14 00 09 00 90 00 40 00 fd 37 |............@..7|
00000060 7a 58 5a 00 00 01 69 22 de 36 03 c0 ae aa 07 80 |zXZ...i".6......|
00000070 80 10 21 01 0c 00 2e 87 83 22 e2 2c 65 ef ff 6c |..!......".,e..l|
00000080 00 3f 91 45 84 60 10 82 f6 2d ff 8e e8 af 20 6c |.?.E.`...-.... l|
00000090 a7 7c 4c e1 6b 11 55 98 b9 bb 0e 55 20 56 27 75 |.|L.k.U....U V'u|
000000a0 6c 81 a7 38 89 2f 67 fd 9a 68 c8 c5 c0 65 0a 79 |l..8./g..h...e.y|
000000b0 c7 ae ba 0f 16 81 79 da 2c 74 16 a3 23 b6 b3 ee |......y.,t..#...|
000000c0 56 65 cf 5e c9 e4 24 de b6 19 1e f1 4b b7 c1 92 |Ve.^..$.....K...|
000000d0 f2 82 a5 d4 17 5f 1d 80 88 3d d4 e3 97 ad 7e d2 |....._...=....~.|
000000e0 a2 88 1c ed 28 8c 25 57 44 93 50 4d 5a 41 8f 58 |....(.%WD.PMZA.X|
000000f0 b8 fe a1 82 6d 86 fd fd 33 b8 0a 28 c0 53 6b 5a |....m...3..(.SkZ|
00000100 df 7c 82 a7 6f 6a 8a d8 8e 3c 71 0d 51 ef cb e8 |.|..oj...<q.Q...|
00000110 f7 6f 66 c5 40 51 50 af cd 36 8c 35 8f d3 e7 8d |.of.@QP..6.5....|
00000120 d1 fc 45 fb ab 28 7a c6 fa 0b 01 7c 72 ad 5e 67 |..E..(z....|r.^g|
00000130 74 0a 5a b7 c6 c4 bd 85 eb 05 6c 73 e8 7d c8 2d |t.Z.......ls.}.-|
$ binwalk rootfs
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
94 0x5E xz compressed data
120262 0x1D5C6 xz compressed data
205970 0x32492 xz compressed data
300150 0x49476 xz compressed data
358534 0x57886 xz compressed data
458866 0x70072 xz compressed data
570890 0x8B60A xz compressed data
643334 0x9D106 xz compressed data
694350 0xA984E xz compressed data
797290 0xC2A6A xz compressed data
897206 0xDB0B6 xz compressed data
992038 0xF2326 xz compressed data
1083946 0x108A2A xz compressed data
1180114 0x1201D2 xz compressed data
1261210 0x133E9A xz compressed data
1359958 0x14C056 xz compressed data
1459986 0x164712 xz compressed data
1541998 0x17876E xz compressed data
1605718 0x188056 xz compressed data
1661994 0x195C2A xz compressed data
1708910 0x1A136E xz compressed data
1710642 0x1A1A32 xz compressed data
1711390 0x1A1D1E xz compressed data
1712150 0x1A2016 xz compressed data
1715070 0x1A2B7E xz compressed data
1730634 0x1A684A xz compressed data
1731430 0x1A6B66 xz compressed data
1732242 0x1A6E92 xz compressed data
1733034 0x1A71AA xz compressed data
1762926 0x1AE66E xz compressed data
1818878 0x1BC0FE xz compressed data
1935854 0x1D89EE xz compressed data
1974954 0x1E22AA xz compressed data
2106862 0x2025EE xz compressed data
2210826 0x21BC0A xz compressed data
2236142 0x221EEE xz compressed data
2262430 0x22859E xz compressed data
2300374 0x2319D6 xz compressed data
2369786 0x2428FA xz compressed data
2446434 0x255462 xz compressed data
2474158 0x25C0AE xz compressed data
2501434 0x262B3A xz compressed data
2528790 0x269616 xz compressed data
2553618 0x26F712 xz compressed data
2580666 0x2760BA xz compressed data
2605382 0x27C146 xz compressed data
2634770 0x283412 xz compressed data
2643682 0x2856E2 xz compressed data
2694150 0x291C06 xz compressed data
2754202 0x2A069A xz compressed data
2837178 0x2B4ABA xz compressed data
2903478 0x2C4DB6 xz compressed data
2981790 0x2D7F9E xz compressed data
3073158 0x2EE486 xz compressed data
3101478 0x2F5326 xz compressed data
3166238 0x30501E xz compressed data
3243382 0x317D76 xz compressed data
3272942 0x31F0EE xz compressed data
3363690 0x33536A xz compressed data
3476066 0x350A62 xz compressed data
3646410 0x37A3CA xz compressed data
3741126 0x3915C6 xz compressed data
3846310 0x3AB0A6 xz compressed data
3954250 0x3C564A xz compressed data
4005242 0x3D1D7A xz compressed data
4022230 0x3D5FD6 xz compressed data
4057482 0x3DE98A xz compressed data
4138462 0x3F25DE xz compressed data
4173630 0x3FAF3E xz compressed data
4283626 0x415CEA xz compressed data
4351514 0x42661A xz compressed data
4426286 0x438A2E xz compressed data
4508886 0x44CCD6 xz compressed data
4510014 0x44D13E xz compressed data
4591594 0x460FEA xz compressed data
4670582 0x474476 xz compressed data
4717902 0x47FD4E xz compressed data
4749458 0x487892 xz compressed data
4779850 0x48EF4A xz compressed data
4829514 0x49B14A xz compressed data
4894450 0x4AAEF2 xz compressed data
4988882 0x4C1FD2 xz compressed data
5091902 0x4DB23E xz compressed data
5201802 0x4F5F8A xz compressed data
5288970 0x50B40A xz compressed data
5325038 0x5140EE xz compressed data
5396822 0x525956 xz compressed data
6488522 0x6301CA xz compressed data
6543550 0x63D8BE xz compressed data
6556384 0x640AE0 xz compressed data
6558154 0x6411CA xz compressed data
6559928 0x6418B8 xz compressed data
6561570 0x641F22 xz compressed data
6562852 0x642424 xz compressed data
6567394 0x6435E2 xz compressed data
6570440 0x6441C8 xz compressed data
6571586 0x644642 xz compressed data
6571832 0x644738 xz compressed data
$ dd if=JIKEAP_AX3000AM_MT7981_K5_WIFI6_3000M_8.1_2025090700.bin of=rootfs bs=64k skip=40
$ hexdump -C rootfs | head -n20
00000000 68 73 71 73 00 00 04 00 04 00 00 00 01 00 c0 04 |hsqs............|
00000010 32 18 82 14 00 00 00 00 12 00 ea 20 04 00 5d 48 |2.......... ..]H|
00000020 4b 3e 33 58 c6 31 57 43 29 0b d2 24 61 e1 db a2 |K>3X.1WC)..$a...|
00000030 e4 98 65 00 9e c1 58 11 a0 5f 6a 08 70 aa e5 b1 |..e...X.._j.p...|
00000040 36 67 a0 4d e5 07 71 00 a4 5d 5a 1e 0e c2 b5 0f |6g.M..q..]Z.....|
00000050 0c 80 00 00 04 00 14 00 09 00 90 00 40 00 fd 37 |............@..7|
00000060 7a 58 5a 00 00 01 69 22 de 36 03 c0 f3 a9 07 80 |zXZ...i".6......|
00000070 80 10 21 01 0c 00 13 b6 e4 57 e2 2c 5b ef fe 6c |..!......W.,[..l|
00000080 00 3f 91 45 84 60 10 82 f6 2d ff 8e e8 af 20 6c |.?.E.`...-.... l|
00000090 a7 7c 4c e1 6b 11 55 98 b9 bb 0e 55 20 56 27 75 |.|L.k.U....U V'u|
000000a0 6c 81 a7 38 89 2f 67 fd 9a 68 c8 c5 c0 65 0a 79 |l..8./g..h...e.y|
000000b0 c7 ae ba 0f 16 81 79 da 2c 74 16 a3 23 b6 b3 ee |......y.,t..#...|
000000c0 67 64 cd 6f 4d 89 93 a5 81 54 69 3d 6d 8e 56 8d |gd.oM....Ti=m.V.|
000000d0 d1 68 be bd a9 14 5b 4e 58 c6 19 e8 bf b2 1e 01 |.h....[NX.......|
000000e0 ec 60 d3 df f1 7a 27 0d 9f 9c db d4 23 b0 59 83 |.`...z'.....#.Y.|
000000f0 d9 b2 12 3f 30 22 b1 e1 3f a7 96 aa 46 02 88 d1 |...?0"..?...F...|
00000100 cb 49 e3 08 d9 22 7d 73 76 86 4e cf 10 51 69 53 |.I..."}sv.N..QiS|
00000110 9c 71 6a c6 6a 85 55 42 39 49 40 fa 20 da e0 0b |.qj.j.UB9I@. ...|
00000120 02 f1 e2 35 6c 51 93 1d 88 a4 99 29 bb da 37 eb |...5lQ.....)..7.|
00000130 38 76 c2 83 48 73 12 88 3f 19 6f d3 41 98 d4 4d |8v..Hs..?.o.A..M|
$ binwalk rootfs
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
94 0x5E xz compressed data
120202 0x1D58A xz compressed data
205910 0x32456 xz compressed data
300058 0x4941A xz compressed data
361610 0x5848A xz compressed data
461942 0x70C76 xz compressed data
573966 0x8C20E xz compressed data
647970 0x9E322 xz compressed data
698986 0xAAA6A xz compressed data
802906 0xC405A xz compressed data
903294 0xDC87E xz compressed data
996806 0xF35C6 xz compressed data
1090842 0x10A51A xz compressed data
1186542 0x121AEE xz compressed data
1268046 0x13594E xz compressed data
1368146 0x14E052 xz compressed data
1468802 0x166982 xz compressed data
1550222 0x17A78E xz compressed data
1613414 0x189E66 xz compressed data
1670094 0x197BCE xz compressed data
1714382 0x1A28CE xz compressed data
1715594 0x1A2D8A xz compressed data
1716382 0x1A309E xz compressed data
1717146 0x1A339A xz compressed data
1723150 0x1A4B0E xz compressed data
1738794 0x1A882A xz compressed data
1739558 0x1A8B26 xz compressed data
1740326 0x1A8E26 xz compressed data
1741150 0x1A915E xz compressed data
1779946 0x1B28EA xz compressed data
1834194 0x1BFCD2 xz compressed data
1952526 0x1DCB0E xz compressed data
1984310 0x1E4736 xz compressed data
2124394 0x206A6A xz compressed data
2221258 0x21E4CA xz compressed data
2247978 0x224D2A xz compressed data
2280762 0x22CD3A xz compressed data
2311694 0x23460E xz compressed data
2384450 0x246242 xz compressed data
2459782 0x258886 xz compressed data
2487122 0x25F352 xz compressed data
2514350 0x265DAE xz compressed data
2541586 0x26C812 xz compressed data
2566254 0x27286E xz compressed data
2593606 0x279346 xz compressed data
2618882 0x27F602 xz compressed data
2648410 0x28695A xz compressed data
2656286 0x28881E xz compressed data
2706754 0x294D42 xz compressed data
2766838 0x2A37F6 xz compressed data
2849814 0x2B7C16 xz compressed data
2915454 0x2C7C7E xz compressed data
2993766 0x2DAE66 xz compressed data
3085134 0x2F134E xz compressed data
3113454 0x2F81EE xz compressed data
3180930 0x308982 xz compressed data
3258074 0x31B6DA xz compressed data
3287634 0x322A52 xz compressed data
3378382 0x338CCE xz compressed data
3490758 0x3543C6 xz compressed data
3661102 0x37DD2E xz compressed data
3755818 0x394F2A xz compressed data
3861002 0x3AEA0A xz compressed data
3968802 0x3C8F22 xz compressed data
4019794 0x3D5652 xz compressed data
4036782 0x3D98AE xz compressed data
4076150 0x3E3276 xz compressed data
4157130 0x3F6ECA xz compressed data
4192298 0x3FF82A xz compressed data
4302294 0x41A5D6 xz compressed data
4370182 0x42AF06 xz compressed data
4444954 0x43D31A xz compressed data
4527554 0x4515C2 xz compressed data
4528682 0x451A2A xz compressed data
4610198 0x465896 xz compressed data
4689226 0x478D4A xz compressed data
4736546 0x484622 xz compressed data
4768102 0x48C166 xz compressed data
4798494 0x49381E xz compressed data
4848030 0x49F99E xz compressed data
4889906 0x4A9D32 xz compressed data
4933294 0x4B46AE xz compressed data
5027726 0x4CB78E xz compressed data
5130734 0x4E49EE xz compressed data
5240594 0x4FF712 xz compressed data
5327730 0x514B72 xz compressed data
5364114 0x51D992 xz compressed data
5435898 0x52F1FA xz compressed data
6573730 0x644EA2 xz compressed data
6628758 0x652596 xz compressed data
6641592 0x6557B8 xz compressed data
6643394 0x655EC2 xz compressed data
6645192 0x6565C8 xz compressed data
6646842 0x656C3A xz compressed data
6648140 0x65714C xz compressed data
6652674 0x658302 xz compressed data
6655688 0x658EC8 xz compressed data
6656866 0x659362 xz compressed data
6657120 0x659460 xz compressed data
Contents of opt
$ tail -c 61440 wap430x.rom | strings
699010842e23c766
<pac>127.0.0.1</pac>
<en>no</en><id>HelloWorld</id><ro>RE</ro><dv>mt7981e2</dv>>>
config_str>eJzNUrFOwzAU/BfPATWhhZatsHRCDEgMCCHXfkms2n6RbdpEVf6d91JLRIgZkcl3vjv7nXMWGo5eOhD3QhTC1FLR8u3MtFHwYbyGXtwvCpGMgyB9k5VOqg6tUQNBrGtiPNYYTjJoYhaETwAHLYeYkyNamSDv5fR88KqZAnsZIyrCyzXho5X+Yq2tbLIvRsPxNdDJ6Nz2+Wpzc/fAgSbKvYXDMWQl3c+amC4JrdEafN45AN95nT8iwKswdMkgKzx6EGPxtwVU18t/V8F7IQJKl4JpGuDIq3LBXujT8uP7ZgRvZnBanEUXMCExulUdtSnkZ8IAe8SUb0C2amZzg+zY90M3TsKZrnEQWxaC51mJHCCyn2iqlLBLd5t1CVUmp652YC2+YrBa8FCT73H7zPGXd+DE6Q34z099hyeeuKwKoVrpPVgylBzZJoea7buXisdQ+OlT4DIfn6bKVj8yponEPCcTs6Ty9peocfwCg8caBQ==</config_str>
config_str is a Base64 encoded, zlib compressed JSON:
$ tail -c 61440 wap430x.rom | strings -n100 | cut -b 12-503 | base64 -d | pigz -dz | jq
{
"devname": "",
"iface": [
{
"device_index": 0,
"timerange": "",
"macpolicy": "off",
"noforward": "0",
"weekdays": "",
"isolate": "0",
"device_name": "5g",
"maxassoc": "48",
"vlan": "",
"flag": "0",
"ssid": "felicommAP-xxx7", # redacted
"disablekvr": "0",
"maclist": "",
"hidden": "0",
"key": "zzzzzzzz", # redacted
"encryption": "none"
},
{
"device_index": 0,
"timerange": "",
"macpolicy": "off",
"noforward": "0",
"weekdays": "",
"isolate": "0",
"device_name": "2.4g",
"maxassoc": "48",
"vlan": "",
"flag": "0",
"ssid": "felicommAP-xxx7", # redacted
"disablekvr": "0",
"maclist": "",
"hidden": "0",
"key": "zzzzzzzz", # redacted
"encryption": "none"
}
],
"roamtrigger": "-100",
"ext4_vlan": "",
"ext3_vlan": "",
"lan": {
"proto": "dhcp"
},
"autoreboot": "0",
"ext2_vlan": "",
"myap": {
"autoreboot": "0"
},
"ext_vlan": "",
"gmesh": {
"enable": "yes",
"meshdev": "mt7981e2",
"meshid": "HelloWorld",
"role": "CAP"
},
"device": {
"2.4g": [
{
"txpower": 12,
"channel": "12",
"htmode": "HT20",
"country": "CN"
}
],
"5g": [
{
"txpower": "auto",
"channel": "auto",
"htmode": "HT160",
"country": "CN"
}
]
}
}
Original firmware
GECOOS 8.0_2024081000, a fork of OpenWrt created by Widelantech.
NAME="GECOOSAP"
VERSION="21.02-SNAPSHOT"
ID="gecoosap"
ID_LIKE="lede openwrt"
PRETTY_NAME="GECOOSAP 21.02-SNAPSHOT"
VERSION_ID="21.02-snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r0-16f7f8f"
OPENWRT_BOARD="mediatek/mt7981"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS="no-all busybox"
OPENWRT_DEVICE_MANUFACTURER="GECOOSAP"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="GECOOSAP 21.02-SNAPSHOT r0-16f7f8f"
The only accessible ports are 80 (redirecting to 443) and 443 (web management). In particular, Telnet and SSH are disabled.
UART console displays some information (in Chinese) and allows few basic options (no root access sadly).
UART console
ๆฌข่ฟไฝฟ็จ้ๅฎขๆ ็บฟAP็ณป็ป [ๅทฒๆณจๅ] (ๅทฒ่ฟ่ก3ๅฐๆถ3ๅ6็ง)
=========================================================================
่ฎพๅคๅๅท : UAP200 ็ๆฌๅท : 8.1_2025090700
IP/ๆฉ็ : 0.0.0.0/24 ACๆงๅถๅจ : 127.0.0.1
็ฝๅ
ณ : 0.0.0.0 MACๅฐๅ : D8:2D:9B:xx:xx:x7
DNSๅฐๅ :
ๅฐ้ข1 : 5G - 157้ข้ - DA:2D:9B:xx:xx:x9
[ WiFi6AP-xxx7 ] [ zzzzzzzz ] [ ๆ VLAN ] [ ไธ้่ ]
ๅฐ้ข2 : 2.4G - 9้ข้ - D8:2D:9B:xx:xx:x9
=========================================================================
1) ้ๅฏๆฌ่ฎพๅค
2) ้็ฝฎWEB็ฎก็ๅฏ็
3) ๆขๅคๅบๅ่ฎพ็ฝฎ
4) ๅบไปถๅจ็บฟๅ็บง
Translation (via Google Lens):
Welcome to use the Jike Wireless AP System [Registered] (Running for 3 hours 3 minutes 6 seconds)
=========================================================================
Equipment model : UAP200 Version number : 8.0_2024102100
IP/netmask : 0.0.0.0/24 AC controller : 127.0.0.1
Gateway : 0.0.0.0 MAC address : D8:2D:9B:xx:xx:x7
DNS address :
RF1 : 5G - channel 157 - DA:2D:9B:xx:xx:x9
[ WiFi6AP-xxx7 ] [ zzzzzzzz ] [ no VLAN ] [ not hidden ]
RF2 : 2.4G - channel 9 - D8:2D:9B:xx:xx:x9
=========================================================================
1) Restart the device
2) Reset the web management password
3) Restore factory settings
4) Firmware online upgrade
Firmware upgrade via UART
Selecting option 4 from the menu makes it display the message:
===============================
ๅ็บงๅ็ณป็ปๅฐ่ชๅจ้ๅฏ
่ฏท่พๅ
ฅๅ็บงๅ
ๅฐๅ:
which translates to
The system will automatically restart after the upgrade.
Please enter the upgrade package address:
After not responding for a minute, it displays
ๅ็บงๅคฑ่ดฅ, ่ฏท่พๅ
ฅhttp://ๅผๅคด็ๅฐๅ
which translates to
Upgrade failed, please enter the address starting with http://
Firmware upgrade via Web
GECOOS management webpage is accessible at https://6.6.6.6/ (WTF).
It is very polished IMHO, and there's an option to upload a firmware update file at https://6.6.6.6/#/system/sysupgrade.
Installing AX3000AM firmware from here works fine; I couldn't locate an official WAP430X firmware.
Firmware binary resembles an OpenWrt sysupgrade with a 70-byte footer:
<GMFOOTER><finger>5a44ed017f2969074322161aa58af87d</finger></GMFOOTER>
Most likely an MD5 digest, but not sure of what exactly (it's not a digest of the rest of the binary file). Trying to flash the firmware binary without the footer results in the following error:
The upgrade is not a valid UAP200 upgrade file![Failed to read firmware FOOTER]
Trying to flash an OpenWrt sysupgrade (with or without a footer) results in the following error:
The upgrade is not a valid UAP200 upgrade file![Failed to read firmware image file]
Maybe it's the non-compatible SquashFS? any help is appreciated here.
Conclusion
Web interface cannot be used to flash OpenWrt, unless either modified SquashFS is understood, or some web exploit allows SSH access.
The web interface itself seems solid, but perhaps there's some exploit of uhttpd 2015-11-08pac (maybe CVE-2019-19945?)