WiFi dongles TP-Link RTL8812AU NetGear A6100 AC600 DB Realtek Semiconductor Corp

I have tried three different WiFi dongles so far, but unfortunately none of them work. Can someone help me get them running? DietPi is installed on a Rock64 with RK3328 (aarch64).

WiFi dongles tested:

  1. TP-Link RTL8812AU Archer T4U 802.11ac
  2. NetGear A6100 AC600 DB Wireless Adapter (Realtek RTL8811AU)
  3. Realtek Semiconductor Corp. RTL8811AU 802.11a/b/g/n/ac WLAN adapter

probably some additional drivers are needed like GitHub - morrownr/8812au-20210820: Linux Driver for USB WiFi Adapters that are based on the RTL8812AU Chipset - v5.13.6-23

this one seems to be in the list GitHub - morrownr/8812au-20210820: Linux Driver for USB WiFi Adapters that are based on the RTL8812AU Chipset - v5.13.6-23

I haven’t had experiences, that’s why I would be grateful if you could show me how to install

root@DietPi:~# git clone https://github.com/morrownr/8812au-20210820.git
Cloning into '8812au-20210820'...
remote: Enumerating objects: 981, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 981 (delta 32), reused 50 (delta 21), pack-reused 913 (from 1)
Receiving objects: 100% (981/981), 19.33 MiB | 11.00 MiB/s, done.
Resolving deltas: 100% (396/396), done.
root@DietPi:~# cd 8812au-20210820
root@DietPi:~/8812au-20210820# ./install-driver.sh
: ---------------------------
: install-driver.sh v20241003
: aarch64 (kernel architecture)
: arm64 (architecture to send to gcc)
: 4/4 (in-use/total processing units)
: 4065668 (total system memory)
: 6.6.56-current-rockchip64 (kernel version)
: gcc (version of gcc used to compile the kernel)
: gcc (Debian 12.2.0-14) 12.2.0
: dkms-3.0.10
: This system doesn't support Secure Boot
: ---------------------------
Checking for previously installed drivers...
Removing a driver that was added to dkms.
Deleting module 8812au-5.6.4.2_35491.20191025 completely from the DKMS tree.
Finished checking for and uninstalling previously installed drivers.
: ---------------------------
Starting installation.
Copying 8812au.conf to /etc/modprobe.d
The dkms installation routines are in use.
Copying source files to /usr/src/rtl8812au-5.13.6-23
Creating symlink /var/lib/dkms/rtl8812au/5.13.6-23/source -> /usr/src/rtl8812au-5.13.6-23
The driver was added to dkms successfully.
: ---------------------------
Sign command: /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file
Binary /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file not found, modules won't be signed
Error! Your kernel headers for kernel 6.6.56-current-rockchip64 cannot be found at /lib/modules/6.6.56-current-rockchip64/build or /lib/modules/6.6.56-current-rockchip64/s                          ource.**
Please install the linux-headers-6.6.56-current-rockchip64 package or use the --kernelsourcedir option to tell DKMS where it's located.
An error occurred. dkms build error:  1
Please report this error.
Please copy all screen output and paste it into the problem report.
Run the following before reattempting installation.
$ sudo ./remove-driver.sh
root@DietPi:~/8812au-20210820#

There is suggest the solution. But as the kernel package is a meta package, better use the same for headers, so both get updated together:

apt install linux-headers-current-rockchip64
1 Like

I installed install linux-headers-current-rockchip64 but I get the same error again.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  bison flex libelf-dev libssl-dev zlib1g-dev
Suggested packages:
  bison-doc flex-doc libssl-doc
Recommended packages:
  libfl-dev
The following NEW packages will be installed:
  bison flex libelf-dev libssl-dev linux-headers-current-rockchip64 zlib1g-dev
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 19.0 MB of archives.
After this operation, 97.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://deb.debian.org/debian bookworm/main arm64 flex arm64 2.6.4-8.2 [411 kB]
Get:2 https://dietpi.com/apt all/rock64 arm64 linux-headers-current-rockchip64 arm64 24.11.0-trunk-dietpi1 [14.1 MB]
Get:3 https://deb.debian.org/debian bookworm/main arm64 bison arm64 2:3.8.2+dfsg-1+b1 [1152 kB]
Get:4 https://deb.debian.org/debian bookworm/main arm64 zlib1g-dev arm64 1:1.2.13.dfsg-1 [913 kB]
Get:5 https://deb.debian.org/debian bookworm/main arm64 libelf-dev arm64 0.188-2.1 [73.8 kB]
Get:6 https://deb.debian.org/debian bookworm/main arm64 libssl-dev arm64 3.0.15-1~deb12u1 [2308 kB]
Fetched 19.0 MB in 1s (25.5 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package flex.
(Reading database ... 31695 files and directories currently installed.)
Preparing to unpack .../0-flex_2.6.4-8.2_arm64.deb ...
Unpacking flex (2.6.4-8.2) ...
Selecting previously unselected package bison.
Preparing to unpack .../1-bison_2%3a3.8.2+dfsg-1+b1_arm64.deb ...
Unpacking bison (2:3.8.2+dfsg-1+b1) ...
Selecting previously unselected package zlib1g-dev:arm64.
Preparing to unpack .../2-zlib1g-dev_1%3a1.2.13.dfsg-1_arm64.deb ...
Unpacking zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
Selecting previously unselected package libelf-dev:arm64.
Preparing to unpack .../3-libelf-dev_0.188-2.1_arm64.deb ...
Unpacking libelf-dev:arm64 (0.188-2.1) ...
Selecting previously unselected package libssl-dev:arm64.
Preparing to unpack .../4-libssl-dev_3.0.15-1~deb12u1_arm64.deb ...
Unpacking libssl-dev:arm64 (3.0.15-1~deb12u1) ...
Selecting previously unselected package linux-headers-current-rockchip64.
Preparing to unpack .../5-linux-headers-current-rockchip64_24.11.0-trunk-dietpi1_arm64.deb ...
Armbian 'linux-headers-current-rockchip64' for '6.6.56-current-rockchip64': 'pre' starting.
Armbian 'linux-headers-current-rockchip64' for '6.6.56-current-rockchip64': 'preinst' finishing.
Unpacking linux-headers-current-rockchip64 (24.11.0-trunk-dietpi1) ...
Setting up flex (2.6.4-8.2) ...
Setting up libssl-dev:arm64 (3.0.15-1~deb12u1) ...
Setting up zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
Setting up bison (2:3.8.2+dfsg-1+b1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up libelf-dev:arm64 (0.188-2.1) ...
Setting up linux-headers-current-rockchip64 (24.11.0-trunk-dietpi1) ...
Armbian 'linux-headers-current-rockchip64' for '6.6.56-current-rockchip64': 'pos' starting.
Compiling kernel-headers tools (6.6.56-current-rockchip64) using 4 CPUs - please wait ...
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
*
* Restart config...
*
*
* General architecture-dependent options
*
Kprobes (KPROBES) [Y/n/?] y
Optimize very unlikely/likely branches (JUMP_LABEL) [Y/n/?] y
  Static key selftest (STATIC_KEYS_SELFTEST) [N/y/?] n
Enable seccomp to safely execute untrusted bytecode (SECCOMP) [Y/n/?] y
  Show seccomp filter cache status in /proc/pid/seccomp_cache (SECCOMP_CACHE_DEBUG) [N/y/?] n
Stack Protector buffer overflow detection (STACKPROTECTOR) [Y/n/?] y
  Strong Stack Protector (STACKPROTECTOR_STRONG) [Y/n/?] y
Shadow Call Stack (SHADOW_CALL_STACK) [N/y/?] (NEW)
Link Time Optimization (LTO)
> 1. None (LTO_NONE)
choice[1]: 1
Number of bits to use for ASLR of mmap base address (ARCH_MMAP_RND_BITS) [18] 18
Number of bits to use for ASLR of mmap base address for compatible applications (ARCH_MMAP_RND_COMPAT_BITS) [11] 11
Provide system calls for 32-bit time_t (COMPAT_32BIT_TIME) [Y/n/?] y
Use a virtually-mapped stack (VMAP_STACK) [Y/n/?] y
Support for randomizing kernel stack offset on syscall entry (RANDOMIZE_KSTACK_OFFSET) [Y/n/?] y
  Default state of kernel stack offset randomization (RANDOMIZE_KSTACK_OFFSET_DEFAULT) [N/y/?] n
Locking event counts collection (LOCK_EVENT_COUNTS) [N/y/?] n
*
* Memory initialization
*
Initialize kernel stack variables at function entry
> 1. no automatic stack variable initialization (weakest) (INIT_STACK_NONE)
  2. pattern-init everything (strongest) (INIT_STACK_ALL_PATTERN) (NEW)
  3. zero-init everything (strongest and safest) (INIT_STACK_ALL_ZERO) (NEW)
choice[1-3?]:
Enable heap memory zeroing on allocation by default (INIT_ON_ALLOC_DEFAULT_ON) [Y/n/?] y
Enable heap memory zeroing on free by default (INIT_ON_FREE_DEFAULT_ON) [N/y/?] n
Enable register zeroing on function exit (ZERO_CALL_USED_REGS) [N/y/?] n
*
* Kernel Testing and Coverage
*
Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] n
Fault-injections of functions (FUNCTION_ERROR_INJECTION) [Y/n/?] y
Fault-injection framework (FAULT_INJECTION) [N/y/?] n
Code coverage for fuzzing (KCOV) [N/y/?] (NEW)
Memtest (MEMTEST) [Y/n/?] y
#
# configuration written to .config
#
  SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/insert-sys-cert
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  MODPOST scripts/mod/Module.symvers
Done compiling kernel-headers tools (6.6.56-current-rockchip64).
Done compiling kernel-headers tools (6.6.56-current-rockchip64).
Armbian 'linux-headers-current-rockchip64' for '6.6.56-current-rockchip64': 'postinst' finishing.
root@DietPi:~# cd 8812au-20210820
root@DietPi:~/8812au-20210820# ./install-driver.sh
: ---------------------------
: install-driver.sh v20241003
: aarch64 (kernel architecture)
: arm64 (architecture to send to gcc)
: 4/4 (in-use/total processing units)
: 4065668 (total system memory)
: 6.6.56-current-rockchip64 (kernel version)
: gcc (version of gcc used to compile the kernel)
: gcc (Debian 12.2.0-14) 12.2.0
: dkms-3.0.10
: This system doesn't support Secure Boot
: ---------------------------

Checking for previously installed drivers...
Removing a driver that was added to dkms.
Deleting module rtl8812au-5.13.6-23 completely from the DKMS tree.
Removing 8812au.conf from /etc/modprobe.d
Removing source files from /usr/src/rtl8812au-5.13.6-23
Finished checking for and uninstalling previously installed drivers.
: ---------------------------

Starting installation.
Copying 8812au.conf to /etc/modprobe.d
The dkms installation routines are in use.
Copying source files to /usr/src/rtl8812au-5.13.6-23
Creating symlink /var/lib/dkms/rtl8812au/5.13.6-23/source -> /usr/src/rtl8812au-5.13.6-23
The driver was added to dkms successfully.
: ---------------------------

Sign command: /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file
Binary /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file not found, modules won't be signed
Error! Your kernel headers for kernel 6.6.56-current-rockchip64 cannot be found at /lib/modules/6.6.56-current-rockchip64/build or /lib/modules/6.6.56-current-rockchip64/source.**
Please install the linux-headers-6.6.56-current-rockchip64 package or use the --kernelsourcedir option to tell DKMS where it's located.
An error occurred. dkms build error:  1
Please report this error.
Please copy all screen output and paste it into the problem report.
Run the following before reattempting installation.
$ sudo ./remove-driver.sh
root@DietPi:~/8812au-20210820#

Has no one found a solution? And if there is no solution, which WiFi dongle would work without any problems?

@MichaIng is the only one who could answer the question why headers did not solved it

I tried it again, and now I’m getting a different error message.

apt install sign-file
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package sign-file

Sign command: /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file
Binary /lib/modules/6.6.56-current-rockchip64/build/scripts/sign-file not found, modules won't be signed

Sorry for the late reply, just found this in one of my inboxes. If you still face this issue, please verofy thatvthe following symlink exists:

ls -l "/lib/modules/$(uname -r)/build"