A couple of years ago, I purchased a Netgear WNDR4300SW from a thrift store for $5. With 128MB of flash, and 128MB of RAM it’s pretty decent. More info here: openwrt.org/toh/hwdata/n…. Having an Atheros AR9344, AR9580 2.4GHz:b/g/n 5.0GHz:a/n WiFi chipset makes it a perfect candidate for Linux. The USB 2.0 port makes it possible to USB tether an Android phone. Which will allow us to connect to a 5GHz XfinityWifi hotspot, and rebroadcast it on both the 2.4GHz and 5GHz radios. This can mitigate the 15 maximum number of concurrent clients for the xfinitywifi public hotspots.
- A Netgear WNDR4300SW device, and 12v 2.5a power supply.
- A Linux computer (Ubuntu 18.10) with an ethernet jack
- An Android phone with a 5GHz radio (Nexus 5) with OS that allows USB tethering (LineageOS 14.1)
- Micro USB cable.
- A Cat5/e/6 cable.
- A working internet connection with an ethernet jack free.
- At least one 110v plug free to run the router.
- Incredible patience.
Installing OpenWRT on the WNDR4300SW
- Download the OpenWRT two images from here: openwrt.org/toh/views/to…
- Compile the C Program used to modify the WNDR4300 firmware for the WNDR4300SW. (Thank you to all the fine, smart folks here: gist.github.com/aplocher…) , and modify the WNDR4300 factory firmware with this pasted into a terminal:
wget https://raw.githubusercontent.com/jphein/wndr4300sw/master/patch4300V184.108.40.206SW.c gcc -o 4300sw patch4300V220.127.116.11SW.c chmod u+x 4300sw ./4300sw openwrt-18.06.1-ar71xx-nand-wndr4300-ubi-factory.img
- Reset the router to factory defaults by holding down the reset button with a paperclip for 30 seconds.
- Connect either via ethernet orusing the default SS Use the URL: 192.168.1.1.
I was unable to access the router via telnet using this: wiki.openwrt.org/toh/net…, but thanks to Todd Nestor, I was able to get the default username and password from his article here: toddnestor.com/hacking-t… The stock WNDR4300SW default credentials (username/password) are admin/cciadmin . Upload the factory image using the firmware update feature.
- OR, use the TFTP option here: oldwiki.archive.openwrt….
set a static IP on your computer, i.e 192.168.1.35, and connect the ethernet cable to the router
power on the router
press and hold the RESET button as soon as the switch LEDs light up.
keep holding RESET until the power LED begins to flash orange and then green.
once the power LED is flashing green, release RESET
start the TFTP transfer to router at 192.168.1.1. In your computer execute:
sudo apt install tftp-hpa tftp 192.168.1.1 -m binary -c put openwrt-18.06.1-ar71xx-nand-wndr4300-ubi-factory.img
- log on to openwrt and upgrade using the openwrt-18.06.1-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar
Installing Lineage OS on the Nexus 5
- This is well documented here: wiki.lineageos.org/devic…
- Turn off lock screen
- Enable auto USB tether using Automate: android.stackexchange.co…
- Run the flow, Turn off logging, and check “start running flows on device boot”.
Connecting and Configuring
- Connect smartphone to wifi Hotspot with Micro USB cable.
- Enable USB tethering in router and smartphone: openwrt.org/docs/guide-u…
- Connect router to internet via it’s WAN port
opkg update opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether
uci set network.TetheringWAN=interface uci set network.TetheringWAN.proto='dhcp' uci set network.TetheringWAN.ifname='usb0' uci set firewall.@zone.network='wan wan6 TetheringWAN' uci commit
- Enable Wireless
If later you want to just use the router you can use the 5GHz radio and change the MAC to the authorized Nexus 5. Using: gist.github.com/rcg4u/91…