Build the Linux Kernel Module to Enable RTL8811CU/RTL8821CU USB Wireless Dongles

There is no built-in support for Realtek RTL8811CU[1][2] and RTL8821CU[3] in Ubuntu 20.04 LTS. The later also has a Bluetooth controller. I have to download the RTL8811CU/RTL8821CU driver source code, compile to a kernel module, add it to the kernel, and switch to the WiFi USB mode.

The following USB wireless dongle uses the RTL8811CU chipset:

  1. TOTOLINK A650UA[4]

Quick Summary

For Ubuntu 18.04 LTS and 20.04LTS, follow these steps:

$sudo apt-get update
$sudo apt-get install dkms git
$git clone https://github.com/brektrou/rtl8821CU.git
$cd ~/rtl8821CU
$sudo ./dkms-install.sh
$sudo modprobe 8821cu
$lsusb
$sudo /usr/sbin/usb_modeswitch -KW -v 0bda -p 1a2b
$sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules

Add ‘ATTR{idVendor}==”0bda”, ATTR{idProduct}==”1a2b”, RUN+=”/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b”‘ in 40-usb_modeswitch.rules.

For RTL8821CU, run systemctl start bluetooth.service to enable Bluetooth.

Continue reading

Build the Linux Kernel Module to Enable RTL8192EU USB Wireless Dongles

The built-in support for Realtek RTL8192EU[1][2] in Ubuntu 20.04 LTS has some issues with D-Link DWA-131 E1[3]. It provides a weak signal and slow WiFi. To improve, I have to download the RTL8192EU driver source code, compile to a kernel module, add it to the kernel, remove the existing drivers, and fix the detection issue.

The following USB wireless dongle uses the RTL8192EU chipset:

  1. D-Link DWA-131 E1

Quick Summary

For Ubuntu 18.04 LTS and 20.04LTS, follow these steps:

$sudo apt-get update
$sudo apt-get install dkms git
$git clone https://github.com/Mange/rtl8192eu-linux-driver
$cd ~/rtl8192eu-linux-driver
$sudo rmmod 8192eu
$sudo rmmod rtl8xxxu
$sudo dkms remove rtl8192eu/1.0 --all
$sudo dkms add .
$sudo dkms install rtl8192eu/1.0
$sudo depmod -a
$echo "blacklist rtl8xxxu" | sudo tee /etc/modprobe.d/rtl8xxxu.conf
$echo -e "8192eu\n\nloop" | sudo tee /etc/modules
$echo "options 8192eu rtw_power_mgnt=0 rtw_enusbss=0" | sudo tee /etc/modprobe.d/8192eu.conf
$sudo update-grub
$sudo update-initramfs -u;
$sudo shutdown -r now

Continue reading

Moving to Ryzen 3 2200G and Improve Jonsbo C2’s Airflow

Because of the Microarchitectural Data Sampling (MDS)[1] vulnerabilities in 2018, computers have a huge performance impact after mitigation. Apple suggests disabling hyper-threading (HT) for full mitigation.[2] My i3-370 (ThinkPad T410i), i5-6200u (ThinkPad L460), and i5-3210M (Mac Mini Late 2012) are all using HT. Maybe that’s why they slowdown considerably since 2019.

On the other hand, J3455 is a quad-core processor. It’s more responsive than the dual-core and the dual-core-quad-thread processors. I decided to build the next primary desktop with an AMD quad-core processor without simultaneous multithreading (SMT)[3].

  1. Computer Parts
  2. Implementation
  3. Temperature and Power Consumption
  4. Concerns

Continue reading

Upgrade J3455B-ITX’s 5×5 CPU Fan to a 12×12 Intake Fan

In my previous post[1], a 5×5 CPU fan solve the heating issue. When I restore the HDD frame, it blocks the CPU fan to pull enough cold air through the roof vent holes aka ventilation holes.

Geeek A1 Mini-ITX case[2] has room for 4 5x5cm case fans and a 9x9cm CPU fan. Sound like a perfect solution. But after watching YouTube videos from TastyPC (7:02, 7:37)[3], Tech By Matt (1:26)[4], and Cevin T.[5], I decided to customize the case and upgrade to a more powerful case fan. It’s more fun.

  1. Improve Wind Tunnel for the CPU Heatsink
  2. Upgrade to a 12×12 Roof Fan

Continue reading

Build the Linux Kernel Module to Enable RTL8812AU USB Wireless Dongles

There is no built-in support for Realtek RTL8812AU[1][2] in Linux. To enable, I have to download the RTL8122AU driver source code, compile to a kernel module, and add to the kernel.

Following USB wireless dongles use the RTL8812AU chipset:

  1. D-Link DWA-171 A1[3]
  2. Edimax EW-7811UTC[4]
  3. netis WF2190[5]

Quick Summary

For Ubuntu 18.04 LTS and 20.04LTS, follow these steps:

$sudo apt-get update
$sudo apt-get install dkms git
$git clone https://github.com/aircrack-ng/rtl8812au.git
$cd ~/rtl8812au
$sudo ./dkms-install.sh
$sudo modprobe 88XXau

Continue reading

Remote Access VM on VirtualBox from Google Chrome

I need to run a Windows desktop application to keep track of my expanse. Because CodeWeavers needs Android and Asus ChromeBox CN60 doesn’t have Android support yet according to the list, the only solution is remote access.

My experiment with QNAP Virtualization Station is good but it loses keyboard input sometimes. I have to refresh the page to get it back again. Therefore, I give phpVirtualBox a shot.

Eventually, I realize the lack of RDP-compatible client on ChromeOS makes it impossible to access VirtualBox from CN60.

Continue reading