I've fine tuned EAP115v4 definitions in tplink-safeloader.c
and final was able to generate factory
image (build4) flashable via TP-Link's web interface. Unfortunately this image has problem to mount rootfs. So need to investigate more how to overcome this issue.
OpenWRT start log (build4 factory image flashed in ROM) - fail with VFS mount
U-Boot 1.1.4--LSDK-10.2-00082-4 (Nov 7 2016 - 15:13:37)
board953x - Honey Bee 2.0DRAM:
sri
Honey Bee 2.0
ath_ddr_initial_config(195): (16bit) ddr2 init
tap = 0x00000003
Tap (low, high) = (0x5, 0x3b)
Tap values = (0x20, 0x20, 0x20, 0x20)
64 MB
Flash Manuf Id 0xc8, DeviceId0 0x40, DeviceId1 0x17
flash size 8MB, sector count = 128
Flash: 8 MB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Setting 0x181162c0 to 0x4081a100
Hit Ctrl+B to stop autoboot: 0
Loading .text @ 0x80060000 (2239584 bytes)
## Starting application at 0x80060000 ...
OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80060000...
[ 0.000000] Linux version 5.10.146 (user@2f4e8d5980b0) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r19803-9a599fee93) 11.2.0, GN
U ld (GNU Binutils) 2.37) #0 Fri Oct 14 22:44:41 2022
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is TP-Link EAP115 v4
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16240
[ 0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 56188K/65536K available (5462K kernel code, 602K rwdata, 1196K rodata, 1180K init, 200K bss, 9348K reserved, 0K c
ma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] CPU clock: 650.000 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[ 0.000010] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[ 0.008342] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[ 0.074945] pid_max: default: 32768 minimum: 301
[ 0.080014] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.087726] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.098811] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[ 0.110084] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.120532] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.127872] pinctrl core: initialized pinctrl subsystem
[ 0.135322] NET: Registered protocol family 16
[ 0.220259] clocksource: Switched to clocksource MIPS
[ 0.227174] NET: Registered protocol family 2
[ 0.232169] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.240677] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.249594] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.257761] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.265217] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.272134] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.279059] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.286921] NET: Registered protocol family 1
[ 0.291633] PCI: CLS 0 bytes, default 32
[ 0.304905] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[ 0.316721] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.322945] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.338570] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[ 0.345928] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.353641] printk: console [ttyS0] disabled
[ 0.358248] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[ 0.367446] printk: console [ttyS0] enabled
[ 0.367446] printk: console [ttyS0] enabled
[ 0.376522] printk: bootconsole [early0] disabled
[ 0.376522] printk: bootconsole [early0] disabled
[ 0.404759] spi-nor spi0.0: gd25q64 (8192 Kbytes)
[ 0.409722] 6 fixed-partitions partitions found on MTD device spi0.0
[ 0.417500] Creating 6 MTD partitions on "spi0.0":
[ 0.422550] 0x000000000000-0x000000020000 : "u-boot"
[ 0.432705] 0x000000020000-0x000000030000 : "partition-table"
[ 0.440078] 0x000000030000-0x000000040000 : "info"
[ 0.448906] 0x000000040000-0x0000007c0000 : "firmware"
[ 0.456077] 0x0000007c0000-0x0000007f0000 : "config"
[ 0.464993] 0x0000007f0000-0x000000800000 : "art"
[ 1.161363] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[ 1.169490] i2c /dev entries driver
[ 1.175379] NET: Registered protocol family 10
[ 1.187195] Segment Routing with IPv6
[ 1.191224] NET: Registered protocol family 17
[ 1.195945] 8021q: 802.1Q VLAN Support v1.8
[ 1.541343] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[ 1.881337] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[ 1.891060] /dev/root: Can't open blockdev
[ 1.895325] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 1.903117] Please append a correct "root=" boot option; here are the available partitions:
[ 1.911785] 1f00 128 mtdblock0
[ 1.911789] (driver?)
[ 1.918544] 1f01 64 mtdblock1
[ 1.918547] (driver?)
[ 1.925319] 1f02 64 mtdblock2
[ 1.925322] (driver?)
[ 1.932084] 1f03 7680 mtdblock3
[ 1.932087] (driver?)
[ 1.938838] 1f04 192 mtdblock4
[ 1.938841] (driver?)
[ 1.945604] 1f05 64 mtdblock5
[ 1.945607] (driver?)
[ 1.952370] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.960909] Rebooting in 1 seconds..
Initramfs image boot (build4)
OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80060000...
[ 0.000000] Linux version 5.10.146 (user@2f4e8d5980b0) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r19803-9a599fee93) 11.2.0, GN
U ld (GNU Binutils) 2.37) #0 Fri Oct 14 22:44:41 2022
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is TP-Link EAP115 v4
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16240
[ 0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 47164K/65536K available (5462K kernel code, 602K rwdata, 1196K rodata, 10204K init, 200K bss, 18372K reserved, 0K
cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] CPU clock: 650.000 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[ 0.000010] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[ 0.008341] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[ 0.074945] pid_max: default: 32768 minimum: 301
[ 0.080012] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.087717] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.098804] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[ 0.110079] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.120524] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.127862] pinctrl core: initialized pinctrl subsystem
[ 0.135315] NET: Registered protocol family 16
[ 0.220039] clocksource: Switched to clocksource MIPS
[ 0.226966] NET: Registered protocol family 2
[ 0.231963] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.240471] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.249386] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.257550] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.265009] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.271928] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.278851] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.286706] NET: Registered protocol family 1
[ 0.291427] PCI: CLS 0 bytes, default 32
[ 0.520662] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[ 0.532435] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.538588] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.554365] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[ 0.561792] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.569360] printk: console [ttyS0] disabled
[ 0.574070] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[ 0.583211] printk: console [ttyS0] enabled
[ 0.583211] printk: console [ttyS0] enabled
[ 0.592285] printk: bootconsole [early0] disabled
[ 0.592285] printk: bootconsole [early0] disabled
[ 0.618046] spi-nor spi0.0: gd25q64 (8192 Kbytes)
[ 0.623110] 6 fixed-partitions partitions found on MTD device spi0.0
[ 0.630898] Creating 6 MTD partitions on "spi0.0":
[ 0.635882] 0x000000000000-0x000000020000 : "u-boot"
[ 0.648318] 0x000000020000-0x000000030000 : "partition-table"
[ 0.655786] 0x000000030000-0x000000040000 : "info"
[ 0.664620] 0x000000040000-0x0000007c0000 : "firmware"
[ 0.671802] 0x0000007c0000-0x0000007f0000 : "config"
[ 0.680785] 0x0000007f0000-0x000000800000 : "art"
[ 1.104642] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[ 1.502220] ag71xx 19000000.eth: connected to PHY at mdio.0:1f:04 [uid=004dd042, driver=Generic PHY]
[ 1.512492] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[ 1.519140] i2c /dev entries driver
[ 1.525054] NET: Registered protocol family 10
[ 1.539830] Segment Routing with IPv6
[ 1.543869] NET: Registered protocol family 17
[ 1.548585] 8021q: 802.1Q VLAN Support v1.8
[ 1.638479] Freeing unused kernel memory: 10204K
[ 1.643304] This architecture does not have kernel memory protection.
[ 1.649968] Run /init as init process
[ 2.284355] init: Console is alive
[ 2.288589] init: - watchdog -
[ 2.324586] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 2.340808] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 2.359056] init: - preinit -
[ 2.736315] random: jshn: uninitialized urandom read (4 bytes read)
[ 2.912844] random: jshn: uninitialized urandom read (4 bytes read)
[ 2.957552] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 7.445386] procd: - early -
[ 7.448927] procd: - watchdog -
[ 8.066633] procd: - watchdog -
[ 8.072364] procd: - ubus -
[ 8.088513] random: ubusd: uninitialized urandom read (4 bytes read)
[ 8.126679] random: ubusd: uninitialized urandom read (4 bytes read)
[ 8.134133] random: ubusd: uninitialized urandom read (4 bytes read)
[ 8.145732] procd: - init -
Please press Enter to activate this console.
[ 9.028750] kmodloader: loading kernel modules from /etc/modules.d/*
[ 9.621831] Loading modules backported from Linux version v5.15.58-0-g7d8048d4e064
[ 9.629674] Backport generated by backports.git v5.15.58-1-0-g42a95ce7
[ 9.639259] urngd: v1.0.2 started.
[ 9.976912] PPP generic driver version 2.4.2
[ 10.001460] NET: Registered protocol family 24
[ 10.153950] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=12
[ 10.224740] random: crng init done
[ 10.228284] random: 28 urandom warning(s) missed due to ratelimiting
[ 10.240771] kmodloader: done loading kernel modules from /etc/modules.d/*
BusyBox v1.35.0 (2022-10-14 22:44:41 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 22.03.2, r19803-9a599fee93
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#