Ubuntu on 2022 Razer Blade 14'' with 3070 Ti | Razer Insider
Skip to main content
I've recently bought the new [2022 Razer Blade 14'' with 3070 Ti](https://mysupport.razer.com/app/answers/detail/a_id/5924/~/at-a-glance:-razer-blade-14-(2022)-|-rz09-0427x).



Unfortunately after installing Ubuntu 22.04 Desktop I've quickly come to realize that neither WiFi nor BT are working.



Information below:



```

uname -a

Linux surveily-wt-04 5.18.0-051800-generic #202205222030 SMP PREEMPT_DYNAMIC Sun May 22 20:33:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux


```



```

sudo lspci -vqk -s 02:00

02:00.0 Network controller: Qualcomm Atheros QCNFA765 (rev 01)

Subsystem: Lite-On Communications Inc Device a82d

Flags: bus master, fast devsel, latency 0, IRQ 106, IOMMU group 13

Memory at fc200000 (64-bit, non-prefetchable) [SIZE=2M]

Capabilities: [40] Power Management version 3

Capabilities: [50] MSI: Enable+ Count=32/32 Maskable+ 64bit-

Capabilities: [70] Express Endpoint, MSI 00

Capabilities: [100] Advanced Error Reporting

Capabilities: [148] Secondary PCI Express

Capabilities: [158] Transaction Processing Hints

Capabilities: [1e4] Latency Tolerance Reporting

Capabilities: [1ec] L1 PM Substates

Kernel driver in use: ath11k_pci

Kernel modules: ath11k_pci


```

```

sudo dmesg | grep ath

[ 0.000000] Linux version 5.18.0-051800-generic (kernel@kathleen) (gcc (Ubuntu 11.3.0-3ubuntu1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #202205222030 SMP PREEMPT_DYNAMIC Sun May 22 20:33:46 UTC 2022

[ 2.287214] ath11k_pci 0000:02:00.0: BAR 0: assigned [mem 0xfc200000-0xfc3fffff 64bit]

[ 2.287231] ath11k_pci 0000:02:00.0: enabling device (0000 -> 0002)

[ 2.287642] ath11k_pci 0000:02:00.0: MSI vectors: 32

[ 2.287658] ath11k_pci 0000:02:00.0: wcn6855 hw2.1

[ 3.459225] ath11k_pci 0000:02:00.0: chip_id 0x12 chip_family 0xb board_id 0xff soc_id 0x400c1211

[ 3.459229] ath11k_pci 0000:02:00.0: fw_version 0x110d8c35 fw_build_timestamp 2022-01-27 04:01 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3

[ 3.466553] ath11k_pci 0000:02:00.0: failed to fetch board data for bus=pci,vendor=17cb,device=1103,subsystem-vendor=11ad,subsystem-device=a82d,qmi-chip-id=18,qmi-board-id=255 from ath11k/WCN6855/hw2.1/board-2.bin

[ 3.466588] ath11k_pci 0000:02:00.0: failed to fetch board-2.bin or board.bin from WCN6855/hw2.1

[ 3.466599] ath11k_pci 0000:02:00.0: qmi failed to fetch board file: -2

[ 3.466599] ath11k_pci 0000:02:00.0: failed to load board data file: -2


```



Can anyone help me with resolving this issue?



Edit: I tried Ubuntu 18.x, 20.x, 21.x, 22.x and fedora 36 with all various kernels and it all shows the same errors. Looks like only Windows has the drivers for the recent hardware.



Edit: I tried copying the drivers from https://github.com/kvalo/ath11k-firmware but its for WCN6855 and not the WCN6856 in my Blade 14''.

Did anyone get Linux to detect USB4 after the optional Razer firmware update? Windows works fine.


Ubuntu 22.10 + kernel 6.1 and 6.2 the mike works fine!


Will check it out as soon as possible on Ubuntu 22.10
fyi, the patch for the digital mic was upstreamed and at least on Fedora 38 (prerelease) with kernel 6.2.0-0.rc4 it works out of the box.

i assume this will be the same for any system running a 6.2 kernel.

enjoy
Awesome thanks!
surveily
Right, so I will now figure it out how to do the same on Ubuntu/Debian. Thanks!


i mostly based the fedora stuff on this article https://www.collabora.com/news-and-blog/blog/2021/05/05/quick-hack-patching-kernel-module-using-dkms/ which was written for ubuntu 🙂
Right, so I will now figure it out how to do the same on Ubuntu/Debian. Thanks!
surveily
I just need a general idea of what needs to be done. The exact steps I can probably Google. Unless you want to make me a gift for Christmas ;)


in general you want to download your kernel sources, and rebuild module snd_soc_acp6x_mach with the above patch. i assume you do not compile your own kernel, but use the one shipped with your distro. you should be on a fairly recent kernel, and the above module should already be loaded (verify by running command 'lsmod | grep acp6x'), so the only thing we need to do is replace it :)



depending on your distribution this might be tricky. if you build a module from vanilla source code, even if the version matches your kernel, it will fail loading as the signing will be slightly different from the kernel shipped with your OS.



on fedora, the easiest way to build out of tree modules, or patch and replace in tree ones, i find is using dkms.

code:
sudo dnf install dkms


you also need your kernel-devel or whatever equivalent development package your distro provides as prereqs.



i put the above patch in a source folder, create some dkms scrips to pull the kernel sources from vanilla, patch the sources, but build against the OS installed kernel headers. below scripts might need to be adjusted for your kernel version. (make sure to make patch.sh executable)



code:
[wim@fedora snd_soc_acp6x_mach-0.1]$ pwd
/usr/src/snd_soc_acp6x_mach-0.1
[wim@fedora snd_soc_acp6x_mach-0.1]$ ls
acp6x-mach.patch dkms.conf patch.sh
[wim@fedora snd_soc_acp6x_mach-0.1]$ cat acp6x-mach.patch
--- acp6x-mach.c.ori 2022-12-12 09:45:40.076477587 +0100
+++ acp6x-mach.c 2022-12-12 09:47:30.727483991 +0100
@@ -213,6 +213,13 @@
DMI_MATCH(DMI_PRODUCT_NAME, "Alienware m17 R5 AMD"),
}
},
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Razer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Blade 14 (2022) - RZ09-0427"),
+ }
+ },
{}
};
[wim@fedora snd_soc_acp6x_mach-0.1]$ cat patch.sh
#!/bin/bash
vers=(${kernelver//./ }) # split kernel version into individual elements
major="${vers[0]}"
minor="${vers[1]}"
version="$major.$minor" # recombine as needed
subver=$(grep "SUBLEVEL =" /usr/src/kernels/${kernelver}/Makefile | tr -d " " | cut -d "=" -f 2)

echo "Downloading kernel source $version.$subver for $kernelver"
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz


echo "Extracting original source"
tar -xf linux-6.1.tar.* linux-6.1/$1 --xform=s,linux-6.1/$1,.,

for i in `ls *.patch`
do
echo "Applying $i"
patch < $i
done
[wim@fedora snd_soc_acp6x_mach-0.1]$ cat
acp6x-mach.patch dkms.conf patch.sh
[wim@fedora snd_soc_acp6x_mach-0.1]$ cat dkms.conf
PACKAGE_NAME="snd_soc_acp6x_mach"
PACKAGE_VERSION="0.1"
BUILT_MODULE_NAME[0]="snd_soc_acp6x_mach"
DEST_MODULE_LOCATION[0]="/updates/dkms/"
AUTOINSTALL="no"
REMAKE_INITRD="no"
PRE_BUILD="patch.sh sound/soc/amd/yc"
[wim@fedora snd_soc_acp6x_mach-0.1]$




when set up, build the module using

code:
sudo dkms build snd_soc_acp6x_mach/0.1


it should create the built module in /var/lib/dkms/snd_soc_acp6x_mach/0.1/build



find the .ko file, locate the original one in /lib/modules/<kernelver> and replace it, update initramfs (on fedora run 'dracut -f') reboot and you should be good to go. keep in mind that as soon as you update your kernel, you need to redo all of this (dkms offers a way to automate that, but this is the part that still requires time on my end to set it up this way).

if you are on gentoo, or you compile your own kernel, the above process is just insane 🙂 but i assume you are on something more mainstream that does not easily allow messing about with the kernel.
I just need a general idea of what needs to be done. The exact steps I can probably Google. Unless you want to make me a gift for Christmas 😉
surveily
Any chance of you letting me know how to apply this?


i'll see if i can provide a dkms script and instructions this week. depending on your distro, manual patching of modules and swapping them in can be a burden.
Any chance of you letting me know how to apply this?
dmic working! whoop whoop

https://bugzilla.kernel.org/show_bug.cgi?id=216801



for now needs you to patch your kernel though.
Upgraded to Kernel 6.0.6. BT Working fine. Microphone still dead. Wifi needed the usual patch from kvalo/ath11k.
Upgraded to 22.10 Kinetic Kudu and Kernel 6.0.3. BT Working fine. Microphone still dead. Wifi needed the usual patch from kvalo/ath11k.
surveily
I've installed the supposedly 6.0-compatible nvidia-driver from their PPA - no luck. It stopped working after 2nd reboot.



Unfortunately the BT doesn't work either. I must have booted to windows first so it got turned on before switching to Ubuntu 22.04.1.




check your dmesg output and see if you have an error on the usb port not showing any devices. this occasionally happens to me, and as unpredictable as it comes, it disappears again and works. i suspect it has something to do with the powermanagement on the usb hub, but i havent been able to put my finger on it.
surveily
No nvidia-driver support tho


fedora (38/rawhide) has the required patch via the rpm fusion repo's since a couple of weeks. if not, manual installation of the akmod driver and appying the patch described here: http://rglinuxtech.com/?p=3053.

but you kinda need to know what you're doing. you cant deploy it unless you are in runlevel 3 etc...

if you dont mind some messing about it's fine. but i havent seen many reasons to leave your stable distro and rush to 6.0 and a beta or experimental branch (the performance increases on mesa and amd kernel code perhaps).



i'm hoping the changes coming to rembrandt in Sound Open Firmware somehow give the sound support a boost, but i'm not expecting this to be merged until 6.1.
I've installed the supposedly 6.0-compatible nvidia-driver from their PPA - no luck. It stopped working after 2nd reboot.



Unfortunately the BT doesn't work either. I must have booted to windows first so it got turned on before switching to Ubuntu 22.04.1.
No nvidia-driver support tho
the wifi firmware has also been added to the mainline firmware repo. should arrive soonish on your distro of choice.
Kernel 6.0 fixes the bluetooth 🙂
Kernel 6.0 didn't change anything for me
Kernel 6.0 is available from mainline. Anyone tried it yet?
Cool regarding the plugged in mic, I'll try that.



This new digital mic stuff is messing up everything (since it seems linux support is not great -- makes sense because it seems it was made for microsoft cortana or something...?)!



Bummer, as linux support was getting better and better over the last few years, even for new hardware. And now they had to go and make these new fangled microphones and s2 sleep mode and break a bunch of things that work. But, I guess I say that every 5 years or so when there is a jump in technology haha.



I've come to pretty much the same conclusion regarding microphone (you linked this in comments there). https://www.reddit.com/r/razer/comments/whm0oz/gnulinux_kubuntu_2204_on_razer_blade_14_2022/



I also bought an ASUS system with a different sound card, and it seems that even for that I need to wait for kernel 6.0 for it to work (in that case, speakers don't work but mic in does haha).
hitsecretBigFootFeet479
DId it work with you?

I tried only last version of that fix, unfortunately it did not work


i doubt it will, as SOF does not have support for AMD yellow carp/rembrandt yet in the mainline. it seems to be on the roadmap, but i dont expect so see it before kernel 6.x.x

you can actually see in the journal no sof firmware is loaded.



the 'non sof' audio coprocessor driver for AMD YC is loaded instead (acp6x). but how this all connects to the codec is a mystery to me. just for funs, i tried out kernel 6rc1 as it contains a huge bunch of updates to acp6x, but nothing changed. anyway, it seems both this driver and the sof one are still under active development. so hope it will sort itself out in upcoming kernels 🙂 fingers crossed
surveily
https://github.com/thesofproject/sof/issues/6116


DId it work with you?

I tried only last version of that fix, unfortunately it did not work

Reply