Qualcomm Fast Path For LEDE

@gwlim - how to compile for WNDR4700 (apm821xx - powerpc) ? ... and Fast Path but working ?

It would be nice to have a wiki page with the benchmark results with and without FastPath, so that you can get a quick overview.

1 Like

I have tested the wdr4300 july firmware and i can't reach some websites (like lede-project, speedtes etc) only google sites.
I use a PPPoE connection. Can you fix this problem, at least this year?
I am verry happy because you did this and it's almost working.
Thank you, gwlim!

Please enable mss fix in lede firewall.

I have enabled MSS clamping on firewall for wan.
Now it's working :smiley:
Here is the speedtest: http://beta.speedtest.net/result/6432760745.png

Thank you verry much!

Is enabling the MSS fix in the firewall likely to reduce the effectiveness of fastpath?

On non fast path mss fix drops about 10-20Mbps
On fast path this amount is considered nothing
But pple who don't need it should not be disadvantaged by pple who need it.
So pple who are on PPPoE please enable it manually

Can confirm working on PPPoE with MCS enabled.

Question: if I want to update the sources from GitHub, do I need to make a new working directory and start from scratch?

Yes.
I made it that way, because I don't like to maintain the full source tree, just a few files is easier to see

No problem.

I have noticed that root is no longer filled into the username field automatically when logging into LuCi. Can this be changed?

Thanks for your great work @gwlim I really do appreciate it. Great work! :slight_smile:

Isn't that better?
I did it on purpose, do you want to let the guy guess your password only or user and password?

I prefer it the old way. Can I change it myself?

@gwlim Just run iperf3 on my Archer C7 and results are:

[  7] local 192.168.1.172 port 52021 connected to 192.168.1.105 port 5201
[ ID] Interval           Transfer     Bitrate
[  7]   0.00-1.00   sec  33.4 MBytes   280 Mbits/sec                  
[  7]   1.00-2.00   sec  34.3 MBytes   288 Mbits/sec                  
[  7]   2.00-3.00   sec  33.6 MBytes   282 Mbits/sec                  
[  7]   3.00-4.00   sec  28.5 MBytes   239 Mbits/sec                  
[  7]   4.00-5.00   sec  33.8 MBytes   283 Mbits/sec                  
[  7]   5.00-6.00   sec  36.8 MBytes   309 Mbits/sec                  
[  7]   6.00-7.00   sec  35.7 MBytes   299 Mbits/sec                  
[  7]   7.00-8.00   sec  36.7 MBytes   308 Mbits/sec                  
[  7]   8.00-9.00   sec  36.4 MBytes   305 Mbits/sec                  
[  7]   9.00-10.00  sec  36.2 MBytes   304 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  7]   0.00-10.00  sec   345 MBytes   290 Mbits/sec                  sender
[  7]   0.00-10.00  sec   345 MBytes   290 Mbits/sec                  receiver 

That's connected at 1300Mbps to the router and a PC connected via gigabit ethernet to the same router. What's going on here?

Did you built this yourself?

@gwlim Oops, sorry my bad I forgot to include the fastpath modules. I feel dumb :blush:

Btw you should never run iperf3 on router and claim that it reflects real world performance unless you intend to surf and download from the internet entirely on the router

That was iperf from a client to another client.

Is the wireless set to 80MHZ?
Is the wireless client capable of maximum rates?

Strange, build keeps failing with only luci and the fastpath kernel modules selected.

@gwlim I'm getting the below errors, any ideas?

 make[4]: Entering directory '/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/linux-4.4.74'
  CC [M]  /home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.o
/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.c: In function 'fast_classifier_conntrack_event':
/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.c:1214:40: error: 'struct nf_conn' has no member named 'mark'
  if ((events & (1 << IPCT_MARK)) && (ct->mark != 0)) {
                                        ^~
/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.c:1222:17: error: 'struct nf_conn' has no member named 'mark'
   mark.mark = ct->mark;
                 ^~
scripts/Makefile.build:264: recipe for target '/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.o' failed
make[5]: *** [/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier/fast-classifier.o] Error 1
Makefile:1402: recipe for target '_module_/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier' failed
make[4]: *** [_module_/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/fast-classifier] Error 2
make[4]: Leaving directory '/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/linux-4.4.74'
Makefile:102: recipe for target '/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/.built' failed
make[3]: *** [/home/gigabit/lede/build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/fast-classifier-g27da508/.built] Error 2
make[3]: Leaving directory '/home/gigabit/lede/package/qca/fast-classifier'
package/Makefile:105: recipe for target 'package/qca/fast-classifier/compile' failed
make[2]: *** [package/qca/fast-classifier/compile] Error 2
make[2]: Leaving directory '/home/gigabit/lede'
package/Makefile:101: recipe for target '/home/gigabit/lede/staging_dir/target-mips_24kc_musl-1.1.16/stamp/.package_compile' failed
make[1]: *** [/home/gigabit/lede/staging_dir/target-mips_24kc_musl-1.1.16/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/gigabit/lede'
/home/gigabit/lede/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 2