OpenWrt Forum Archive

Topic: Netgear EX2700 Wifi Extender

The content of this topic has been archived on 26 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello everybody and everyone,

Having trouble with this wifi Extender on some networks and considering the few options given in the Netgear Genie interface, I tried OpenWrt on this router to see if I can work my way through this.
So I got the basics, how to flash the OpenWrt firmware using the Web interface or using TFTP2, connecting to the router with SSH, using okpg, activating and configuring wifi. But I'm facing some problems preventing me to configutr it correctly as a Wifi Extender.

As you may know, this router only has 4MB of flash memory, which is veeeeeeeeeery few. Actually, after installing the OpenWrt firmware, the rom is already full (using df -h, /dev/root is indicated to be already 100% used) and luci is not installed in this firmware. So no GUI available.
But as /dev/root is already full, it's impossible to install new packages, as luci or even relayd to configure the router as a relay. I've already tried the relayclient recipe on OpenWrt Wiki to set it up without luci, but with no luck. Something goes wrong during the installation of relayd due to the lack of space and it doesn't work in the end (I managed to get Internet access through Ethernet though, but not with the repeated Wifi).



If anyone has already managed to do something with this router and relayd or has some tips, I'll be glad to know!

I thought actually of installing luci and relayd on router's RAM instead of flash memory (using opkg install <pkg> -d ram, the destination ram points to /tmp on the RAM), even if it means not shutting the router afterwards, but there's still some space issues on the rom. Any idea on this one?


Thanks for your answers!

P.S: This no link limitation is really super mega annoying because the forum sees link everywhere, even where there is none...

(Last edited by Der_Siebte_Schatten on 12 Sep 2017, 23:06)

/dev/root is always 100%, since it is a read-only squashed filesystem.  You should also have /overlay, which is where any new installs or changed files are written (they overlay, or pre-empt, what is permanently stored in root).  But on a 4 MB model it is only a couple hundred kB available.

Use the Image Builder to make a custom image with the packages you want.  You can take out stuff like IPv6 and pppoe.

OK, so I understand better. And yeah, /overlay is almost full indeed.

So I'm trying to create a custom image with the Image Generator. It's quite harder than expected because EX2700 stills in the "snapshots" and the Image Generator there does not have preconfigured profiles for the EX2700.

After downloading and unzip it, I tried the following to create the image (based on the netgear mk profile in the dev OpenWrt website and the default packages given by running make info) :

make image PACKAGES="-kmod-usb-core -kmod-usb2 -kmod-usb-ohci 
-kmod-ledtrig-usbdev -kmod-ledtrig-usbdev 
-ip6tables -odhcpd6c +liblua +lua +libuci-lua +uh
ttpd +rpcd +luci-base +luci-lib-ip +luci-lib-nixio +luci-theme-botstrap 
+luci-mod-admin-full +luci-lib-jsonc +luci-proto-relay +relayd-bridge +relayd"

There's still some issues. After generating the package index, I'mm getting a segmentation fault during the process. Is there Something wrong with this command?

P.S. : I just noticed the configuration files points only to the local packages, which should not be a problem, I'll try once again with the online packages...
P.P.S : uh ttpd is in one word, but I have to separate the word here because it is recognised as a link...


EDIT : Nope, even with online packages index, I'm still getting a segmentation fault...

Installing libc (1.1.16-1) to root...
Installing libgcc (5.3.0-1) to root...
Downloading file:packages/base/libgcc_5.3.0-1_ramips.ipk.
Makefile:146: recipe for target 'package_install' failed
make[2]: *** [package_install] Segmentation fault (core dumped)
make[2]: Leaving directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
Makefile:117: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
Makefile:195 : la recette pour la cible « image » a échouée
make: *** [image] Erreur 2

(Last edited by Der_Siebte_Schatten on 13 Sep 2017, 13:51)

Add V=s to the make line.  This will output a lot more messages, hopefully including one that identifies the specific error.

Here you are, but I'm still unable to figure this out...

make[1]: Entering directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
mkdir -p tmp
rm -f tmp/.host.mk
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'libssl'... ok.
Checking 'perl-thread-queue'... ok.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'getopt'... ok.
Checking 'stat'... ok.
Checking 'md5sum'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'svn'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
Checking 'openssl'... ok.
Checking 'ldconfig-stub'... ok.
touch staging_dir/host/.prereq-build
echo 'Building images for ramips - Default Profile'
Building images for ramips - Default Profile
echo 'Packages: +liblua +libuci-lua +lua +luci-base +luci-lib-ip +luci-lib-jsonc +luci-lib-nixio +luci-mod-admin-full +luci-proto-relay +luci-theme-botstrap +relayd +relayd-bridge +rpcd +uh ttpd base-files busybox dnsmasq dropbear firewall fstools iptables kernel kmod-gpio-button-hotplug kmod-leds-gpio kmod-mt76 kmod-rt2800-pci kmod-rt2800-soc libc libgcc logd mtd netifd odhcp6c odhcpd opkg ppp ppp-mod-pppoe swconfig uci uclient-fetch wpad-mini'
Packages: +liblua +libuci-lua +lua +luci-base +luci-lib-ip +luci-lib-jsonc +luci-lib-nixio +luci-mod-admin-full +luci-proto-relay +luci-theme-botstrap +relayd +relayd-bridge +rpcd +uh ttpd base-files busybox dnsmasq dropbear firewall fstools iptables kernel kmod-gpio-button-hotplug kmod-leds-gpio kmod-mt76 kmod-rt2800-pci kmod-rt2800-soc libc libgcc logd mtd netifd odhcp6c odhcpd opkg ppp ppp-mod-pppoe swconfig uci uclient-fetch wpad-mini
echo

rm -rf /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips
mkdir -p /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/bin/ramips /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl
if [ ! -f "/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages/Packages" ] || [ ! -f "/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages/Packages.gz" ] || [ "`find /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages -cnewer /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages/Packages.gz`" ]; then \
        echo "Package list missing or not up-to-date, generating it.";\
        make package_index; \
else \
        mkdir -p /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips/tmp; \
        IPKG_NO_SCRIPT=1 IPKG_TMP="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp/ipkgtmp" IPKG_INSTROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" IPKG_CONF_DIR="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp" IPKG_OFFLINE_ROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/staging_dir/host/bin/opkg -f /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/repositories.conf --force-depends --force-overwrite --force-postinstall --cache /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --lists-dir ../../../../../../../home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --offline-root /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips --add-dest root:/ --add-arch all:100 --add-arch ramips:200 update || true; \
fi
Package list missing or not up-to-date, generating it.
make[2]: Entering directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'

Building package index...
(cd /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages; /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/scripts/ipkg-make-index.sh . > Packages && \
        gzip -9nc Packages > Packages.gz \
) >/dev/null 2>/dev/null
IPKG_NO_SCRIPT=1 IPKG_TMP="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp/ipkgtmp" IPKG_INSTROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" IPKG_CONF_DIR="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp" IPKG_OFFLINE_ROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/staging_dir/host/bin/opkg -f /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/repositories.conf --force-depends --force-overwrite --force-postinstall --cache /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --lists-dir ../../../../../../../home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --offline-root /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips --add-dest root:/ --add-arch all:100 --add-arch ramips:200 update || true
Downloading file:packages/Packages.
Updated list of available packages in /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips/../../../../../../../home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl/imagebuilder.
make[2]: Leaving directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
make package_install
make[2]: Entering directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'

Installing packages...
IPKG_NO_SCRIPT=1 IPKG_TMP="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp/ipkgtmp" IPKG_INSTROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" IPKG_CONF_DIR="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/tmp" IPKG_OFFLINE_ROOT="/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips" /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/staging_dir/host/bin/opkg -f /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/repositories.conf --force-depends --force-overwrite --force-postinstall --cache /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --lists-dir ../../../../../../../home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/dl --offline-root /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/build_dir/target-mipsel_24kec+dsp_musl-1.1.16/root-ramips --add-dest root:/ --add-arch all:100 --add-arch ramips:200 install /home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64/packages/base/libc_1.1.16-1_ramips.ipk
Installing libc (1.1.16-1) to root...
Installing libgcc (5.3.0-1) to root...
Downloading file:packages/base/libgcc_5.3.0-1_ramips.ipk.
Makefile:146: recipe for target 'package_install' failed
make[2]: *** [package_install] Segmentation fault (core dumped)
make[2]: Leaving directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
Makefile:117: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '/home/der-siebte-schatten/openwrt/OpenWrt-ImageBuilder-ramips-mt7620.Linux-x86_64'
Makefile:195 : la recette pour la cible « image » a échouée
make: *** [image] Erreur 2

----------------------------------------------------------------
Meanwhile (because generating packages index is very slow), I attempted again to set the wifi relay with CLI. This time, I succeeded to install relayd without errors (apparently), but I'm still not getting it in the end...

Here is all the commands inputed, from default configuration:

uci set wireless.@wifi-device[0].disabled=0
uci commit wireless
wifi

uci set network.wwan=interface
uci set network.wwan.proto=dhcp
uci commit network

uci set wireless.radio0.channel=6
uci set wireless.@wifi-iface[0].network=wwan
uci set wireless.@wifi-iface[0].mode=sta
uci set wireless.@wifi-iface[0].ssid=*Wifi-SSID*
uci set wireless.@wifi-iface[0].encryption=psk2
uci set wireless.@wifi-iface[0].key=*******
uci commit wireless
wifi down; wifi

opkg update
opkg install relayd

uci set network.lan.gateway=192.168.2.1
uci set network.lan.dns=192.168.2.1
uci commit network

uci set firewall.@zone[0].forward=ACCEPT
uci set firewall.@zone[0].network="lan wwan"
uci commit firewall

uci add wireless wifi-iface
uci set wireless.@wifi-iface[1].device=radio0
uci set wireless.@wifi-iface[1].network=lan
uci set wireless.@wifi-iface[1].mode=ap
uci set wireless.@wifi-iface[1].ssid=*Extended Wifi SSID*
uci set wireless.@wifi-iface[1].encryption=psk2
uci set wireless.@wifi-iface[1].key=*******
uci commit wireless

uci set network.stabridge.ipaddr=192.168.2.35
uci commit network

I verified, my Wifi uses indeed 192.168.2.0/24 for IP adresses, and the router is on 192.168.2.1...

But in the end, I got effectively my Extended Wifi network and i'm able to connect it, but the DHCP seems not working because I'm still getting no valid IP configuration (In Wifi and in Ethernet). I still doesn't understand clearly why...

(Last edited by Der_Siebte_Schatten on 13 Sep 2017, 16:29)

The discussion might have continued from here.