RTL8723BS sees WiFi networks, but cannot connect

I’m using Leap 16.0, KDE Plasma 6.4 on tablet PC with Bay Trail-T (Silvermont microarchitecture). Kernel is from Stable:Backport repo to get screen brightness changeable.

WIth RTL8723BS (SDIO card) integrated chip I can turn WiFi on/off. I can see WIFi networks. But I cannot establish connection - NetworkManager complains about wrong password.

One of solution is to set PCI Mode for SDIO instead of ACPI Mode in BIOS (LPSS & SCC configuration). But I cannot set it only for SDIO, I can only change if for all devices. If I set PCI Mode, then I cannot boot device from storage (eMMC). Maybe I can reinstall Linux OS to use PCI Mode, but I’m using dual boot, and installed Windows cannot boot in PCI Mode (something like “boot _device_unreachable”).

At the same time USB WiFi adapter works OK.

In Windows RTL8723BS works OK.

Info about RTL8723BS from https://www.realtek.com/Product/Index?id=610&cate_id=194:

RTL8723BS
802.11bgn SDIO WLAN with Bluetooth 4.0 Single-Chip Controller
General Description

The Realtek RTL8723BS-VQ0-CG is an 802.11bgn 2.4G single-chip that integrates Wireless LAN (WLAN) and a network SDIO interface controller with integrated Bluetooth 2.1/3.0/4.0 controller. It combines a WLAN MAC, a 1T1R capable WLAN baseband, and WLAN RF in a single chip.

Related discussion: REALTEC RTL8723BS WIRELESS no work

Please post:

inxi -Na
:~> inxi -aN
Network:
  Message: No PCI device data found.

– because this is SDIO bus with paths /sys/bus/mmc/ and /sys/bus/sdio/ .

More info is from inxi -aFz:

:~> inxi -aFz
...
Network:
  Message: No PCI device data found.
  IF-ID-1: wlan0 state: down mac: <filter>
  Info: services: NetworkManager
...

BTW, device has proper modalias

sdio:c07v024CdB723

, which is in place in https://github.com/torvalds/linux/blob/master/drivers/staging/rtl8723bs/os_dep/sdio_intf.c:

{ SDIO_DEVICE(0x024c, 0xb723), },

and realtek firmware is installed?

Yes, package kernel-firmware-realtek is installed.
And I see 4 firmwares in /usr/lib/firmware/rtlwifi/ with names “rtl8723bs_…”

Maybe you get more in the logs?
As root:

journalctl -k | grep -Ei 'wlan|lan|net|realt|rtw|err|firm|r87'

Examining dmesg I found

[   16.859687] [    T536] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   16.861985] [    T536] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   16.862758] [    T536] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[   16.863436] [     T63] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2
[   16.864057] [     T63] cfg80211: failed to load regulatory.db

Files

/lib/firmware/regulatory.db
/lib/firmware/regulatory.db.p7s

were absent.

Agama installer didn’t install crda and wireless-regdb packages because it didn’t find WiFi adapter. YaST installer in Leap 15.6 found WiFi adapter and tried to use it (unsuccessfully). Agama installer also installs grub for ARM64 EFI instead of i386 EFI.

After installing crda and wireless-regdb from “hardware” repo two last lines in listing went away.

According to this I added links to get regulatory.db* files in

/usr/local/lib/firmware/

ILL this helped for Bluetooth part of RTL8723BS chip.
But WiFi is unavailable still.

I also added as links /usr/lib/crda/regulatory.bin and /usr/lib/crda/pubkeys to /usr/local/lib/firmware/, but no visible change happened.

Users report that WiFi works OK with RTL8723BS chip in Ubuntu and some other distributions.

Another finding from dmesg - some errors:

[    0.276393] [      T1] byt_gpio INT33FC:00: [Firmware Bug]: Pin 51: DIRECT_IRQ_EN set but no IRQ assigned, clearing
[    0.276501] [      T1] byt_gpio INT33FC:00: [Firmware Bug]: Pin 92: DIRECT_IRQ_EN set but no IRQ assigned, clearing
[    0.276517] [      T1] byt_gpio INT33FC:00: [Firmware Bug]: Pin 93: DIRECT_IRQ_EN set but no IRQ assigned, clearing
[    0.278786] [      T1] byt_gpio INT33FC:02: [Firmware Bug]: Pin 1: DIRECT_IRQ_EN set without trigger (CONF0: 0x2803cc80), clearing

It is reported by https://github.com/torvalds/linux/blob/master/drivers/pinctrl/intel/pinctrl-baytrail.c .