Ath79: No public image for WDR3500?

Hi all,

Unfortunately I didn't notice this during the Release Candidate period of the 19.07 branch. It seems like the public image, DTS, and all other related edits for the WDR3500 is simply missing from the release, despite the commit for porting it to ath79 target being made into the master branch many months ago...

For quick reference, the WDR3600 is already in the branch for ath79, and they have exactly the same hardware and board design with the exception of Gigabit ethernet.

Also, I have tried applying the changes in the commit myself in a local git clone, but I'm having significant issues getting it to appear in make menuconfig. I have tried using git to commit my changes, and I have tried touching every file in the source directory. It just won't show up and I have no idea how to get verbose output or what to check for in this situation.

One thing I did notice, is there is more entries for the WDR3600 than there are changes in this commit...

$ grep -rnw . -e 'wdr3600'
./dts/ar9344_tplink_tl-wdr3600-v1.dts:8:	compatible = "tplink,tl-wdr3600-v1", "qca,ar9344";
./image/generic-tp-link.mk:228:define Device/tplink_tl-wdr3600-v1
./image/generic-tp-link.mk:236:TARGET_DEVICES += tplink_tl-wdr3600-v1
./base-files/etc/hotplug.d/firmware/10-ath9k-eeprom:156:	tplink,tl-wdr3600-v1|\
./base-files/etc/uci-defaults/04_led_migration:22:tplink,tl-wdr3600-v1|\
./base-files/etc/board.d/02_network:198:	tplink,tl-wdr3600-v1|\
./base-files/etc/board.d/02_network:354:	tplink,tl-wdr3600-v1|\

I have tried to mirror the changes in these files for the WDR3500 but it still doesnt show in menu...

Thanks in advance

EDIT: how to make an ath79 image for WDR3500

For anyone who wants to make their own ath79 image on stable branch, starting from fresh clone...

git clone https://github.com/openwrt/openwrt.git
cd openwrt
git checkout v19.07.2
git cherry-pick fbbb4eb8b41d59b38f41fe382c6e4108a36aa909
cd target/linux/ath79/dts
wget https://raw.githubusercontent.com/openwrt/openwrt/master/target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi
cd ../../../..
git add target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi
git cherry-pick --continue

#make sure build tree is clean, also can be done at any time
git status

#continue normal build process, update and install feeds, etc.
scripts/feeds update -a
scripts/feeds install -a

make clean
make menuconfig
make

EDIT 2:

forgot to mention...
WDR3500 will still not show up in make menuconfig
select WDR3600 instead and then...

nano .config

replace all instances of "wdr3600" with "wdr3500"

then you can build

1 Like

You will have to wait for the next release (20.x.0, not 19.07.1), new device support i generally not backported to existing releases.

I agree with you in general. However, this does not meet the definition of "new device" in any sense. Did you take a look at the commit I linked? There just seems to be no explanation at all as to why it wasn't included in the release, since like I said, the WDR3600 is included and its the same hardware except for having built-in ethernet, it has already been ported from ar71xx to master branch, and it seems like there should be no problem.

At this point I just want to accomplish a simple thing, build a ath79 image for this target, but I can't get it to appear in the make menu. What is the exact process for adding targets to the menu?

Tried to compile ath79 image for WDR3500 from master branch on a fresh git clone (it is already in the menu). Got errors:

time: package/system/usign/compile#3.86#1.70#5.24
make[3]: Entering directory '/media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/package/base-files'
touch /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/base-files/.prepared_e70e8a749a701c8ad6091f38bd720b72_6664517399ebbbc92a37c5bb081b5c53_check
mkdir -p /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/base-files
touch /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/base-files/.prepared_e70e8a749a701c8ad6091f38bd720b72_6664517399ebbbc92a37c5bb081b5c53
rm -f /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/base-files/.configured_*
rm -f /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/staging_dir/target-mips_24kc_musl/stamp/.base-files_installed
[ -s /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build -a -s /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build.pub ] || /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/staging_dir/host/bin/usign -G -s /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build -p /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build.pub -c "Local build key"
[ -s /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build.ucert ] || /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/staging_dir/host/bin/ucert -I -c /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build.ucert -p /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build.pub -s /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/key-build
make[3]: *** [Makefile:221: /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/base-files/.configured_e578dc96b3603e9c5bb9fa14332089c0_8e081b74cf069e1e6800a5bbcbb282f0] Error 255
make[3]: Leaving directory '/media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/package/base-files'
time: package/base-files/compile#0.49#0.34#1.39
make[2]: *** [package/Makefile:113: package/base-files/compile] Error 2
make[2]: Leaving directory '/media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt'
make[1]: *** [package/Makefile:107: /media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/staging_dir/target-mips_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt'
make: *** [/media/SDStorage/builds/Openwrt-ath79-WDR3500/openwrt/include/toplevel.mk:227: world] Error 2

real	19m43.559s
user	15m21.888s
sys	3m47.660s

While you might not agree, it still is a new device as far as the ath79 target is concerned. It doesn't matter the slightest that the hardware itself is >5 years old, nor that it had support in the mach file based ar71xx - use snapshots or wait for 20.x.0, it will be in there.

Again, I agree with you, but my point is that is has support in ath79 already in master branch...at least it appears that way in every sense from the perspective of the average user...

The port to ath79 has been there for months, just like every other target in that series WDRxxxx, which like I said, has the exact same core hardware and board design. The only difference is WDR3600 adds gigabit ethernet. One would expect that if any of the two target systems had difficulties getting supported in the new branch, it would be the larger boards in the series, not the base model. It's simply confusing, that's just my take though.

There may actually be a problem, but its not specified anywhere. On the ath79 wiki page it is listed like all other supported boards without any comment about it. As you can see from my errors, I can't compile it myself from master, but I don't know if the reason is related to the profile/DTS (yet).

Regardless of the perspective, I'm just trying to figure out the real reason, and to be able to build my own image using the stable release branch as a base, and for my own understanding and education if nothing else, but if my testing and feedback can be useful that would be great.

Thanks for your response though. I don't want to waste your time with this one, who should I talk to about it otherwise?

One more difference: ath79 support for WDR3600 has been added on 22. May 2018, well before 19.07 has been branched.

ath79 support for WDR3500 however has only been added on 03. September 2019, which is after 19.07 has been branched.

That's the reason why you don't find WDR3500 in ath79 in 19.07.0.
The reason why you won't find it in 19.07 has been given above already by slh: Backports seldom happen.

If your initial question (why there is no stable image for WDR3500) has been answered, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.


That question would be worth a separate new topic.

1 Like

Thanks for being so specific, I understand why its considered a backport now, and how critical that distinction is. Sorry if I wasted time.

I have a couple things to try before I make a new post, no problem closing this one

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.