0

I had download the firmware and copy to the /lib/firmware folder on Intel ax201 firmware

download link

How to config CONFIG_FW_LOADER definition on your kernel's .config. to enable ax201 on iwlwifi module ?

OS:Ubuntu 20.04.3 LTS

Kernel version:5.11.0-40-generic

laudai
  • 51
  • 1
    You're asking about an non-updated or unpatched Ubuntu 20.04 system using an unsupported kernel. I'd suggest applying all upgrades; as the moment you do apply them, your kernel won't be used & any kernel modules (drivers) you've added will need to be re-applied; as Ubuntu 20.04 LTS using the HWE kernel hasn't used the 5.11 kernel in some time. – guiverc Apr 27 '22 at 07:40

2 Answers2

2

So I had a related issue just now on Ubuntu 23.10 using the Beelink S12 Pro. I could not for the life of me get wifi or bluetooth to work. I tried all the logging commands you'll find while researching this topic and I kept seeing errors around missing firmware, my device was seeing either AX101 or a generic Intel Adaptor depending on which logs I checked. (Note from later, it appears I do actually have AX101, it is incredibly difficult to determine this from Beelink docs)

After way too many hours lost to this problem, I came to an understanding of what was going on and found a solution. I am leaving it on this thread for posterity in case anyone else finds themselves in a similar situation.

Essentially, what you need to know is that there are 2 major components at work here - the driver and the firmware. The driver is iwlwifi and the firmware is all the various .ucode files you'll find in /lib/firmware/

My understanding is that the driver has a number of pre-defined firmwares it looks for depending what adapter it detects. What's happening in this case is that the driver is detecting a relatively new adapter that doesn't have matching firmware in the linux-firmware package that is bundled with Ubuntu. You're gunna read a bunch of stuff about making sure your kernel is above 6.2, and maybe that's the case if you're using some old-ass kernel in 2023 but it's a red herring.

What you need to do is go to this page: https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi and look for the linux-firmware package maintained by intel (iwlwifi/linux-firmware) and clone the git repo to your computer. For good measure in my own case, I also copied the latest release of the regular linux-firmware that wasn't on apt yet, but I believe that to be optional (this isn't on the intel page, you have to find it on google). There are 4 packages there, and I believe the backports one only to be necessary on older kernels, and fixes/next to be active development-related and unhelpful to us here.

From there, you'll find a section on the Intel page that has the command: cp iwlwifi-*.{ucode,pnvm} /lib/firmware/ followed by the instruction "load the driver". It's kind of cryptic and confusing exactly what to do, but basically all you need to do is cd into the git repo(s) you cloned and run that command as sudo overwriting all the intel firmware files in the /lib/firmware/ folder. I did the intel managed one first, then the official package as it seems much more recently maintained. Then reset your computer.

This will replace all the intel firmware with good firmware and your wifi should work now! Sadly this did not fix the bluetooth for me, but one problem at a time I suppose.

I hope this helps some frustrated soul in the future. Good luck!

Edit: It turns out you can use the same solution to fix bluetooth as well if you see the following in your logs.

First run this command: sudo dmesg | grep -i blue

If you see something in there about a missing firmware file called intel/ibt-0040-1050.sfi (or similar) all you need to do is go back to the linux-firmware repo you cloned (I just used the latest one, not the iwlwifi one) and run this command: sudo cp intel/ibt-* /lib/firmware/intel/ (double check your file paths obviously).

Second Edit: I'm back as I booted up the other day and my wifi was once again broken! It turns out even with the fix above Intel has shit support on linux for wifi 6. To determine if you have the same problem, check to see if your router is a wifi 6 router. If it is, run the following command and look for this error: Microde SW error detected. Restarting 0x0.

sudo dmesg | grep iwlwifi

If you see it, the solution is to disable wifi 6 on your device by doing the following:

  1. Open this file with your favourite editor as root: /etc/modprobe.d/iwlwifi.conf
  2. Write and save this to the bottom of the file: options iwlwifi disable_11ax=1
  3. Run sudo update-initramfs -k all -u
  4. Reboot your computer

That should fix it!

Hopefully that is my last edit and I never have to return to this comment. Good luck to whoever finds this.

ryanovas
  • 131
  • Which firmware version in particular did you use? I have been trying and most won't do the trick (on the bluetooth front) for me. – jogarcia Feb 08 '24 at 16:32
  • 1
    @jogarcia whichever one was latest in the repo from the intel site. The package that contained the wifi drivers also contained the bluetooth drivers.

    edit: this repo https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git

    – ryanovas Feb 16 '24 at 04:14
0

Finally find the config path in /boot/{kernel name}.

The default CONFIG_FW_LOADER setting is y.

So this is not the reason cause can't use ax201 on Ubuntu 20.04. I need try other way to fix this problem.

laudai
  • 51