Problems trying to apply FastPath ar71xx 17.01 branch

Unlikely that you rebooting would be related to that line, which just warns about firewall/netfilter capabilities & settings.

More likely it is related to these lines below, as it seems that there are gcc related linking problems:

Have you fetched fresh sources?
And you have built the toolchain from scratch?
And you are building a vanilla build with no special config options?

Have you already built a firmware successfully on that buildhost? (e.g. a LEDE master snapshot)

Hello and thanks for your reply. I trying to install and build from scratch and not from master branch but from final lede-17.01 one.

I copied the branch, made some adjustments in config (luci packages, and so) and applying Fast Patch (https://github.com/gwlim/mips24k-ar71xx-lede-patch)

After that, just make the source and get that error at boot.

And yes, i builded before directly from master and has been worked. Sure, without FE.

FastPath is likely the reason for your problems. gwlim's implementation is not quite clean/simple as it modifles quite a lot of unrelated other stuff (and clones extra repo from CodeAurora etc.) like shown in https://github.com/gwlim/mips24k-ar71xx-lede-patch/blob/lede-17.01/patch_LEDE.sh

I`ll try now to recompile from scratch without Fast Path to see if it was from that package.

Update 1: Without Fast Path its workin. Now ill try to reinclude it and see if can write the bin.

Maybe you should try the cleaned up patch by @dissent1

Final version is here Qualcomm Fast Path For LEDE

thanks @dissent1 . Can you explain how can i install it?

Seriously why are you taking the mips24kc branch when your CPU is mips74kc?
WR1043NDv4_IS_NOT_MIPS24KC!
My mips24kc is NOT SUPPOSED to be used on mips74kc CPU.
I don't hesitate to brick all other architecture to squeeze more performance out of that architecture
My patchset is not just an FE patch set it is a patchset I tested repeatedly to improve the performance for a particular CPU architecture, instead of having a working patchset that gives average performance for all architecture

@gwlim Ok, my mistake ! You have in plan to release a patch for mips74kc cpu ?
I guess https://github.com/gwlim/mips74k-ar71xx-lede-patch this one is not for mips74kc ?

It is already there look carefully

Ok so mips74k is even for mips74kc

Yes that is correct don't take 24kc.
Although my mips74kc has a final mip24kc tag, it is still build for 74kc
see -march=74kc
I also removed all the ar71xx packed patches in LEDE which absolutely destroy performance on 74kc
If you keep the ar71xx packed align patches mips74kc suffers
If you delete the ar71xx packed align patches mips24kc suffers
Therefore they have to be separate
mips74kc is a mips74k core

After ./patch_LEDE.sh

Hunk #1 succeeded at 20 with fuzz 1.
Hunk #2 FAILED at 218.
Hunk #5 succeeded at 272 (offset 1 line).
Hunk #6 FAILED at 281.
Hunk #7 succeeded at 313 (offset 2 lines).
Hunk #8 succeeded at 325 (offset 2 lines).
Hunk #9 succeeded at 333 with fuzz 2.
Hunk #10 succeeded at 373 with fuzz 1 (offset -1 lines).
Hunk #11 succeeded at 393 (offset -1 lines).
Hunk #12 succeeded at 401 (offset -1 lines).
Hunk #13 FAILED at 416.
Hunk #14 succeeded at 429 (offset -4 lines).
3 out of 14 hunks FAILED -- saving rejects to file target/linux/ar71xx/config-4.4.rej

git clone -b lede-17.01 https://github.com/gwlim/mips74k-lede-patch.git
You have to take the stable branch default is master branch but maintaining trunk is too much work

This is how i've do. Should be a clean copy of lede? Before i`ll installing your patch?

Yes it has to be clean copy.
Because I can patch then go grab a drink while it builds.
Time saver compared to keeping a git repo on my harddisk looking at all those files
When I am done I just delete the whole thing
When I need it I just clone again isn't that convenient?
This is a awesome 1 liner
rm -rf lede && git clone -b lede-17.01 https://github.com/lede-project/source.git lede && git clone -b lede-17.01 https://github.com/gwlim/mips74k-lede-patch.git temp; mv temp/* lede/; rm -rf temp && cd lede && ./patch_LEDE.sh

After that make menuconfig select the fast-classifier default target etc after that if you are happy
then make
Go eat drink whatever come back when it is done.
After getting your firmware delete the whole thing
If want it even faster don't delete the dl folder keep it cache it somewhere on your harddisk and put a softlink to it.
When you build just copy the softlink to it.
You can do make -j 8, - j10 whatever if your cpu is beefy enough you can build architecture optimized firmware within 30 mins

1 Like

Yes. Thanks for short command. I`ll recompile it from scratch.

@gwlim another question, please. How did you find tp-link 1043ND v4 has cpu mips74kc?

As i see on: https://lede-project.org/toh/hwdata/tp-link/tp-link_tl-wr1043nd_v4 it is Package architecture: mips_24kc

I asked you this because after i`ll finished to build image, i trying to flash and get error:

Error code: 18001
Upgrade unsuccessfully because the length of the upgraded file is incorrect. Please check the file name.

Anyway, i builded again from scratch without any other settings and it worked fine with mips74kc patch !

Thanks for patient.

Please mind that Package architecture may be different from what is listed in the ToH as (Sub-)Instruction Set.
Different CPUs/SoCs with different architectures / Instructionssets can share the same package architecture.

https://lede-project.org/toh/views/toh_dev_arch-target-cpu?datasrt=version&dataflt[Model*~]=TL-WR1043

1 Like

Check
https://wiki.openwrt.org/toh/tp-link/tl-wr1043nd
4.x Qualcomm Atheros QCA9563@750MHz
Google QCA9563
Anyway already knew TP-Link moved their Arch to MIPS74k after V2 in the WR1043NDv4 Series

1 Like