Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


Sidebar

products:maker-kit:mind-2-ai-maker-kit:troubleshooting:fix-wifi

This is an old revision of the document!


Fix Ubuntu Wi-Fi

For some reasons current Ubuntu 22.04/24.04 LTS with Linux kernel 6.8 doesn't support the Intel AX211 Wi-Fi module, so you need to use the backport-iwlwifi driver to make the Wi-Fi work.

Preparation

As you need to download the Wi-Fi driver and firmware from the internet, so you need a USB ethernet adaptor to access the network.

Download and install the Wi-Fi driver

Follow the steps below to download the Wi-Fi driver:

$ sudo apt update
$ sudo apt install -y git build-essential gcc-12 net-tools
$ cd ~/Downloads
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git -b release/core91 --depth=1

Build and install the Wi-Fi driver:

$ cd ~/Downloads/backport-iwlwifi
$ make defconfig-iwlwifi-public
$ make -j10
$ sudo make install
$ sync

Updatel the Wi-Fi firmware

You also need to follow the steps below to update the Wi-Fi firmware:

$ wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-bz-b0-gf-a0-94.ucode -P /tmp
$ wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-bz-b0-gf-a0.pnvm -P /tmp/
$ sudo cp /tmp/iwlwifi-bz-b0-gf-a0* /lib/firmware/
$ sync

Then you need to reboot your device to take effect.

$ sudo reboot

Check Wi-Fi status

After reboot, you can check the kernel log about the Wi-Fi driver.

$ sudo dmesg | grep iw
[    1.466177] Loading modules backported from iwlwifi
[    1.466183] iwlwifi-stack-public:release/core91:12629:813fd3c6
[    1.526533] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    1.545348] iwlwifi 0000:00:14.3: Detected crf-id 0x400410, cnv-id 0x1080900 wfpm id 0x80005b20
[    1.545364] iwlwifi 0000:00:14.3: PCI dev a840/0094, rev=0x461, rfid=0x2010d000
[    1.545366] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 7 BE201 320MHz
[    1.554165] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.4.191
[    1.554464] iwlwifi 0000:00:14.3: loaded firmware version 94.62990553.0 bz-b0-gf-a0-94.ucode op_mode iwlmvm
[    2.082992] iwlwifi 0000:00:14.3: loaded PNVM version da3b5cf2
[    2.101329] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[    2.165121] iwlwifi 0000:00:14.3: base HW address: b0:dc:ef:58:db:3f
[    2.245760] iwlwifi 0000:00:14.3 wlo1: renamed from wlan0
[    2.643634] iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 0

Check Wi-Fi node, if you can find the wlo1 node that means your Wi-Fi works.

$ ifconfig wlo1
wlo1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b0:dc:ef:58:db:3f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

In the end

The Linux kernel 6.11+ already supports the AX211 Wi-Fi module, so in the future once we get the Ubuntu official kernel update to 6.11+, the Wi-Fi will work and no need the steps above.

Last modified: 2024/12/27 04:53 by nick