Linksys E8450 5g radio1 not working

Hey all,
First thank you for taking the time to read this post.

Here is what I have happened.

Two weeks ago I was running 23.05.5 and both the 2.4 and 5gig radio's worked perfectly.

I decieded to update the firmware to teh 24.10 firmware. Being that it wasn't really explained well, I did a load of reading and found that I needed to flash the proper installer before I install 24.10. Problem was that I flashed the wrong file that was supposed to align everything so that 24.10 got flashed to the wrong place and the router stopped working. I was forced to open it up, connect via serial and flash using the software tool so that I can force load the 4 files back to the router. All went well with that, but now I only have radio0 which is the 2.4g radio. The other radio shows up as "Generic" and no matter what I did, it would not turn on the radio.

According to the troubleshooting section for the router, it says that if you lose the 5g radio, there was a bad flash. I've tried reflashing it via serial, flashing via the gui, and nothing at all worked to get the radio1 work at all or be recongized instead of "generic" and it not working.

As I believe I have exhausted all possible ways to bring this to life, I hope that someone has experienced this and has solved the issue or can offer guidance. Thank in advance!

There are two possibilities here. The first is that you're seeing the default behavior on 24.10. If that's the case, then "Unknown" will suddenly show the correct information once you turn on a wireless network that is connected to the radio.

The second is that the factory partition (now a UBI volume on 24.10) was destroyed. This is uncommon except when you flash the wrong file. Sadly, it's far more common when you've flashed the wrong file, and infinitely more common when you go back and forth flashing files randomly in an attempt to recover. If this is the case, you'll see an error indicating that the radio couldn't find its EEPROMs if you search through the system log. To recover from this, you need to restore your factory volume. I hope you followed the instructions on the original 23.x installer and backed up the data from within boot_backup? If so, the factory data is present in the file labeled mtd2. If you haven't, then you'll need to find something to replace it. The main forum topic for the E8450 has a post containing "hard recovery" instructions that will restore completely to 23.x firmware. Those instructions include a link to a surrogate file that can be used if you have truly lost the factory data.

1 Like

Here is what I found in the logs:

Sat Dec 16 17:12:18 2023 kern.warn kernel: [ 7.498150] mt7915e 0000:01:00.0: eeprom load fail, use default bin
Sat Dec 16 17:12:18 2023 kern.warn kernel: [ 7.504614] mt7915e 0000:01:00.0: Direct firmware load for mediatek/mt7915_eeprom.bin failed with error -2
Sat Dec 16 17:12:18 2023 kern.warn kernel: [ 7.514335] mt7915e 0000:01:00.0: Falling back to sysfs fallback for: mediatek/mt7915_eeprom.bin

Can I assume from this information from the log that I will need the hard recovery and surrogate file as I do not have a backup?

Yes, you have it exactly. Those lines confirm that the factory data is gone.

The hard recovery instructions contain the link to the surrogate as well as the instructions on how to modify it with your own MAC addresses. However, the post was designed for 23.05 and older, so the final instruction to write the data will not work on 24.10.

If your router is running 24.10.x or newer, you'll instead have to issue the following command to write the factory data from the U-Boot command prompt:

ubi create factory $filesize static && ubi write $loadaddr factory $filesize

Notes and common complications

The post assumes you have tftp running. Since the factory data is gone, U-Boot won't have a MAC address and will probably refuse to connect to the network until you give it one. (Error: ethernet@1b100000 address is not set) To get rid of this error and connect it to the network again, you can use the following commands:

setenv ethaddr 00:11:22:33:44:55
saveenv

Of course, put your real MAC address in place of the fake one.


If you've been trying to configure and use this router and are running 24.10, you'll first need to remove the rootfs_data volume (ubi remove rootfs_data) or there will be no free space in UBI to write the new volume. Since this process will remove all settings you've made, you may want to backup your settings first if the data is important. This step isn't necessary in 23.05.x or older, because the factory data was saved to an mtd partition instead.

This was perfect using the factory.bin file that I set over to it with tftp. MEGA THANK YOU!!
After sending it over, I flashed via serial the uboot and the preloader files, reset the settings, and reboot it. It rebooted, I'm now able to see the 5g network. THANK YOU!! I checked the log and saw that the Mac address was generated random.

Reading the post where the surrogate file is located, I further read that if I don't want this behavior that I need to set the mac addresses.

Being that I am not very good at this, I'm not sure exactly what I should be putting into these lines:

SETTING THE WAN MAC ADDRESS
mw.b 0x4807FFFA 0xe8
mw.b 0x4807FFFB 0x9f
mw.b 0x4807FFFC 0x80
mw.b 0x4807FFFD 0x00
mw.b 0x4807FFFE 0x00
mw.b 0x4807FFFF 0x00

SETTING THE LAN MAC ADDRESS
mw.b 0x4807FFF4 0xe8
mw.b 0x4807FFF5 0x9f
mw.b 0x4807FFF6 0x80
mw.b 0x4807FFF7 0x00
mw.b 0x4807FFF8 0x00
mw.b 0x4807FFF9 0x01

SETTING THE 2.4 WIFI
mw.b 0x48000004 0xe8
mw.b 0x48000005 0x9f
mw.b 0x48000006 0x80
mw.b 0x48000007 0x00
mw.b 0x48000008 0x00
mw.b 0x48000009 0x02

SETTING THE 5G WIFI
mw.b 0x48005004 0xe8
mw.b 0x48005005 0x9f
mw.b 0x48005006 0x80
mw.b 0x48005007 0x00
mw.b 0x48005008 0x00
mw.b 0x48005009 0x03

If my mac address were to be 80691A34ABC9, how should the lines look for these entires?

And Finally, after I entered each of these lines above, to write it, do I enter this exact command as is or do i need to change anything in the command? "mtd erase factory && mtd write factory 0x48000000 0 0x80000"

Again, I can't Thank you enough!

A MAC address breaks down to a single value with a length of six bytes. Each one of the mw.b commands writes a single byte. Using your example, the WAN MAC address 80691A34ABC9 breaks down into the bytes 80 69 1A 34 AB C9. The command uses the syntax of {memory write byte command} {memory address} {value} Therefore, the first set of commands would be:

mw.b 0x4807FFFA 0x80
mw.b 0x4807FFFB 0x69
mw.b 0x4807FFFC 0x1a
mw.b 0x4807FFFD 0x34
mw.b 0x4807FFFE 0xab
mw.b 0x4807FFFF 0xc9

The remaining MAC addresses are groups of consecutive numbers with each set incremented by 0x01 (remember, it's hexadecimal). Therefore, 0x01 becomes 0x02, 0x09 becomes 0x0a, 0x0f becomes 0x10, and so on. This makes the rest of the commands:

mw.b 0x4807FFF4 0x80
mw.b 0x4807FFF5 0x69
mw.b 0x4807FFF6 0x1a
mw.b 0x4807FFF7 0x34
mw.b 0x4807FFF8 0xab
mw.b 0x4807FFF9 0xca

mw.b 0x48000004 0x80
mw.b 0x48000005 0x69
mw.b 0x48000006 0x1a
mw.b 0x48000007 0x34
mw.b 0x48000008 0xab
mw.b 0x48000009 0xcb

mw.b 0x48005004 0x80
mw.b 0x48005005 0x69
mw.b 0x48005006 0x1a
mw.b 0x48005007 0x34
mw.b 0x48005008 0xab
mw.b 0x48005009 0xcc

If you followed the whole procedure to restore to 23.05, then the factory data is stored in an MTD partition. In that case, yes, you would use the line as written in the post to erase and then write the data into the MTD partition.

Please make sure you have loaded the file fresh into memory immediately prior to performing the edits. For the process to work, it must happen in order and without anything else happening in between the commands. You need to start with loading the file into memory, then issue the editing commands, and then write the data from memory into flash all in sequence and as a single process. If something else is done in between commands, it could change what's in memory and then that could corrupt the data prior to it being written.

1 Like

I have a followup question on this.

I tried to set the mac address as per the instructions but now I am not able to write to the router anything.

So I tried to use the setenv ethaddr command and get an error: can't overwrite "ethaddr"
Also Im getting an error "address not set" when trying to send factory.bin file to the router.

Any ideas on how to be able to write to the router again?

The fact that it's telling you that you can't overwrite it suggests that it already has a MAC address saved in U-Boot. Can you use tftp without setting and saving the address? Setting the address should only need to be done once, when first starting the recovery process.

The fact that it's then saying the address isn't set is very odd indeed. It suggests there may be bad data that it picked up in place of a MAC address. Since that particular variable is write-once, you'll need to force set the proper value with the -f flag, like below:

setenv -f ethaddr 00:11:22:33:44:55
1 Like

The -f flag worked and I was able to write to it.

Now Im attempting to hard write the mac address using the mw.b 0x4807FFFA 0x80 and it says:
"unknown command 'mw.b' - try - help.

Any ideas on a way around that error?

Crap. It looks like the version of U-Boot you have on that router doesn't have the memory write command. There is a way around it, but you'll need to edit the file on your computer with a hex editor instead and then upload the file to the router with the changes already made. To convert from memory addresses to file offsets, simply ignore the leading 0x48 from the address. In other words, the file offset for the WAN MAC address is 0x07FFFA instead.

Seems as though putty doesnt like the copy / paste function and it was kicking it back to me and giving me the errors. Once i manually typed it, it didnt return an error!
Just for anyone following this thread, i did this:
I first sent over again the donor factory.bin file

tftpboot 0x48000000 factory.bin

I wrote it using the comment :

mtd erase factory && mtd write factory 0x48000000 0 0x80000

I was able to manually each mw.b line for setting manually the mac address.
I entered it all, then I sent the command:

mtd erase factory && mtd write factory 0x48000000 0 0x80000

I rebooted it and I checked the logs...I think we are good as it is no longer showing random generated mac addresses and both the radios are now working.

I guess here is the final few things that I and anyone else following this thread should consider now doing:

  1. Make a backup that can be flashed back to get back to this exact state.
  2. Upgrade to 24.10.1
  3. Make a backup of my factory.bin file as it should now have written into it the proper mac address?? I used the donor one, but wrote all the mac entires...is this now a good file for me to grab from my router just in case or will i have to edit it again and enter all the lines again manually for setting the mac addresses if I had to flash the factory.bin file?
  4. From what I gathered from reading the forums, there is a file that I need to flash (i think it is a recovery--please correct me if I'm wrong here) that will align all the partitions/file structure that will allow for 24.10 to be flashed correctly. Not sure, but if I can be pointed to the correct file, that would be excellent.
  5. Is it true that this "alignment" file should be flashed via the luci gui, reboot, then flash a sysupgrade of the 24.10 file and all should be good or is there a few steps missing?

Many thanks for the hand holding and walking me through this all.

Ok, that's a good sign. It looks like it must have been the copy/paste that altered the commands.

As for the backup, the only real one you will need is the edited factory data. With that backed up, you'll always be able to recover the router. You can back this file up right from luci if it's easier for you; It's listed under the mtdparts section of the firmware flash page. Doing this after upgrade to 24.10 is harder.

Correct, you need to install the new UBI installer in order to get everything ready to run 24.10.

The file you need is: https://github.com/dangowrt/owrt-ubi-installer/releases/download/v1.1.4/openwrt-24.10.0-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery-installer.itb
Once you've run the installer and it has booted up, you'll need to install the real sysupgrade file for 24.10.1 and then you'll be good to go.

1 Like

PERFECT!!! That worked perfectly!

Again, thanks a million! I almost tossed this router in the trash earlier, but with your help its working perfectly! :man_bowing: :raising_hands: :partying_face:

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