Multiple issues experienced with Debian Bookworm (12.2.2.0) on a Lenovo IdeaPad I7 - any assistance would be appreciated!

Joined
Nov 7, 2023
Messages
63
Reaction score
11
Credits
904
Hello all!

I figured on trying to getting outside of my comfort zone after working with Ubuntu, LMDE, Tails, Kali (on the laptop) - from the RHEL side, Red Hat and Alma (as KVM guests), with Rocky 9 as the host desktop device.

I'm currently dealing with issues from jump after downloading the Debian DVD version (with wget), verifying the download and .sign file (with gpg), using dd to burn the image to a USB, and then running the installation process:

1. Wifi isn't functional on the Lenovo laptop (purchased three months ago). After checking my system's kernel version, I checked online on my desktop - found and forked the Realtek rtw89 from the main on github (https://github.com/lwfinger/rtw89). Tested the driver with a Mint install - the "make" and "make install" worked without an issue. But said driver doesn't work on Debian, even after multiple download and OS re-install attempts.

2. Attempted to get online by tethering to my cellphone to the laptop - only to find that bluetooth isn't working: anytime I attempt to activate bluetooth, the application and bluetooth icon disappear. "systemctl status bluetooth" states that the service is active - but I am still unable to pair the system to my phone. Attempted a workaround by attaching my phone to the system via USB, and tethering that way - but while the system doesn't recognize the cellphone when I've plugged it in, said laptop has no problem working with any USB drives that I plug into the same ports.

I'm also dealing with the system invariably freezing at different times - forcing me to reboot. Said freezing episodes have never occurred when I've used the other OS distros on the laptop (LMDE, Ubuntu, Kali, and Tails).

*****************************
XXXXX@XXXXXXXX:~$ lspci -vv -s 03:00.0
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852
Subsystem: Lenovo Device 4853
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 255
IOMMU group: 15
Region 0: I/O ports at 3000 [disabled]
Region 2: Memory at 50500000 (64-bit, non-prefetchable) [disabled] [size=1M]

Capabilities: <access denied>


03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852
Subsystem: Lenovo Device 4853
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 255
IOMMU group: 15
Region 0: I/O ports at 3000 [disabled]
Region 2: Memory at 50500000 (64-bit, non-prefetchable) [disabled] [size=1M]

Capabilities: <access denied>


XXXXX@XXXXXXXX:~$ lspci -vq | grep -i wireless
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax Wireless Network Controller

lscpu information:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Vendor ID: GenuineIntel
Model name: 13th Gen Intel(R) Core(TM) i7-1355U

************************************************

This is with Debian Bookworm version, with a Linux IdeaPad I7 CPU, with 16 GB mem - I've never had as many problems installing a Linux version as I've had with Debian.
I've posted to the Debian forum, and am checking out local shops tomorrow for a USB-to-Ethernet adapter to try a workaround - but I am running out of ideas.
As much as I like trying to figure out the problem, I'm reaching the point where I have to work on other stuff (as I have a life and all). Between the lack of information on the Debian site, and the issues I've experienced, I'm wanting to call "shenanigans" on those who claim that Debian is stable and awesome.

If anyone could assist with any ideas, or suggestions on how to get this OS working, I'd be most appreciative.
 
Last edited:


This is for bullseye, but should work for bookworm
I might be missing/overlooking something (and if so, please advise, as this is causing a bit of confusion) - but I think the website you recommended brought me to the same git site I visited, and then forked for the driver (https://github.com/lwfinger/rtw89).

Said site
1. https://tutorialforlinux.com/2022/0...-bullseye-driver-installation-step-by-step/3/
> brought me to this site >>>

> which brought me to this site >>>


I forgot to mention: "uname -r" showed my kernel as 6.1.0-13-amd64
If I am missing something, please let me know, as I'm re-reading the pages, thinking that I am missing something!
 
Last edited:
If you look at https://linux-hardware.org/?id=pci:10ec-b852-17aa-4853 it says "The device is supported by kernel versions 6.2 and newer according to the LKDDb"


That is a very useful link - thank you very much (I'm still trying to learn how to separate your text from my responses on this site)!


Bookworm doesn't have this Kernel at present. Try Debian Testing - Trixie...

Okay, here is where I'm a bit confused: I found a site for kernels - wouldn't it be possible to create a kernel from the files listed here? And if so, wouldn't that imply that Debian would have the ability to make a stable version quicker, if they announce that it will be available in the next kernel update?

Is this site what you mean when you mention
Debian Testing? I'm checking it out now - but if not, please advise.


Which Debian Forum?

Sorry - that would be https://forums.debian.net/.
 
You could, if you wanted to install kernel 6.2.

The commands will be the same in this video for you: you'll just have to change the version number for the kernel that you want from the backports. Once the new kernel is installed, reboot and from Grub select the kernel you want to boot.

 
Looks like Bookworm has newer kernels available in backports, linux-image-6.4.0-0.deb12.2-amd64 is in that list too.
There's a way to find out newer kernels using APT too.

Code:
apt search --names-only linux-image

Something neat to play with in a vm! Thanks for posting that link to the backports!
 
You could, if you wanted to install kernel 6.2.

The commands will be the same in this video for you: you'll just have to change the version number for the kernel that you want from the backports. Once the new kernel is installed, reboot and from Grub select the kernel you want to boot.


I think I successfully upgraded the kernel via Backports (command used: "sudo apt -t bookworm-backports install linux-image-amd64"):

****************************************
~$ uname -srv
Linux 6.5.0-0.deb12.1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.3-1~bpo12+1 (2023-10-08)
****************************************

But that isn't working either.
 
If you look at https://linux-hardware.org/?id=pci:10ec-b852-17aa-4853 it says "The device is supported by kernel versions 6.2 and newer according to the LKDDb"

Bookworm doesn't have this Kernel at present. Try Debian Testing - Trixie...



Which Debian Forum?

Doesn't seem to be liking the updated kernel either:
$ sudo apt -t bookworm-backports install linux-image-amd64

Currently considering removing the rtw89 module, and re-compiling/installing it.
Because my experience with working with kernels is a bit light, I might have to ask a dumb question: when the LKDDb mentions kernel versions "6.2 and newer," there isn't a default limit that I might be overlooking with that statement? Because my understanding is that 6.5 should be included to support said driver. (Given what they say about assumptions, I just wanted to ask, to make sure that I'm not missing/overlooking/misinterpreting anything...)
 
You could, if you wanted to install kernel 6.2.

The commands will be the same in this video for you: you'll just have to change the version number for the kernel that you want from the backports. Once the new kernel is installed, reboot and from Grub select the kernel you want to boot.

Tried upgrading to version 6.5 - then rebooted the system. No change. Currently considering removing all modules associated with rtw89 - then re-making/installing said module.

Another question: gpg checksum and .sign file checks should detect if there is something wrong with the .iso file, correct? My understanding was that corrupted files would also be detected that way - but as I've been wrong in life before (and I'm running out of ideas)...shrugs
 
Last edited:
On the rtw89... driver, I can confirm that it's in the 6.5 kernel:
Code:
$ locate rtw89

/usr/lib/firmware/rtw89
/usr/lib/firmware/rtw89/rtw8852a_fw.bin
/usr/lib/firmware/rtw89/rtw8852b_fw-1.bin
/usr/lib/firmware/rtw89/rtw8852b_fw.bin
/usr/lib/firmware/rtw89/rtw8852c_fw.bin
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852a.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852ae.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852b.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852be.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852c.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852ce.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_core.ko
/usr/lib/modules/6.5.0-4-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_pci.ko

It's also necessary to install the realtek firmware which is in the package: firmware-realtek.
Once the firmware is installed, it's useful to reboot before testing the driver.

On the checksum matter, your observation that it "should detect if there is something wrong with the .iso" is correct!

On the freeze issues, first port of call are the logs, especially around the time of freeze. There's a bunch of them in /var/log, e.g. syslog, kern.log, messages, user.log etc. Some may not be there based on what's installed. Then there is journalctl, which has numerous options to extract log info. One command that may be useful to start with is:
Code:
journalctl -b -x -p 3
Where -b (=this boot) -x (=explanation of errors) -p (=priority of message 3=error)
 
I thought to un/re-install the rtw89 mod - but ran into something interesting:

***********************************************
~$ sudo modprobe rtw89
modprobe: FATAL: Module rtw89 not found in directory /lib/modules/6.5.0-0.deb12.1-amd64

:~$ sudo modprobe rtw89_main
modprobe: FATAL: Module rtw89_main not found in directory /lib/modules/6.5.0-0.deb12.1-amd64
***********************************************
Which I thought was weird: as even though the modules aren't installed, the kernel version should (from my understanding) support the driver.


So, I rebooted into the earlier kernel - only to run into the same message.

***********************************************
~$ sudo rmmod rtw89*
rmmod: ERROR: Module rtw89 is not currently loaded
rmmod: ERROR: Module rtw89_main is not currently loaded


~$ sudo modprobe rtw89
modprobe: FATAL: Module rtw89 not found in directory /lib/modules/6.1.0-13-amd64

~$ sudo modprobe rtw89_main
modprobe: FATAL: Module rtw89_main not found in directory /lib/modules/6.1.0-13-amd64


******************************************************

So, I'm re-doing the make/install process for the driver (I worked with Secure Boot before, so I'll try that again).


Out of curiosity (seriously, I'm not trying to throw shade): what do people mean when they say that Debian is "stable?"

I'm asking to find out if there is another industry standard to which IT professionals may be referring, when they describe Debian, as I've downloaded, gpg-checked, and installed the .iso six times now - and have had these multiple issues (namely: Bluetooth not working, Wi-fi not working, USB slot not recognizing my phone plugged into either USB slot - while recognizing the USB Wifi adapter also plugged into either USB slot, commands not being recognized under my normal user - but are recognized when I use "sudo," etc.) manifest with each .iso download.
 
@Priest_Apostate

(I'm still trying to learn how to separate your text from my responses on this site)!

Try as my screenshot shows

ZsWhVh3.png


Then, if you wish to refer to a couple of lines, but not all, of what a person wrote:

1. Use your cursor to highlight the text you wish to copy from that person's Post
2. Place your cursor on the last letter of the selected text
3. "Reply" will appear, click that.

The result is pasted into your Post attributing it to the person who originally posted.

Cheers

Wizard
 
I thought to un/re-install the rtw89 mod - but ran into something interesting:

***********************************************
~$ sudo modprobe rtw89
modprobe: FATAL: Module rtw89 not found in directory /lib/modules/6.5.0-0.deb12.1-amd64

:~$ sudo modprobe rtw89_main
modprobe: FATAL: Module rtw89_main not found in directory /lib/modules/6.5.0-0.deb12.1-amd64
***********************************************
Which I thought was weird: as even though the modules aren't installed, the kernel version should (from my understanding) support the driver.


So, I rebooted into the earlier kernel - only to run into the same message.

***********************************************
~$ sudo rmmod rtw89*
rmmod: ERROR: Module rtw89 is not currently loaded
rmmod: ERROR: Module rtw89_main is not currently loaded


~$ sudo modprobe rtw89
modprobe: FATAL: Module rtw89 not found in directory /lib/modules/6.1.0-13-amd64

~$ sudo modprobe rtw89_main
modprobe: FATAL: Module rtw89_main not found in directory /lib/modules/6.1.0-13-amd64


******************************************************

So, I'm re-doing the make/install process for the driver (I worked with Secure Boot before, so I'll try that again).


Out of curiosity (seriously, I'm not trying to throw shade): what do people mean when they say that Debian is "stable?"

I'm asking to find out if there is another industry standard to which IT professionals may be referring, when they describe Debian, as I've downloaded, gpg-checked, and installed the .iso six times now - and have had these multiple issues (namely: Bluetooth not working, Wi-fi not working, USB slot not recognizing my phone plugged into either USB slot - while recognizing the USB Wifi adapter also plugged into either USB slot, commands not being recognized under my normal user - but are recognized when I use "sudo," etc.) manifest with each .iso download.
The module name will be one of those files in post #12 like: rtw89_8852a.ko. The rtw89 is merely the directory in which they reside.

Perhaps run the following command:
Code:
lspci -vnn -d ::0280
to find if it can provide the exact name of the driver. The driver names that get loaded as modules are the names of the files without the suffix: .ko.

On booting, once the correct driver is detected, the kernel will load it when it sees that it's applicable to the hardware, so there shouldn't be a need to load it with modprobe. Modprobe couldn't find the module in the output shown because it wasn't named as one of the modules in the directory shown in post #12.
 
Last edited:
Okay - I tried removing the modules in order to reinstall them.
By first removing the files from the lib/modules area:
***********************************
find /lib/modules -type f -name rtw89*.* -delete
***********************************

***********************************
~$ sudo modprobe -r rtw89
modprobe: FATAL: Module rtw89 not found.
***********************************

I then deleted the directories created from the driver zip file obtained from github. I then unzipped the file, which created a new directory,


I then checked to confirm my current operating kernel...
***********************************
~$ hostnamectl
Static hostname: XXXXXXX
Icon name: computer-laptop
Chassis: laptop
Machine ID: XXXXXXXXXXXXXXXXXXXXX
Boot ID: XXXXXXXXXXXXXXXXXXXXX
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-13-amd64
Architecture: x86-64
Hardware Vendor: Lenovo
Hardware Model: IdeaPad Slim 5 16IRL8
Firmware Version: LACN22WW
***********************************

After confirming the kernel, I installed the header file for said kernel version: "sudo apt install linux-headers-6.1.0-13-amd64"

With the header file installed, I then performed the "make" and "make sign-install," as I was using SecureBoot (which required me to create a password). Upon rebooting the system, I was directed to input the password that I created for the MOK.

Upon rebooting, I chose the earlier kernel, and confirmed it with the hostnamectl command (which showed the same information as above).

I then checked for the kernel files:
~$ find /lib/modules -type f -name rtw89*.*
/lib/modules/6.1.0-13-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89core.ko
/lib/modules/6.1.0-13-amd64/kernel/drivers/net/wireless/realtek/rtw89/rtw89pci.ko


Even though they show in the directories listed, I then get the message that the module isn't there.
~$ sudo modprobe rtw89 -v
modprobe: FATAL: Module rtw89 not found in directory /lib/modules/6.1.0-13-amd64



Checked further with the "lshw" command:
***********************************
~$ sudo lshw -class 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:3000(size=256) memory:50500000-505fffff
*-network
description: Wireless interface
physical id: a
bus info: usb@3:1
logical name: wlx9cefd5fbb593
serial: 9c:ef:d5:fb:b5:93
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=rt2800usb driverversion=6.1.0-13-amd64 firmware=0.36 ip=192.168.1.2 link=yes multicast=yes wireless=IEEE 802.11
***********************************



LSMod, seems to indicate that the modules were correctly installed:
***********************************
~$ lsmod
Module Size Used by
ccm 20480 6
qrtr 49152 4
bnep 28672 2
binfmt_misc 24576 1
nls_ascii 16384 1
nls_cp437 20480 1
vfat 24576 1
fat 90112 1 vfat
rtw_8852be 16384 0
rtw_8852b 372736 1 rtw_8852be

snd_sof_pci_intel_tgl 16384 0
rtw89pci 69632 1 rtw_8852be
snd_sof_intel_hda_common 188416 1 snd_sof_pci_intel_tgl
x86_pkg_temp_thermal 20480 0
intel_powerclamp 20480 0
***********************************

I then checked to see if I could remove the modules:
~$ sudo rmmod rtw89*
[sudo] password for priestapostate:
rmmod: ERROR: Module rtw89 is not currently loaded
rmmod: ERROR: Module rtw89_main is not currently loaded

~$ sudo modprobe -r rtw*
modprobe: FATAL: Module rtw89 not found.
~$ sudo modprobe -r rtw89_main
modprobe: FATAL: Module rtw89_main not found.
~$ sudo modprobe -r rtw89
modprobe: FATAL: Module rtw89 not found.


As the 6.5 kernel should be supporting the driver, as per the git page's documentation, I didn't try the steps above - but I will try them tomorrow, as I'm fixating on this to the exclusion of other work.
 
Last edited:
Here is the information that was provided.


Code:
$ lspci -vnn -d ::0280

03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b852]

    Subsystem: Lenovo Device [17aa:4853]

    Flags: fast devsel, IRQ 255, IOMMU group 15

    I/O ports at 3000 [disabled] [size=256]

    Memory at 50500000 (64-bit, non-prefetchable) [disabled] [size=1M]

    Capabilities: <access denied>

    Kernel modules: rtw89_8852be

1. I am curious about something: what is with the "::0280" (as in, "where did you get that number to input to the command")? I checked over the stuff I posted earlier - that number doesn't show up anywhere. Checking the lspci man page seems to indicate that they are hex codes for a vendor, device, and class - but how did you obtain that information, as I didn't post said number anywhere?
 
Last edited:
Here is the information that was provided.


Code:
$ lspci -vnn -d ::0280

03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b852]

    Subsystem: Lenovo Device [17aa:4853]

    Flags: fast devsel, IRQ 255, IOMMU group 15

    I/O ports at 3000 [disabled] [size=256]

    Memory at 50500000 (64-bit, non-prefetchable) [disabled] [size=1M]

    Capabilities: <access denied>

    Kernel modules: rtw89_8852be
Thanks for that info. According to the kernel, the driver you need is called: rtw89_8852be.

The lsmod output shown in your post #16 shows this driver to be loaded. As mentioned in post #15, it should load on boot, since the kernel sees it.

The next step is to ensure that the firmware package: firmware-realtek, is installed. This package provides firmware blobs which the realtek drivers needs to run, so you need to install that package. After it's installed, it's wise to reboot to have its blobs loaded. There should be no need for any modprobe commands at all.

On the new boot, you can check the loaded modules, as you have, with lsmod.

Bear in mind, the wifi has to be configured by networking software like NetworkManager, or ifupdown, systemd-networkd, wpa_supplicant etc. Your choice. Once configured, see if it can be brought up and connect.

Here is some info on configuration: https://wiki.debian.org/WiFi/HowToUse
 

Members online


Latest posts

Top