Powerline (Homeplug AV2) AP as a Router

I have a Zyxel Powerline Extender. It's a dual-band 32MB/128MB armv71 brcm947xx. The stock firmware is a heavily customized LuCI/Backfire, and works as an Access Point.
image
image
I would like to use it as a Router (i.e. with NAT and DHCP). Luckly the old firmware has telnet and ssh enabled. Is the mod possible? Would it be too complicated?

Main chips: BCM60350, BCM47189, B50212, MX25L25635FMI, W631GG6KB.

FWIW: This also has opkg and scp running. The following are the stock installed packages:

app-agent, avahi-autoipd, avahi-daemon, base-files, brcm947xx_plc, brcm947xx_plc_l2api, brcm947xx_tools, busybox, chksum-tool, ckCgHdr, clinkc-zy, cloudagent, curl, dnsmasq, dropbear, firmware-info, firmware-upgrade, hotplug2, kernel, kmod-button-hotplug, kmod-crc-ccitt, kmod-ipt-core, kmod-ledtrig-default-on, kmod-ledtrig-timer, kmod-scsi-core, l2command, libavahi, libc, libcurl, libdaemon, libexpat, libgcc, libgdbm, libiconv, libintl, libiwinfo, libjson, libltdl, liblua, liblzo, libmesode, libncurses, libopenssl, libpcap, libpthread, libreadline, librt, libsqlite3, libstdcpp, libstrophe, libuci, libuci-lua, libuuid, libxml2, lua, luci, luci-admin-core, luci-admin-easy, luci-admin-expert, luci-app-initmgr, luci-cbi, luci-core, luci-http, luci-i18n-chinese_traditional, luci-i18n-english, luci-i18n-french, luci-i18n-german, luci-i18n-italian, luci-i18n-spanish, luci-ipkg, luci-lmo, luci-nixio, luci-sgi-cgi, luci-sys, luci-theme-base, luci-theme-zyxel, luci-uci, luci-uvl, luci-web, mtd, mtd-utils, mtd-utils-mkfs.jffs2, nbnsd-master, netprobe, ntpclient, opkg, p0f, plc-utils, sqlite3-cli, swmp, tcpdump, uci, uhttpd, zlib, zlibMapping, ztr69, ztr69cmd, zy1905

And:

dev: size erasesize name
mtd0: 00060000 00010000 "boot"
mtd1: 00010000 00010000 "header"
mtd2: 01d80000 00010000 "linux"
mtd3: 01b80000 00010000 "rootfs"
mtd4: 00100000 00010000 "rootfs_data"
mtd5: 00100000 00010000 "rom-d"
mtd6: 00010000 00010000 "nvram"

MemFree ~49MB

If it uses the /etc/config files like openwrt does then it should be just a matter of editing those files with "vi" for example.

Can you post the content of your config directory pelase?

ls /etc/config

K.

Thanks for your reply, K. Indeed, I have access to the config files, and I already did a (sysupgrade -b) configuration backup. In fact, I was trying to do DNS adblock today, but noticed DNS is disabled too.

Attached the requested list:

Note: I'm not familiar with Backfire, only with current OpenWrt versions.

@kar200 and others, regarding the network config:

#uci show network
network.loopback=interface
network.loopback.ifname=lo
network.loopback.status=1
network.loopback.proto=static
network.loopback.ipaddr=127.0.0.1
network.loopback.netmask=255.0.0.0
network.lan=interface
network.lan.status=1
network.lan.ifname=eth1 eth0 eth2 eth3
network.lan.type=bridge
network.lan.stp=0
network.lan.proto=dhcp
network.lan.autoip=yes
network.lan.dns1=USER,8.8.4.4
network.lan.dns2=USER,8.8.8.8
network.wan=interface
network.wan.proto=dhcp
network.wan.hostname=ZyXEL_OpenWrt
network.general=network
network.general.config_section=lan
network.alias1=alias
network.alias1.interface=lan
network.alias1.enabled=disabled
network.alias1.proto=static
network.alias1.ipaddr=192.168.1.2
network.alias1.netmask=255.255.255.0

If we weren't talking about a plc (homeplug AV), I would feel more comfortable on what to do next. I wonder: maybe if I change the network.lan.type to router, identify the eth port(s) pointing to the remote plc (perhaps is like this, because each device has 2 UTP ports), and set network.lan.proto to static, it would work? it would still need to figure out the syntax for the above and how to enable dhcp server and dns service, and firewall zones & rules.

And regarding the firewall and dhcp:

# uci show firewall
uci: Entry not found
#uci show dhcp
dhcp.lan=dhcp
dhcp.lan.enabled=1
dhcp.lan.interface=lan
dhcp.lan.start=33
dhcp.lan.limit=32
dhcp.lan.lease=720m
dhcp.lan.lan_dns=dnsRelay,FromISP,FromISP
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded=1
dhcp.@dnsmasq[0].boguspriv=1
dhcp.@dnsmasq[0].filterwin2k=0
dhcp.@dnsmasq[0].localise_queries=1
dhcp.@dnsmasq[0].rebind_protection=1
dhcp.@dnsmasq[0].rebind_localhost=1
dhcp.@dnsmasq[0].local=/lan/
dhcp.@dnsmasq[0].domain=lan
dhcp.@dnsmasq[0].expandhosts=1
dhcp.@dnsmasq[0].nonegcache=0
dhcp.@dnsmasq[0].authoritative=1
dhcp.@dnsmasq[0].readethers=1
dhcp.@dnsmasq[0].leasefile=/tmp/dhcp.leases
dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto

But even though dhcp.lan.enabled=1, it's not really enabled (my devices are relaying on a dhcp attempts across the remote plc device).

You seem to be missing the firewall package. I do not think that you will be able to do any routing or NAT without it (I might be wrong).

In fact there's no sign of any firewall package installed, and indeed I want NAT.

I could install one with opkg, but the update URL is wrong:

# opkg update
Downloading http://downloads.openwrt.org/backfire/10.03.1/brcm947xx/packages/Packages.gz.
wget: server returned error: HTTP/1.1 404 Not Found
Collected errors:
 * opkg_download: Failed to download http://downloads.openwrt.org/backfire/10.03.1/brcm947xx/packages/Packages.gz, wget returned 1.

I started to look manually for that directory to see whether I can edit a .conf to point to the updated URL, but I haven't found brcm947xx on the archive yet:


If I figure this out, maybe I could install the firewall package and config it manually.