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

@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.

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
20190225:
- rebased on master
- updated glibc to 2.29
- compiled with gcc 8.3.0
- removed luci-app-rosy-file-server which apparently takes over the initial login site
1 Like

does it work with netgear r7800 device?

Yes, it does. You could build for any target, I just provide builds for ipq806x.

How would I change from the default cloudflare dns to google dns? Or is it after I execute the command to get isp's dns servers like you describe I can use LuCI interface to set custom dns servers like in original openwrt?

You can change the DNS in the same spot as a normal build, still dnsmasq.