RTL8821CU Onboard WIFI

I recently purchased a Terryza compute stick from Amazon with the RTL8821CU wifi chip. It’s not a USB variant of the chip, but onboard. I was wondering what my steps would be to get this little monster running wifi, since the wifi is the only onboard networking device. I have the OpenSUSE x64 DVD repository on USB, so I’ve installed Make, but that’s where things kind of fall apart. Can anyone assist me in any way? Running the RPM was no help, it broke during the initial install, and I’m not super familiar with OpenSUSE in a vacuum like this.

Hi and welcome to the Forum :slight_smile:
What rpm was this, for a driver? If so from where?

Normally you need to install kernel-default-devel to build a driver, what I have lying around is a USB to ethernet dongle for situations like this… this may be an option if can’t get things to work.

Please post:

lsusb
/sbin/lspci -nnk | grep -EiA3 'net|real'
zypper se -si kernel rtl
uname -a

Please use for every command a seperate Code-Tag:
https://forums.opensuse.org/showthread.php/536143-Using-Code-Tags-Around-Your-Paste

Sorry for the delayed response guys. Covid shots and snowy days are messing up my schedule. I used an RPM from Sauerland’s repos, and I have no idea what you mean by “kernel-default-devel” other than… it’s a development kernel? Sorry, like I said this is out of my wheelhouse. As for your questions Sauerland:

lsusb

**returned-

**

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 004: ID 2020:0720 TONPHA USB 2.0 Classic
Bus 001 Device 003: ID 0bda:c820 Realtek Semiconductor Corp. 802.11ac NIC
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

/sbin/lspci -nnk | grep -EiA3 'net|real'

RETURNED NOTHING

zypper se si- kernel rtl

returned-

Download (curl) error for ‘http://download.opensuse.org/tumbleweed/repo/non-oss/repodata/repomd.xml’:
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org

I then received the option to abort, ignore or retry. If I chose to ignore, I got:

Error building the cache:
[repo-non-oss|http://download.opensuse.org/tumbleweed/repo/non-oss/] Valid metadata not found at specified URL
History:

Warning: The metadata cache needs to be built for the ‘openSUSE-Tumbleweed-Non-Oss’ repository. You can run ‘zypper refresh’ as root to do this.
Warning: Skipping repository ‘openSUSE-Tumbleweed-Non-Oss’ because of the above error.
Download (curl) error for ‘http://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml’:
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org

***If I chose to abort I got:


Error building the cache:
[repo-update|http://download.opensuse.org/update/tumbleweed/] Valid metadata not found at specified URL
History:

Warning: The metadata cache needs to be built for the ‘openSUSE-Tumbleweed-Update’ repository. You can run ‘zypper refresh’ as root to do this.
Warning: Skipping repository ‘openSUSE-Tumbleweed-Update’ because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data…
Reading installed packages…

S | Name | Type | Version | Arch | Repository
—±----------------------------±--------±----------------------------------------±-------±-------------------
i+ | kernel-default | package | 5.10.16-1.3 | x86_64 | openSUSE-20210302-0
i | kernel-firmware-all | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-amdgpu | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ath10k | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ath11k | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-atheros | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-bluetooth | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-bnx2 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-brcm | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-chelsio | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-dpaa2 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-i915 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-intel | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-iwlwifi | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-liquidio | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-marvell | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-media | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mediatek | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mellanox | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mwifiex | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-network | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-nfp | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-nvidia | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-platform | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-prestera | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-qlogic | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-radeon | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-realtek | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-serial | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-sound | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ti | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ueagle | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-usb-network | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | purge-kernels-service | package | 0-7.3 | noarch | openSUSE-20210302-0
i+ | rtl8821cu-kmp-default | package | 20210117_k4.12.14_lp151.28.91-lp151.5.2 | x86_64 | (System Packages)

uname -a

**returned-

**

Linux localhost 5.10.16-1-default #1 SMP Sat Feb 13 16:20:19 UTC 2021 (11381f3) x86_64 x86_64 x86_64 GNU/Linux

I hope that answers all of your questions! Thanks in advance for the help!

i+ | rtl8821cu-kmp-default | package | 20210117_k4.12.14_lp151.28.91-lp151.5.2 | x86_64 | (System Packages)

Linux localhost 5.10.16-1-default #1 SMP Sat Feb 13 16:20:19 UTC 2021 (11381f3) x86_64 x86_64 x86_64 GNU/Linux

You see the difference?
The rtl8821cu is build for kernel 4.12, but you are running an kernel 5.10.

If you can connect to Internet with Lan, you can do as root:

rpm -e rtl8821cu-kmp-default
zypper ar -f https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/ Sauerland-Tumble
zypper in -f rtl8821cu-kmp-default

So you will get an Update when a new Kernel is released.

Otherwise download:
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/x86_64/rtl8821cu-kmp-default-20210117_k5.11.2_1-5.13.x86_64.rpm

And install it the “hard way”…

#ChallengeAccepted

So what are my steps? just grab the rpm, move it via USB and install the RPM? Should I remove those other packages? How should I do that?

Grab it with another PC, move it and install it.
Before please delete as root:

rpm -e rtl8821cu-kmp-default

Okay, so that part is done. I had to run the install from the command line with --nodeps to get it to finish. It originally errored out about dependencies.

Nope, still no internet. Network Interfaces nor the YaST network tool see the device…

Post:

zypper se -si kernel rtl8821

Output is as follows:

zypper se -si kernel rtl8821
Download (curl) error for ‘http://download.opensuse.org/tumbleweed/repo/non-oss/repodata/repomd.xml’:
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org

Abort, retry, ignore? [a/r/i/…? shows all options] (a): i
Error building the cache:
[repo-non-oss|http://download.opensuse.org/tumbleweed/repo/non-oss/] Valid metadata not found at specified URL
History:

Warning: The metadata cache needs to be built for the ‘openSUSE-Tumbleweed-Non-Oss’ repository. You can run ‘zypper refresh’ as root to do this.
Warning: Skipping repository ‘openSUSE-Tumbleweed-Non-Oss’ because of the above error.
Download (curl) error for ‘http://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml’:
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org

Abort, retry, ignore? [a/r/i/…? shows all options] (a): a
Error building the cache:
[repo-oss|http://download.opensuse.org/tumbleweed/repo/oss/] Valid metadata not found at specified URL
History:

Warning: The metadata cache needs to be built for the ‘openSUSE-Tumbleweed-Oss’ repository. You can run ‘zypper refresh’ as root to do this.
Warning: Skipping repository ‘openSUSE-Tumbleweed-Oss’ because of the above error.
Download (curl) error for ‘http://download.opensuse.org/update/tumbleweed/repodata/repomd.xml’:
Error code: Connection failed
Error message: Could not resolve host: download.opensuse.org

Abort, retry, ignore? [a/r/i/…? shows all options] (a): a
Error building the cache:
[repo-update|http://download.opensuse.org/update/tumbleweed/] Valid metadata not found at specified URL
History:

Warning: The metadata cache needs to be built for the ‘openSUSE-Tumbleweed-Update’ repository. You can run ‘zypper refresh’ as root to do this.
Warning: Skipping repository ‘openSUSE-Tumbleweed-Update’ because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data…
Reading installed packages…
a
S | Name | Type | Version | Arch | Repository
—±----------------------------±--------±------------------------±-------±-------------------
i+ | kernel-default | package | 5.10.16-1.3 | x86_64 | openSUSE-20210302-0
i | kernel-firmware-all | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-amdgpu | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ath10k | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ath11k | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-atheros | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-bluetooth | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-bnx2 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-brcm | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-chelsio | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-dpaa2 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-i915 | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-intel | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-iwlwifi | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-liquidio | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-marvell | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-media | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mediatek | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mellanox | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-mwifiex | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-network | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-nfp | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-nvidia | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-platform | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-prestera | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-qlogic | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-radeon | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-realtek | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-serial | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-sound | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ti | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-ueagle | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | kernel-firmware-usb-network | package | 20210208-2.1 | noarch | openSUSE-20210302-0
i | purge-kernels-service | package | 0-7.3 | noarch | openSUSE-20210302-0
i+ | rtl8821cu-kmp-default | package | 20210117_k5.11.2_1-5.13 | x86_64 | (System Packages)

You should use a Lan Cable to get Internet and update the whole system, you are to far behind the today Tumbleweed.

My driver is build for the 5.11 kernel from today Tumbleweed.

Hi
No ethernet on the device… needs to download to an SD Card and install with zypper… or use a USB<->ethernet device.

or copy the modules from one kernel to the other.

Please post:

ls -al /lib/modules/

***Here’s the output:


ls -al /lib/modules/
total 0
drwxr-xr-x 1 root root 66 Mar 9 09:13 .
drwxr-xr-x 1 root root 64 Mar 5 15:43 …
drwxr-xr-x 1 root root 474 Mar 9 09:14 5.10.16-1-default
drwxr-xr-x 1 root root 14 Mar 9 09:13 5.11.2-1-default

So if I understand correctly, your modules would be in the non-Tumbleweed release of OpenSUSE?

No, they would be only in my Repo.

As root (not sudo):

mkdir /lib/modules/5.11.2-1-default/updates
cp /lib/modules/5.10.16-1-default/updates/8821cu.ko /lib/modules/5.11.2-1-default/updates/8821cu.ko
modprobe 8821cu

When no error, restart.

mkdir /lib/modules/5.11.2-1-default/updates

Returns “File Exists.”

cp /lib/modules/5.10.16-1-default/updates/8821cu.ko /lib/modules/5.11.2-1-default/updates/8821cu.ko

Returns: ‘/lib/modules/5.10.16-1-default/updates/8821cu.ko’ : No such file or directory.

modprobe 8821cu

Untried.

Please copy complete for every command from your terminal, you must not:

mkdir /lib/modules/5.11.2-1-default/updates

Returns “File Exists.”

Only:

linux64:~ # LANG=C mkdir /lib/modules/5.11.2-1-default/updates
mkdir: cannot create directory '/lib/modules/5.11.2-1-default/updates': No such file or directory
linux64:~ #

LANG=C is only because I am here in Germany and with these paramater it will give an English output.

So please postr the complete input line and the complete output up to the next line in Code-Tags not Quotes.

Please post:

ls -al /lib/modules/5.11.2-1-default
ls -al /lib/modules/5.10.16-1-default

I do not know. if my plan is working, we can only try out.

Okay, so here’s #1:

rizer@localhost:~> ls -al /lib/modules/5.11.2-1-default
total 0
drwxr-xr-x 1 root root 14 Mar  9 09:13 .
drwxr-xr-x 1 root root 66 Mar  9 09:13 ..
drwxr-xr-x 1 root root 18 Mar  9 09:13 updates


Here’s #2:

rizer@localhost:~> ls -al /lib/modules/5.10.16-1-default
total 5220
drwxr-xr-x 1 root root     474 Mar  9 09:14 .
drwxr-xr-x 1 root root      66 Mar  9 09:13 ..
drwxr-xr-x 1 root root     100 Mar  5 15:45 kernel
-rw-r--r-- 1 root root 1243398 Mar  9 09:14 modules.alias
-rw-r--r-- 1 root root 1216909 Mar  9 09:14 modules.alias.bin
-rw-r--r-- 1 root root    6720 Feb 22 09:19 modules.builtin
-rw-r--r-- 1 root root       0 Mar  9 09:14 modules.builtin.alias.bin
-rw-r--r-- 1 root root    8784 Mar  9 09:14 modules.builtin.bin
-rw-r--r-- 1 root root   53379 Feb 22 09:19 modules.builtin.modinfo
-rw-r--r-- 1 root root  560250 Mar  9 09:14 modules.dep
-rw-r--r-- 1 root root  762365 Mar  9 09:14 modules.dep.bin
-rw-r--r-- 1 root root     455 Mar  9 09:14 modules.devname
-rw-r--r-- 1 root root     638 Feb 22 09:22 modules.fips
-rw-r--r-- 1 root root  179985 Feb 22 09:19 modules.order
-rw-r--r-- 1 root root    1027 Mar  9 09:14 modules.softdep
-rw-r--r-- 1 root root  575692 Mar  9 09:14 modules.symbols
-rw-r--r-- 1 root root  701159 Mar  9 09:14 modules.symbols.bin
drwxr-xr-x 1 root root      56 Mar  5 15:45 vdso