Add support for Widelantech WAP430X (mt7981)

This AX3000 flying saucer shaped device is sold under a few names:

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:

  1. How to install OpenWrt without opening the device and connecting to UART;
  2. After installation, I tried to sysupgrade another OpenWrt build, which for some reason converted the rootfs mtd partition to ubi, soft-bricking the device.
    I recovered by reflashing sysupgrade from 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?)

1 Like

Set up netcat listening on port 80 and check the โ€œonlineโ€ things activity on thโ‚ฌ wire.

What does nmap -A say?

If you press 0 or 5 for 4 do you get uboot console?

Try squash tools from opemwrt build tree or squashfs-tools-ng (debian has them)

Thanks for the suggestions, but I believe I answered most of these in the (long...) text above.

After GECOOS has booted, it seems impossible to get to shell via UART console, but U-boot console (before FW boot) is accessible via menu option 5, and you can do everything there, including writing firmware (OpenWrt or GECOOS).

That way I managed to install OpenWrt on my device, but the current goal is to find a UART-less installation method.

Not sure I understand your suggestion here.
Is this about the firmware upgrade from GECOOS UART console asking for an HTTP URL?
I have never connected this AP to the internet (and I prefer not to do so), but I guess I can* connect it to an air-gapped network, set up an HTTP server, and tcpdump the communication;
I suspect it simply requests the file from the webserver via curl/wget, which gets us nowhere unless there's some mistake in the code processing the URL.
*EDIT: I tested it; the HTTP request contains User-Agent: uclient-fetch.

Anyway, this is not going to get us a UART-less installation method, since Web UI upgrade only accepts a local file. Moreover, given UART access, U-boot is the way to go and there's no need for GECOOS console.

Alas, this is a non-standard SquashFS variant:

$ sqfscat wap430x_rootfs /etc/banner
FATAL ERROR: Can't find a valid SQUASHFS superblock on wap430x_rootfs

cf.

$ sqfscat openwrt_root.squashfs /etc/banner
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r0+31355-46d19f5253
 -----------------------------------------------------

Only TCP ports 80 and 443 are open.

Initiating SYN Stealth Scan at 17:14
Scanning 6.6.6.6 [65535 ports]
Discovered open port 443/tcp on 6.6.6.6
Discovered open port 80/tcp on 6.6.6.6
Completed SYN Stealth Scan at 17:14, 3.93s elapsed (65535 total ports)

Port 80 redirects to HTTPS:

HTTP/1.1 302 Moved Temporarily
Server: uhttpd 2015-11-08pac
Date: Sun, 07 Sep 2025 20:43:44 GMT
Content-Type: text/html
Content-Length: 153
Connection: close
Location: https://127.0.0.1
<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>uhttpd 2015-11-08pac</center>
</body>
</html>

whereas port 443 serves the web management UI:

HTTP/1.1 200 OK
Server: uhttpd 2015-11-08pac
Date: Sun, 07 Sep 2025 20:43:50 GMT
Content-Type: text/html
Content-Length: 546
Last-Modified: Wed, 03 Sep 2025 16:29:38 GMT
Connection: close
Vary: Accept-Encoding
ETag: "68b86cf2-222"
Accept-Ranges: bytes
<!DOCTYPE html>
<html lang="en">
<head>
<!--GECOOS-2025931627-->
<meta charset="UTF-8">
<link rel="icon" href="./b023142399bd6f8caae78afa673eb3d6.ico">
<meta name="google" content="notranslate">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<script type="module" crossorigin src="./assets/index-abec4a21.js"></script>
<link rel="stylesheet" href="./assets/index-4a17d5e7.css">
</head>
<body>
<div id="app" style="overflow: hidden;"></div>
</body>
</html>

(nitpicking: dates don't match since I tested this with a newer GECOOS firmware)

Some more info about problem #2.

EDIT: solved this by updating base-files/lib/upgrade/platform.sh.
The generic_shutdown_super crash remains, but sysupgrade now works too and I can create the PR.

I performed a sysupgrade with serial attached, and got this:

- watchdog -
Watchdog does not have CARDRESET support
Sat Oct 11 22:54:53 UTC 2025 upgrade: Sending TERM to remaining processes ...
Sat Oct 11 22:54:57 UTC 2025 upgrade: Sending KILL to remaining processes ...
[  296.879827] stage2 (5070): drop_caches: 3
Sat Oct 11 22:55:03 UTC 2025 upgrade: Switching to ramdisk...
mount: mounting /dev/mtdblock7 on /overlay failed: Resource busy
[  298.097822] ------------[ cut here ]------------
[  298.102443] VFS: Busy inodes after unmount of jffs2 (jffs2)
[  298.102461] WARNING: CPU: 0 PID: 5070 at generic_shutdown_super+0xf0/0x160
[  298.114890] Modules linked in: nft_fib_inet nf_flow_table_inet nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mt7915e(O) mt76_connac_lib(O) mt76(O) mac80211(O) cfg80211(O) nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c compat(O) crypto_safexcel sha512_arm64 sha1_ce sha1_generic seqiv md5 geniv des_generic libdes authencesn authenc leds_gpio gpio_button_hotplug(O)
[  298.170643] CPU: 0 UID: 0 PID: 5070 Comm: busybox Tainted: G           O       6.12.50 #0
[  298.178809] Tainted: [O]=OOT_MODULE
[  298.182285] Hardware name: Widelantech WAP430X (DT)
[  298.187150] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  298.194099] pc : generic_shutdown_super+0xf0/0x160
[  298.198883] lr : generic_shutdown_super+0xf0/0x160
[  298.203665] sp : ffffffc085cc3d20
[  298.206967] x29: ffffffc085cc3d20 x28: ffffff80015ff000 x27: 0000000000000000
[  298.214095] x26: 0000000000000000 x25: 0000000000000000 x24: ffffffc080d19410
[  298.221223] x23: 0000000000000000 x22: 0000000000000001 x21: ffffff80015ff734
[  298.228350] x20: ffffff800421c548 x19: ffffff800421c000 x18: ffffffc080c3ebd8
[  298.235479] x17: 0000000000000000 x16: 0000000000000001 x15: 00000000000000cc
[  298.242606] x14: 00000000000000cc x13: 00000000ffffffea x12: ffffffc080c96b80
[  298.249734] x11: ffffffc080c3ebd8 x10: ffffffc080c96bd8 x9 : 0000000000000001
[  298.256862] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : c0000000ffffefff
[  298.263989] x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : ffffffc085cc3b00
[  298.271116] x2 : ffffffc080c3eb00 x1 : ffffffc080c3eb00 x0 : 000000000000002f
[  298.278244] Call trace:
[  298.280680]  generic_shutdown_super+0xf0/0x160
[  298.285116]  kill_mtd_super+0x14/0x2c
[  298.288773]  jffs2_kill_sb+0x4c/0x60
[  298.292342]  deactivate_locked_super+0x4c/0xf8
[  298.296777]  deactivate_super+0x68/0x7c
[  298.300606]  cleanup_mnt+0x98/0x128
[  298.304087]  __cleanup_mnt+0x10/0x18
[  298.307653]  task_work_run+0x9c/0xe0
[  298.311221]  do_notify_resume+0xf4/0x100
[  298.315134]  el0_svc+0x44/0x60
[  298.318182]  el0t_64_sync_handler+0x118/0x124
[  298.322531]  el0t_64_sync+0x150/0x154
[  298.326182] ---[ end trace 0000000000000000 ]---
Sat Oct 11 22:55:05 UTC 2025 upgrade: Performing system upgrade...
[  298.796007] ubi0: default fastmap pool size: 8
[  298.800453] ubi0: default fastmap WL pool size: 4
[  298.805146] ubi0: attaching mtd6
[  298.850503] ubi0: scanning is finished
[  298.854268] ubi0 error: ubi_read_volume_table: the layout volume was not found
[  298.861525] ubi0 error: ubi_attach_mtd_dev: failed to attach mtd6, error -22
ubiattach: error!: cannot attach mtd6
           error 22 (Invalid argument)
ubiformat: mtd6 (nor), size 10682368 bytes (10.1 MiB), 163 eraseblocks of 65536 bytes (64.0 KiB), min. I/O size 1 bytes
ubiformat: formatting eraseblock 162 -- 100 % complete
[  337.223214] ubi0: default fastmap pool size: 8
[  337.227684] ubi0: default fastmap WL pool size: 4
[  337.232378] ubi0: attaching mtd6
[  337.280474] ubi0: scanning is finished
[  337.286663] ubi0: attached mtd6 (name "rootfs", size 10 MiB)
[  337.292326] ubi0: PEB size: 65536 bytes (64 KiB), LEB size: 65408 bytes
[  337.298941] ubi0: min./max. I/O unit sizes: 1/256, sub-page size 1
[  337.305108] ubi0: VID header offset: 64 (aligned 64), data offset: 128
[  337.311628] ubi0: good PEBs: 163, bad PEBs: 0, corrupted PEBs: 0
[  337.317627] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
[  337.324836] ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 2051940086
[  337.333957] ubi0: available PEBs: 157, total reserved PEBs: 6, PEBs reserved for bad PEB handling: 0
[  337.343087] ubi0: background thread "ubi_bgt0d" started, PID 5781
UBI device number 0, total 163 LEBs (10661504 bytes, 10.1 MiB), available 157 LEBs (10269056 bytes, 9.7 MiB), LEB size 65408 bytes (63.8 KiB)
Volume ID 0, size 17 LEBs (1111936 bytes, 1.0 MiB), LEB size 65408 bytes (63.8 KiB), dynamic, name "ubootenv", alignment 1
Volume ID 1, size 17 LEBs (1111936 bytes, 1.0 MiB), LEB size 65408 bytes (63.8 KiB), dynamic, name "ubootenv2", alignment 1
[  338.458723] ubi0 error: ubi_create_volume: not enough PEBs, only 123 available
[  338.466000] ubi0 error: ubi_create_volume: cannot create volume 2, error -28
ubimkvol: error!: cannot UBI create volume
          error 28 (No space left on device)
cannot create kernel volume
sysupgrade failed
umount: can't unmount [  338.485570] reboot: Restarting system

Why sysupgrade tries to go ubi? it's a NOR device...

EDIT: see solution above

OpenWrt MTD partitions (before the upgrade) were:

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00010000 "BL2"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "Factory"
mtd3: 00080000 00010000 "FIP"
mtd4: 00e70000 00010000 "firmware"
mtd5: 00440000 00010000 "kernel"
mtd6: 00a30000 00010000 "rootfs"
mtd7: 00170000 00010000 "rootfs_data"
mtd8: 00010000 00010000 "opt"

Device definitions in filogic.mk say nothing about UBI:

define Device/widelantech_wap430x
  DEVICE_VENDOR := Widelantech
  DEVICE_MODEL := WAP430X
  DEVICE_DTS := mt7981b-widelantech-wap430x
  DEVICE_DTS_DIR := ../dts
  DEVICE_DTS_LOADADDR := 0x47000000
  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
  IMAGES := sysupgrade.bin
  IMAGE_SIZE := 14336k
  KERNEL := kernel-bin | lzma | \
        fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
  KERNEL_INITRAMFS := kernel-bin | lzma | \
        fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
  IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata
endef
TARGET_DEVICES += widelantech_wap430x

I also did some investigation of the modified SquashFS.
Out of 6 pointers to tables that the standard superblock contains, there is only one in the GECOOS superblock (seems to point to the NFS export table).
XZ-compressed data and metadata blocks decompress fine to 256KiB and 8KiB blocks, and probably the directory structure and inode structure is recoverable.

Nevertheless, there is a big chunk (~1MiB) between data blocks and metadata blocks that is not XZ-compressed, and I don't understand what it is. The first few bytes of it are:

0053d9c0                    22 f2  15 5d 83 6d 85 59 69 b8        |"..].m.Yi.|
0053d9d0  50 60 4d 5d b9 37 1c 66  14 47 4a ff 9c df 67 8c  |P`M].7.f.GJ...g.|
0053d9e0  18 a3 91 28 a7 2d 54 07  55 51 2b 49 fa b1 1e c0  |...(.-T.UQ+I....|
0053d9f0  d8 e2 84 0c 5b 8b 43 6d  a6 30 27 40 cf c8 d3 57  |....[.Cm.0'@...W|
0053da00  65 e9 cf 77 69 df 8c 73  04 a1 80 a2 18 1e 35 89  |e..wi..s......5.|
0053da10  b7 9d 3c 71 d5 01 58 c7  64 b9 51 d3 9d da f7 64  |..<q..X.d.Q....d|
0053da20  6f a7 59 84 6c d0 ac 38  5a 2d 41 ba 58 74 9c 85  |o.Y.l..8Z-A.Xt..|
0053da30  c4 6e 5f 10 e3 ab 87 dc  c4 ea 9b 18 d1 3f f3 0e  |.n_..........?..|
0053da40  0a 67 98 64 85 4d 1f 63  86 2e 98 a2 7e fc 4c fb  |.g.d.M.c....~.L.|
0053da50  ee 30 7f 7d 84 68 c3 94  1c d1 f7 cd 39 6f 2f 4e  |.0.}.h......9o/N|
0053da60  06 74 33 09 a8 9e 77 5c  48 b7 14 25 d1 6a 07 b2  |.t3...w\H..%.j..|

EDIT: by hardcoding a superblock in list-files example from squashfs-tools-ng, I was able to extract the rootfs contents. Sadly, dropbear binary is not present (although its configuration files are there) but maybe it'd be possible to inject one using configuration backup/restore.

/
โ”œโ”€ bin
โ”‚  โ”œโ”€ ash โญข BB
โ”‚  โ”œโ”€ board_detect
โ”‚  โ”œโ”€ busybox
โ”‚  โ”œโ”€ cat โญข BB
โ”‚  โ”œโ”€ chgrp โญข BB
โ”‚  โ”œโ”€ chmod โญข BB
โ”‚  โ”œโ”€ chown โญข BB
โ”‚  โ”œโ”€ config_generate
โ”‚  โ”œโ”€ cp โญข BB
โ”‚  โ”œโ”€ date โญข BB
โ”‚  โ”œโ”€ dd โญข BB
โ”‚  โ”œโ”€ df โญข BB
โ”‚  โ”œโ”€ dmesg โญข BB
โ”‚  โ”œโ”€ echo โญข BB
โ”‚  โ”œโ”€ egrep โญข BB
โ”‚  โ”œโ”€ false โญข BB
โ”‚  โ”œโ”€ fgrep โญข BB
โ”‚  โ”œโ”€ fsync โญข BB
โ”‚  โ”œโ”€ grep โญข BB
โ”‚  โ”œโ”€ gunzip โญข BB
โ”‚  โ”œโ”€ gzip โญข BB
โ”‚  โ”œโ”€ ipcalc.sh
โ”‚  โ”œโ”€ kill โญข BB
โ”‚  โ”œโ”€ ln โญข BB
โ”‚  โ”œโ”€ lock โญข BB
โ”‚  โ”œโ”€ login โญข BB
โ”‚  โ”œโ”€ ls โญข BB
โ”‚  โ”œโ”€ mkdir โญข BB
โ”‚  โ”œโ”€ mknod โญข BB
โ”‚  โ”œโ”€ mktemp โญข BB
โ”‚  โ”œโ”€ mount โญข BB
โ”‚  โ”œโ”€ mpstat โญข BB
โ”‚  โ”œโ”€ mv โญข BB
โ”‚  โ”œโ”€ netmsg โญข BB
โ”‚  โ”œโ”€ netstat โญข BB
โ”‚  โ”œโ”€ nice โญข BB
โ”‚  โ”œโ”€ oem.lua
โ”‚  โ”œโ”€ passwd โญข BB
โ”‚  โ”œโ”€ pidof โญข BB
โ”‚  โ”œโ”€ ping โญข BB
โ”‚  โ”œโ”€ ping6 โญข BB
โ”‚  โ”œโ”€ ps โญข BB
โ”‚  โ”œโ”€ pwd โญข BB
โ”‚  โ”œโ”€ rm โญข BB
โ”‚  โ”œโ”€ rmdir โญข BB
โ”‚  โ”œโ”€ sed โญข BB
โ”‚  โ”œโ”€ sh โญข BB
โ”‚  โ”œโ”€ sleep โญข BB
โ”‚  โ”œโ”€ sync โญข BB
โ”‚  โ”œโ”€ tar โญข BB
โ”‚  โ”œโ”€ touch โญข BB
โ”‚  โ”œโ”€ traceroute โญข BB
โ”‚  โ”œโ”€ traceroute6 โญข BB
โ”‚  โ”œโ”€ true โญข BB
โ”‚  โ”œโ”€ trun
โ”‚  โ”œโ”€ ubus
โ”‚  โ”œโ”€ uclient-fetch
โ”‚  โ”œโ”€ umount โญข BB
โ”‚  โ”œโ”€ uname โญข BB
โ”‚  โ”œโ”€ vi โญข BB
โ”‚  โ””โ”€ zcat โญข BB
โ”œโ”€ dev
โ”‚  โ””โ”€ console
โ”œโ”€ etc
โ”‚  โ”œโ”€ ARM
โ”‚  โ”œโ”€ TZ โญข /tmp/TZ
โ”‚  โ”œโ”€ banner
โ”‚  โ”œโ”€ board.d
โ”‚  โ”‚  โ”œโ”€ 01_led
โ”‚  โ”‚  โ””โ”€ 02_network
โ”‚  โ”œโ”€ cert
โ”‚  โ”œโ”€ config
โ”‚  โ”‚  โ”œโ”€ gmesh
โ”‚  โ”‚  โ”œโ”€ luci
โ”‚  โ”‚  โ””โ”€ system
โ”‚  โ”œโ”€ crontabs
โ”‚  โ”œโ”€ daemon
โ”‚  โ”œโ”€ device_info
โ”‚  โ”œโ”€ diag.sh
โ”‚  โ”œโ”€ dnsmasq.conf
โ”‚  โ”œโ”€ dropbear
โ”‚  โ”‚  โ””โ”€ dropbear_rsa_host_key
โ”‚  โ”œโ”€ ethers
โ”‚  โ”œโ”€ fstab
โ”‚  โ”œโ”€ gecoos
โ”‚  โ”œโ”€ group
โ”‚  โ”œโ”€ hosts
โ”‚  โ”œโ”€ hotplug-preinit.json
โ”‚  โ”œโ”€ hotplug.d
โ”‚  โ”‚  โ”œโ”€ block
โ”‚  โ”‚  โ”‚  โ”œโ”€ 00-media-change
โ”‚  โ”‚  โ”‚  โ””โ”€ 10-mount
โ”‚  โ”‚  โ”œโ”€ bridge
โ”‚  โ”‚  โ”‚  โ””โ”€ 00-dhcp.sh
โ”‚  โ”‚  โ”œโ”€ iface
โ”‚  โ”‚  โ”‚  โ””โ”€ 00-netstate
โ”‚  โ”‚  โ””โ”€ net
โ”‚  โ”‚     โ”œโ”€ 00-sysctl
โ”‚  โ”‚     โ”œโ”€ 01-addvlanPID
โ”‚  โ”‚     โ”œโ”€ 02-dhcpallow
โ”‚  โ”‚     โ””โ”€ 20-smp-packet-steering
โ”‚  โ”œโ”€ hotplug.json
โ”‚  โ”œโ”€ init.d
โ”‚  โ”‚  โ”œโ”€ apreport
โ”‚  โ”‚  โ”œโ”€ boot
โ”‚  โ”‚  โ”œโ”€ cron
โ”‚  โ”‚  โ”œโ”€ dnsmasq
โ”‚  โ”‚  โ”œโ”€ done
โ”‚  โ”‚  โ”œโ”€ fstab
โ”‚  โ”‚  โ”œโ”€ gpio_switch
โ”‚  โ”‚  โ”œโ”€ led
โ”‚  โ”‚  โ”œโ”€ log
โ”‚  โ”‚  โ”œโ”€ network
โ”‚  โ”‚  โ”œโ”€ nginx
โ”‚  โ”‚  โ”œโ”€ sfp
โ”‚  โ”‚  โ”œโ”€ sysctl
โ”‚  โ”‚  โ”œโ”€ sysfixtime
โ”‚  โ”‚  โ”œโ”€ system
โ”‚  โ”‚  โ””โ”€ umount
โ”‚  โ”œโ”€ inittab
โ”‚  โ”œโ”€ iproute2
โ”‚  โ”‚  โ”œโ”€ ematch_map
โ”‚  โ”‚  โ”œโ”€ rt_protos
โ”‚  โ”‚  โ””โ”€ rt_tables
โ”‚  โ”œโ”€ jikeap_release
โ”‚  โ”œโ”€ localtime โญข /tmp/localtime
โ”‚  โ”œโ”€ macfilter
โ”‚  โ”œโ”€ modules-boot.d
โ”‚  โ”‚  โ”œโ”€ 02-crypto-hash โญข ../modules.d/02-crypto-hash
โ”‚  โ”‚  โ”œโ”€ 09-crypto-aead โญข ../modules.d/09-crypto-aead
โ”‚  โ”‚  โ”œโ”€ 09-crypto-manager โญข ../modules.d/09-crypto-manager
โ”‚  โ”‚  โ”œโ”€ 10-conninfra โญข ../modules.d/10-conninfra
โ”‚  โ”‚  โ”œโ”€ 30-gpio-button-hotplug โญข ../modules.d/30-gpio-button-hotplug
โ”‚  โ”‚  โ””โ”€ 60-leds-gpio โญข ../modules.d/60-leds-gpio
โ”‚  โ”œโ”€ modules.d
โ”‚  โ”‚  โ”œโ”€ 02-crypto-hash
โ”‚  โ”‚  โ”œโ”€ 09-crypto-aead
โ”‚  โ”‚  โ”œโ”€ 09-crypto-arc4
โ”‚  โ”‚  โ”œโ”€ 09-crypto-ecb
โ”‚  โ”‚  โ”œโ”€ 09-crypto-manager
โ”‚  โ”‚  โ”œโ”€ 09-crypto-null
โ”‚  โ”‚  โ”œโ”€ 09-crypto-sha1
โ”‚  โ”‚  โ”œโ”€ 10-conninfra
โ”‚  โ”‚  โ”œโ”€ 30-gpio-button-hotplug
โ”‚  โ”‚  โ”œโ”€ 60-leds-gpio
โ”‚  โ”‚  โ”œโ”€ lib-crc-ccitt
โ”‚  โ”‚  โ””โ”€ mt7981e
โ”‚  โ”œโ”€ mtab โญข /proc/mounts
โ”‚  โ”œโ”€ nginx
โ”‚  โ”‚  โ”œโ”€ conf.d
โ”‚  โ”‚  โ”œโ”€ koi-utf
โ”‚  โ”‚  โ”œโ”€ koi-win
โ”‚  โ”‚  โ”œโ”€ mime.types
โ”‚  โ”‚  โ”œโ”€ nginx.conf
โ”‚  โ”‚  โ””โ”€ win-utf
โ”‚  โ”œโ”€ opkg
โ”‚  โ”‚  โ””โ”€ distfeeds.conf
โ”‚  โ”œโ”€ os-release โญข ../usr/lib/os-release
โ”‚  โ”œโ”€ passwd
โ”‚  โ”œโ”€ preinit
โ”‚  โ”œโ”€ profile
โ”‚  โ”œโ”€ protocols
โ”‚  โ”œโ”€ rc.button
โ”‚  โ”‚  โ”œโ”€ power
โ”‚  โ”‚  โ”œโ”€ reset
โ”‚  โ”‚  โ””โ”€ rfkill
โ”‚  โ”œโ”€ rc.common
โ”‚  โ”œโ”€ rc.d
โ”‚  โ”‚  โ”œโ”€ K10gpio_switch โญข ../init.d/gpio_switch
โ”‚  โ”‚  โ”œโ”€ K89log โญข ../init.d/log
โ”‚  โ”‚  โ”œโ”€ K90boot โญข ../init.d/boot
โ”‚  โ”‚  โ”œโ”€ K90network โญข ../init.d/network
โ”‚  โ”‚  โ”œโ”€ K90sysfixtime โญข ../init.d/sysfixtime
โ”‚  โ”‚  โ”œโ”€ K90umount โญข ../init.d/umount
โ”‚  โ”‚  โ”œโ”€ S00sysfixtime โญข ../init.d/sysfixtime
โ”‚  โ”‚  โ”œโ”€ S10boot โญข ../init.d/boot
โ”‚  โ”‚  โ”œโ”€ S10system โญข ../init.d/system
โ”‚  โ”‚  โ”œโ”€ S11sysctl โญข ../init.d/sysctl
โ”‚  โ”‚  โ”œโ”€ S12log โญข ../init.d/log
โ”‚  โ”‚  โ”œโ”€ S20network โญข ../init.d/network
โ”‚  โ”‚  โ”œโ”€ S40fstab โญข ../init.d/fstab
โ”‚  โ”‚  โ”œโ”€ S50cron โญข ../init.d/cron
โ”‚  โ”‚  โ”œโ”€ S83sfp โญข ../init.d/sfp
โ”‚  โ”‚  โ”œโ”€ S94gpio_switch โญข ../init.d/gpio_switch
โ”‚  โ”‚  โ”œโ”€ S95done โญข ../init.d/done
โ”‚  โ”‚  โ”œโ”€ S96led โญข ../init.d/led
โ”‚  โ”‚  โ”œโ”€ S98dnsmasq โญข ../init.d/dnsmasq
โ”‚  โ”‚  โ”œโ”€ S99apreport โญข ../init.d/apreport
โ”‚  โ”‚  โ””โ”€ S99nginx โญข ../init.d/nginx
โ”‚  โ”œโ”€ rc.local
โ”‚  โ”œโ”€ resolv.conf โญข /tmp/resolv.conf
โ”‚  โ”œโ”€ services
โ”‚  โ”œโ”€ shadow
โ”‚  โ”œโ”€ shells
โ”‚  โ”œโ”€ shinit
โ”‚  โ”œโ”€ ssl
โ”‚  โ”‚  โ”œโ”€ certs
โ”‚  โ”‚  โ”œโ”€ openssl.cnf
โ”‚  โ”‚  โ””โ”€ private
โ”‚  โ”œโ”€ sysctl.conf
โ”‚  โ”œโ”€ sysctl.d
โ”‚  โ”‚  โ”œโ”€ 10-default.conf
โ”‚  โ”‚  โ””โ”€ 99-min-free-kbytes.conf
โ”‚  โ”œโ”€ sysupgrade.conf
โ”‚  โ”œโ”€ uci-defaults
โ”‚  โ”‚  โ”œโ”€ 10-fstab
โ”‚  โ”‚  โ”œโ”€ 10_migrate-shadow
โ”‚  โ”‚  โ”œโ”€ 12_network-generate-ula
โ”‚  โ”‚  โ”œโ”€ 13_fix-group-user
โ”‚  โ”‚  โ””โ”€ 14_migrate-dhcp-release
โ”‚  โ”œโ”€ udhcpc.user
โ”‚  โ”œโ”€ udhcpc.user.d
โ”‚  โ””โ”€ wireless
โ”‚     โ””โ”€ mt7981e
โ”‚        โ”œโ”€ l1profile.dat
โ”‚        โ”œโ”€ l1profile.dat.dbdc
โ”‚        โ”œโ”€ l1profile.dat.single
โ”‚        โ”œโ”€ mt7981-sku-bf.dat
โ”‚        โ”œโ”€ mt7981-sku.dat
โ”‚        โ”œโ”€ mt7981.1.dat
โ”‚        โ”œโ”€ mt7981.2.dat
โ”‚        โ”œโ”€ mt7981.dbdc.b0.dat
โ”‚        โ”œโ”€ mt7981.dbdc.b1.dat
โ”‚        โ””โ”€ test-mode-switch.sh
โ”œโ”€ lib
โ”‚  โ”œโ”€ config
โ”‚  โ”‚  โ””โ”€ uci.sh
โ”‚  โ”œโ”€ firmware
โ”‚  โ”‚  โ”œโ”€ EthMD32.DSP.bin
โ”‚  โ”‚  โ”œโ”€ EthMD32.dm.bin
โ”‚  โ”‚  โ”œโ”€ MT7981_ePAeLNA_EEPROM.bin
โ”‚  โ”‚  โ”œโ”€ MT7981_iPAiLNA_EEPROM.bin
โ”‚  โ”‚  โ””โ”€ e2p โญข /tmp/e2p
โ”‚  โ”œโ”€ functions
โ”‚  โ”‚  โ”œโ”€ apspec.sh
โ”‚  โ”‚  โ”œโ”€ caldata.sh
โ”‚  โ”‚  โ”œโ”€ leds.sh
โ”‚  โ”‚  โ”œโ”€ migrations.sh
โ”‚  โ”‚  โ”œโ”€ network.sh
โ”‚  โ”‚  โ”œโ”€ preinit.sh
โ”‚  โ”‚  โ”œโ”€ procd.sh
โ”‚  โ”‚  โ”œโ”€ service.sh
โ”‚  โ”‚  โ”œโ”€ system.sh
โ”‚  โ”‚  โ””โ”€ uci-defaults.sh
โ”‚  โ”œโ”€ functions.sh
โ”‚  โ”œโ”€ ld-musl-aarch64.so.1 โญข libc.so
โ”‚  โ”œโ”€ libblkid-tiny.so
โ”‚  โ”œโ”€ libblobmsg_json.so.20210516
โ”‚  โ”œโ”€ libc.so
โ”‚  โ”œโ”€ libfstools-bootparam.so
โ”‚  โ”œโ”€ libfstools.so
โ”‚  โ”œโ”€ libgcc_s.so.1
โ”‚  โ”œโ”€ libjson_script.so.20210516
โ”‚  โ”œโ”€ libkvcutil.so โญข libkvcutil.so.1
โ”‚  โ”œโ”€ libkvcutil.so.1 โญข libkvcutil.so.1.0.0.0
โ”‚  โ”œโ”€ libkvcutil.so.1.0.0.0
โ”‚  โ”œโ”€ libsetlbf.so
โ”‚  โ”œโ”€ libubox.so.20210516
โ”‚  โ”œโ”€ libubus.so.20210630
โ”‚  โ”œโ”€ libuci.so
โ”‚  โ”œโ”€ libustream-ssl.so
โ”‚  โ”œโ”€ libvalidate.so
โ”‚  โ”œโ”€ modules
โ”‚  โ”‚  โ””โ”€ 5.4.246
โ”‚  โ”‚     โ”œโ”€ arc4.ko
โ”‚  โ”‚     โ”œโ”€ conninfra.ko
โ”‚  โ”‚     โ”œโ”€ crc-ccitt.ko
โ”‚  โ”‚     โ”œโ”€ gpio-button-hotplug.ko
โ”‚  โ”‚     โ”œโ”€ leds-gpio.ko
โ”‚  โ”‚     โ”œโ”€ mt7981e.ko
โ”‚  โ”‚     โ”œโ”€ mtd_nandecctest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_oobtest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_pagetest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_readtest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_speedtest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_stresstest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_subpagetest.ko
โ”‚  โ”‚     โ”œโ”€ mtd_torturetest.ko
โ”‚  โ”‚     โ””โ”€ sha1_generic.ko
โ”‚  โ”œโ”€ netifd
โ”‚  โ”‚  โ”œโ”€ default_script.lua
โ”‚  โ”‚  โ”œโ”€ dhcp.script
โ”‚  โ”‚  โ”œโ”€ dhcpv6.script
โ”‚  โ”‚  โ”œโ”€ netifd-proto.sh
โ”‚  โ”‚  โ”œโ”€ netifd-wireless.sh
โ”‚  โ”‚  โ”œโ”€ proto
โ”‚  โ”‚  โ”‚  โ”œโ”€ dhcp.sh
โ”‚  โ”‚  โ”‚  โ””โ”€ dhcpv6.sh
โ”‚  โ”‚  โ””โ”€ utils.sh
โ”‚  โ”œโ”€ network
โ”‚  โ”‚  โ”œโ”€ config.sh
โ”‚  โ”‚  โ””โ”€ switch.sh
โ”‚  โ”œโ”€ preinit
โ”‚  โ”‚  โ”œโ”€ 00_dhcpallow
โ”‚  โ”‚  โ”œโ”€ 00_preinit.conf
โ”‚  โ”‚  โ”œโ”€ 01_nic_reset
โ”‚  โ”‚  โ”œโ”€ 02_default_set_state
โ”‚  โ”‚  โ”œโ”€ 06_set_rps_sock_flow
โ”‚  โ”‚  โ”œโ”€ 50_indicate_regular_preinit
โ”‚  โ”‚  โ”œโ”€ 80_mount_root
โ”‚  โ”‚  โ””โ”€ 82_mtk-wifi-e2p
โ”‚  โ””โ”€ upgrade
โ”‚     โ”œโ”€ common.sh
โ”‚     โ”œโ”€ do_stage2
โ”‚     โ”œโ”€ fwtool.sh
โ”‚     โ”œโ”€ gkeep
โ”‚     โ”‚  โ””โ”€ nginx
โ”‚     โ”œโ”€ keep.d
โ”‚     โ”‚  โ”œโ”€ base-files-essential
โ”‚     โ”‚  โ”œโ”€ busybox
โ”‚     โ”‚  โ”œโ”€ dnsmasq
โ”‚     โ”‚  โ”œโ”€ dropbear
โ”‚     โ”‚  โ”œโ”€ libopenssl-conf
โ”‚     โ”‚  โ””โ”€ netifd
โ”‚     โ”œโ”€ mmc.sh
โ”‚     โ”œโ”€ nand.sh
โ”‚     โ”œโ”€ platform.sh
โ”‚     โ””โ”€ stage2
โ”œโ”€ lib64 โญข lib
โ”œโ”€ mnt
โ”œโ”€ overlay
โ”œโ”€ proc
โ”œโ”€ rom
โ”‚  โ””โ”€ note
โ”œโ”€ root
โ”œโ”€ sbin
โ”‚  โ”œโ”€ askfirst
โ”‚  โ”œโ”€ block
โ”‚  โ”œโ”€ devstatus
โ”‚  โ”œโ”€ firstboot
โ”‚  โ”œโ”€ halt โญข ../bin/BB
โ”‚  โ”œโ”€ hotplug-call
โ”‚  โ”œโ”€ hwclock โญข ../bin/BB
โ”‚  โ”œโ”€ ifconfig โญข ../bin/BB
โ”‚  โ”œโ”€ ifdown โญข ifup
โ”‚  โ”œโ”€ ifstatus
โ”‚  โ”œโ”€ ifup
โ”‚  โ”œโ”€ ifuponly โญข ifup
โ”‚  โ”œโ”€ init
โ”‚  โ”œโ”€ insmod โญข /sbin/kmodloader
โ”‚  โ”œโ”€ ip โญข ../bin/BB
โ”‚  โ”œโ”€ jffs2mark โญข jffs2reset
โ”‚  โ”œโ”€ jffs2reset
โ”‚  โ”œโ”€ kmodloader
โ”‚  โ”œโ”€ led.sh
โ”‚  โ”œโ”€ logd
โ”‚  โ”œโ”€ logread
โ”‚  โ”œโ”€ lsmod โญข /sbin/kmodloader
โ”‚  โ”œโ”€ mkswap โญข ../bin/BB
โ”‚  โ”œโ”€ modinfo โญข /sbin/kmodloader
โ”‚  โ”œโ”€ modprobe โญข /sbin/kmodloader
โ”‚  โ”œโ”€ mount_root
โ”‚  โ”œโ”€ mtd
โ”‚  โ”œโ”€ netifd
โ”‚  โ”œโ”€ pivot_root โญข ../bin/BB
โ”‚  โ”œโ”€ poweroff โญข ../bin/BB
โ”‚  โ”œโ”€ procd
โ”‚  โ”œโ”€ reboot โญข ../bin/BB
โ”‚  โ”œโ”€ reload_config
โ”‚  โ”œโ”€ rmmod โญข /sbin/kmodloader
โ”‚  โ”œโ”€ route โญข ../bin/BB
โ”‚  โ”œโ”€ scp โญข /tmp/scp
โ”‚  โ”œโ”€ setup_ax3000.sh
โ”‚  โ”œโ”€ setup_ax6000.sh
โ”‚  โ”œโ”€ setup_ax7800.sh
โ”‚  โ”œโ”€ setup_ax8400.sh
โ”‚  โ”œโ”€ setup_be19000.sh
โ”‚  โ”œโ”€ smp-mt76.sh
โ”‚  โ”œโ”€ smp.sh
โ”‚  โ”œโ”€ start-stop-daemon โญข ../bin/BB
โ”‚  โ”œโ”€ swapoff โญข ../bin/BB
โ”‚  โ”œโ”€ swapon โญข ../bin/BB
โ”‚  โ”œโ”€ swconfig
โ”‚  โ”œโ”€ switch_root โญข ../bin/BB
โ”‚  โ”œโ”€ sysctl โญข ../bin/BB
โ”‚  โ”œโ”€ sysupgrade
โ”‚  โ”œโ”€ ubusd
โ”‚  โ”œโ”€ uci
โ”‚  โ”œโ”€ udevtrigger
โ”‚  โ”œโ”€ udhcpc โญข ../bin/BB
โ”‚  โ”œโ”€ upgraded
โ”‚  โ”œโ”€ validate_data
โ”‚  โ”œโ”€ vconfig โญข ../bin/BB
โ”‚  โ””โ”€ wifi
โ”œโ”€ sys
โ”œโ”€ tmp
โ”œโ”€ usr
โ”‚  โ”œโ”€ bin
โ”‚  โ”‚  โ”œโ”€ [ โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ [[ โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ awk โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ basename โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ bunzip2 โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ bzcat โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ ccat โญข ccrypt
โ”‚  โ”‚  โ”œโ”€ ccdecrypt โญข ccrypt
โ”‚  โ”‚  โ”œโ”€ ccencrypt โญข ccrypt
โ”‚  โ”‚  โ”œโ”€ ccrypt
โ”‚  โ”‚  โ”œโ”€ clear โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ cmp โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ crontab โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ cut โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ datconf
โ”‚  โ”‚  โ”œโ”€ dhcp_renew.lua
โ”‚  โ”‚  โ”œโ”€ dirname โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ du โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ env โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ expr โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ find โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ flock โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ free โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ fwtool
โ”‚  โ”‚  โ”œโ”€ getrandom
โ”‚  โ”‚  โ”œโ”€ gsplit
โ”‚  โ”‚  โ”œโ”€ head โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ hello.lua
โ”‚  โ”‚  โ”œโ”€ hexdump โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ id โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ jike_encrypt
โ”‚  โ”‚  โ”œโ”€ jshn
โ”‚  โ”‚  โ”œโ”€ jsonfilter
โ”‚  โ”‚  โ”œโ”€ killall โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ kvcedit
โ”‚  โ”‚  โ”œโ”€ ldd โญข ../../lib/libc.so
โ”‚  โ”‚  โ”œโ”€ less โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ logger โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ lspci โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ lsusb โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ lua
โ”‚  โ”‚  โ”œโ”€ luax
โ”‚  โ”‚  โ”œโ”€ luci-bwc
โ”‚  โ”‚  โ”œโ”€ md5sum โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ mkfifo โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ nc โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ nslookup โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ nvram_get
โ”‚  โ”‚  โ”œโ”€ nvram_set โญข /usr/bin/nvram_get
โ”‚  โ”‚  โ”œโ”€ openssl
โ”‚  โ”‚  โ”œโ”€ pgrep โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ printf โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ readlink โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ regcheck.lua
โ”‚  โ”‚  โ”œโ”€ regs
โ”‚  โ”‚  โ”œโ”€ reset โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ scp โญข /usr/sbin/dropbear
โ”‚  โ”‚  โ”œโ”€ seq โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ sha256sum โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ sort โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ ssh โญข /usr/sbin/dropbear
โ”‚  โ”‚  โ”œโ”€ strings โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ syncwebtime.lua
โ”‚  โ”‚  โ”œโ”€ tail โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ tee โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ telnet โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ test โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ time โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ timeout โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ top โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ tr โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ tty โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ uniq โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ uptime โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ wc โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ wget โญข /bin/uclient-fetch
โ”‚  โ”‚  โ”œโ”€ which โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ wificonf
โ”‚  โ”‚  โ”œโ”€ xargs โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ xfrpc
โ”‚  โ”‚  โ””โ”€ yes โญข ../../bin/BB
โ”‚  โ”œโ”€ jike
โ”‚  โ”‚  โ”œโ”€ dhcp.test
โ”‚  โ”‚  โ”œโ”€ favicon.ico
โ”‚  โ”‚  โ”œโ”€ favicon.ico.jike
โ”‚  โ”‚  โ”œโ”€ flash.sh
โ”‚  โ”‚  โ”œโ”€ login_logo.b64
โ”‚  โ”‚  โ”œโ”€ logo.b64
โ”‚  โ”‚  โ””โ”€ menu.lua
โ”‚  โ”œโ”€ lib
โ”‚  โ”‚  โ”œโ”€ engines-1.1
โ”‚  โ”‚  โ”œโ”€ libcrypto.so.1.1
โ”‚  โ”‚  โ”œโ”€ libevent-2.1.so.7 โญข libevent-2.1.so.7.0.1
โ”‚  โ”‚  โ”œโ”€ libevent-2.1.so.7.0.1
โ”‚  โ”‚  โ”œโ”€ libiwinfo.so
โ”‚  โ”‚  โ”œโ”€ libjson-c.so.5 โญข libjson-c.so.5.1.0
โ”‚  โ”‚  โ”œโ”€ libjson-c.so.5.1.0
โ”‚  โ”‚  โ”œโ”€ liblua.so.5.1.5
โ”‚  โ”‚  โ”œโ”€ libluajit-5.1.so โญข libluajit-5.1.so.2.1.0
โ”‚  โ”‚  โ”œโ”€ libluajit-5.1.so.2 โญข libluajit-5.1.so.2.1.0
โ”‚  โ”‚  โ”œโ”€ libluajit-5.1.so.2.1.0
โ”‚  โ”‚  โ”œโ”€ libnl-tiny.so
โ”‚  โ”‚  โ”œโ”€ libssl.so.1.1
โ”‚  โ”‚  โ”œโ”€ libuclient.so
โ”‚  โ”‚  โ”œโ”€ libz.so โญข libz.so.1
โ”‚  โ”‚  โ”œโ”€ libz.so.1 โญข libz.so.1.2.11
โ”‚  โ”‚  โ”œโ”€ libz.so.1.2.11
โ”‚  โ”‚  โ”œโ”€ lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ api โญข /tmp/lua_api
โ”‚  โ”‚  โ”‚  โ”œโ”€ apspec.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ bit.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ bit32.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ cjson
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ util.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ cjson.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ gb.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ gzip.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ i2c
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ eeprom.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ i2c.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ iwinfo.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ ltn12.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-greadio.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-gsplit.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ md5
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ core.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ md5.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ mime
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ core.so โญข ../mime-1.0.3.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ mime-1.0.3.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ mime.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ nixio
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fs.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ util.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ nixio.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ posix
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ _base.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ _bitwise.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ _strict.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ctype.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dirent.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ errno.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fcntl.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fnmatch.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ glob.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ grp.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ init.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libgen.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ poll.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ pwd.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ sched.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ signal.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ stdio.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ stdlib.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ sys
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ msg.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ resource.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ socket.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ stat.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ statvfs.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ time.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ times.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ utsname.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ wait.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ sys.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ syslog.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ termio.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ time.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ unistd.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ util.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ utime.so
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ version.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ socket
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ core.so โญข ../socket-3.1.0.so
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ftp.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ headers.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ http.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ smtp.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ tp.lua
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ unix.so
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ url.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ socket-3.1.0.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ socket.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ ssl
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ https.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ ssl.lua
โ”‚  โ”‚  โ”‚  โ”œโ”€ ssl.so
โ”‚  โ”‚  โ”‚  โ”œโ”€ uci.so
โ”‚  โ”‚  โ”‚  โ””โ”€ zlib.so
โ”‚  โ”‚  โ”œโ”€ opkg
โ”‚  โ”‚  โ”‚  โ”œโ”€ info
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ base-files.conffiles
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ base-files.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ base-files.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ base-files.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ block-mount.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ block-mount.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ block-mount.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ busybox.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ busybox.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ busybox.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ccrypt.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ccrypt.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ccrypt.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf-lua.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf-lua.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf-lua.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ datconf.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dnsmasq.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dnsmasq.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dnsmasq.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dropbear.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dropbear.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ dropbear.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ethtool.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ethtool.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ethtool.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fstools.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fstools.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fstools.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fwtool.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fwtool.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ fwtool.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ getrandom.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ getrandom.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ getrandom.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ gsplit.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ gsplit.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ gsplit.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ip-bridge.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ip-bridge.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ip-bridge.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jike_encrypt.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jike_encrypt.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jike_encrypt.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jshn.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jshn.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jshn.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jsonfilter.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jsonfilter.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ jsonfilter.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kernel.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kernel.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kernel.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-conninfra.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-conninfra.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-conninfra.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-aead.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-aead.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-aead.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-arc4.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-arc4.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-arc4.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-ecb.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-ecb.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-ecb.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-hash.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-hash.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-hash.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-manager.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-manager.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-manager.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-null.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-null.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-null.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-pcompress.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-pcompress.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-pcompress.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-sha1.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-sha1.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-crypto-sha1.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-gpio-button-hotplug.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-gpio-button-hotplug.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-gpio-button-hotplug.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-leds-gpio.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-leds-gpio.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-leds-gpio.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-lib-crc-ccitt.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-lib-crc-ccitt.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-lib-crc-ccitt.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mt7981e.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mt7981e.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mt7981e.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mtdtests.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mtdtests.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kmod-mtdtests.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kvcedit.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kvcedit.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ kvcedit.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libblobmsg-json20210516.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libblobmsg-json20210516.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libblobmsg-json20210516.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libc.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libc.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libc.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libevent2-7.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libevent2-7.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libevent2-7.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libfstools-bootparam.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libfstools-bootparam.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libfstools-bootparam.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libgcc1.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libgcc1.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libgcc1.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo-lua.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo-lua.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo-lua.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo1.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo1.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libiwinfo1.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-c5.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-c5.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-c5.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-script20210516.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-script20210516.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libjson-script20210516.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libkvcutil.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libkvcutil.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libkvcutil.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ liblua5.1.5.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ liblua5.1.5.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ liblua5.1.5.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libnl-tiny1.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libnl-tiny1.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libnl-tiny1.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl-conf.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl-conf.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl-conf.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl1.1.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl1.1.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libopenssl1.1.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubox20210516.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubox20210516.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubox20210516.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubus20210630.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubus20210630.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libubus20210630.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci-lua.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci-lua.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci-lua.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci20130104.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci20130104.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuci20130104.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuclient20201210.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuclient20201210.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libuclient20201210.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libustream-openssl20201210.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libustream-openssl20201210.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ libustream-openssl20201210.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ logd.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ logd.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ logd.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-bit32.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-bit32.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-bit32.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-cjson.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-cjson.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-cjson.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-greadio.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-greadio.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-greadio.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-gsplit.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-gsplit.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-gsplit.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-lzlib.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-lzlib.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-lzlib.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-md5.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-md5.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua-md5.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ lua.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luabitop.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luabitop.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luabitop.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luai2c.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luai2c.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luai2c.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luajit.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luajit.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luajit.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luaposix.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luaposix.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luaposix.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasec.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasec.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasec.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasocket.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasocket.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luasocket.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-bwc.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-bwc.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-bwc.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-lib-nixio.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-lib-nixio.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ luci-lib-nixio.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mii_mgr.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mii_mgr.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mii_mgr.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mtd.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mtd.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ mtd.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ netifd.conffiles
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ netifd.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ netifd.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ netifd.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ nginx-ssl.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ nginx-ssl.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ nginx-ssl.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ nginx-ssl.prerm-pkg
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ odhcp6c.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ odhcp6c.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ odhcp6c.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ openssl-util.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ openssl-util.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ openssl-util.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ procd.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ procd.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ procd.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ regs.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ regs.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ regs.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ swconfig.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ swconfig.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ swconfig.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ switch.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ switch.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ switch.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubi-utils.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubi-utils.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubi-utils.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubox.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubox.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubox.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubus.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubus.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubus.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubusd.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubusd.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ ubusd.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uci.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uci.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uci.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uclient-fetch.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uclient-fetch.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ uclient-fetch.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wificonf.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wificonf.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wificonf.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wireless-tools.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wireless-tools.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ wireless-tools.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ xfrpc.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ xfrpc.list
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ xfrpc.prerm
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ zlib.control
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ zlib.list
โ”‚  โ”‚  โ”‚  โ”‚  โ””โ”€ zlib.prerm
โ”‚  โ”‚  โ”‚  โ”œโ”€ lists
โ”‚  โ”‚  โ”‚  โ””โ”€ status
โ”‚  โ”‚  โ””โ”€ os-release
โ”‚  โ”œโ”€ lib64 โญข lib
โ”‚  โ”œโ”€ libexec
โ”‚  โ”‚  โ”œโ”€ login.sh
โ”‚  โ”‚  โ””โ”€ validate_firmware_image
โ”‚  โ”œโ”€ sbin
โ”‚  โ”‚  โ”œโ”€ arping โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ brctl โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ bridge
โ”‚  โ”‚  โ”œโ”€ chroot โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ crond โญข ../../bin/BB
โ”‚  โ”‚  โ”œโ”€ dnsmasq
โ”‚  โ”‚  โ”œโ”€ ethtool
โ”‚  โ”‚  โ”œโ”€ iwconfig
โ”‚  โ”‚  โ”œโ”€ iwlist โญข iwconfig
โ”‚  โ”‚  โ”œโ”€ iwpriv โญข iwconfig
โ”‚  โ”‚  โ”œโ”€ mii_mgr
โ”‚  โ”‚  โ”œโ”€ mii_mgr_cl45
โ”‚  โ”‚  โ”œโ”€ nginx
โ”‚  โ”‚  โ”œโ”€ odhcp6c
โ”‚  โ”‚  โ”œโ”€ swapoff โญข ../../sbin/block
โ”‚  โ”‚  โ”œโ”€ swapon โญข ../../sbin/block
โ”‚  โ”‚  โ”œโ”€ switch
โ”‚  โ”‚  โ”œโ”€ ubiattach
โ”‚  โ”‚  โ”œโ”€ ubiblock
โ”‚  โ”‚  โ”œโ”€ ubicrc32
โ”‚  โ”‚  โ”œโ”€ ubidetach
โ”‚  โ”‚  โ”œโ”€ ubiformat
โ”‚  โ”‚  โ”œโ”€ ubimkvol
โ”‚  โ”‚  โ”œโ”€ ubinfo
โ”‚  โ”‚  โ”œโ”€ ubinize
โ”‚  โ”‚  โ”œโ”€ ubirename
โ”‚  โ”‚  โ”œโ”€ ubirmvol
โ”‚  โ”‚  โ”œโ”€ ubirsvol
โ”‚  โ”‚  โ””โ”€ ubiupdatevol
โ”‚  โ””โ”€ share
โ”‚     โ”œโ”€ fm.cpt
โ”‚     โ”œโ”€ libiwinfo
โ”‚     โ”‚  โ””โ”€ hardware.txt
โ”‚     โ”œโ”€ libubox
โ”‚     โ”‚  โ””โ”€ jshn.sh
โ”‚     โ”œโ”€ lua โญข ../lib/lua
โ”‚     โ”œโ”€ luajit-2.1.0-beta3
โ”‚     โ”‚  โ””โ”€ jit
โ”‚     โ”‚     โ”œโ”€ bc.lua
โ”‚     โ”‚     โ”œโ”€ bcsave.lua
โ”‚     โ”‚     โ”œโ”€ dis_arm.lua
โ”‚     โ”‚     โ”œโ”€ dis_arm64.lua
โ”‚     โ”‚     โ”œโ”€ dis_arm64be.lua
โ”‚     โ”‚     โ”œโ”€ dis_mips.lua
โ”‚     โ”‚     โ”œโ”€ dis_mips64.lua
โ”‚     โ”‚     โ”œโ”€ dis_mips64el.lua
โ”‚     โ”‚     โ”œโ”€ dis_mipsel.lua
โ”‚     โ”‚     โ”œโ”€ dis_ppc.lua
โ”‚     โ”‚     โ”œโ”€ dis_x64.lua
โ”‚     โ”‚     โ”œโ”€ dis_x86.lua
โ”‚     โ”‚     โ”œโ”€ dump.lua
โ”‚     โ”‚     โ”œโ”€ p.lua
โ”‚     โ”‚     โ”œโ”€ v.lua
โ”‚     โ”‚     โ”œโ”€ vmdef.lua
โ”‚     โ”‚     โ””โ”€ zone.lua
โ”‚     โ””โ”€ udhcpc
โ”‚        โ””โ”€ default.script
โ”œโ”€ var โญข tmp
โ””โ”€ www

(s/BB/busybox/)

Currently there's a 448 KiB gap between the end of the firmware MTD partition and the next partition (opt).
Between kernel 6.12 and mt7981 firmware, there's not a lot remaining in rootfs_data, so I'm wondering whether it's OK to increase the firmware MTD partition size from 0xe00000 to 0xe70000.