Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rtl8852be Higole Gole1 Pro mini PC #242

Open
gdan342 opened this issue May 1, 2023 · 46 comments
Open

rtl8852be Higole Gole1 Pro mini PC #242

gdan342 opened this issue May 1, 2023 · 46 comments

Comments

@gdan342
Copy link

gdan342 commented May 1, 2023

Myself and a few others amongst the community who have this device are having issues getting wireless to work on linux. I have tried multiple distros, installing from source, installing from AUR with no luck. There is no technical documentation for this device for linux use, no forums or anything yet. I am no expert, novice at best. Its been a few days and many hours trying to get this driver to work. If anyone could point me in the right direction, I would be forever thankful. I'm wanting to make a guide so others don't run into this issue with this device, but for the life of me cannot figure it out on my own.

@lwfinger
Copy link
Owner

lwfinger commented May 1, 2023

The 8852be driver was not included in the kernel until v6.3. That kernel will soon be appearing in some distros, but not yet.

You obviously found this repo, which backports the kernel driver from kernel 6.4+ to older kernels. All you need to do is install git and do a 'git clone https://github.com/lwfinger/rtw89.git' and 'cd rtw89'. Then install the pre-requisites as described in README.md. Finally, do 'make' and 'sudo make install', then reboot and wireless should be working.

If you have already done this, and not gotten anywhere, then run 'lspci -nn' and post the output.

@gdan342
Copy link
Author

gdan342 commented May 1, 2023

Yes have tried the steps on Debian and Arch based distros. With arch have also tried with the DKMS from AUR with no luck. I have various wireless adapters I install drivers for all the time with no issue, this is why im so stumped. Here is output of lspci -nn.

00:00.0 Host bridge [0600]: Intel Corporation Gemini Lake Host Bridge [8086:31f0] (rev 06) 00:00.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant [8086:318c] (rev 06) 00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06) 00:0e.0 Audio device [0403]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06) 00:0f.0 Communication controller [0780]: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface [8086:319a] (rev 06) 00:12.0 SATA controller [0106]: Intel Corporation Celeron/Pentium Silver Processor SATA Controller [8086:31e3] (rev 06) 00:13.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31da] (rev f6) 00:14.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31d7] (rev f6) 00:15.0 USB controller [0c03]: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller [8086:31a8] (rev 06) 00:16.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 0 [8086:31ac] (rev 06) 00:16.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 1 [8086:31ae] (rev 06) 00:16.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 2 [8086:31b0] (rev 06) 00:16.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 3 [8086:31b2] (rev 06) 00:17.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 4 [8086:31b4] (rev 06) 00:17.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 5 [8086:31b6] (rev 06) 00:17.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 6 [8086:31b8] (rev 06) 00:17.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 7 [8086:31ba] (rev 06) 00:18.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31bc] (rev 06) 00:18.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31be] (rev 06) 00:18.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31c0] (rev 06) 00:18.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31ee] (rev 06) 00:19.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c2] (rev 06) 00:19.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c4] (rev 06) 00:19.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c6] (rev 06) 00:1c.0 SD Host controller [0805]: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller [8086:31cc] (rev 06) 00:1e.0 SD Host controller [0805]: Intel Corporation Device [8086:31d0] (rev 06) 00:1f.0 ISA bridge [0601]: Intel Corporation Celeron/Pentium Silver Processor LPC Controller [8086:31e8] (rev 06) 00:1f.1 SMBus [0c05]: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model [8086:31d4] (rev 06) 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) 02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b852]

@lwfinger
Copy link
Owner

lwfinger commented May 1, 2023

The 10ec:b852 device is handled by this driver.

Do the following from the rtw89 directory:
make clean
git pull
make > build.txt 2>&1
sudo make install >> build.txt 2>&1
sudo modprobe -v rtw_8852be >> build.txt 2>&1

Attach the file build.txt.

@gdan342
Copy link
Author

gdan342 commented May 1, 2023

Heres the build.txt. Very confused why it says "device or resource busy"

CC [M] /home/tj/rtw89/core.o CC [M] /home/tj/rtw89/chan.o CC [M] /home/tj/rtw89/mac80211.o CC [M] /home/tj/rtw89/mac.o CC [M] /home/tj/rtw89/phy.o CC [M] /home/tj/rtw89/fw.o CC [M] /home/tj/rtw89/cam.o CC [M] /home/tj/rtw89/efuse.o CC [M] /home/tj/rtw89/regd.o CC [M] /home/tj/rtw89/sar.o CC [M] /home/tj/rtw89/coex.o CC [M] /home/tj/rtw89/ps.o CC [M] /home/tj/rtw89/debug.o CC [M] /home/tj/rtw89/ser.o CC [M] /home/tj/rtw89/wow.o LD [M] /home/tj/rtw89/rtw89core.o CC [M] /home/tj/rtw89/rtw8852a.o CC [M] /home/tj/rtw89/rtw8852a_table.o CC [M] /home/tj/rtw89/rtw8852a_rfk.o CC [M] /home/tj/rtw89/rtw8852a_rfk_table.o LD [M] /home/tj/rtw89/rtw_8852a.o CC [M] /home/tj/rtw89/rtw8852ae.o LD [M] /home/tj/rtw89/rtw_8852ae.o CC [M] /home/tj/rtw89/rtw8852b.o CC [M] /home/tj/rtw89/rtw8852b_table.o CC [M] /home/tj/rtw89/rtw8852b_rfk.o CC [M] /home/tj/rtw89/rtw8852b_rfk_table.o LD [M] /home/tj/rtw89/rtw_8852b.o CC [M] /home/tj/rtw89/rtw8852be.o LD [M] /home/tj/rtw89/rtw_8852be.o CC [M] /home/tj/rtw89/rtw8852c.o CC [M] /home/tj/rtw89/rtw8852c_table.o CC [M] /home/tj/rtw89/rtw8852c_rfk.o CC [M] /home/tj/rtw89/rtw8852c_rfk_table.o LD [M] /home/tj/rtw89/rtw_8852c.o CC [M] /home/tj/rtw89/rtw8852ce.o LD [M] /home/tj/rtw89/rtw_8852ce.o CC [M] /home/tj/rtw89/pci.o LD [M] /home/tj/rtw89/rtw89pci.o MODPOST /home/tj/rtw89/Module.symvers CC [M] /home/tj/rtw89/rtw89core.mod.o LD [M] /home/tj/rtw89/rtw89core.ko BTF [M] /home/tj/rtw89/rtw89core.ko CC [M] /home/tj/rtw89/rtw_8852a.mod.o LD [M] /home/tj/rtw89/rtw_8852a.ko BTF [M] /home/tj/rtw89/rtw_8852a.ko CC [M] /home/tj/rtw89/rtw_8852ae.mod.o LD [M] /home/tj/rtw89/rtw_8852ae.ko BTF [M] /home/tj/rtw89/rtw_8852ae.ko CC [M] /home/tj/rtw89/rtw_8852b.mod.o LD [M] /home/tj/rtw89/rtw_8852b.ko BTF [M] /home/tj/rtw89/rtw_8852b.ko CC [M] /home/tj/rtw89/rtw_8852be.mod.o LD [M] /home/tj/rtw89/rtw_8852be.ko BTF [M] /home/tj/rtw89/rtw_8852be.ko CC [M] /home/tj/rtw89/rtw_8852c.mod.o LD [M] /home/tj/rtw89/rtw_8852c.ko BTF [M] /home/tj/rtw89/rtw_8852c.ko CC [M] /home/tj/rtw89/rtw_8852ce.mod.o LD [M] /home/tj/rtw89/rtw_8852ce.ko BTF [M] /home/tj/rtw89/rtw_8852ce.ko CC [M] /home/tj/rtw89/rtw89pci.mod.o LD [M] /home/tj/rtw89/rtw89pci.ko BTF [M] /home/tj/rtw89/rtw89pci.ko make -C /lib/modules/6.2.13-arch1-1/build M=/home/tj/rtw89 modules Install rtw89 SUCCESS modprobe: ERROR: could not insert 'rtw_8852be': Device or resource busy insmod /lib/modules/6.2.13-arch1-1/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852be.ko

@lwfinger
Copy link
Owner

lwfinger commented May 2, 2023

The driver was already loaded. I forgot the unload step. Do a reboot, then run the command 'lsmod | grep rtw' and post the output.

@gdan342
Copy link
Author

gdan342 commented May 2, 2023

Edit: ended up all wonky so spaced them out.

`rtw89_8852be 16384 0

rtw_8852b 360448 1 rtw89_8852be

rtw89pci 86016 1 rtw89_8852be

rtw89core 626688 2 rtw89pci,rtw_8852b

mac80211 1490944 2 rtw89pci,rtw89core

cfg80211 1277952 4 rtw89core,mac80211,88XXau,rtw_8852b
`

@lwfinger
Copy link
Owner

lwfinger commented May 2, 2023

All of your posts are wonky. Are you posting them from Windows?

You have a mixture of modules from the kernel, and those from this repo. That is guaranteed to fail, as I state in the first paragraph of README.md. Blacklist rtw89_8852be.

@gdan342
Copy link
Author

gdan342 commented May 2, 2023

I'm posting from my main machine that runs Artix, connected to Higole machine over ssh. There are a bunch of different ways of blacklisting modules I'm finding. Some in grub file, some in a blacklist.conf in modprobe.d. How should I blacklist rtw89_8852be?

@lwfinger
Copy link
Owner

lwfinger commented May 2, 2023

The best way is in modules.d. I do not know how one would do it with grub.

@gdan342
Copy link
Author

gdan342 commented May 2, 2023

i have made a blacklist.conf with blacklist rtw89_8852be

here is updated lsmod
`rtw_8852be 16384 0

rtw_8852b 360448 1 rtw_8852be

rtw89pci 86016 1 rtw_8852be

rtw89core 626688 2 rtw89pci,rtw_8852b

mac80211 1490944 2 rtw89pci,rtw89core

cfg80211 1277952 4 rtw89core,mac80211,88XXau,rtw_8852b
`

@lwfinger
Copy link
Owner

lwfinger commented May 3, 2023

That is the right list. Does it work? If not, there is something funny about you user-space wireless stuff. Are you using NetworkManager or something else?

One thing to try:
Run the command 'dmesg -t | grep wlan'. You will see a line ending in something line "wlp4s0: renamed from wlan0". Use the first name (without the colon) in the following command:

sudo iw dev scan | egrep "signal|SSID"

Post the output.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

No luck. Updated today to Kernel 6.3.1 and thought something would work if that kernel does include this driver. Still no luck. going to install OS again from scratch, if still dosent work will try installing this driver again.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

Fresh install of Endeavor OS with up to date kernel. no wireless. I blacklisted rtw89_8852be in modprobe.d, then installed rtw89 using the arch method. Still no wireless. When doing a 'dmesg -t | grep wlan' nothing returns, and nothing shows with ifconfig. Will comment here again if I figure anything out so others can find it. For now, totally lost. Using an external adapter is okay, but is a pain

@lwfinger
Copy link
Owner

What does the output of 'sudo dmesg | less' tell you? Are you missing firmware?

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

Yes, the bottom of this page details how to install firmware for this specific chipset. Tried, still no wireless.

https://easylinuxtipsproject.blogspot.com/p/realtek.html

@lwfinger
Copy link
Owner

Please post the output of 'lspci -nn'.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

00:00.0 Host bridge [0600]: Intel Corporation Gemini Lake Host Bridge [8086:31f0] (rev 06) 00:00.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant [8086:318c] (rev 06) 00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06) 00:0e.0 Audio device [0403]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06) 00:0f.0 Communication controller [0780]: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface [8086:319a] (rev 06) 00:12.0 SATA controller [0106]: Intel Corporation Celeron/Pentium Silver Processor SATA Controller [8086:31e3] (rev 06) 00:13.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31da] (rev f6) 00:14.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31d7] (rev f6) 00:15.0 USB controller [0c03]: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller [8086:31a8] (rev 06) 00:16.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 0 [8086:31ac] (rev 06) 00:16.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 1 [8086:31ae] (rev 06) 00:16.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 2 [8086:31b0] (rev 06) 00:16.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 3 [8086:31b2] (rev 06) 00:17.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 4 [8086:31b4] (rev 06) 00:17.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 5 [8086:31b6] (rev 06) 00:17.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 6 [8086:31b8] (rev 06) 00:17.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 7 [8086:31ba] (rev 06) 00:18.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31bc] (rev 06) 00:18.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31be] (rev 06) 00:18.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31c0] (rev 06) 00:18.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller [8086:31ee] (rev 06) 00:19.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c2] (rev 06) 00:19.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c4] (rev 06) 00:19.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c6] (rev 06) 00:1c.0 SD Host controller [0805]: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller [8086:31cc] (rev 06) 00:1e.0 SD Host controller [0805]: Intel Corporation Device [8086:31d0] (rev 06) 00:1f.0 ISA bridge [0601]: Intel Corporation Celeron/Pentium Silver Processor LPC Controller [8086:31e8] (rev 06) 00:1f.1 SMBus [0c05]: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model [8086:31d4] (rev 06) 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) 02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b852]

@lwfinger
Copy link
Owner

OK, you do have an RTW8852BE device. Run the command 'sudo dmesg > dmesg.txt' and attach dmesg.txt to this issue.

@lwfinger
Copy link
Owner

Why cannot you follow directions. It is one thing to try to look past the missing line breaks for something short like the lspci output, but much more effort for the entire dmesg output. If you want help, USE the cammand I gave you. It will produce a file. ATTACH the file.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

dmesg.txt

@lwfinger
Copy link
Owner

Thank you.

Your problem is here:
[ 6.306763] rtw89_8852be 0000:02:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[ 6.307637] rtw89_8852be 0000:02:00.0: enabling device (0000 -> 0003)
[ 6.350288] Bluetooth: hci0: RTL: fw version 0xdfb791cb
[ 6.369101] rtw89_8852be 0000:02:00.0: xtal si not ready(R): offset=41
[ 6.369115] rtw89_8852be 0000:02:00.0: no suitable firmware found
[ 6.369117] rtw89_8852be 0000:02:00.0: failed to recognize firmware
[ 6.369119] rtw89_8852be 0000:02:00.0: failed to setup chip information
[ 6.372705] rtw89_8852be: probe of 0000:02:00.0 failed with error -2

What you should see is:
[ 6.488336] rtw89_8852be 0000:02:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[ 6.506786] rtw89_8852be 0000:02:00.0: Firmware version 0.29.29.1, cmd version 0, type 5
[ 6.506794] rtw89_8852be 0000:02:00.0: Firmware version 0.29.29.1, cmd version 0, type 3

On my system, the command 'md5sum /lib/firmware/rtw89/*' shows (in part):

97cc27ddbaacfcfd9f4b4ad425d114d3 /lib/firmware/rtw89/rtw8852b_fw-1.bin
66764a3447732e2b5d563a2d7c69d39f /lib/firmware/rtw89/rtw8852b_fw-1.bin.xz
a3317e9646c8e669c7c2d1fc19a6109d /lib/firmware/rtw89/rtw8852b_fw.bin
6c91e2112e09b7313cee17f884fd4f70 /lib/firmware/rtw89/rtw8852b_fw.bin.xz

The files that end in .xz are compressed by my distro (openSUSE). The others come from the linux-firmware repo directly.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

Okay, great. What is the solution? How do I get it to work properly?

@lwfinger
Copy link
Owner

Do your firmware files match mine?

@lwfinger
Copy link
Owner

I have no idea what the "Arch" method of installing the driver is. Do the following:
git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make -j4
sudo make install

Then reboot. After the reboot, do the 'sudo dmesg > dmesg.txt' and attach dmesg.txt.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

I did it this way. From your guide.

For Arch: After installing the necessary kernel headers and base-devel,

git clone https://aur.archlinux.org/rtw89-dkms-git.git
cd rtw89-dkms-git
makepkg -sri

I will uninstall and try that way, and post dmesg

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

I uninstalled rtw89-dkms-git and installed the way you mentioned. here is dmesg
dmesg.txt

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

here is list from /lib/firmware/rtw89

rtw8852a_fw.bin.xz
rtw8852b_fw-1.bin.xz
rtw8852b_fw.bin
rtw8852b_fw.bin.xz
rtw8852c_fw.bin.xz

@lwfinger
Copy link
Owner

You still do not have suitable firmware. See your most recent dmesg.txt.

A list of your firmware is not sufficient. I need 'md5sum /lib/firmware/rtw89/*'. That will not only list the firmware names, but check the contents of the file!

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

okay, where do i get the firmware?
here is output of md5sum /lib/firmware/rtw89/*

745e3b341a6a785ddd288aae8ee45ec1 /lib/firmware/rtw89/rtw8852a_fw.bin.xz 8d24ad43131a10ac7be76bb86f024551 /lib/firmware/rtw89/rtw8852b_fw-1.bin bb86e2e1c05f7c956f9e2a83fb943f95 /lib/firmware/rtw89/rtw8852b_fw-1.bin.xz a3317e9646c8e669c7c2d1fc19a6109d /lib/firmware/rtw89/rtw8852b_fw.bin e33e4a131286bdbeaa8c26af81f3efb2 /lib/firmware/rtw89/rtw8852b_fw.bin.xz c33a07432776f6e6ddc8235d7a25d266 /lib/firmware/rtw89/rtw8852c_fw.bin.xz

@lwfinger
Copy link
Owner

As I suspected, your firmware does not match the latest from Realtek. Go to https://lwfinger.com/download/ to get the latest.

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

Awesome. I download all of them? or just the rtw8852b ones? And then i move them to /lib/firmware/rtw89 correct?

@gdan342
Copy link
Author

gdan342 commented May 14, 2023

downloaded and replaced them and rebooted. Here is output of md5sum /lib/firmware/rtw89/*

97cc27ddbaacfcfd9f4b4ad425d114d3 /lib/firmware/rtw89/rtw8852b_fw-1.bin 66764a3447732e2b5d563a2d7c69d39f /lib/firmware/rtw89/rtw8852b_fw-1.bin.xz a3317e9646c8e669c7c2d1fc19a6109d /lib/firmware/rtw89/rtw8852b_fw.bin 6c91e2112e09b7313cee17f884fd4f70 /lib/firmware/rtw89/rtw8852b_fw.bin.xz

Still no wireless. I ran dmesg again

dmesg.txt

@gdan342 gdan342 closed this as completed May 14, 2023
@lwfinger
Copy link
Owner

I am not quite sure why you closed this issue. Obviously, your problem was not with the firmware.

One thing I do not understand is the "rtw89_8852be 0000:02:00.0: xtal si not ready(R): offset=41" message. It arises because the code is unable to read one of the registers. I sent a question to my contact at Realtek, but it will likely take him a while.

One thing we can do is to try a couple of module parameters that control the actions on the PCIe bus. These parameters have helped users of newer HP and Lenovo laptops overcome some of the problems with their faulty BIOSs. It is possible that this unit has the same kind of problem.

Run the command 'sudo nano /usr/lib/modprobe.d/70-rtw8852be.conf'
In the open window, enter the following 2 lines:
options rtw89pci disable_clkreq=y disable_aspm_l1=y disable_aspm_l1ss=y
options rtw89i_pci disable_clkreq=y disable_aspm_l1=y disable_aspm_l1ss=y

Once you have created this file, run the following commands:
sudo modprobe -rv rtw_8852be
sudo modprobe -v rtw_8852be

If you did it right, the line that shows the insmod for rtw89pci should end with the parameters in the two lines in the files.

Make a new copy of dmesg.txt and attach it here.

@gdan342
Copy link
Author

gdan342 commented May 15, 2023

I did not close it on purpose I'm not sure how it happened. Not easy working on that tiny screen ha must've accidently touched something. I will try this when I have some time again to mess with it. Re-opening, sorry about that

@gdan342 gdan342 reopened this May 15, 2023
@Subsentient
Copy link

@lwfinger Hi, I've got one of these little guys as well. It seems that I can't get any firmware version, old or new, to load in the rtw89_8852be driver. I tried with this repo, that didn't work, so I wondered if the in-tree module in 6.3 would work. Nope, same issue, but I can see they're very similar codebases. This is what I get in both versions, with any version of rtw8852b_fw.bin from any of many git revisions in the linux-firmware tree I've tried. I've tried the modprobe.d method of passing those args to the rtw89pci drivers, and I did also see the rtw89_8852be 0000:02:00.0: xtal si not ready(R): offset=41 log in dmesg when using your module, I think the mainline version just eats the bug. dmesg attached.
dmesg.txt

@lwfinger
Copy link
Owner

This repo does not have any firmware in it. Usually, you would get that from your distro. Please run the following commend and post the results:

md5sum /lib/firmware/rtw89/*

On my system, for the RTW8852BE, I get the following:
97cc27ddbaacfcfd9f4b4ad425d114d3 /lib/firmware/rtw89/rtw8852b_fw-1.bin
66764a3447732e2b5d563a2d7c69d39f /lib/firmware/rtw89/rtw8852b_fw-1.bin.xz
a3317e9646c8e669c7c2d1fc19a6109d /lib/firmware/rtw89/rtw8852b_fw.bin
6c91e2112e09b7313cee17f884fd4f70 /lib/firmware/rtw89/rtw8852b_fw.bin.xz

The .xz versions come from my distro, and the non-xz varieties come from the linux-firmware repo. If your files differ, you can download them at https://lwfinger.com/download/, and then use 'sudo cp' to copy them to /usr/lib/firmware/rtw89/.

@Subsentient
Copy link

Subsentient commented Jun 15, 2023

This repo does not have any firmware in it. Usually, you would get that from your distro. Please run the following commend and post the results:

md5sum /lib/firmware/rtw89/*

Yes, I know the rtw89 driver (yours and mainline) contains no firmware. I have only one firmware file in that directory at the moment, because I deleted all the others to rule out interference, I can reinstall the linux-firmware package if for whatever reason I need them. I think this is a similar issue with the hardware as gdan342, because we have the same device with the same wireless chip.
a3317e9646c8e669c7c2d1fc19a6109d /lib/firmware/rtw89/rtw8852b_fw.bin

I hear wireless works on Windows 11, so perhaps there's a hardware quirk that the Windows driver is handling that the Linux driver isn't aware of.

@lwfinger
Copy link
Owner

It could be that there is something funky about this device; however, my budget does not allow speinding $199 for a test device.

Who knows what the Windows driver does?

I created a new branch (test) with a number of printouts. Please check it out and build with

git checkout origin/test -b test
make
sudo make install

Then reboot. After the firmware load fails, run the command 'sudo dmesg -t > dmesg.txt' and attach dmesg.txt to this issue so that I can see the results of my debugging messages.

Thanks.

@HeXis-YS
Copy link

Same problem here.
Actually, the mini PC uses a wireless module (6252C-PUB) made by Fn-Link. The RTL8852BE chips used in them are likely customized or modified.
And here is the source code of the firmware for Linux provided by the manufacturer. I hope that helps.
rtl8852BE_WiFi_linux_v1.15.10.0.5-0-gfa2af07cf.20220503_PC.tar.gz

@lwfinger
Copy link
Owner

What am I supposed to do with that? You can untar that and build it yourself.

@Tomblarom
Copy link

Tomblarom commented Nov 30, 2023

I also bought 6 of them. They were supposed to support Linux out-of-the-box. Wifi only works under Windows 11. It's a huge bummer.

@HeXis-YS and @gdan342 the devices come without serial number written to the BIOS (only "Default string") and no auto-start function. I posted about this and several other issues here: https://4pda.to/forum/index.php?showtopic=1072665 (use Google Chrome for live translation)

@Tomblarom
Copy link

@lwfinger I read through your answers and highly appreciate your support so far! I'm using IGEL OS12 on a Higole X133 which is based on Ubuntu 20.04 Focal and has Kernel 6.1.42. I reproduced all steps and was not able to make it work. Additionally to that I'm working with IGEL and have them figure this out, since we have enterprise support.

My dmesg.log is exactly the same as with gdan342.

I tried placing the 70-rtw8852be.conf in /usr/lib/modprobe.d and /etc/modprobe.d. I used your latest .bin files:

root@TVS006:/lib# md5sum /lib/firmware/rtw89/*
5f2b81e0f3f3e72d0b4564b44e075701  /lib/firmware/rtw89/rtw8851b_fw.bin
6edd77ccced6eda33850d302853fe665  /lib/firmware/rtw89/rtw8852a_fw.bin
4df8d6e2459b9409837f64a4be879288  /lib/firmware/rtw89/rtw8852b_fw-1.bin
a3317e9646c8e669c7c2d1fc19a6109d  /lib/firmware/rtw89/rtw8852b_fw.bin
ceed5cd7b2066d7a8b99e73e9056d3c1  /lib/firmware/rtw89/rtw8852c_fw.bin

Let me know if you are willing to receive a test-device. I can surely supply one!

@Tomblarom
Copy link

And here is the source code of the firmware for Linux provided by the manufacturer.

They send me a similar one: rtl8852BE_WiFi_linux_v1.19.7.0-18-gee24b6aac.20230614_PC.tar.gz

@lwfinger
Copy link
Owner

lwfinger commented Dec 1, 2023

@Tomblarom - That is not firmware. It is the vendor driver. If you build and install it, does it work?

If that does not compile, you might also checkout https://github.com/rtw8852be.git. That is from the same source, but will build on kernels through 6.7. See what you geet with it.

Usually, I woulld be happy to receive a test device, but I am not sure how I will be feeling the next 4 weeks as I will be undergoing a new medical procedure.

@Emeaya1
Copy link

Emeaya1 commented Apr 12, 2024

who has higole 1 pro please send me the touch screen driver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants