Thanks.
Next step:
sudo cp rtw8852a_fw.bin /usr/lib/firmware/rtw89/
gives:
cp: cannot stat 'rtw8852a_fw.bin': No such file or directory
Thanks.
Next step:
sudo cp rtw8852a_fw.bin /usr/lib/firmware/rtw89/
gives:
cp: cannot stat 'rtw8852a_fw.bin': No such file or directory
I just downloaded the files and took a look. rtw8852a_fw.bi is not listed in the directories.
-sigh-
Scrolling through, we get to this:
# DKMS packaging for debian and derivatives
DKMS is commonly used on debian and derivatives, like ubuntu, to streamline building extra kernel modules.
By following the instructions below and installing the resulting package, the rtw89 driver will automatically rebuild on kernel updates. Secure boot signing will happen automatically as well,
as long as the dkms signing key (usually located at /var/lib/dkms/mok.key) is enrolled. See your distro's secure boot documentation for more details.
Prerequisites:
-bash-
sudo apt install dh-sequence-dkms debhelper build-essential devscripts
This workflow uses devscripts, which has quite a few perl dependencies.
You may wish to build inside a chroot to avoid unnecessary clutter on your system. The debian wiki page for [chroot](https://wiki.debian.org/chroot) has simple instructions for debian, which you can adapt to other distros as needed by changing the release codename and mirror url.
If you do, make sure to install the package on your host system, as it will fail if you try to install inside the chroot.
Build and installation
-bash-
# If you've already built as above clean up your workspace or check one out specially (otherwise some temp files can end up in your package)
git clean -xfd
git deborig HEAD
dpkg-buildpackage -us -uc
sudo apt install ../rtw89-dkms_1.0.2-3_all.deb
This will install the package, and build the module for your
currently active kernel. You should then be able to `modprobe` as
above. It will also load automatically on boot.
##### A note regarding firmware
Firmware from userspace is required to use this driver. This package will attempt to pull the firmware in automatically as a Recommends.
However, if your distro does not provide one of firmware-realtek >= 20230117-1 or linux-firmware >= 20220329.git681281e4-0ubuntu3.10,
the driver will fail to load, and dmesg will show an error about a specific missing firmware file. In this case, you can download the firmware files
directly from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89.
That seems... hard.
On the off chance that I could avoid all that, I did two steps from an online guide.
Specifically:
cd /lib/firmware/rtw89
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtw89/rtw8852b_fw.bin
And rebooted, and... wifi detected!!! Password accepted!!!!! Webpages loading!!!!!!!!!!!
Thanks everyone, especially @Aravisian for helping me through this odyssey. Phew! Now I can really get started setting up Zorin on the new machine.
EDIT: Just to make clear, the solution is a combination, the first 90% what Aravisian said and the last two steps from that blogpost.
After a reinstall, I tried only the steps from the blogpost and it failed.
Here's the complete combined list of steps:
sudo apt clean && sudo apt autoremove && sudo apt update
sudo apt install -y git build-essential
git clone
https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make install
sudo mkdir /usr/lib/firmware/rtw89
(The above gives me an "File exists" error but I still end up with working wifi, so I include it anyway, just in case. Who am I to question the magic of the command line gods?)
cd /lib/firmware/rtw89
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtw89/rtw8852b_fw.bin
Then reboot and wifi detected!
NOTE: With this method, if there is any change to the Linux kernel (e.g. through a Zorin Software Update), the wifi card will stop being detected. But you can get it working again with the following steps:
cd ~/rtw89
git pull
make clean
make
sudo make install
;or
sudo make sign-install
Then reboot and wifi will be detected again.
See the driver's GitHub page for more info:
I edited the Solution post to make clear the actual solution is a combination of steps from Aravisian and the blog post, and to add a clear list of all the necessary steps from both sources.
My chip is same as yours, rtw8852be. I opened an issue on the maintainer's page.
https://github.com/lwfinger/rtw89/issues/263
Good news is that Kernel 6.6 might have the fix we need out of the box.
I guess I'm lucky: my Wifi stays on all the time, no disconnections. (I'm not sure but I think the same chip handles Bluetooth, I still need to test that.)
Linux Hardware Probe suggested updating kernel to 6.02, but that made no difference for me, wifi still wasn't detected.
As Zorin is based on Ubuntu LTS releases, I doubt the included kernel will be 6.6 any time soon. But at least now I have some experience of trying different kernels.
Unbelievable! Within minutes of me saying "no disconnections", my wifi is gone!
I ran Zorin Software Updater, installed updates and restarted, and now wifi not detected.
I'm tethering now. @anyone: Should I try the above steps again to get wifi working? Or just a select few? Or something else entirely? Roll back the Zorin Update? lshw again?
Here's the output:
sudo lshw -C network
*-network UNCLAIMED
description: Network controller
product: Realtek Semiconductor Co., Ltd.
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress cap_list
configuration: latency=0
resources: ioport:1000(size=256) memory:a1100000-a11fffff
*-network
description: Ethernet interface
physical id: 3
bus info: usb@1:8
logical name: usb0
serial: a2:40:94:28:5d:af
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=rndis_host driverversion=5.15.0-79-generic duplex=half firmware=RNDIS device ip=192.168.0.10 link=yes multicast=yes port=twisted pair
So back to saying it's "unclaimed".
Here's the relevant section from var/log/apt/history.log showing what was updated today, not sure if anyone can spot what might have caused wifi to disappear:
Start-Date: 2023-08-14 14:20:08
Commandline: aptdaemon role='role-commit-packages' sender=':1.79'
Install: linux-hwe-5.15-headers-5.15.0-79:amd64 (5.15.0-79.86~20.04.2, automatic), linux-image-5.15.0-79-generic:amd64 (5.15.0-79.86~20.04.2, automatic), linux-headers-5.15.0-79-generic:amd64 (5.15.0-79.86~20.04.2, automatic), linux-modules-extra-5.15.0-79-generic:amd64 (5.15.0-79.86~20.04.2, automatic), linux-modules-5.15.0-79-generic:amd64 (5.15.0-79.86~20.04.2, automatic)
Upgrade: python3-distro-info:amd64 (0.23ubuntu1, 0.23ubuntu1.1), linux-headers-generic-hwe-20.04:amd64 (5.15.0.78.85~20.04.38, 5.15.0.79.86~20.04.39), poppler-utils:amd64 (0.86.1-0ubuntu1.1, 0.86.1-0ubuntu1.2), intel-microcode:amd64 (3.20230214.0ubuntu0.20.04.1, 3.20230808.0ubuntu0.20.04.1), vim-common:amd64 (2:8.1.2269-1ubuntu5.15, 2:8.1.2269-1ubuntu5.16), gstreamer1.0-plugins-good:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), librsvg2-common:amd64 (2.48.9-1ubuntu0.20.04.1, 2.48.9-1ubuntu0.20.04.4), libgpgme11:amd64 (1.13.1-7ubuntu2, 1.13.1-7ubuntu2.1), gstreamer1.0-plugins-base:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), linux-image-generic-hwe-20.04:amd64 (5.15.0.78.85~20.04.38, 5.15.0.79.86~20.04.39), libgstreamer-plugins-good1.0-0:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), gstreamer1.0-pulseaudio:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), linux-generic-hwe-20.04:amd64 (5.15.0.78.85~20.04.38, 5.15.0.79.86~20.04.39), gstreamer1.0-gtk3:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), zorin-os-upgrader:amd64 (1.1, 1.1.4), librsvg2-2:amd64 (2.48.9-1ubuntu0.20.04.1, 2.48.9-1ubuntu0.20.04.4), libgstreamer-gl1.0-0:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), firefox-locale-en:amd64 (115.0.2+build1-0ubuntu0.20.04.1, 116.0.2+build1-0ubuntu0.20.04.1), ufw:amd64 (0.36-6ubuntu1, 0.36-6ubuntu1.1), libgstreamer-plugins-base1.0-0:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), gstreamer1.0-x:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), gir1.2-gst-plugins-base-1.0:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2), xxd:amd64 (2:8.1.2269-1ubuntu5.15, 2:8.1.2269-1ubuntu5.16), openssh-client:amd64 (1:8.2p1-4ubuntu0.8, 1:8.2p1-4ubuntu0.9), firefox:amd64 (115.0.2+build1-0ubuntu0.20.04.1, 116.0.2+build1-0ubuntu0.20.04.1), vim-tiny:amd64 (2:8.1.2269-1ubuntu5.15, 2:8.1.2269-1ubuntu5.16), libpoppler-cpp0v5:amd64 (0.86.1-0ubuntu1.1, 0.86.1-0ubuntu1.2), libpoppler-glib8:amd64 (0.86.1-0ubuntu1.1, 0.86.1-0ubuntu1.2), libpoppler97:amd64 (0.86.1-0ubuntu1.1, 0.86.1-0ubuntu1.2), gstreamer1.0-gl:amd64 (1.16.3-0ubuntu1.1, 1.16.3-0ubuntu1.2)
End-Date: 2023-08-14 14:22:30
It is because the kernel upgraded - but the wifi driver was not installed with DKMS (Dynamic Kernel Module Support).
Aha, thanks. I see this on the rtw89 page:
When your kernel changes, then you need to do the following:
cd ~/rtw89
git pull
make clean
make
sudo make install
;or
sudo make sign-installRemember, this MUST be done whenever you get a new kernel - no exceptions.
I will try this and report back.
PS I don't see the word "kernel" anywhere in that log. In future, what should I look out for in order to spot a kernel change? "Headers"? "Image"?
The kernel installs by its Version and in four parts:
Headers
Image
Modules
Modules-extra
Thanks for the info.
Re the fix, I did the following:
cd ~/rtw89
git pull
make clean
make
sudo make install
Then I rebooted, and wifi detected!
I'll add that to the Solution post in case anyone else with the same wifi has the same issue.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.