Optimized build for the TP-Link C2600 / Netgear R7x00 / Linksys EA8500 / Zyxel Armor Z2

Have you tried a snapshot or stable release of OpenWrt?

Yes, I'm having this problem in OpenWrt, even latest stable,

I haven't experienced this problem myself, does it happen with every client?

The Router is the problematic client, of another master router that works ok for every other client.

I configured using just luci, will try to look for hidden settings now.

I apologise in advance for this post being quite the ways off topic.
I have a TP-Link C2300 would the build for the TP-Link C2600 be compatible?

According to wikidevi it's a broadcom router, so no.

New build 20190125:

  • added htop, ipset, wireguard, ipheth, usbmuxd, rosy-fileserver, procps-ng pmap/top/vmstat, strace, vim
  • added glibc profile/build which includes utmp/wtmp functionality and tools (last/who/w)
  • updated glibc to latest 2.28 commit
1 Like

How do you guys like the C2600 in terms of WiFi performance, stability, range? I'm going to use it just as an AP with a Guest SSID on a separate VLAN.

Performance is great, although not very important to me so I haven't run any tests. I do however daily stream 50-100GB 4K/UHD blu-ray remuxes over wireless to my TV. As for CPU performance I've added scores from my latest build here: https://openwrt.org/docs/guide-user/perf_and_log/benchmark.openssl#new_benchmark_table

It's rock stable with the ath10k driver, I've had several issues with the -ct driver (and so have others) which is currently the default in master.

As for range, I can't comment

3 Likes

Hey @escalade After upgrading to the 20190125-glibc release today, noticed that in Luci, cake for the qdisc is not available, only fq_codel. I can't find a reference of a change in Openwrt, so I was wondering if it's a bug, or something I'm messing up (maybe because I sysupgraded between versions?).

I checked that kmod-sched-cake is installed. (4.14.95+2019-01-08-331ac70c-1)

Thank you for any answer, and thank you for spending the time to release this. :slight_smile:

Does the button on top of the C2600 (silver strip) work to turn off the LED lights (night mode)?

@cascadingstyletrees

That is weird, it does show up for me. I don't think sysupgrading should affect this. You could set it manually in /etc/config/sqm though.

@wired

No it does not. If you know how to make it work, I'll gladly include it.

1 Like

@escalade A user PM'ed me this info for the button/LEDs:
https://github.com/shunjou/openwrt-optimized-archer-c2600/blob/master/files/usr/bin/leds
https://github.com/shunjou/openwrt-optimized-archer-c2600/blob/master/files/etc/rc.button/lights_toggle

I do not have the C2600, but I may get one, maybe.

Thanks, I'll have a look at including it.

BTW you might want to look at getting an R7800 instead, they can be bought used for cheap now.

Thanks. I now have a R7800 that I picked up on the cheap on the used market. Gotta figure out the simplest build for it to run in plain access point mode.

I installed the latest version on my C2600. Works great. One issue though. When I want to login I get a page which says Rosy File Server. In the right bottom part of the page I now have an option for choosing the file server or the administration page. When choosing the administration page I get the option to login and manage my router. The default however is the file server. Is this normal behaviour and if so, can i remove the option for the fileserver?Rosy%20Fileserver

I too experienced same issue as @cascadingstyletrees; I updated to the 20190125 release yesterday (non-glibc) and see that within Luci under SQM QoS I only have the option of choosing "fq_codel" for qdisc... there is no other choice. I verified I too have kmod-sched-cake installed (4.14.95+2019-01-08-331ac70c-1).

As @escalade suggested, I manually configured "/etc/config/sqm":

option qdisc 'cake'
option script 'piece_of_cake.qos'

Upon restarting sqm, I recieved the following error:

OpenWrt:/etc/config# /etc/init.d/sqm restart
SQM: Starting SQM script: piece_of_cake.qos on wlan1, in: 33000 Kbps, out: 5700 Kbps
SQM: ERROR: cmd_wrapper: tc: FAILURE (127): /usr/sbin/tc qdisc replace dev TMP_IFB_4_SQM root cake
SQM: ERROR: cmd_wrapper: tc: LAST ERROR: Error loading shared library libelf.so.1: No such file or directory (needed by /usr/sbin/tc)
Error relocating /usr/sbin/tc: elf_kind: symbol not found
Error relocating /usr/sbin/tc: elf_begin: symbol not found
Error relocating /usr/sbin/tc: gelf_getsym: symbol not found
Error relocating /usr/sbin/tc: elf_getdata: symbol not found
Error relocating /usr/sbin/tc: elf_version: symbol not found
Error relocating /usr/sbin/tc: gelf_getshdr: symbol not found
Error relocating /usr/sbin/tc: elf_getscn: symbol not found
Error relocating /usr/sbin/tc: gelf_getehdr: symbol not found
Error relocating /usr/sbin/tc: gelf_getrel: symbol not found
Error relocating /usr/sbin/tc: elf_end: symbol not found
Error relocating /usr/sbin/tc: elf_strptr: symbol not found
SQM: ERROR: QDISC cake is NOT useable.
SQM: Starting SQM script: piece_of_cake.qos on wlan2, in: 28000 Kbps, out: 5117 Kbps
SQM: ERROR: cmd_wrapper: tc: FAILURE (127): /usr/sbin/tc qdisc replace dev TMP_IFB_4_SQM root cake
SQM: ERROR: cmd_wrapper: tc: LAST ERROR: Error loading shared library libelf.so.1: No such file or directory (needed by /usr/sbin/tc)
Error relocating /usr/sbin/tc: elf_kind: symbol not found
Error relocating /usr/sbin/tc: elf_begin: symbol not found
Error relocating /usr/sbin/tc: gelf_getsym: symbol not found
Error relocating /usr/sbin/tc: elf_getdata: symbol not found
Error relocating /usr/sbin/tc: elf_version: symbol not found
Error relocating /usr/sbin/tc: gelf_getshdr: symbol not found
Error relocating /usr/sbin/tc: elf_getscn: symbol not found
Error relocating /usr/sbin/tc: gelf_getehdr: symbol not found
Error relocating /usr/sbin/tc: gelf_getrel: symbol not found
Error relocating /usr/sbin/tc: elf_end: symbol not found
Error relocating /usr/sbin/tc: elf_strptr: symbol not found
SQM: ERROR: QDISC cake is NOT useable.
SQM: Starting SQM script: piece_of_cake.qos on wlan3, in: 24000 Kbps, out: 4500 Kbps
SQM: ERROR: cmd_wrapper: tc: FAILURE (127): /usr/sbin/tc qdisc replace dev TMP_IFB_4_SQM root cake
SQM: ERROR: cmd_wrapper: tc: LAST ERROR: Error loading shared library libelf.so.1: No such file or directory (needed by /usr/sbin/tc)
Error relocating /usr/sbin/tc: elf_kind: symbol not found
Error relocating /usr/sbin/tc: elf_begin: symbol not found
Error relocating /usr/sbin/tc: gelf_getsym: symbol not found
Error relocating /usr/sbin/tc: elf_getdata: symbol not found
Error relocating /usr/sbin/tc: elf_version: symbol not found
Error relocating /usr/sbin/tc: gelf_getshdr: symbol not found
Error relocating /usr/sbin/tc: elf_getscn: symbol not found
Error relocating /usr/sbin/tc: gelf_getehdr: symbol not found
Error relocating /usr/sbin/tc: gelf_getrel: symbol not found
Error relocating /usr/sbin/tc: elf_end: symbol not found
Error relocating /usr/sbin/tc: elf_strptr: symbol not found
SQM: ERROR: QDISC cake is NOT useable.

The fix for me was to install the package libelf, and restart sqm and all was fine:

OpenWrt:/etc/config# opkg install libelf
Installing libelf1 (0.175-3) to root...
Downloading http://downloads.openwrt.org/snapshots/packages/arm_cortex-a15_neon-vfpv4/base/libelf1_0.175-3_arm_cortex-a15_neon-vfpv4.ipk
Configuring libelf1.

OpenWrt:/etc/config# /etc/init.d/sqm restart
SQM: Starting SQM script: piece_of_cake.qos on wlan1, in: 33000 Kbps, out: 5700 Kbps
SQM: piece_of_cake.qos was started on wlan1 successfully
SQM: Starting SQM script: piece_of_cake.qos on wlan2, in: 28000 Kbps, out: 5117 Kbps
SQM: piece_of_cake.qos was started on wlan2 successfully
SQM: Starting SQM script: piece_of_cake.qos on wlan3, in: 24000 Kbps, out: 4500 Kbps
SQM: piece_of_cake.qos was started on wlan3 successfully

Now within Luci under SQM QoS, it displays "cake" and "fq_codel" for qdisc in the drop-down box.

A question (wishful thinking) about the C2600. I have been using a C7 with escalade's builds since the OpenWRT days. Great router and firmware. Now I want to upgrade to the C2600. Is there a way to import the router settings from the C7 to the C2600 or is manually setting up the C2600 the only available option?

Hey @escalade

Was browsing through your scripts looking for some hints and tips, and saw
https://github.com/escalade/LEDE/blob/escalade/files/etc/uci-defaults/99-escalade, where you have:

# Set Timezone
set system.@system[0].zonename='Europe/Oslo'
set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3'

...and thought this may be helpful:

## Fetch zonename from Ubuntu's geoip server, then extract the zoneinfo from luci...
ZN=`wget -O - -q http://geoip.ubuntu.com/lookup | sed -n -e 's/.*<TimeZone>\(.*\)<\/TimeZone>.*/\1/p'`
TZ=`grep $ZN /usr/lib/lua/luci/sys/zoneinfo/tzdata.lua | awk '{print $3}'`; TZ=${TZ//\'/}

uci set    system.@system[0].zonename=$ZN      ## e.g. Europe/London
uci set    system.@system[0].timezone=$TZ      ## e.g. GMT0BST,M3.5.0/1,M10.5.0

uci commit system; /etc/init.d/system reload   ## do a: date -k
#                  /etc/init.d/uhttpd reload   ## is this also required?

The /etc/init.d/system reload effects the changes with needing a reboot.

There are a considerable amount of very device specific configurations in the backup, e.g. for switch/ network configuration, wlan device paths, LED/ GPIO configs, etc. Blindly restoring an config backup from another router would (soft-)brick it - and by the time you're familiar enough with determining which ones can be kept and which need changing, you could have reconfigured it from scratch already.

1 Like

You can't expect the router to be online during firstboot conditions (think PPPoE needing access credentials, but it might also 'just' take to long for the interface to get a plain DHCP lease for the script to do something useful; then there's also the use case where you need to leave WAN unconnected until configured), you can't rely on external services for these firstboot scripts.

Here is something interesting for the build:

@BIGFAT

I am following that thread, nobody has created a DTS for the C2600 yet. I'll definitely be including this in my builds if it works for the C2600 at some point.

1 Like