WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: wifi on Linx 7 (rtl8723bs)  (Read 525 times)

Offline mdt01

  • WikiUser
  • *
  • Posts: 15
wifi on Linx 7 (rtl8723bs)
« on: September 27, 2019, 01:11:14 PM »
Hi
I wonder if anyone can help with this? I have some Linx 7 tablets for a project. They have an atom processor and originally came with Windows 8.1 (32 bit) and have been running Windows 10 (32 bit) fine. I would like to run a 64 bit program so need a 64 bit OS. They only have 32 bit efi so Windows 64 will not load but I have been using Ubuntu_16.04 64 bit thanks to the methods of Linuxium detailed here:  http://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html .
Ubuntu works fine but uses a lot of the availabe 1GB of RAM, leaving not much for my program which becomes very slow due to lots of swapping to disk. I would like more free memory to use, so TinyCore64 seems ideal.
I have managed to boot TinyCore64 (from USB so far) by borrowing the modified 32-64 boot_efi file from Linuxium's method and it mostly seems to work except I can't get the wifi working. A usb-ethernet adaptor is giving me internet access for now but I need the wifi for operational use.

I have followed the steps detailed in the wifi setup instructions but the wifi is not found.
The wifi device is a RTL8723bs. It works fine under Windows or Ubuntu.

Specifically I have tried the following:
Boot with no wifi extensions loaded
Load firmware-rtlwifi extension
Load the wifi extension, which also loads wireless_tools, wireless -4.19.10-tinycore64, libiw, wpa_supplicant-dbus, openssl and libnl
Run sudo wifi.sh which reports : No wifi devices found
Run iwconfig which reports: dummy0 no wireless extensions, eth0 no wireless extensions, lo no wireless extensions, tun10 no wireless extensions, ip_vti0 no wireless extensions.
dmesg | tail -20 gives :

loop: module loaded
zram0: detected capacity change from 0 to 213274624
random: mkswap: uninitialized urandom read (16 bytes read)
Adding 208272k swap on /dev/zram0.  Priority:-2 extents:1 across:208272k SSFS
squashfs: version 4.0 (2009/01/31) Phillip Lougher
FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
random: crng init done
r8152 1-1.4.2:1.0 eth0: carrier on
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading
ACPI: AC: found native INT33F4 PMIC, not loading

I also tried the wicd method which shows the usb ethernet connection but says no wirless device found.

Any help would be much appreciated.
Thanks
Martin
 

Offline jazzbiker

  • Full Member
  • ***
  • Posts: 123
Re: wifi on Linx 7 (rtl8723bs)
« Reply #1 on: September 27, 2019, 03:29:23 PM »
Hi, mdt01!

Looks strange, firmware-rtlwifi.tcz includes binaries for your rtl8723bs. Do you load this extension manually or it stands first in your onboot.lst?
You can load then pci-utils.tcz and list your devices using
Code: [Select]
lspcior
Code: [Select]
lspci -v to see more details including driver in use, maybe with some grepping.
Also You can use lshw.tcz for
Code: [Select]
sudo lshw -c network
Good luck!

Offline jazzbiker

  • Full Member
  • ***
  • Posts: 123
Re: wifi on Linx 7 (rtl8723bs)
« Reply #2 on: September 27, 2019, 03:45:32 PM »
By the way, what the use of running 64-bit on 1G RAM?
Can the efi correction disturb something?

Offline mdt01

  • WikiUser
  • *
  • Posts: 15
Re: wifi on Linx 7 (rtl8723bs)
« Reply #3 on: September 27, 2019, 05:48:12 PM »
Thanks jazzbiker

I have tried loading firmware-rtlwifi.tcz onboot, first in the onboot.lst, or manually and it makes no difference.

Interestingly lspci, lspci -v or even lspci -vv gives nothing about the wifi device or driver. lsusb finds only the wired usb-ethernet device and driver.

I can't find lshw.tcz in the app browser - could lshw be in another extension or have I missed something?

I can run sudo lshw on Ubuntu on the same machine and it finds wlan0. I don't inderstand the output of lshw but it looks like the wlan0 is listed separately at the end rather than under the pci section. I wonder if it is on some other bus - I don't know enough about computer architecture to understand the possibilities.

I know it sounds odd wanting to run a 64 bit os on a machine with 1GB RAM, but part of my project works best with a windows binary which was compiled in 64 bit and running this in WINE on Ubuntu does the job nicely apart from the Ubuntu OS using up so much memory which slows it down bigtime. I don't think the 64 bit os on 32 bit efi should be the issue as I think I undertand that Linux takes over once you have got it to boot.

It works OK on Ubuntu - I wonder if they have more drivers/firmware and if there is a way I can figure out how Ubuntu is making it work - but I am not that knowledgeable about Linux internals.

Thanks for your help.


Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6839
Re: wifi on Linx 7 (rtl8723bs)
« Reply #4 on: September 27, 2019, 07:01:13 PM »
Hi mdt01
... Interestingly lspci, lspci -v or even lspci -vv gives nothing about the wifi device or driver. lsusb finds only the wired usb-ethernet device and driver. ...
Maybe you need to update the PCI database:
Quote
                use "sudo update-pciids" to get the latest pci device data from the web
                note that the full gnu versions of gzip and curl are required for the above
                add usr/local/share/hwdata/pci.ids.gz to your backup to keep the update
This was from the  .info  file of the 32 bit version. This note is missing from the 64 bit  .info  file.

Quote
I can't find lshw.tcz in the app browser - could lshw be in another extension or have I missed something?
It doesn't appear to exist in the 64 bit repository.

Quote
It works OK on Ubuntu - I wonder if they have more drivers/firmware and if there is a way I can figure out how Ubuntu is making it work - but I am not that knowledgeable about Linux internals.
If you run:
Code: [Select]
lsmodyou'll get a list of loaded drivers.

Offline jazzbiker

  • Full Member
  • ***
  • Posts: 123
Re: wifi on Linx 7 (rtl8723bs)
« Reply #5 on: September 27, 2019, 11:37:01 PM »
Hi, mdt01!

I didn't took into consideration earlier, but rtl8723bs is described as "SDIO wlan controller". Maybe this means that it is connected not to PCI bus but to SDIO interface? I don't know what to do with this, maybe try to run 32-bit TinyCore and use lshw.
p.s. there exists usbutils.tcz with lsusb...
and You can run Ubuntu and refine all information in it, using all this ls*** utils, and then try to achieve the same in TinyCore.
« Last Edit: September 27, 2019, 11:46:45 PM by jazzbiker »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10040
Re: wifi on Linx 7 (rtl8723bs)
« Reply #6 on: September 28, 2019, 01:09:43 AM »
The rtl8723bs driver is still in staging. That means it's bad quality, we don't enable staging drivers. You would have to build it yourself in order to use it.
The only barriers that can stop you are the ones you create yourself.

Offline mdt01

  • WikiUser
  • *
  • Posts: 15
Re: wifi on Linx 7 (rtl8723bs)
« Reply #7 on: September 28, 2019, 05:19:33 AM »
Thanks for all the replies. I will work through the suggestions.
It sounds like building the driver myself is the place to start. I will read around how to do that and come back when I get stuck!

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6839
Re: wifi on Linx 7 (rtl8723bs)
« Reply #8 on: September 28, 2019, 06:54:03 AM »
Hi mdt01
... I will read around how to do that and come back when I get stuck!
Install  compiletc, bc, bash, perl5, and ncurses-dev.

Download:
http://tinycorelinux.net/10.x/x86_64/release/src/kernel/config-4.19.10-tinycore64
http://tinycorelinux.net/10.x/x86_64/release/src/kernel/linux-4.19.10-patched.txz

Then:
Code: [Select]
$ tar xf linux-3.8.13-patched.txz
$ cd linux-3.8.13-patched
$ make mrproper
$ cp /tmp/config-3.8.13-tinycore ./.config
$ make menuconfig
[set nvidia module to "m"]
$ make modules

..and then gzip the nv module and make your own personal extension of it.
Notes: Replace  3.8.13  with  4.19.10  in the above directions. Ignore the references to  nvidia  and  nv, they refer to a video driver.

Running  make modules  took approximately 4 hours on my Dell E310 with 1Gig of RAM.

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6839
Re: wifi on Linx 7 (rtl8723bs)
« Reply #9 on: September 28, 2019, 07:01:13 AM »
Hi mdt01
In  make menuconfig  the menu path you want to follow is  drivers->staging->rtl8723bs.

Offline mdt01

  • WikiUser
  • *
  • Posts: 15
Re: wifi on Linx 7 (rtl8723bs)
« Reply #10 on: October 09, 2019, 09:49:37 AM »
Hi, I am still working on the above, with a bit of a gap as the rest of life took over for a while.

I have built the RTL8723BS module as per the instructions above, and I end up with a file called r8723bs.ko.

Before trying to figure out how to make my own extension containing this I wanted to test it, so I followed some of the suggestions in this thread http://forum.tinycorelinux.net/index.php/topic,21939.msg137251.html#msg137251.

Specifically I have done:

Code: [Select]
sudo mkdir /lib/modules/4.19.10-tinycore64/kernel/drivers/net/wireless
sudo cp tmp/linux-4.19.10/drivers/staging/rtl8723bs/r8723bs.ko /lib/modules/4.19.10-tinycore64/kernel/drivers/net/wireless
sudo depmod -a
sudo modprobe r8723bs

sudo depmod -a adds a line to modules.dep which reads:
kernel/drivers/net/wireless/r8723bs.ko: kernel/drivers/mmc/core/mmc_core.ko.gz

sudo modprobe r8723bs returns:
modprobe: can't load module r8723bs (kernel/drivers/net/wireless/r8723bs.ko): unknown symbol in module or unknown parameter.

My programming experience is mostly on Windows so I am a relative newbie to Linux - am I doing this bit right or what should I look at next?

Many thanks.


Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 11018
Re: wifi on Linx 7 (rtl8723bs)
« Reply #11 on: October 09, 2019, 10:50:45 AM »
Was the wireless-KERNEL extension loaded? If not, load it and try the modprobe command again.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10040
Re: wifi on Linx 7 (rtl8723bs)
« Reply #12 on: October 09, 2019, 11:36:05 PM »
"dmesg" will tell you more about the symbols.
The only barriers that can stop you are the ones you create yourself.

Offline mdt01

  • WikiUser
  • *
  • Posts: 15
Re: wifi on Linx 7 (rtl8723bs)
« Reply #13 on: October 12, 2019, 08:03:04 AM »
Thanks. Loading the wifi extension including the wireless-KERNEL extension gets rid of the modprobe error message and dmesg now shows messages implying that the r8723bs module has loaded. However, with this and the relevant firmware-rtlwifi extension loaded then still no wifi device is detected.

I updated the PCI Database as suggested above, but the RTL8723bs is still not detected with lspci. Reading about the RTL8723bs indicates that it has an SDIO interface. Could there be another module that I need to load to support this interface?

I came across this thread which seems to indicate another user got this RTL8723bs wifi working, but it is not clear from the thread what the successful steps were : http://forum.tinycorelinux.net/index.php?topic=19622.msg121742#msg121742.

I have the same RTL8723bs wifi working in Ubuntu. Running lsmod in Ubuntu lists the following:

Code: [Select]
sudo lsmod
Module                  Size  Used by
binfmt_misc            20480  1
nls_iso8859_1          16384  2
joydev                 24576  0
dwc3                  114688  0
snd_soc_sst_bytcr_rt5640    24576  1
ulpi                   16384  1 dwc3
udc_core               49152  1 dwc3
extcon_axp288          16384  0
axp288_fuel_gauge      20480  0
axp288_charger         20480  0
axp20x_pek             16384  0
intel_rapl             20480  0
intel_soc_dts_thermal    16384  0
axp288_adc             16384  0
gpio_keys              20480  0
intel_powerclamp       16384  0
coretemp               16384  0
kvm                   598016  0
irqbypass              16384  1 kvm
punit_atom_debug       16384  0
crct10dif_pclmul       16384  0
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
pcbc                   16384  0
aesni_intel           188416  0
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  1 aesni_intel
glue_helper            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel,aesni_intel
intel_cstate           20480  0
cdc_ether              16384  0
hid_multitouch         20480  0
usbnet                 45056  1 cdc_ether
r8152                  61440  0
input_leds             16384  0
mii                    16384  2 usbnet,r8152
snd_soc_rt5670        131072  0
snd_soc_rt5645        143360  0
lpc_ich                24576  0
mei_txe                20480  0
snd_intel_sst_acpi     16384  1
mei                    94208  1 mei_txe
dwc3_pci               16384  0
snd_soc_rt5640        114688  2 snd_soc_sst_bytcr_rt5640
snd_intel_sst_core     53248  1 snd_intel_sst_acpi
snd_soc_rl6231         16384  3 snd_soc_rt5670,snd_soc_rt5640,snd_soc_rt5645
snd_soc_sst_atom_hifi2_platform   102400  3 snd_intel_sst_core
snd_soc_acpi           16384  2 snd_soc_sst_bytcr_rt5640,snd_intel_sst_acpi
snd_soc_acpi_intel_match    20480  1 snd_intel_sst_acpi
snd_soc_core          241664  5 snd_soc_sst_bytcr_rt5640,snd_soc_rt5670,snd_soc_rt5640,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5645
snd_hdmi_lpe_audio     24576  1
snd_compress           20480  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm                98304  8 snd_soc_sst_bytcr_rt5640,snd_soc_rt5670,snd_soc_rt5640,snd_hdmi_lpe_audio,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_soc_rt5645,snd_pcm_dmaengine
snd_seq_midi           16384  0
snd_seq_midi_event     16384  1 snd_seq_midi
mac_hid                16384  0
snd_rawmidi            32768  1 snd_seq_midi
dw_dmac                16384  0
dw_dmac_core           24576  1 dw_dmac
soc_button_array       16384  0
dptf_power             16384  0
snd_seq                65536  2 snd_seq_midi,snd_seq_midi_event
int3406_thermal        16384  0
processor_thermal_device    16384  0
int3403_thermal        16384  0
int340x_thermal_zone    16384  2 int3403_thermal,processor_thermal_device
intel_soc_dts_iosf     16384  2 intel_soc_dts_thermal,processor_thermal_device
r8723bs               602112  0
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
int3400_thermal        16384  0
snd_timer              32768  2 snd_seq,snd_pcm
acpi_thermal_rel       16384  1 int3400_thermal
intel_int0002_vgpio    16384  0
intel_cht_int33fe      16384  0
cfg80211              626688  1 r8723bs
axp20x_i2c             16384  0
axp20x                 24576  1 axp20x_i2c
snd                    81920  13 snd_seq,snd_seq_device,snd_timer,snd_compress,snd_hdmi_lpe_audio,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm,snd_rawmidi
kxcjk_1013             20480  0
soundcore              16384  1 snd
industrialio_triggered_buffer    16384  1 kxcjk_1013
kfifo_buf              16384  1 industrialio_triggered_buffer
acpi_pad              180224  0
industrialio           69632  5 axp288_adc,industrialio_triggered_buffer,kfifo_buf,axp288_fuel_gauge,kxcjk_1013
8250_dw                16384  0
parport_pc             32768  0
ppdev                  20480  0
lp                     20480  0
parport                49152  3 parport_pc,lp,ppdev
autofs4                40960  2
overlay                77824  0
uas                    24576  0
usb_storage            69632  2 uas
hid_generic            16384  0
usbhid                 49152  0
mmc_block              36864  4
i915                 1630208  63
i2c_algo_bit           16384  1 i915
drm_kms_helper        172032  1 i915
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
drm                   401408  6 drm_kms_helper,i915
video                  45056  2 int3406_thermal,i915
i2c_hid                24576  0
hid                   114688  4 i2c_hid,usbhid,hid_multitouch,hid_generic
sdhci_acpi             16384  0
sdhci                  49152  1 sdhci_acpi
pwm_lpss_platform      16384  0
pwm_lpss               16384  1 pwm_lpss_platform

    [EDIT]: Added code tags.  Rich
« Last Edit: October 12, 2019, 08:53:15 AM by Rich »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 11018
Re: wifi on Linx 7 (rtl8723bs)
« Reply #14 on: October 12, 2019, 08:14:48 AM »
The firmware-rtlwifi extension needs to be loaded first.

What does the last ten lines of dmesg say?