You may have noticed that your WIFI is very slow or keeps dropping out. To fix this we need to load the correct wifi drivers. However even after you've done this, let me remind you that your JOI BOOK onboard wifi is only capable of 2.4G, even in windows, so don't expect lighting speed.
To get the wifi working correctly follow the following steps:
Download the following driver https://github.com/lwfinger/rtl8723bu
You'll need to compile the driver so you'll need make as well as linux headers. These commands should do the trick
sudo apt install make
sudo apt install linux-headers-$(uname -r)
sudo apt install gcc
Remove the default wifi adapter.
sudo modprobe -r rtl8xxxu
unzip your rtl8723bu driver and edit the Makefile, comment out the following line, by putting a # in front of it.
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
Install the driver with the following commands:
make clean
make
sudo make install
sudo modprobe -v 8723bu ant_sel=2
Your wifi should now work fine. However to make these changes permanent you need to do the following:
Add the rtl8xxxu driver to the blacklist so it doesn't get loaded again:
sudo su
echo "blacklist rtl8xxxu" >> /etc/modprobe.d/blacklist.conf
exit
Make sure that the new driver loads with the ant_sel=2 option (the JOI BOOK internal wifi adapter actually has two antennas inside, the 2nd one is much stronger, hence you get a more stable wifi signal by doing this)
sudo su
echo "options 8723bu ant_sel=2" >> /etc/modprobe.d/8723bu.conf
exit
Finally Reboot and you should enjoy a stable wifi connection.
Note: if you update elementary OS (which is always good to do by the way) you may need to repeat the steps above, this is because the driver needs to be complied for the specific Kernel you're running (If you don't know what the kernel is, don't worry. If your wifi stops working, just repeat the steps above again).
Background Info that you may find useful.
I found out that the wifi card was a 8723bu purely by chance and trying a bunch of different adapters until one worked, but I discovered a more scientific way.
run the command lsusb in linux, this will show your hardware devices and the hardware codes associated with them.
lsusb
On our Joi Book you can see the "Realtek Semiconductor Corp." item in bold below)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 1122:4455
Bus 001 Device 006: ID 0bda:b720 Realtek Semiconductor Corp.
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 0b05:184c ASUSTek Computer, Inc.
Bus 001 Device 009: ID 05e3:0751 Genesys Logic, Inc.
Bus 001 Device 007: ID 413c:301b Dell Computer Corp.
Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 001 Device 002: ID 214b:7250
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Take note of the hardware id: 0bda:b720
Then use this site to look it up: https://linux-hardware.org/index.php?view=search
Type in: 0bda in the Vendor_ID field and b720 in the Device_ID field and click search.
You'll see for the results that we're using the RTL8723BU adapter.
Using lsusb and the linux-hardware.org site is a useful way of understanding what hardware you have and thus, what drivers you need.