OpenWrt on Linksys Velop WHW03 V1

The mystery of the Belkin heartbeat illustrates what kind of bullshit companies will pull if you buy into their proprietary software, and let them get away with demanding that you run everything through “The App”.

The experience made me check if OpenWrt is available and runs on Linksys Velop hardware.

This post isn’t an installation guide, the OpenWrt docs are good enough, but rather a reminder of what unusual things I did for my particular network.

I upgraded the Velop with address 10.0.10.77 in the Belkin heartbeat post.

I was able to install new firmware by visiting the URL https://192.168.1.1/fwupdate.html with the Firefox web browser. I had a cable connection between the Velop’s “LAN” port (right hand RJ45 socket when viewing the bottom of the WHW03 with the writing right side up) and my laptop. The ethernet interface on my laptop acquired a 192.168.1.0/24 address and the appropriate route from the Velop’s factory firmware. You can upload any old file, but you only get a message about a “OK format” or “OK checksum” or something with a valid format file.

Initially, I thought I had Linksys WHW03V2 Velops. I failed to get my Velop to boot WHW03V2 firmware image. Luckily, the superstition of 3 cycles of “power off, wait 2 seconds, power on” always get you back to the factory firmware. As I understand it, power on, wait 2 seconds, power off, causes a count of failed reboots to get incremented. When the count hits 3, you get the factory firmware. It only appears superstitious, which I, as a rational empiricist, appreciate immensely!

I tried installing a number of versions of OpenWrt for WHW03V2 Velops, none of which worked. Then, I realized I probably have a WHW03 V1 Velop, because I bought my Velops in 2020, and the WHW03V2 was released in 2023. There was no “V1” or “V2” or other indication on the stickers on the bottom of my Velop. I will make better verification of hardware version in the future.

After finding the WHW03 V1 info, I was able to install a snapshot image someone mentioned in the OpenWrt forums. I should have looked for an official WHW03 V1 page, because that seemed sketchy. In any case, I only ran the snapshot long enough to ssh to OpenWrt root shell, download an OpenWrt 24.10 firmware image from the correct web page, and then do a sysupgrade to 24.10.

/etc/config/network

I modified this file to make a better “bridge”, so that my Dell R530 can serve DNS and NTP, and I can ssh to any of my machines, and use my printer from any WiFi access point. NAT kind of sucks, too.

config device                                 
        option name 'br-lan'                  
        option type 'bridge'
        list ports 'lan'    
        list ports 'wan'     <-- added this line
                            
config device           
        option name 'lan'
        option macaddr 'c4:41:1e:4e:37:f5' <-- added this line

                                          
config interface 'lan'                    
        option device 'br-lan'            
        option proto 'dhcp'                <-- added this line
        #option ipaddr '192.168.1.1'       <-- commented out
        #option netmask '255.255.255.0'    <-- commented out
        #option ip6assign '60'             <-- commented out

I gave a MAC (“ethernet”) address to the LAN port that was only one nibble off of the MAC address assigned to the WAN port. I wasn’t sure why the LAN port didn’t get one. Possibly without assigning one explicitly, you just get whatever the hardware manufacturer gave it.

If you want to be able to ssh to your WHW03V1 Velop, you’ll have to plug your cable into the “LAN” port, which for me was the RJ45 port on the right, if the labeling was right-side-up.

/etc/config/wireless

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'get in loser'
        option encryption 'psk2'
        option key '#mYG7&^1Lx'

I change the option ssid to my liking, made it use “psk2” encryption, whatever that is, it’s what used on my OpenWrt One and my AX6000 and it seems to work.

I also set option disabled '0' for all 3 config wifi-device 'radioX' sections. Yes, the Velops have 3 radios. Maybe that’s how they backhaul to another Velop when doing mesh networking.

The way I modified /etc/config/network, both RJ45 ports are “bridged” together with the radios.

Odd Occurrence

I’m pretty sure that when I plugged a cable between the factory firmware Velop and my laptop, I did not have a cable in the WAN port. IP packets seemed to flow from the Velop I was messing with to somewhere else. The obvious guess here is that the Velop I was upgrading set up mesh networking with one of the two other Velops I have running. I’m going to have to watch to see if that really happens when I put OpenWrt on my other 2 Velops.