RTL8723BS / no Wifi

Questions about WIFI networks and devices
Forum rules
Before you post please read how to get help
User avatar
MrEen
Level 22
Level 22
Posts: 15233
Joined: Mon Jun 12, 2017 8:39 pm

Re: RTL8723BS / no Wifi

Post by MrEen »

Does your BIOS have Secure Boot, and have you disabled it?
User avatar
MrEen
Level 22
Level 22
Posts: 15233
Joined: Mon Jun 12, 2017 8:39 pm

Re: RTL8723BS / no Wifi

Post by MrEen »

And have you seen this page?

Some of the link within might be helpful.
sofarihatethis
Level 1
Level 1
Posts: 10
Joined: Mon Aug 10, 2020 2:54 pm

Re: RTL8723BS / no Wifi

Post by sofarihatethis »

Thanks for you help, maybe someone else will chime in and be more familiar,

I do have secure boot disabled, I changed the wifi powersave level to 2 (powersave disabled) still no wifi tho. also i noticed some things in the syslog that might be relevant to someone who knows more than I:

Aug 10 16:57:56 scott-SW1-011 kernel: [ 0.871955] Trying to unpack rootfs image as initramfs...
Aug 10 16:57:56 scott-SW1-011 kernel: [ 1.583609] Initramfs unpacking failed: Decoding failed
Aug 10 16:57:56 scott-SW1-011 kernel: [ 1.620483] Freeing initrd memory: 83328K


Aug 10 16:57:56 scott-SW1-011 kernel: [ 9.251294] usbcore: registered new interface driver rndis_host
Aug 10 16:57:56 scott-SW1-011 kernel: [ 9.266324] axp288_fuel_gauge axp288_fuel_gauge: HW IRQ 19 -> VIRQ 140
Aug 10 16:57:56 scott-SW1-011 kernel: [ 9.360757] acer_wmi: Acer Laptop ACPI-WMI Extras
Aug 10 16:57:56 scott-SW1-011 kernel: [ 9.360825] acer_wmi: No WMID device detection method found




Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.6859] hostname: hostname: using hostnamed
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.6860] hostname: hostname changed from (none) to "scott-SW1-011"
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.6882] dns-mgr[0x5632f63f2290]: init: dns=systemd-resolved rc-manager=symlink, plugin=systemd-resolved
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.6930] manager[0x5632f6407030]: rfkill: Wi-Fi hardware radio set enabled
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.6931] manager[0x5632f6407030]: rfkill: WWAN hardware radio set enabled
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7086] Loaded device plugin: NMAtmManager (/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-device-plugin-adsl.so)
Aug 10 16:57:57 scott-SW1-011 systemd[1]: Received SIGRTMIN+21 from PID 320 (plymouthd).
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7210] Loaded device plugin: NMBluezManager (/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-device-plugin-bluetooth.so)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7232] Loaded device plugin: NMWwanFactory (/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-device-plugin-wwan.so)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7279] Loaded device plugin: NMWifiFactory (/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-device-plugin-wifi.so)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7359] Loaded device plugin: NMTeamFactory (/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-device-plugin-team.so)
Aug 10 16:57:57 scott-SW1-011 networkd-dispatcher[783]: WARNING: systemd-networkd is not running, output will be incomplete.
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7408] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7419] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7436] manager: Networking is enabled by state file
Aug 10 16:57:57 scott-SW1-011 dbus-daemon[638]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.12' (uid=0 pid=640 comm="/usr/sbin/NetworkManager --no-daemon " label="unconfined")
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7455] dhcp-init: Using DHCP client 'internal'
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7494] settings: Loaded settings plugin: ifupdown ("/usr/lib/x86_64-linux-gnu/NetworkManager/1.22.10/libnm-settings-plugin-ifupdown.so")
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7502] settings: Loaded settings plugin: keyfile (internal)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7507] ifupdown: management mode: unmanaged
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7512] ifupdown: interface-parser: parsing file /etc/network/interfaces
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7518] ifupdown: interface-parser: source line includes interfaces file(s) /etc/network/interfaces.d
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7523] ifupdown: interface-parser: finished parsing file /etc/network/interfaces
Aug 10 16:57:57 scott-SW1-011 systemd[1]: Starting Network Manager Script Dispatcher Service...
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [15971007650] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7277.7639] device (lo): carrier: link connected
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7650] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.7699] manager: (usb0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Aug 10 16:57:57 scott-SW1-011 NetworkManager[640]: <info> [1597100277.8036] modem-manager: ModemManager available
Aug 10 16:57:57 scott-SW1-011 systemd[1]: Started Dispatcher daemon for systemd-networkd.
Aug 10 16:57:57 scott-SW1-011 systemd[1]: Received SIGRTMIN+21 from PID 320 (plymouthd).
Aug 10 16:57:57 scott-SW1-011 avahi-daemon[632]: Server startup complete. Host name is scott-SW1-011.local. Local service cookie is 4293144168.



Aug 10 17:00:54 scott-SW1-011 NetworkManager[634]: <info> [1597100454.9301] NetworkManager (version 1.22.10) is starting... (for the first time)
Aug 10 17:00:54 scott-SW1-011 NetworkManager[634]: <info> [1597100454.9304] Read config: /etc/NetworkManager/NetworkManager.conf (lib: 10-dns-resolved.conf, 20-connectivity-ubuntu.conf, no-mac-addr-change.conf) (run: 10-globally-managed-devices.conf) (etc: default-wifi-powersave-on.conf)
User avatar
MrEen
Level 22
Level 22
Posts: 15233
Joined: Mon Jun 12, 2017 8:39 pm

Re: RTL8723BS / no Wifi

Post by MrEen »

One thing I find interesting (maybe just because I don't know better) is the last 2 lines are almost 3 minutes after the rest of the output.

Based on the one user somewhere saying they got theirs working, but it still didn't show as working, maybe you just haven't waited long enough after booting up?

No idea how they got connected if it was showing as not working, but it might be something to try. And what I'm suggesting here is to remove the USB tethering, then reboot. Wait a few minutes, then I guess toggle Fn + F3 a time or two.
sleeper12
Level 13
Level 13
Posts: 4730
Joined: Thu May 25, 2017 3:22 pm

Re: RTL8723BS / no Wifi

Post by sleeper12 »

JeremyB might know more about this. If he doesn't jump in here, maybe you can contact him on the IRC channel.
Serpico84
Level 1
Level 1
Posts: 9
Joined: Wed Sep 23, 2020 4:09 am

Re: RTL8723BS / no Wifi

Post by Serpico84 »

Did you find a solution to this? I opened a topic recently asking exactly the same thing. There seems to be something odd about this chipset in the SW1-011 model.
zer0keefie
Level 1
Level 1
Posts: 1
Joined: Thu Oct 29, 2020 9:00 am

Re: RTL8723BS / no Wifi

Post by zer0keefie »

I just wanted to drop in and share that I have the same device, but I was able to get it working! Technically, I got it to work with Ubuntu, but I'm pretty sure this will work regardless.

This might be a little verbose, but I wanted it to be easily discoverable for others looking for a solution.

TLDR:The driver that ships with the kernel is missing a device id, and you need to patch + recompile the module.


Based the post that it was in mmc1, I went hunting through the device tree for the mmc1 card, and I found this:

Code: Select all

root@ubuntu:~# cat /sys/devices/pci0000\:00/80860F14\:01/mmc_host/mmc1/mmc1\:0001/mmc1\:0001\:1/modalias 
sdio:c07v024Cd0627
modules.alias had lines for sdio:c07v024Cd0623*, sdio:c07v024Cd0626*, and a few others, but not specifically my device. Adding my own alias for that file didn't help.

Poking around in the kernel source (I have a 5.8 kernel), it turns out that the driver needs to know its list of device ids. That list is in drivers/staging/rtl8723bs/os_dep/sdio_intf.c:

Code: Select all

static const struct sdio_device_id sdio_ids[] = {
	{ SDIO_DEVICE(0x024c, 0x0523), },
	{ SDIO_DEVICE(0x024c, 0x0525), },
	{ SDIO_DEVICE(0x024c, 0x0623), },
	{ SDIO_DEVICE(0x024c, 0x0626), },
	{ SDIO_DEVICE(0x024c, 0xb723), },
	{ /* end: all zeroes */				},
};
MODULE_DEVICE_TABLE(sdio, sdio_ids);
So the obvious fix was to add SDIO_DEVICE(0x024c, 0x0627) and recompile.

I started with the Ubuntu custom kernel instructions at https://wiki.ubuntu.com/KernelTeam/GitKernelBuild, but stopped before step 8 and switched to these instructions so I only had to build the one module: https://yoursunny.com/t/2018/one-kernel-module/. Note that my kernel version (uname -r) was 5.8.0-25-generic, so I set LOCALVERSION=-25-generic to produce the same version magic in the module. I just assumed that would be compatible; adjust as appropriate if you have a different kernel.

After copying that kernel module over to my tablet and replacing the pre-built module, I ran depmod to update the modules.alias (and verified that sdio:c07v024Cd0627* was present). Then I unbound and rebound the device, and the driver loaded:

Code: Select all

root@ubuntu:~# echo '80860F14:01' > /sys/bus/platform/drivers/sdhci-acpi/unbind
root@ubuntu:~# echo '80860F14:01' > /sys/bus/platform/drivers/sdhci-acpi/bind

root@ubuntu:~# dmesg
[ 3637.181344] mmc1: card 0001 removed
[ 3691.823893] mmc1: SDHCI controller on ACPI [80860F14:01] using ADMA
[ 3691.884910] mmc1: new high speed SDIO card at address 0001
[ 3694.434058] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[ 3694.447482] RTL8723BS: module init start
[ 3694.447489] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[ 3694.447492] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[ 3694.527800] pnetdev = 00000000b50da6e4
[ 3694.611700] RTL8723BS: rtw_ndev_init(wlan0)
[ 3694.612626] RTL8723BS: module init ret =0
[ 3694.958234] rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
[ 3737.789200] Bluetooth: hci0: Too short H5 packet
[ 4026.885455] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[ 4033.835948] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[ 4033.926937] RTL8723BS: start auth
[ 4036.861311] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[ 4037.001330] RTL8723BS: start auth
[ 4037.004734] RTL8723BS: auth success, start assoc
[ 4037.008454] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 4037.008484] RTL8723BS: assoc success
[ 4037.053654] RTL8723BS: send eapol packet
[ 4037.061647] RTL8723BS: send eapol packet
[ 4037.061823] RTL8723BS: set pairwise key camid:4, addr:84:bb:69:78:88:e0, kid:0, type:AES
[ 4037.062264] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 4037.065233] RTL8723BS: set group key camid:5, addr:84:bb:69:78:88:e0, kid:1, type:AES

root@ubuntu:~# iwconfig
lo        no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"[redacted]"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.437 GHz  Access Point: [redacted]
          Bit Rate:72.2 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=91/100  Signal level=100/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
And I can confirm that WiFi does indeed work.


I'm submitting a patch for the additional device id to the kernel maintainers, but the patch follows for anyone that wants it.

Code: Select all

diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index 5b1392deb0a7..7256d55fcc1b 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -21,6 +21,7 @@ static const struct sdio_device_id sdio_ids[] =
        { SDIO_DEVICE(0x024c, 0x0525), },
        { SDIO_DEVICE(0x024c, 0x0623), },
        { SDIO_DEVICE(0x024c, 0x0626), },
+       { SDIO_DEVICE(0x024c, 0x0627), },
        { SDIO_DEVICE(0x024c, 0xb723), },
        { /* end: all zeroes */                         },
 };
Post Reply

Return to “Wireless”