WR940N V4 not supported by 19.07.4 yet

Hi, the 19.07.4 service release states that this router is compatible with ath79-tiny target and because of that also a new device compatible with 19.07, however it doesn't appear to be available in the target profile section of the menuconfig compiler yet. I already updated and installed the most recent feeds.

Device support
New devices
Backported support for several 4/32 devices in ath79: TP-Link TL-WR802N v1/v2, TL-WR940N v3/v4/v6, TL-WR941ND v6, TL-MR3420 v2, TL-WA701ND v1, TL-WA730RE v1, TL-WA830RE v1, TL-WA801ND v1/v3/v4, TL-WA901ND v1/v4/v5
Add new device in ath79: TP-Link TL-WR710N v2.1

However, the WR940N V4 image for the moment can only be compiled with the ar71xx target system (tiny subtarget) which still corresponds to the old 18.08.

Added device support does not imply that the default package set (including the webinterface, opkg and more) would magically fit into a 4/32 device. It merely provides the means to use imagebuilder to assemble a cut down image for installing.

1 Like

the ath79 kernel is quite a bit larger than ar71xx, the resulting image is too large so the build fails due to the check-size part of the image recipes

That isn't really true.

$ LANG= ls -gG
total 8072
-rw-r--r-- 1 4128772 Sep  8 00:35 openwrt-19.07.4-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
-rw-r--r-- 1 4129069 Sep  8 20:40 openwrt-19.07.4-ath79-generic-tplink_tl-wdr4300-v1-squashfs-sysupgrade.bin

so, in total, the ath79 image is 297 byte larger than the ar71xx one.

Looking at the kernel itself:

$ LANG= binwalk openwrt-19.07.4-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
512           0x200           LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5059140 bytes
1588012       0x183B2C        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2526322 bytes, 1156 inodes, blocksize: 262144 bytes, created: 2020-09-06 16:19:39

vs.

$ LANG= binwalk openwrt-19.07.4-ath79-generic-tplink_tl-wdr4300-v1-squashfs-sysupgrade.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
512           0x200           LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 5019885 bytes
1597836       0x18618C        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2504270 bytes, 1149 inodes, blocksize: 262144 bytes, created: 2020-09-06 16:19:39

ergo, we have 1'587'500 bytes (ar71xx) vs. 1'597'324 bytes (ath79), which results in the ath79 kernel being 9'824 bytes larger than the ar71xx one, or in other words a delta of about 9 KB. While, obviously, every byte counts on a 4/32 device, I wouldn't call a delta of 9 KB (kernel) or 297 bytes (total firmware size for 19.07.4) "quite a bit larger".

--
Disclaimer: the figures above include tiny variances due to different padding, relevant but not really considerable; the problem is 4/32, not ar71xx vs ath79.

1 Like

Thanks, I thought it was a problem of my compiler, usually I create my images without PPP, Luci, IPv6 and opkg, the router works great that way even compiling with mwan3, travelmate and watchcat together, I'll be happy to help if the developers need to test anything :slight_smile: I'm too newbie to develop anything myself tho.

I'll be one of the first to compile the ath79 image for this router when it became available.