Framework Desktop Ubuntu 26.04 - Wifi not working

Nope, it did not work OOTB. I struggled for days to get everything working properly. But now it’s rolling! Except the back USB4 ports!

Hey :slightly_smiling_face:

Firstly I’d like to thank you all to take time to help me. It’s the first time I use a forum, I usually found the solution myself and I thought people would answer like in a few weeks or so :joy:

Today I booted my Desktop and the wifi worked. I ran sudo dmesg --follow and 20 minutes later, the wifi broke. Here is what happened:

[   12.010830] logitech-hidpp-device 0003:046D:4088.0005: HID++ 4.5 device connected.
[   12.268094] wlp192s0: authenticate with 08:87:c6:4c:ce:c0 (local address=ac:f2:3c:af:06:3d)
[   12.480540] wlp192s0: send auth to 08:87:c6:4c:ce:c0 (try 1/3)
[   12.487794] wlp192s0: authenticated
[   12.491294] wlp192s0: associate with 08:87:c6:4c:ce:c0 (try 1/3)
[   12.510067] wlp192s0: RX AssocResp from 08:87:c6:4c:ce:c0 (capab=0x1411 status=0 aid=3)
[   12.551000] wlp192s0: associated
[   12.554235] wlp192s0: Limiting TX power to 20 (20 - 0) dBm as advertised by 08:87:c6:4c:ce:c0
[   14.771374] kauditd_printk_skb: 242 callbacks suppressed
[   14.771381] audit: type=1400 audit(1785855244.097:256): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6233 comm="fusermount3" capability=1  capname="dac_override"
[   14.771390] audit: type=1400 audit(1785855244.097:257): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6233 comm="fusermount3" capability=7  capname="setuid"
[   14.771497] audit: type=1400 audit(1785855244.097:258): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6234 comm="fusermount3" capability=7  capname="setuid"
[   14.943146] rfkill: input handler enabled
[   15.066981] audit: type=1400 audit(1785855244.392:259): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6537 comm="fusermount3" capability=1  capname="dac_override"
[   15.066991] audit: type=1400 audit(1785855244.392:260): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6537 comm="fusermount3" capability=7  capname="setuid"
[   15.067091] audit: type=1400 audit(1785855244.392:261): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6540 comm="fusermount3" capability=7  capname="setuid"
[   15.519206] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[   15.558469] audit: type=1400 audit(1785855244.884:262): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6826 comm="fusermount" capability=1  capname="dac_override"
[   15.558479] audit: type=1400 audit(1785855244.884:263): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6826 comm="fusermount" capability=7  capname="setuid"
[   15.558496] audit: type=1400 audit(1785855244.884:264): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=6827 comm="fusermount" capability=7  capname="setuid"
[   15.563106] audit: type=1400 audit(1785855244.888:265): apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns create - transitioning profile" profile="unconfined" pid=6855 comm="unshare" requested="userns_create" target="unprivileged_userns" execpath="/usr/bin/unshare"
[   15.567685] rfkill: input handler disabled
[   16.500406] warning: 'ThreadPoolForeg' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
[   19.081237] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   19.081243] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   19.581044] logitech-hidpp-device 0003:046D:407B.0006: HID++ 4.5 device connected.
[  173.257706] kauditd_printk_skb: 51 callbacks suppressed
[  173.257715] audit: type=1400 audit(1785855402.252:317): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17125 comm="fusermount3" capability=1  capname="dac_override"
[  173.257724] audit: type=1400 audit(1785855402.252:318): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17125 comm="fusermount3" capability=7  capname="setuid"
[  173.257836] audit: type=1400 audit(1785855402.252:319): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17126 comm="fusermount3" capability=7  capname="setuid"
[  173.458373] audit: type=1400 audit(1785855402.452:320): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17142 comm="fusermount3" capability=1  capname="dac_override"
[  173.458380] audit: type=1400 audit(1785855402.452:321): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17142 comm="fusermount3" capability=7  capname="setuid"
[  173.458462] audit: type=1400 audit(1785855402.452:322): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17143 comm="fusermount3" capability=7  capname="setuid"
[  173.513135] audit: type=1400 audit(1785855402.507:323): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17153 comm="fusermount3" capability=1  capname="dac_override"
[  173.513145] audit: type=1400 audit(1785855402.507:324): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17153 comm="fusermount3" capability=7  capname="setuid"
[  173.513219] audit: type=1400 audit(1785855402.507:325): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17154 comm="fusermount3" capability=7  capname="setuid"
[  174.291660] audit: type=1400 audit(1785855403.286:326): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=17191 comm="fusermount3" capability=1  capname="dac_override"
[  189.339833] cros-ec-dev cros-ec-dev.2.auto: Some logs may have been dropped...
[  241.377391] kauditd_printk_skb: 1 callbacks suppressed
[  241.377396] audit: type=1400 audit(1785855470.372:328): apparmor="DENIED" operation="open" class="file" profile="/usr/bin/wsdd" name="/usr/share/coreutils/locales/uucore/en-US.ftl" pid=19413 comm="wsdd" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[  267.524061] wlp192s0: Connection to AP 08:87:c6:4c:ce:c0 lost
[  270.585672] wlp192s0: authenticate with 08:87:c6:4c:ce:c0 (local address=ac:f2:3c:af:06:3d)
[  270.603133] wlp192s0: send auth to 08:87:c6:4c:ce:c0 (try 1/3)
[  270.657374] wlp192s0: send auth to 08:87:c6:4c:ce:c0 (try 2/3)
[  270.726647] wlp192s0: send auth to 08:87:c6:4c:ce:c0 (try 3/3)
[  270.789405] wlp192s0: authentication with 08:87:c6:4c:ce:c0 timed out
[  305.486671] audit: type=1400 audit(1785855534.482:329): apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns create - transitioning profile" profile="unconfined" pid=20568 comm="(ubuntu-insigh)" requested="userns_create" target="unprivileged_userns" execpath="/usr/lib/systemd/systemd-executor"
[  305.487188] audit: type=1400 audit(1785855534.483:330): apparmor="DENIED" operation="capable" class="cap" profile="unprivileged_userns" pid=20568 comm="(ubuntu-insigh)" capability=21  capname="sys_admin"
[  305.505304] audit: type=1400 audit(1785855534.501:331): apparmor="DENIED" operation="getattr" class="file" info="Failed name lookup - disconnected path" error=-13 profile="unprivileged_userns" name="" pid=20577 comm="systemd-detect-" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

@EU47 about the dmesg, isn’t it about how it is displayed on your computer ? I doesn’t seem to be the same than me. For example if run sudo dmesg | grep mt7925, here is what it found:

[    4.645122] mt7925e: unknown parameter 'disable_power_mgmt' ignored
[    4.645124] mt7925e: unknown parameter 'bt_coex_enable' ignored
[    4.650556] mt7925e 0000:c0:00.0: ASIC revision: 79250000
[    4.725886] mt7925e 0000:c0:00.0: HW/SW Version: 0x8a108a10, Build Time: 20260106153007a
[    5.084051] mt7925e 0000:c0:00.0: WM Firmware Version: ____000000, Build Time: 20260106153120
[    5.828505] mt7925e 0000:c0:00.0 wlp192s0: renamed from wlan0

Doesn’t it mean that the mt7925e firmware loaded succesfully ? Seems logic considering that I can connect to my box sometimes.

I agree that it could be my distribution’s fault (Ubuntu), but I had exactly the same problem with Fedora 44 :thinking:

@Squiggler I’ll consider trying Gentoo but maybe later. I’ll tell you.
I’ve already pointed to this thread and they asked me some questions. I’ll answer them tonight :wink:

No, your mediatek driver is loading incomplete and older versions of firmware.

Before trying Gentoo, which could be a very big task, I suggest to try SystemRescueCD. It is a distribution based on Arch Linux and made, like it’s name says, to “rescue” systems. You can put it on a USB drive, boot it and keep it working for a while, checking if wifi works properly, although you might need to do some configuration.

Gentoo is not a “click, install and go” distribution, like all other mainstream distros out there. It is something that could take a long time to install a complete desktop, could be very frustrating and make you pull some hairs of your head. If you go that way, they have a good Handbook that you need to follow the first time, until you get experienced. It would help a lot to have an additional machine handy that you can use while completing the Gentoo setup.

I’d agree with @EU47 again here - that debug output is gold, and I’d say you’re well on your way to solving it. I think fixing it from here will be much easier than switching distros.

My initial thoughts on this, bearing in mind that I haven’t had to solve this problem. If you don’t use Wireguard, I would consider disabling it - the noise might be irrelevant, but it does call out Wi-Fi specifically. It is not impossible that this is the solution.

Next, the apparmor thing can probably be resolved. It is failing to get permission for something - you can either stop the request for permission, or grant that permission.

As you can see my mindset is to work through the logs, cleaning up things, even if they are not relevant. “Make your system happy” can have the happy accident of fixing an intermittent issue.

Finally, you may also be able to turn up your networking loglevel, which may give you more information around the Connection to AP ... lost event.