What's new

[Release] Asuswrt-Merlin 380.62_1 is now available

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Merlin,
I attempted to compile version 62_1.

Had a few issues...
1) aclocal-1.15
was reported missing. cd to nano directory and ran
autoreconf -f -i
which resolved that.

2) Now I get a failure:
arm-brcm-linux-uclibcgnueabi-gcc -DLINUX26 -DCONFIG_BCMWL5 -DDEBUG_NOISY -DDEBUG_RCTEST -pipe -DBCMWPA2 -DBCMARM -fno-strict-aliasing -marm -DCONFIG_NVSIZE_128 -DLINUX_KERNEL_VERSION=132644 -Os -I/home/lbjpilot/asuswrt-merlin/release/src-rt-7.14.114.x/src/router/ncurses/include -ffunction-sections -fdata-sections -Wall -L/home/lbjpilot/asuswrt-merlin/release/src-rt-7.14.114.x/src/router/ncurses/lib -ffunction-sections -fdata-sections -Wl,--gc-sections -o nano browser.o chars.o color.o cut.o files.o global.o help.o move.o nano.o prompt.o rcfile.o search.o text.o utils.o winio.o -lncursesw -ltinfo
/home/lbjpilot/asuswrt-merlin/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/bin/../lib/gcc/arm-brcm-linux-uclibcgnueabi/4.5.3/../../../../arm-brcm-linux-uclibcgnueabi/bin/ld: cannot find -ltinfo

make[6]: Leaving directory `/home/lbjpilot/asuswrt-merlin/release/src/router/nano/src'

Also appears to be related to compiling the nano code...

I know that was recently added to the project. Any help would be appreciated.

I am on ubuntu 14.04.x
 
Merlin,
winio.o -lncursesw -ltinfo
/home/lbjpilot/asuswrt-merlin/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/bin/../lib/gcc/arm-brcm-linux-uclibcgnueabi/4.5.3/../../../../arm-brcm-linux-uclibcgnueabi/bin/ld: cannot find -ltinfo

make[6]: Leaving directory `/home/lbjpilot/asuswrt-merlin/release/src/router/nano/src'

Also appears to be related to compiling the nano code...

I know that was recently added to the project. Any help would be appreciated.

I am on ubuntu 14.04.x
I had to fix that too (haven't had a chance to get it to @RMerlin)....
I've attached the diff....
 

Attachments

  • 0003-make-fix-missing-ltinfo-when-building-nano-for-ARM.diff.txt
    427 bytes · Views: 340
Last edited:
Made the change, It completed the compile !

Thanks
I had to fix that too (haven't had a chance to get it to @RMerlin)....
I've attached the diff....


john9527,
In case your interested I have made changes to only two files (small changes in each).

One adds the hostname to the client status list (above the mac address)

The other adds the hostname to the page you see when you select view list...

I did this because its useful to me to see the hostname assigned to my connected devices in case I want to connect to them (instead of using their IP address.

pick2.png
pick1.png


I can send those two files:
clients.asp
client_function.js
If you want to take a look, its was easy
 
I had to fix that too (haven't had a chance to get it to @RMerlin)....
I've attached the diff....

Not sure why some of you are getting nano linking against tinfo, doesn't happen for me under Ubuntu 16.04. Symlinking to libcurse sound like a workaround rather than a fix of the original issue IMHO.
 
Not sure why some of you are getting nano linking against tinfo, doesn't happen for me under Ubuntu 16.04. Symlinking to libcurse sound like a workaround rather than a fix of the original issue IMHO.
I'll reverse it....I don't know why your not linking to it :) It's apparently pretty common, as I found that fix in multiple places doing a web search. It only happens on ARM where you enabled wide support.
 
I'll reverse it....I don't know why your not linking to it :) It's apparently pretty common, as I found that fix in multiple places doing a web search. It only happens on ARM where you enabled wide support.

libtinfo is only built if ncurses is compiled with --with-termlib. My guess is, your build is incorrectly retrieving the presence of a separate libtinfo from your build environment rather than from the router/ncurses/ files. Might have to do with the difference in build environment (I use Ubuntu 16.04). Maybe it's retrieving that information from the distro's pkg-config.

The real issue there is rather why nano isn't correctly determining if ncurses is built with an external libtinfo (which adds -ltinfo to the linker) on some systems.
 
Check your nano/config.log for any reference to pkg, and make sure that it only refers to data locations within the firmware's build environment and not that of your Linux machine. Correct paths are set in router/common/mak.

Code:
export PKG_CONFIG_SYSROOT_DIR := $(STAGEDIR)
export PKG_CONFIG_PATH := $(STAGEDIR)/usr/lib/pkgconfig:$(STAGEDIR)/etc/lib/pkgconfig
export PKG_CONFIG_LIBDIR := $(STAGEDIR)/usr/lib/pkgconfig:$(STAGEDIR)/usr/share/pkgconfig
 
Try this patch, which should generate pkg-config files with the ncurses build, and point nano at those files:

Code:
diff --git a/release/src/router/Makefile b/release/src/router/Makefile
index eb6a627..dc8e146 100755
--- a/release/src/router/Makefile
+++ b/release/src/router/Makefile
@@ -4176,13 +4176,14 @@ ncurses/Makefile:
        $(if $(RTCONFIG_BCMARM),--enable-widec,) \
        --without-debug --without-manpages --without-profile --without-progs --without-tests \
        --disable-home-terminfo --with-normal --with-shared --with-build-cppflags=-D_GNU_SOURCE \
+       --enable-pc-files \
        --disable-termcap --disable-database --with-fallbacks="xterm,vt100,vt200,linux,ansi,xterm-256color"

 #      --with-default-terminfo-dir=/usr/share/terminfo --with-terminfo-dirs=/usr/share/terminfo

 ncurses: ncurses/Makefile
        @$(SEP)
-       cd ncurses && $(MAKE) -C ncurses
+       cd ncurses && $(MAKE) -C ncurses && $(MAKE) -C misc pc-files

 ncurses-clean:
        -@$(MAKE) -C ncurses distclean
@@ -4208,6 +4209,7 @@ nano/Makefile:
        cd nano && $(CONFIGURE) --prefix=$(INSTALLDIR)/nano/usr \
                CFLAGS="$(EXTRACFLAGS) -Os -I$(TOP)/ncurses/include -ffunction-sections -fdata-sections" \
                LDFLAGS="$(LDFLAGS) -L$(TOP)/ncurses/lib -ffunction-sections -fdata-sections -Wl,--gc-sections" \
+               PKG_CONFIG_LIBDIR="$(TOP)/ncurses/misc" \
                $(if $(RTCONFIG_BCMARM),ac_cv_lib_ncursesw_get_wch=yes,ac_cv_lib_ncursesw_get_wch=no) \
                $(if $(RTCONFIG_BCMARM),--enable-utf8,--enable-tiny) \
                --disable-speller --disable-extra --disable-tabcomp --enable-wrapping --disable-glibtest \
 
Try this patch, which should generate pkg-config files with the ncurses build, and point nano at those files:
I had just gone through the nano config.log, found the missing ncursesw.pc entries, and was just getting started investigating why the pc files weren't generated when I saw this post.

One change needed......the line to add for nano needs to be PKG_CONFIG_PATH instead of PKG_CONFIG_LIBDIR.
 
I had just gone through the nano config.log, found the missing ncursesw.pc entries, and was just getting started investigating why the pc files weren't generated when I saw this post.

One change needed......the line to add for nano needs to be PKG_CONFIG_PATH instead of PKG_CONFIG_LIBDIR.

I used PKG_CONFIG_LIBDIR because I wanted to ensure that no other location were being looked into. Otherwise, you might still end up using the OS's pkgconfig config before those added by PKG_CONFIG_PATH (since for some reason some people's build are actually looking into the OS's location).

Code:
  PKG_CONFIG_PATH
              directories to add to pkg-config's search path
  PKG_CONFIG_LIBDIR
              path overriding pkg-config's built-in search path

Can you confirm it did fix it for you?
 
updated to 62_1 on AC3200. Everything works fine expect Daily statistic under Traffic analyzer. It doesn't show anything.
Weekly and monthly working fine - just when selected router offered filter is apps instead clients. After clicking apps and back router filter offers clients. (Safari Technology Preview 14)
 
I used PKG_CONFIG_LIBDIR because I wanted to ensure that no other location were being looked into. Otherwise, you might still end up using the OS's pkgconfig config before those added by PKG_CONFIG_PATH (since for some reason some people's build are actually looking into the OS's location).

Code:
  PKG_CONFIG_PATH
              directories to add to pkg-config's search path
  PKG_CONFIG_LIBDIR
              path overriding pkg-config's built-in search path

Can you confirm it did fix it for you?
Compile failed with the LIBDIR option with the same -ltinfo error. The nano config.log still showed unable to find ncursesw.pc

Switching it to PATH, compiled successfully, and the nano config.log looked good.

Maybe specify both? I'll run that combo now.

EDIT: Also compiles successfully with both LIBDIR and PATH specified. That's the option I'm going to leave in.
 
Last edited:
Compile failed with the LIBDIR option with the same -ltinfo error. The nano config.log still showed unable to find ncursesw.pc

Switching it to PATH, compiled successfully, and the nano config.log looked good.

Maybe specify both? I'll run that combo now.

EDIT: Also compiles successfully with both LIBDIR and PATH specified. That's the option I'm going to leave in.

EDIT: Re-reading again the configure help page, I think I see the nuance. LIBDIR replaces the builtin search path, not whatever is specified in PATH, which gets added to builtin search path. If the issue encountered by some come from having PATH set to the wrong location, then LIBDIR won't override it.

Setting both is probably the safest to ensure that you will never be pointed at the wrong location (neither from builtin, neither from another PATH environment variable).
 
Last edited:
Hi Merlin,

Found an issue that was in your last 2 releases as well as this one. If you have some MAC addresses in the wireless filter list and press the minus buttons to remove them and then press apply, they do not get removed and reappear in the list after apply reloads the page. Tried a few times over and can not get rid of those mac addresses from being allowed on the network.

Edit, this is a asus ac68U
 
Hi Merlin,

Found an issue that was in your last 2 releases as well as this one. If you have some MAC addresses in the wireless filter list and press the minus buttons to remove them and then press apply, they do not get removed and reappear in the list after apply reloads the page. Tried a few times over and can not get rid of those mac addresses from being allowed on the network.

Edit, this is a asus ac68U

Known issue and RMerlin has posted a few times already how to fix (please use search).
 
380.62_1 seems to work quite nicely except the hairpin translation bug in combination with traditional QoS is still there.
I mentioned the solution months ago in this forum and mailed it to asus.

So if you happen to have traditional QoS turned on and host a server with external ip on your home network where you connect to from your home network using the external ip (for example owncloud) the upload speed to the server is limited by the downstream limit of the QoS and the download speed is limited by the upload limit of the QoS.
This is caused by a wrong ordering of iptables mangle rules.
With your home network using the ip range 192.168.10.0/24 a simple fix is to add highest priority rules for your hairpin traffic:

/usr/sbin/iptables -t mangle -I QOSO 1 -d 192.168.10.0/24 -j CONNMARK --set-return 0x6/0x7
/usr/sbin/iptables -t mangle -I QOSO 2 -d 192.168.10.0/24 -j RETURN

And voila, your hairpin traffic is no longer limited by your QoS settings.
It makes a large differece to get ~230 MBit/s (limited by the routers cpu) throughput compared to 5 MBit/s.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top