Problems with driver (RTL8812BU-AC1200M) installation for Wifi USB (Techkey 1200 Mbps) setup

Very new at trying Linux - so please be patient!
Currently purchased a Techkey 1200 Mbps USB Wifi adapter for my system. Apparently, I need to install drivers for it, as the network performance without said drivers operates at 14Mbps (checked at Speedtest.com).

Checked the manufacturer’s site, and was directed to a Dropbox to download the driver - however, the instructions provided in the zip file were extremely confusing - for example, like referencing a “make_drv” file that was supposed to be in the downloaded folder, but wasn’t.

Sites I’ve checked out

https://www.cyberciti.biz/faq/howto-fedoracore-rhel-install-linux-kernel-headers/

https://docs.rockylinux.org/guides/custom-linux-kernel/

I then checked online, and found this site. Unfortunately, I am not able to determine which version of the packages below would work for the USB card:


========================================= Name & Summary Matched: wireless ==========================================
wireless-regdb.noarch : Regulatory database for 802.11 wireless networking
============================================= Summary Matched: wireless =============================================
iw.x86_64 : A nl80211 based wireless configuration tool
iwl100-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl1000-firmware.noarch : Firmware for Intel® PRO/Wireless 1000 B/G/N network adaptors
iwl105-firmware.noarch : Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters
iwl135-firmware.noarch : Firmware for Intel(R) Centrino Wireless-N 135 Series Adapters
iwl2000-firmware.noarch : Firmware for Intel(R) Centrino Wireless-N 2000 Series Adapters
iwl2030-firmware.noarch : Firmware for Intel(R) Centrino Wireless-N 2030 Series Adapters
iwl3160-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 3160 Series Adapters
iwl5000-firmware.noarch : Firmware for Intel® PRO/Wireless 5000 A/G/N network adaptors
iwl5150-firmware.noarch : Firmware for Intel® PRO/Wireless 5150 A/G/N network adaptors
iwl6000g2a-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 6005 Series Adapters
iwl6000g2b-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 6030 Series Adapters
iwl6050-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 6050 Series Adapters
iwl7260-firmware.noarch : Firmware for Intel(R) Wireless WiFi Link 726x/8000/9000/AX200/AX201 Series Adapters


(Sorry - I am not sure of how to install a snippet inline to this post.)

The “make” and “make install” commands also keep throwing “Error 1” and “Error 2” messages, without much information on how to fix this.


make[2]: *** [scripts/Makefile.build:295: /home/XXXXXXX/Downloads/RTL88x2BU-Linux-Driver-master/os_dep/linux/rtw_proc.o] Error 1
make[1]: *** [Makefile:1915: /home/XXXXXXX/Downloads/RTL88x2BU-Linux-Driver-master] Error 2
make[1]: Leaving directory ‘/usr/src/kernels/5.14.0-162.12.1.el9_1.0.2.x86_64’
make: *** [Makefile:2455: modules] Error 2


If anyone could provide assistance in helping a newbie install this driver, that would be appreciated, as the documents I’ve found didn’t seem to provide much information - or they are geared towards Debian installs.
Alternatively, if you could recommend a wireless adapter or card that would work out of the box to support 802.11ac speeds, that would be appreciated!

System is an HP Envy system, I5 CPU, 16GB Ram, 1TB HD.
Kernel version: 5.14.0-162.12.1.el9_1.0.2.x86_64
USB Adapter: Techkey 1200Mbps
Driver: rtl88x2BU_WiFi_linux_v5.2.4.4_25643.20171212_COEX20171012-5044

If I were you, I’d go for that option. Even if you successfully build the driver for now, you’d have to repeat the process upon future kernel updates. Getting an inexpensive adapter sounds like a way to go. I suggest you start a new post for that.

Problem with this is that I was under the impression that both this adapter, and the Panda PAU09 600N adapters would work with Linux out of the box - neither seems to be the case, which isn’t reassuring me about the feasibility of learning how to use Linux, when it is this difficult to get it to basic functionality…

Just received a response from the manufacturer - apparently, even though their device was stated online to work with Linux, their official stance, is that device is incompatible with Linux.

Use these drivers:

I’m on Rocky 9, so…

Try this:

You have to do this each time the kernel is updated. I haven’t tried dkms yet, but i assume it works fine. In my case, i just configure yum to not update the kernel. On yum.conf exclude=kernel* redhat-release* kmod-kvdo

I use these configs for AP mode, but for client should work fine as well.

/etc/modprobe.d/88x2bu.conf for module options:

(don’t forget to change your country)

blacklist rtw88_8822bu
blacklist rtw88_usb
blacklist rtw88_8822b
blacklist rtw88_core

options 88x2bu rtw_country_code=US   rtw_btcoex_enable=0   rtw_drv_log_level=2   rtw_led_ctrl=0   rtw_vht_enable=2   rtw_switch_usb_mode=1   rtw_dfs_region_domain=1   rtw_beamform_cap=1   rtw_power_mgnt=0

hostapd.conf if you’re using it for AP mode:

#
interface=wlp0s20f0u3 (change this to the respective interface)
bridge=br0 (if you're using a bridge of course)
driver=nl80211

ssid=ap1
wpa_passphrase=12345678
country_code=US

auth_algs=3
macaddr_acl=0
ignore_broadcast_ssid=0
wpa=2
rsn_pairwise=CCMP
wpa_key_mgmt=WPA-PSK


# Advertises the country_code and the set of allowed channels and transmit power levels
ieee80211d=1
# Enables support for 5GHz DFS channels (requires ieee80211d=1)
ieee80211h=1


############################# SPEEDS
#g --> 2GHz   a --> 5Ghz
hw_mode=a
channel=36


################################# 2GHz

# IEEE 802.11n
ieee80211n=1
wmm_enabled=1

#realtek tplink
ht_capab=[LDPC][HT40+][HT40-][SHORT-GI-20][SHORT-GI-40][MAX-AMSDU-7935][DSSS_CCK-40]


################################ 5GHz
ieee80211ac=1

# Channel width (0 = 40 MHz. 1 = 80 Mhz)
vht_oper_chwidth=1
# VHT center channel (chan + 6)
vht_oper_centr_freq_seg0_idx=42

#realtek tplink
#vht_capab=[MAX-MPDU-11454][SHORT-GI-80][TX-STBC-2BY1][RX-STBC-1][HTC-VHT][MAX-A-MPDU-LEN-EXP7][RXLDPC]
vht_capab=[MAX-MPDU-11454][SHORT-GI-80][TX-STBC-2BY1][RX-STBC-1][HTC-VHT][MAX-A-MPDU-LEN-EXP7][RXLDPC][MAX-AMSDU-7935][SU-BEAMFORMER]

Here, it works well. Pings are stable (2-3ms) and iperf3 shows decent speeds, normal is 31MB/s, reverse is 30 MB/s. The dongle in the Rocky 9 host is TPLink T3u Plus. Laptop’s client chip is intel ax201.

(hopefully i didn’t forget to mention something)

Initial commands (“dnf install kernel-devel” and “dnf install git” )seemed to have no problem:

[xxxxx@xxxxx ~]$ sudo dnf install -y git
[sudo] password for xxxxx: 
Rocky Linux 9 - BaseOS                                                            4.5 kB/s | 4.1 kB     00:00    
Rocky Linux 9 - AppStream                                                         7.4 kB/s | 4.5 kB     00:00    
Rocky Linux 9 - CRB                                                               6.3 kB/s | 4.1 kB     00:00    
Rocky Linux 9 - Realtime                                                          5.2 kB/s | 4.1 kB     00:00    
Rocky Linux 9 - Extras                                                            4.6 kB/s | 2.9 kB     00:00    
Rocky Linux 9 - Plus                                                              4.9 kB/s | 2.9 kB     00:00    
Package git-2.31.1-3.el9_1.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[xxxxx@xxxx ~]$ sudo dnf install -y kernel-devel
Last metadata expiration check: 0:00:16 ago on Tue 07 Mar 2023 05:42:27 PM PST.
Package kernel-devel-5.14.0-162.6.1.el9_1.x86_64 is already installed.
Package kernel-devel-5.14.0-162.12.1.el9_1.0.2.x86_64 is already installed.
Package kernel-devel-5.14.0-162.18.1.el9_1.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

However, I’m running into an error message once I attempted to “make install”:

[xxxxx@xxxxx]$ cd ./88x2bu-20210702
[xxxxx@xxxxx 88x2bu-20210702]$ sudo make install
install -p -m 644 88x2bu.ko  /lib/modules/5.14.0-162.18.1.el9_1.x86_64/kernel/drivers/net/wireless/
install: cannot stat '88x2bu.ko': No such file or directory
make: *** [Makefile:2512: install] Error 1
[xxxxx@xxxxx 88x2bu-20210702]$
********************************************************

Checked online for the Makefile error code:

Also currently researching on how to download files from Github, to figure out what am I doing wrong with this site.

I’m very new at working with Linux (and trying really hard to not get discouraged with learning this), so doubly thanks in advance to everyone for their assistance.

Just start by doing “make”, then you can do “make install”.

Okay, I think that (after much swearing) I was able to get it to work…somewhat…

The network operates at 113.64 Mbps for wi-fi, when testing on speedtest.net - but lists as operating under 10 bps…

Progress is being made - now I just need to play with the configuration to find out how to reflect
the correct speed in the network application! Thank you!

Question about this, as I’m still learning about git: why are these commands needed, as opposed to just going to the page, downloading the zip file to the /usr/src folder, and performing the “make” and “make install” commands from that folder?

Basically (because I’m unclear about this), of what use is git in this scenario?

Let’s say you want to download new changes published on the git repo, you just do:

git pull

otherwise, you would have to manually go to the site, download the zip, extract it to wherever you want it to be. Since it was cloned before, just change to that directory and pull, and all new changes are downloaded - and only the changes, so you are not downloading from zero again.

Thanks for all of your responses!

Is it normal for the /usr/src file to disappear after rebooting the system? I can’t find the driver now, and it has reverted back to its old speed…

What can I do to stop that driver from disappearing after each reboot? And is this a normal experience for Linux to be so difficult to get basic functionality going - or is this just me?

Like iwalker said before, for this operation doing git clone is easier.

If you updated the kernel, you have to compile and install the kernel module again. That kernel module being the driver. It can be done automatically using dkms, but i simply disable kernel updates.

Wireless USB is a pain the ass for Linux. It’s not the most usual thing to install in Linux, you know. In Linux, if it doesn’t work by default, from the start, you’ll need to roll up your sleeves and get dirty. Consider yourself lucky, because many of us here, lived during Dependency Hell times.We’re still alive, but not without some traumas. Dark times…

Discussing easiness in Linux is a subject for religous wars :slight_smile: For some stuff, Linux is great, for others, not that much. Personally, i still think Linux has a lot to improve in the desktop area. Many mistakes still going on. On the server side, it is completely blasting Windows out of the zone. Only legacy stuff helps Windows stay afloat on the server side.

2 Likes

Hope it’s not too late to help!
rtl8812bu chipsets is now in kernel 6.2 and later
Just install main line kernel and us it.
You don’t need to compile kernel, driver etc.

dnf upgrade --refresh
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

dnf list available --disablerepo=‘*’ --enablerepo=elrepo-kernel
dnf --enablerepo=elrepo-kernel install kernel-ml

reboot

check: uname -r

1 Like