New WiFi Router
I decided my WRT3200ACM Linksys WiFi router is garbage. There’s something about the hardware that neither Linksys factory firmware, nor OpenWrt can deal with. It drops a lot of packets.
I bought an Asus AX6000 TUF gaming router, which is kind of embarrassing, but it supposedly works well with OpenWrt.
Gamers seem like the “audiophiles” of years gone by, except instead of being duped by “directional” speaker cables, and DiscWasher, anything with jagged edges, military looking contours, and multi-colored LEDs sucks them in.
The Asus AX6000 looks a bit like a Transformer’s head.
After I plugged it in the first time, the AX6000 definitely had beady little LED eyes. Because I’m not ultimately using the “WAN” port, the AX6000’s beady right eye isn’t on. Ruins the effect, really.
The AX6000’s forehead badge glows different colors, orange, blue and red, during boot. It stays red while in bridging mode, possibly because that means it doesn’t have anything plugged in the “WAN” port, possibly because OpenWrt doesn’t support some LEDs.
Initial load of OpenWrt
The OpenWrt people have you load an initial filesystem (“firmware”), then upgrade to the latest. I’m not sure why they have you do this, but it seems to end up where I want it, even though it’s more work.
I used the “Unsupported TRX file” method of getting OpenWrt on the router, because heaven forbid a gamer has to deal with a command line.
Amusingly, the router’s IPv4 address (192.168.50.1, which is a bit weird) does not show up in your browser’s address box. Instead, the Asus firmware AsusWRT believes that 192.168.50.1 maps to “asusrouter.com”.
Are Internet Protocol v4 addresses now considered “too scary” for people to handle? Given all the other dippy decisions about pushing inside-the-NAT data to outside-the-NAT, it’s not hard to believe that Asus would have their routers send all this to some central point for slicing, dicing and resale. There’s an Asus router “The App”, so you can “manage” your router on your phone, so AsusWRT definitely phones home sometimes.
The “Unsupported TRX file” method involved finding an “upload firmware” link in the incredibly overwrought “asusrouter.com” web interface the factory default firmware provides.
I downloaded a file openwrt-24_tuf-ax6000-initramfs.trx
from an open
Google Docs folder, and uploaded it via that weird link,
then waited until the JavaScript that the router sent to my browser
said to power cycle the router.
The AX6000 came up running OpenWrt, but that procedure seems dodgy. The “official” supported method of getting OpenWrt on an AX6000 involved setting up a TFTP server on a specific IP address, and using the router’s “serial console”. Getting a serial console involves opening Optimus Prime’s head and jury rigging a 3-conductor cable. I’m not willing to do this due to RS-232 trauma, so I went the dodgy route.
Update OpenWrt to 23.05.5
I downloaded the file openwrt-23.05.5-mediatek-filogic-asus_tuf-ax6000-squashfs-sysupgrade.bin
from the AX6000 firmware page
to my Linux laptop.
I connected to the AX6000 via an ethernet cable,
since OpenWrt default installs don’t turn on the radio(s).
ssh root@192.168.1.1
worked like a charm.
Theroot
user ID has no password in the TRX file install.
Once I was logged in as root
, a simple scp
got the “sysupgrade” file
to the AX6000.
The usual OpenWrt sysupgrade
command worked.
sysupgrade -n openwrt-23.05.5-mediatek-filogic-asus_tuf-ax6000-squashfs-sysupgrade.bin
Wait a couple of minutes, and once again ssh
to 192.168.1.1 as “root”,
which didn’t have a password.
Make it into a bridge
I want kea to dole out IP addresses, and I want everything to have controllable IP addresses so they can see my printer. That means bridging all the WiFi routers.
I’m just bridging the radios and the 4 “LAN” ethernet ports. I’m done trying fancy stuff to have the “WAN” port connect to my server via cable. That’s a fools errand, and I never need more than the 4 built-in “LAN” ethernet ports.
Modifying three files and doing a reboot got me what I want.
/etc/config/wireless
config wifi-device 'radio0'
...
option disabled '0' <- changed a '1' to '0'
option country 'US' <- added this line
config wifi-iface 'default_radio0'
...
option ssid 'bongrips4jesus42069' <- changed
option encryption 'psk2'
option key 'KrunkMaster0' <- added
I made the same changes for the radio1
and default_radio1
sections of /etc/config/wireless
/etc/config/dhcp
Added a line option ignore '1'
to sections:
config dnsmasq
config dhcp lan
config odhcpd 'odhcpd'
It’s my belief I’m having dnsmasq
ignore the “lan” bridge
for DNS and DHCP packets,
and have odhcpd
, the IPv6 all-in-one thing do the same.
Without DHCP and DNS from whatever server I cable in to the “LAN” ports,
no DHCP and/or DNS will get done.
/etc/config/network
config interface 'lan'
option device 'br-lan'
option proto 'dhcp'
#option ipaddr '192.168.1.1'
#option netmask '255.255.255.0'
#option ip6assign '60'
I commented out the options that would have given the AX6000
a “LAN” address of 192.168.1.1/24, and made it acquire an IPv4 address via DHCP.
I can configure kea-dhcp4
to give a consistent IP address to the router itself,
so I have shell access to OpenWrt from everywhere inside my house.
I rebooted, and it seems to have worked!