Qualcomm Fast Path For LEDE

New get source, new prepare, and...error compile (fstools - latest change https://github.com/lede-project/source/commit/7896d7b81499b9edc6a6fd2ce1a1e3585992a2fe):

make -j8 BUILD_LOG=1
(...)
 make[3] -C package/utils/f2fs-tools compile
 make[3] -C package/system/fstools compile
 make[3] -C package/system/procd compile
make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
/home/dom/Pulpit/Projekty/WNDR4300-17.01-SNAPSHOT-MOD-FAST_PATH/include/toplevel.mk:198: polecenia dla obiektu 'world' nie powiodły się
make: *** [world] Błąd 1

dom@machina:~/Pulpit/Projekty/WNDR4300-17.01-SNAPSHOT-MOD-FAST_PATH$ cat logs/package/system/fstools/compile.txt
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 65368  100 65368    0     0   368k      0 --:--:-- --:--:-- --:--:--  368k

Applying ./patches/01-Cmake.patch using plaintext: 
patching file CMakeLists.txt
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej
Patch failed!  Please fix ./patches/01-Cmake.patch!
Makefile:106: recipe for target '/home/dom/Pulpit/Projekty/WNDR4300-17.01-SNAPSHOT-MOD-FAST_PATH/build_dir/target-mips_24kc_musl-1.1.16/fstools-2017-06-30-bdcb075f/.prepared_5fff7c903be867691f9e20c786fad1d3' failed
make[3]: *** [/home/dom/Pulpit/Projekty/WNDR4300-17.01-SNAPSHOT-MOD-FAST_PATH/build_dir/target-mips_24kc_musl-1.1.16/fstools-2017-06-30-bdcb075f/.prepared_5fff7c903be867691f9e20c786fad1d3] Error 1

my .config (WNDR4300v1): http://wklej.org/id/3217389/
CMakeLists.txt.orig: http://wklej.org/id/3217395/
CMakeLists.txt.rej: http://wklej.org/id/3217396/

@gwlim - probably this patch required modification/update https://github.com/gwlim/mips74k-ar71xx-lede-patch/blob/lede-17.01/patch/071-optimize-cmake.patch and https://github.com/gwlim/mips24k-ar71xx-lede-patch/blob/lede-17.01/patch/071-optimize-cmake.patch (start is line 99):

(...)
--- /dev/null	2015-11-26 23:22:57.302221138 +0800
+++ ./package/system/fstools/patches/01-Cmake.patch	2015-11-27 21:26:13.449058652 +0800
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt	2015-02-26 19:35:58.000000000 +0800
++++ b/CMakeLists.txt	2015-11-27 21:25:41.468993741 +0800
+@@ -1,7 +1,7 @@
+ cmake_minimum_required(VERSION 2.6)
+ 
+ PROJECT(fs-tools C)
+-ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)
++ADD_DEFINITIONS(-Wall -Werror --std=gnu99 -Wmissing-declarations)
+ 
+ SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
+ 
(...)

...Finally, modifying your .config by adding support for USB mass storage devices is something natural.

Must change line 108:

+-ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)

change to

+-ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations --Wno-format-truncation)

Effect - build properly fstools and block-mount package: http://wklej.org/id/3217406/.

EDIT && OTHERS:
pleas add support to WNDR3800 (if possible) and WNDR4700 :yum:

OR: @gwlim, you can use commits to get a certain "version" downloaded like here I do:


In this way you don't have to worry about future changes in "lede-17.01" branch, you will modify your own commit id if you want to upgrade your build (and patches if necessary).
(It uses curl and unzip, and it's way faster than even cloning 1 branch.)
Hope it helps ... :slight_smile:

Should be fixed.
Small change from LEDE stable

I tried it with a Buffalo router.
I will report the test results along with the image file.

  • Buffalo WZR-HP-AG300H (Atheros AR7161 rev 2 / 680MHz)
    stock firmware v1.75(JP) sender 199Mbps / receiver 199Mbps
    LEDE17.01.2 SFE OFF sender 317Mbps / receiver 317Mbps
    LEDE17.01.2 SFE ON sender 603Mbps / receiver 603Mbps
    https://www.axfc.net/u/3823996

  • Buffalo WZR-HP-G301NH (Atheros AR9132 rev 2 / 400MHz)
    stock firmware v1.81(JP) sender 122Mbps / receiver 122Mbps
    LEDE17.01.2 SFE OFF sender 194Mbps / receiver 194Mbps
    LEDE17.01.2 SFE ON sender 432Mbps / receiver 433Mbps
    https://www.axfc.net/u/3823997

  • Buffalo BHR-4GRV (Atheros AR7242 rev 1 / 400MHz / no-wifi)
    stock firmware v1.99(JP) sender 263Mpbs / receiver 263Mbps
    LEDE17.01.2 SFE OFF sender 169Mbps / receiver 169Mbps
    LEDE17.01.2 SFE ON sender 468Mbps / receiver 468Mbps
    https://www.axfc.net/u/3823995

iperf3 -c (LAN IP for PPPoE Server) -P 30 -d -t 65 -O 5
PPPoE(MTU1454)+ NAT + Masquerading and MSS clamping ON

@gwlim , thanks to your work!!

You should check which repository you are using.
For mips24 you should use the mips24kc repo.
packing the struct boost performance in mips24 cores but drops performance in mips74kc.
basically mips24kc needs to pack
while do not pack mips74

Yesterday evening it happened again (after 1.5 days): lan connection was dropped. (reboot solved the problem again)
This time I spent a little time with it:

  • wifi iface worked ok (that's how I ssh-d in)
  • pppoe wan connection was also dropped (not showing up on the list of ifconfig, but eth0 was there)
  • brlan, wifi and eth1 were both showing up on the list of ifconfig
    So it seems all the wired connections stopped working for some reason but not wireless.

Any ideas?
(I have to say that the image is my compilation according to your instruction, and I didn't have any issues.)
Thanks

sounds like your wan requires dhcp renewal

Any plan for x86? I think is a great idea. I've been looking for something like this for a long time. It's a shame that the x86 architecture is not supported.

PD: Great Work.

It's not the problem (pppoe) since lan connection was also dropped.
Can you provide the list of patches that are only used for performance enhancement in the 74k repo?
I want to rule out which patch is causing the issue.
Thanks

is there a plan to integrate fasth past into the regular lede releases? 17.02 maybe?

What else are you running on the router?
Up time on all my routers is until I reboot

Nothing, right now: wifi, dyndns, firewall stuff, fixed dhcp addresses, pppoe wan connection, sqm.
(On 15.05.1 (and earlier) I had lot of other stuff: external hdd, vsftpd, transmission, samba, minidlna, and a lot more.)

If lan is dropped it will not be possible to ssh into the router

That's correct. I could only via wifi!!! (that worked fine)

WiFi is part of lan, under interfaces it is bridged to lan, most likely it is another issue.
I am guessing it has to be the switch driver
http://lists.infradead.org/pipermail/lede-dev/2017-March/006930.html

Thanks for thinking with me. I flashed the original 17.01.2 firmware (downloaded from the site) 2 days ago (after getting dropping issues for the 2nd time) and it runs fine since then.
That's why I thought I'll try to separate the problem with selecting just couple of patches of yours once at a time.

Try removing this patch
https://github.com/gwlim/mips74k-ar71xx-lede-patch/blob/lede-17.01/patch/059-increase-ag71xx-tx-ring-size.patch
Possibly related to this
https://patchwork.ozlabs.org/patch/743498/

Thanks, gwlim, I'll try to compile without it. (I already forked your repo :slight_smile: )

I compiled without it and flashed it, we will see. I'll report back a week later if all goes fine. Thanks!

Could you guys post output of following commands:
cat /sys/fast_classifier/debug_info
cat /sys/fast_classifier/exceptions

I've also made it compile in k4.9 trunk
https://github.com/dissent1/r7800/commit/5ae4a7425aac4211550e86060e556e6a3d5435cc