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.

Asus AX6000 vs Optimus Prime’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!