OpenWrt is a version Linux for routers. We'll build a version for this router. A lot of good information can be found here. One of the limitations of this router is the 4MB Flash, which we'll upgrade; 16MB version costs only about $2. It is possible to upgrade SDRAM to 64MB, which is about $4 or possibly to get from old PC DIMM.
We use OpenWrt V17.01.7, which still has direct support in the config for this router. It uses the buildsystem for LEDE. It downloads all the sources, patches them and builds both host tools and target systems. It took over two hours and almost 8GB to build. It builds some of the common UNIX tools, which seems wasteful but maybe it is the easy way to enforce compatibility. The toolchain is binutils and GCC as usual. musl libc is used as the standard C library; it is supposedly lightweight and fast. It is relatively new, compared to uClibc and newlib. The host tools and the toolchain do not need to build if the configuration changes; the subsequent rebuild takes about 20 minutes.
By holding the reset button while powering up, it enters the factory firmware upgrade mode. I tried to load the firmware through browsers without success. The command line worked,
curl -v --form files=@lede-ar71xx-generic-dir-615-c1-squashfs-factory.bin 192.168.0.1/cgi/indexI could ssh into it. The version that I built did not have a web interface, which probably is not included by default. After including uhttpd, luci-mod-admin-full, etc also removing a few packages, such as ppp, ip6tables, etc to keep the image small, we have the web GUI. We can easily configure the router to bridge the main router. And firmware upgrade can be done through the web GUI using lede-ar71xx-generic-dir-615-c1-squashfs-sysupgrade.bin . Note that accessing web interface is not secure; luci-ssl has to be enabled to use https. The Flash is very close to full; the file system is 2432K and the compressed kernel is 1292K for total about 3724K out of 3776K allocated for the OS.