Trouble with Wi-Fi on Belkin RT3200 & 23.05.0-rc2

I successfully installed OpenWrt 22.03.5 on my Belkin RT3200. I believe I converted it a while ago to non-UBI, since I don't plan to use vendor firmware. Update: the router is still UBI... I wasn't using it in production, so I didn't really test it very hard. However, I was able to connect to its 2.4GHz wifi just fine.

I decided to upgrade to 23.05.0-rc2. I used Attended Sysupgrade and the process went smoothly. However, I can no longer get the radios to work. I can connect to Ethernet, so I have full LuCI and SSH capabilities.

The problem I have is that I configure the radios with LuCI (simple SSID, no encryption) and click Enable. No error indications appear, however my laptop cannot see that new SSID.

What other troubleshooting information could I provide? Many thanks.

Are you sure about non-UBI? The toh indicates non-UBI is no longer supported, and recommends UBI if you don't plant to go back to stock. This may be the first thing to get sorted out.

Beyond the standard advice to try a reset to defaults, my only other thought would be to try snapshot. I just flashed an RT3200 to current snapshot (UBI) keeping settings and WiFi is up and working on both bands. The statistics graphs won't set up, but I know from experience I need to reset to defaults to fix that.

You're right - it is still UBI - I got it backwards. The router Status page shows Model: Linksys E8450 (UBI). The label on the bottom shows it's a Belkin RT3200, and the LuCI pages says it's running 23.05.0-rc2.

I reset to factory setting using firstboot && reboot now

I attempted to reconfigure the wireless: here's the LuCI screen. Only the 2.4GHz wifi is shown (no 5Ghz) and it says Device is not active And none of my devices can see the "Belkin-HBTL" SSID

Here's the /etc/config/wireless file (Note that there's no 5g section.)

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/18000000.wmac'
	option channel '1'
	option band '2g'
	option htmode 'HT20'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'Belkin-HBTL'
	option encryption 'none'

Finally, I also tried to install a SNAPSHOT version: I went to the Mediatek MT7622 page at: https://downloads.openwrt.org/snapshots/targets/mediatek/mt7622/ and retrieved the linksys_e8450-squashfs-sysupgrade.bin image. Here's the error message I see:

What other information could I provide? Thanks.

Rich, that looks like the non-UBI image, I think you want this one:
https://downloads.openwrt.org/snapshots/targets/mediatek/mt7622/openwrt-mediatek-mt7622-linksys_e8450-ubi-squashfs-sysupgrade.itb

The original issue sounds like some of the wireless config was carried over from the 22.03. I had the same issue on one when I migrated from 22.03 to snapshot earlier this year (Feb?) and the device PHY names had changed, so I had to do a complete from-scratch install. In retrospect, I suspect I could have gotten away with deleting /etc/config/wireless and rebooting, but I didn't try that although you might want to.

2 Likes

Newer kernels can't understand the flash partition that contains wireless calibration, thus the radio (at least 5 GHz) cannot be brought up. This is because at the factory the partition was not written with proper ECC metadata. The djangowrt installer (new versions) will reformat it to work properly.

The only type of image that is now supported is UBI. UBI is better as it gives access to more flash space.

1 Like

This was how I installed OpenWrt on my RT3200 as well. I started with UBI and stayed put.

1 Like

Thanks for all this advice. It sounds as if I should:

  • run the djangowrt dangowrt installer to reformat the flash https://github.com/dangowrt/owrt-ubi-installer
  • Use the ubi firmware image (I was surprised at the .itb suffix, so I went with the (wrong, but familiar) .bin suffix)
  • rm /etc/config/wireless

And then I should be on the air. True? Thanks again.

Update: fixed name of the installer

2 Likes

And could someone provide a link to the djangowrt installer? My google-fu doesn't seem to be working today. Thanks

There you go: https://github.com/dangowrt/owrt-ubi-installer
Btw- I belive "dango" is abbreviation from the name of the developer Daniel and not django :slight_smile:

1 Like

Yes I had the name wrong.

1 Like

If you have once run the UBI installer, it should normally be enough. As the router status shows UBI, you already have the UBI variant.

The only exception might be if you have originally ran the installer before August 2021, so that the installer (v0.52 or earlier) was not yet adapted to the new nand flash driver that was implemented in August 2021. The installer was then modified to read and rewrite the WiFi data with ECC applied.

If your router has been orinally installed earlier, then you might really need to rerun the installer to fix the ECC.

One possibility might be to enter the initramfs recovery instance provided by the UBI variant, and use that to flash the normal sysupgrade image.

Ps. Does your system log actually show ECC errors? And does dmesg show kernel errors about 5 GHz radio init?

1 Like

Why are you deleting the wireless config to get on the air? Perhaps a trick I don't know.

My experience has been that the default wireless configuration sets wireless to disabled. I enable wireless by editing /etc/config/wireless with vi to change option disabled to option disabled '0', or I use LuCI to enable wireless.

When /etc/config/wireless is found to not exist during boot, the firstboot script will probe the wifi drivers to regenerate a skeleton config (with wireless disabled) that meets the proper syntax for the OpenWrt version running. Then this file can be edited or the GUI used to start up wireless. This can be important if you have tried to keep settings while upgrading between major versions, which is not recommended in the first place.

If the new config does not contain both radios, something is wrong with the drivers, the cailbration data, or the hardware itself.

3 Likes

@mk24 Thanks for the info - I got a little farther: I installed a SNAPSHOT on my Belkin RT3200, installed LuCI, and then rm /etc/config/wireless and rebooted. I'm using:

Powered by LuCI Master (git-23.158.78004-23a246e) / OpenWrt SNAPSHOT (r23578-e9911f10e4)

After configuring and enabling both (no encryption) I now have 2.4GHz working, but not 5GHz. See below. Thoughts? Many thanks.

I see this in the Wireless page:

Here's the contents of /etc/config/wireless

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option phy 'wl0'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'XXXXX
	option encryption 'none'

config wifi-device 'radio1'
	option type 'mac80211'
	option phy 'wl1'
	option cell_density '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'XXXXX5'
	option encryption 'none'

This is odd. I just tried it on my RT3200 running 23.05.0-rc2 and got this as the default device section:

config wifi-device 'radio1'
        option type 'mac80211'
        option phy 'wl1'
        option channel '36'
        option band '5g'
        option htmode 'HE80'

Testing this a little, the option band '5g' setting is essential for the 5 GHz radio to come up and work. Apparently the default for band is 2g which means the 2 GHz radio can operate without an option band line, but that is likely to break later.

To this also add option country with your actual country, the same country on both radios. And you almost always want legacy_rates 0 on the 2 GHz radio (it has no effect on 5 GHz) and a cell_density setting.

Thanks for the tips on /etc/config/wireless. I don't know how that file got in that state: As I said above, I rm /etc/config/wireless then reboot. I then used LuCI to configure the wireless which resulted in what I showed above.

I added the options you suggested, and both 2.4GHz and 5GHz file work for me with this file:

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option phy 'wl0'
	option cell_density '0'
	option band '2g'
	option channel '11'
	option legacy_rates '0'
	option country 'US'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'XXXXX'
	option encryption 'none'

config wifi-device 'radio1'
	option type 'mac80211'
	option phy 'wl1'
	option cell_density '0'
	option band '5g'
	option country 'US'
	option channel '149'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'XXXXX5'
	option encryption 'none'

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.