Score:1

Network controller driver of RTL8852ce does not work on 20.04

in flag

Wifi is not available on my new Ubuntu 20.04 (kernel 5.15.0-76). I think it should be problems with network drivers.

$ lspci

...
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c852 (rev 01)
...
$ sudo lshw -C network

  *-network                 
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 15
       serial: bc:0f:f3:67:d3:6a
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.15.0-76-generic duplex=full firmware=rtl8168h-2_0.0.2 02/26/15 ip=172.16.8.50 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:63 ioport:7000(size=256) memory:7dc04000-7dc04fff memory:7dc00000-7dc03fff
  *-network UNCLAIMED
       description: Network controller
       product: Realtek Semiconductor Co., Ltd.
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:04:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: ioport:6000(size=256) memory:7db00000-7dbfffff

I follow the step of https://github.com/juanro49/rtl88x2ce-dkms but it doesn't work after reboot. I wonder if there is a specified driver for Realtek 8852CE.

Edit:

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
(Only one device detected)

Edit:

$ dkms status (has changed after rtw89 installed)
rtl88x2ce, 35403, 5.15.0-76-generic, x86_64: installed

$ lsmod | grep -i rtl (has changed after rtw89 installed)
rtl88x2ce            3149824  0
cfg80211              970752  2 rtl88x2ce,iwlwifi
btrtl                  24576  1 btusb
bluetooth             688128  31 btrtl,btintel,btbcm,bnep,btusb,rfcomm

Edit:

$ lspci -nnk | grep 0280 -A3
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c852] (rev 01)
    Subsystem: Hewlett-Packard Company Device [103c:88e5]
05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a80b] (rev 02)
    Subsystem: Samsung Electronics Co Ltd Device [144d:a80b]

Edit: Thanks to @chili555. A proper driver is found. However, Wifi connection is still not available after installing rtw89. Now outputs of commands above are:

$ rfkill (unchanged)
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked

$ dkms status (I installed an extra GPU driver, still no Wifi controller driver)
nvidia, 525.125.06, 5.15.0-76-generic, x86_64: installed

$ lsmod | grep -i 8852
rtw_8852ce             16384  0
rtw_8852c             843776  1 rtw_8852ce
rtw89pci               61440  1 rtw_8852ce
rtw89core             516096  2 rtw_8852c,rtw89pci
cfg80211              970752  3 rtw_8852c,rtw89core,mac80211

$ lspci -nnk | grep 0280 -A3
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c852] (rev 01)
    Subsystem: Hewlett-Packard Company Device [103c:88e5]
    Kernel modules: rtw_8852ce
05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a80b] (rev 02)

$ lspci | grep -i realtek
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c852 (rev 01)

Edit: There is an error loading rtw8852ce

$ sudo dmesg | grep rtw
[    1.337824] rtw89core: loading out-of-tree module taints kernel.
[    1.337941] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    1.384238] rtw89_8852ce 0000:04:00.0: Direct firmware load for rtw89/rtw8852c_fw.bin failed with error -2
[    1.384240] rtw89_8852ce 0000:04:00.0: failed to early request firmware: -2
[    1.384294] rtw89_8852ce 0000:04:00.0: enabling device (0000 -> 0003)
[    1.384306] rtw89_8852ce 0000:04:00.0: Direct firmware load for rtw89/rtw8852c_fw.bin failed with error -2
[    1.385072] rtw89_8852ce 0000:04:00.0: failed to wait firmware completion
[    1.385096] rtw89_8852ce 0000:04:00.0: failed to setup chip information
[    1.385390] rtw89_8852ce: probe of 0000:04:00.0 failed with error -22

Edit: after downloading .bin to /usr/lib/firmware/rtw89:

$ sudo dmesg | grep rtw
[    1.660630] rtw89core: loading out-of-tree module taints kernel.
[    1.660756] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    1.675602] rtw89_8852ce 0000:04:00.0: loaded firmware rtw89/rtw8852c_fw.bin
[    1.675651] rtw89_8852ce 0000:04:00.0: enabling device (0000 -> 0003)
[    1.684467] rtw89_8852ce 0000:04:00.0: Firmware version 67.84.89.80, cmd version 62, type 1
[    1.684479] rtw89_8852ce 0000:04:00.0: MAC has already powered on
[    1.689998] rtw89_8852ce 0000:04:00.0: [ERR]invalid fw dynamic header len
[    1.690022] rtw89_8852ce 0000:04:00.0: parse fw header fail
[    1.690032] rtw89_8852ce 0000:04:00.0: [ERR]fwdl 0x1E0 = 0x1
[    1.690040] rtw89_8852ce 0000:04:00.0: [ERR]fwdl 0x83F2 = 0xdead
[    1.690056] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002aa
[    1.690085] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690109] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690133] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690155] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b2
[    1.690181] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690204] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b4
[    1.690230] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690258] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690284] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690311] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002be
[    1.690337] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690367] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690394] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690420] rtw89_8852ce 0000:04:00.0: [ERR]fw PC = 0x200002b6
[    1.690446] rtw89_8852ce 0000:04:00.0: failed to setup chip information
[    1.691038] rtw89_8852ce: probe of 0000:04:00.0 failed with error -22

EDIT: solved by @chili555 in #1, newest edition.

Rishon JR avatar
pl flag
Output of `rfkill`?
Topsail avatar
in flag
ID TYPE DEVICE SOFT HARD 0 bluetooth hci0 unblocked unblocked Only one device detected.
Rishon JR avatar
pl flag
Was this problem there in the previous OS? Please mention what you hade previously.
Topsail avatar
in flag
It is the first time I install Ubuntu on this laptop and this problem occurs.
chili555 avatar
cn flag
Please edit your question to show the result of the terminal command: `lspci -nnk | grep 0280 -A3` Probable correct driver: https://github.com/lwfinger/rtw89 Welcome to Ask Ubuntu.
Topsail avatar
in flag
I have edited the result. There is a strange error.
chili555 avatar
cn flag
I have searched for the error and I have, so far, seen that it's harmless and may be resolved by updating the BIOS.
Score:2
cn flag

First, please remove the ineffective driver:

sudo dkms remove rtl88x2ce/35403 --all

Next, install the correct driver:

sudo apt install --reinstall git bc
git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make install

You will probably need to disable Secure Boot. Reboot.

When your kernel version changes, then you need to do the following:

cd ~/rtw89
git pull
make clean
make
sudo make install

EDIT: Let’s load the required firmware:

cd /usr/lib/firmware/
sudo mkdir rtw89
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtw89/rtw8852c_fw.bin

Reboot.

Topsail avatar
in flag
Thank you for your help. However, the problem is still not solved after installation and reboot. Could you please offer more information on installing rtw89?
chili555 avatar
cn flag
Are there any clues in the message log? `sudo dmesg | grep rtw`
Topsail avatar
in flag
Oh, an error occurs when loading this driver. I have updated the output.
chili555 avatar
cn flag
Please see my edit above in a few moments.
Topsail avatar
in flag
Thanks! Though the problem is still not solved, there are some changes in dmesg. it seems that we are almost there. I will update the output.
chili555 avatar
cn flag
I am amending my edit. Please remove the file with the apparent invalid header length and try the edit again. I have changed the download location. `sudo rm -r /usr/lib/firmware/rtw89`
Topsail avatar
in flag
The problem has been solved with this file in your suggestion. Thank you very much! :-D
Topsail avatar
in flag
BTW, I wonder what you think about the reason leading to this problem on 8852ce, sincerely.
chili555 avatar
cn flag
I think the issue is that you installed an older Ubuntu version, 20.04, when the device is very new. The required driver and firmware are already included in, for example, 23.04. I'm glad it's working.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.