[SOLVED] Wi-Fi Dropping on FW 13 w/ Ubuntu (AMD)

I deleted the mediatek directory inside /lib/firmware/updates and rebooted but unfortunately I still don’t have the new firmware.

Here is the output of tree /lib/firmware like you asked on the bug report on launchpad.net:

I also moved the bin files into /lib/firmware/mediatek before to get the firmware to manually update. But I am afraid to do damage if I try deleting something again.

We may have made some progress on this over on the Launchpad thread! By upgrading the firmware for the MT7922 wireless card as well as the MT7961, two of us have managed to at least get newer firmware running.

This was first reported by Harry Mayrhofer. I got similar results with a version of Harry’s procedure, which I’ve written step-by-step instructions for. Once again, the new strategy was suggested by Mario Limonciello.

I’ll watch my wireless connection to see if it’s behaving better. I’d love to hear from anyone else who tries this—especially people whose systems are closer to the Ubuntu 22.04 defaults.

1 Like

Thank you for the detailed instructions, they worked for me!

I also wanna thank Harry Mayrhofer as well as Mario Limonciello!

Now to explain what exactly I did to get my wireless card to update.

First I opened the Ubuntu app Software & Updates, went into Developer Options and ticked the box, that says Pre-released Updates (jammy-proposed).

Then, I went into the terminal and entered sudo apt update sudo apt-get install linux-firmware/jammy-proposed.

After that, I disabled Pre-released Updates (jammy-proposed) again.

Then I entered sudo rm /lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin sudo rm /lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin into the terminal to remove any outdated versions of the wifi card firmware.

And finally, I entered cd /tmp wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_RAM_CODE_MT7922_1.bin

sudo mv WIFI_MT7922_patch_mcu_1_1_hdr.bin /lib/firmware/mediatek/ sudo mv WIFI_RAM_CODE_MT7922_1.bin /lib/firmware/mediatek/

sudo update-initramfs -u

After I rebooted and ran sudo dmesg | grep mt7921e I got build times starting with 2023 instead of 2022 like before, indicating that the new Mediatek Wifi card firmware has loaded.

I will test my Wi-Fi for a day and if it doesn’t drop, I will consider the issue solved :slight_smile:

3 Likes

Just back from a long weekend (off Thurs and Friday, through the weekend).

Delighted to see the bug report progress on launchpad and here as well. This is going to be tested today and if I can replicate success, will smooth this out for the existing docs as well.

Appreciate everyone’s hard work on this! :raised_hands:

Testing will happen today through tomorrow for adaptation into the Ubuntu guide.

1 Like

Anyone on the latest firmware experience this by chance?

Nope, luckily not.

So, it seems like the tag can be changed to [SOLVED]!

Since yesterday’s update my Wi-Fi works perfectly. No drop-outs!

Thanks again everyone for your support :slight_smile:

2 Likes

Awesome and confirmed. I made something easier to use. Props to @Max_Power for doing the leg work on the needing to vanish old firmware files - tested it both ways, they do need to go. So the one liner is paste and go, reboot, done.

Copy, paste, enter key a few times, reboot, profit. This enables Jammy proposed, installs linux-firmware/jammy-proposed, disables Jammy proposed. Then it deletes the old firmware, updates initramfs. No GUI needed.

Just reboot after.

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jammy-proposed main restricted universe multiverse"  && sudo apt update && sudo apt install linux-firmware/jammy-proposed && sudo sed -i 's/^deb http:\/\/archive.ubuntu.com\/ubuntu\/ jammy-proposed/# &/' /etc/apt/sources.list && sudo apt update && sudo rm /lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin && sudo rm /lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin && cd /tmp && wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin && wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_RAM_CODE_MT7922_1.bin && sudo mv WIFI_MT7922_patch_mcu_1_1_hdr.bin /lib/firmware/mediatek/ && sudo mv WIFI_RAM_CODE_MT7922_1.bin /lib/firmware/mediatek/ && sudo update-initramfs -u

Check with:

sudo dmesg | grep mt7921e

Build time in dmesg confirms this worked. 20230627143702a and 202330627143946

Also tried it without deleting old firmware, no go - must follow all the steps and reboot, works.

Script tested on two FW 13 AMD units, success both times.



If you used the one liner above, you do not need to do this. Using this option is for those who want to do this step by step and understand what each step does - casual to new Linux users, please use the above oneliner as it prevents typos.

If you prefer step by step as an alternative (slower):

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jammy-proposed main restricted universe multiverse"
sudo apt update && sudo apt install linux-firmware/jammy-proposed 
sudo sed -i 's/^deb http:\/\/archive.ubuntu.com\/ubuntu\/ jammy-proposed/# &/' /etc/apt/sources.list
sudo apt update && sudo rm /lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin
sudo rm /lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin
cd /tmp
wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin
wget https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_RAM_CODE_MT7922_1.bin
sudo mv WIFI_MT7922_patch_mcu_1_1_hdr.bin /lib/firmware/mediatek/
sudo mv WIFI_RAM_CODE_MT7922_1.bin /lib/firmware/mediatek/ && sudo update-initramfs -u
2 Likes
sudo apt update && sudo apt install linux-firmware/jammy-proposed 

This step currently fails with:

Package linux-firmware is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or
is only available from another source

However the following packages replace it:
  firmware-sof-signed

E: Release 'jammy-proposed' for 'linux-firmware' was not found

Currently trying to understand why I’m seeing this. Using 6.5.0-21-generic with 22.04.04

Update: After running apt policy linux-firmware and apt search linux-firmware which resulted in no references to jammy-proposed repo - I found that I could look into the proposed updates and that it was deleted on March 8. UbuntuUpdates - Package "linux-firmware" (jammy 22.04) and was moved to jammy-updates

In that case, is none of the above necessary anymore? The wifi driver should automatically be updated by doing apt-upgrade? My wifi driver has updated to the correct build time but I’m not sure which action triggered it.

Welcome to the community!

We do not test against generic, we test against OEM D from our guide.

There may have been an update here, I will circle back tomorrow and see if it’s has made its way out of proposed.

In tickets, A user named Thomas was kind enough to share these steps working for him, just copy/pasting here.

Stage files in case things go horribly wrong

UPDATE_DIR=“wifi-firmware-update”

mkdir -p $UPDATE_DIR/{old,new}

cd $UPDATE_DIR

Fetch the new firmware

wget -P new https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin

wget -P new https://gitlab.com/kernel-firmware/linux-firmware/-/raw/0a18a7292a66532633d9586521f0b954c68a9fbc/mediatek/WIFI_RAM_CODE_MT7922_1.bin

Save the old firmware

cp /lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin old/

cp /lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin old/

Remove the old firmware

sudo rm /lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin

sudo rm /lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin

Copy the new firmware into place

sudo cp new/*.bin /lib/firmware/mediatek

Update initramfs

sudo update-initramfs -u

3 Likes