====== Jumper EZbook S3 ======
Installing **Debian** testing (Buster) on the **Jumper EZbook S3 notepad**.
===== Booting from the USB Key =====
We downloaded the netinst image **debian-buster-DI-alpha3-amd64-netinst.iso** from the [[https://www.debian.org/devel/debian-installer/|Debian Installer Page]] and copied over an USB memory stick (using dd, destination the whole device).
- Insert the USB key and power-on the notebook. Quickly press the ESC key to eneter the BIOS setup.
- Into the **Boot** section, increased the **Setup Prompt Timeout** to 5 seconds and disabled the **Quiet Boot** (not strictly required, but useful).
- Changed the boot priority: at the 1st position choosed the **UEFI: Generic Flash Disk**, at the 2nd position the **Windows Boot Manager**.
- Exit BIOS setup, **saving changes**.
===== Installing From the Network =====
During the installation we had an **USB-Ethernet dongle** connected, because the WiFi is almost certainly non-working. The product we used is identified on the USB bus as **0bda:5401**: USB3.0 Hub with gigabit Ethernet.
We had to install the following non-free packages, to obtain the required firmwares:
* **firmware-realtek** (for rtlwifi/rtl8723bu_nic.bin and rtl_bt/rtl8723b_fw.bin)
* **firmware-misc-nonfree** (for i915/bxt_dmc_ver1_07.bin)
===== Installing on the Hard Disk =====
Everything went flawlessy with the Debian Installer: during manual partitioning we **removed** the **main Windows partition** (about 240 Gb) and a 700 Mb **Windows Recovery partition**. We leaved the first two reserver partition and created //swap// and //rootfs//:
^ # ^ Size ^ Type ^
| 1 | 105 Mb | EFI system partition |
| 2 | 16.8 MB | Microsoft reserved partition |
| 3 | 8000 MB | linux-swap |
| 4 | 248 GB | rootfs |
The EFI boot loader was copied into the first partition, you can see it mounted into **/boot/efi/EFI/debian/grubx64.efi**.
===== How To Make the WiFi Working =====
The integrated **WiFi card** is attached to the **USB bus**, it is identified by ID **obda:b720**.
The WiFi did not work with the stock installation. The **scanning** for available access points **is indeed working**, but **associating fails**. After the failed association, even the scanning stops working. We upgraded the kernel to **linux-image-4.17.0-1-amd64** in the hope that this will fix the WiFi problem, but nope.
We downloaded the sources of a kernel module (developed by **lwfinger**) which expressly states the compatibility with that device obda:b720. This is the source code **[[https://github.com/lwfinger/rtl8723bu|GitHub page]]**.
apt-get install git build-essential
cd /usr/local/src
git clone https://github.com/lwfinger/rtl8723bu.git
cd rtl8723bu
# In Makefile: commented-out the line EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
make
make install
This will install a new kernel module into **/lib/modules/4.17.0-1-amd64/kernel/drivers/net/wireless/8723bu.ko** and execute ''depmod'' to update the kernel modules list.
The kernel module **will not survive a kernel upgrade** (it should be recompilerd and reinstalled), so we have deinstalled the pseudo package //linux-image-amd64// and leaved only the specific //linux-image-4.17.0-1-amd64//, to avoid automatic upgrades. The kernel module should be compatible with **DKMS** (the [[https://wiki.debian.org/KernelDKMS|Debian kernel modules auto-building system]]), but our first try failed, so we went with the manual mode.
To be safe, blacklist the original kernel module by writing into **/etc/modprobe.d/blacklist.conf** the line:
blacklist rtl8xxxu
After a reboot you should find (''lsmod'') the module **8723bu loaded**, instead of rtl8xxxu. Scanning for WiFi netwroks and association should work.
==== WiFi Resume Problem Workaround ====
The WiFi adapter **does not resume** after the stand-by! It seems there is the **[[https://github.com/lwfinger/rtl8723bu/issues/91|issue #91]]** into the //lwfinger rtl8723bu// module, but already fiexd? A manual workaround is:
rmmod 8723bu
modprobe 8723bu
An automatic workaround seems to be creating an executable file **/lib/systemd/system-sleep/fix-wifi** with:
#!/bin/sh
case $1/$2 in
pre/*)
;;
post/*)
modprobe -r 8723bu
modprobe 8723bu
;;
esac
===== Suspend and Hibernate =====
Tried with success the command line version of the commands:
systemctl suspend
systemctl hibernate
The hibernate requires a swap partition equal or greather than the available RAM.
===== TODO =====
* How to prevent the notebook to go into stand-by mode, which make it unreachable from the network (e.g. ssh login).
* Bluetooth not working?
* FIXME **Enter** key misbehaving in **less**. Problem: e.g. man page, backslash to search, hit Enter does not work, it prints **ESCOM** string instad. Workaround: use **Ctrl-M**. Tips: ''xev'' says that Enter sends ''KP_Enter'' instead of ''Return'', but changing keysym with ''%%xmodmap -e "keysym KP_Enter = Return"%%'' does not resolve. Use ''.lesskey'' to modifiy?