Wifi TP-Link Archer T3U Does not work

I haven’t upgraded the kernel, at least not that I know of. And yes i did reboot. I think i updated dietpi when i was “told” to. Maybe i shouldn’t have due to it still mentioned beta?
Would reinstalling be the best option and retry? It looks like it’s not finding the proper headers. Also on the driver github site it says "Note : On a Raspberry Pi board, you must specify ARCH=arm64 :

make ARCH=arm64 && sudo make install
sudo modprobe 88x2bu"

I took a look at the make file as i thought that would be the only place to look for a line like mentioned above but couldn’t find anything useful nor wasn’t i sure where to put it.

Maybe you can share some more information on , your system

Required

  • DietPi version | cat /boot/dietpi/.version
  • Distro version | echo $G_DISTRO_NAME $G_RASPBIAN
  • Kernel version | uname -a
  • Architecture | dpkg --print-architecture
  • SBC model | echo $G_HW_MODEL_NAME or (EG: RPi3)

Sure. Sorry i haven’t done so yet. I just thought this would be easier to resolve. :slight_smile: Here goes:

‘cat /boot/dietpi/.version’ outputs:

G_DIETPI_VERSION_CORE=8
G_DIETPI_VERSION_SUB=18
G_DIETPI_VERSION_RC=2
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’


‘echo $G_DISTRO_NAME $G_RASPBIAN’ outputs:

bullseye 1


‘uname -a’ outputs:

Linux DietPi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l GNU/Linux


dpkg --print-architecture:
armhf


echo $G_HW_MODEL_NAME
RPi B+ (armv6l)


regards and tx for your time!

Well your system is plain 32bit but you complied driver for 64bit

VS

Oh,

It looks like i did. You’ve definitely found an error there so thanks for that. But as i said that line had no effect as i was never able to use it. I didn’t know where to put it/execute it in the first place. But now that you said it, it should probably go like 'make ARCH=arm32"?

I read that on the driver’s github where it stated that line has to be added on raspberry boards. The question is where? I’m sadly not that savvy.
Without me knowing I’d take a rough guess it belongs into the makefile? If so where? Beginning, end or doesn’t matter?

Ty

Since the RPi 2 v1.1 has an ARMv7 chip, it should be only ARCH=arm

ARMv6 should be armhf and v8 arm64.

probably as well you can ask on drivers Github repository on the way to build drivers correctly on ARMv6 systems.

I’ve tried reaching out, but no answer so far.

@MichaIng @Joulinar

i haven’t gotten a response so far but trying to compile it like this, gives me an error:

root@DietPi:~/rtl88x2bu# make ARCH=armv6l
make ARCH=armv6l CROSS_COMPILE= -C /lib/modules/6.1.21+/build M=/root/rtl88x2bu  modules
make[1]: *** /lib/modules/6.1.21+/build: No such file or directory.  Stop.
make: *** [Makefile:2392: modules] Error 2

1: what i wonder is why does it output “CROSS_COMPILE”? as i haven’t invoked it. i chekced the makefile and there’s some code that seemingly checks for architecture but i was hoping for it not being necessary since i want to compile on the pi itself.
2: the output ‘/lib/modules/6.1.21+/build: No such file or directory.’ looks like i’m missing some files?
i checked ‘/usr/lib/modules/6.1.21+’ and the folder contains various files (i guess kernel headers/sources?) but no ‘build’ directory. do i need to create it manually?

How does it behave if you run make command only without specifying the architecture?

running only ‘make’ throws:

root@DietPi:~/rtl88x2bu# make
make ARCH=armv6l CROSS_COMPILE= -C /lib/modules/6.1.21+/build M=/root/rtl88x2bu  modules
make[1]: Entering directory '/usr/lib/modules/6.1.21+/build'
make[1]: *** No rule to make target 'modules'.  Stop.
make[1]: Leaving directory '/usr/lib/modules/6.1.21+/build'
make: *** [Makefile:2392: modules] Error 2

at least it shows armv6I now, which should be correct for a 32bit system.
still wondering bout the cross compile command there. i don’t want it to CC as it should run on the pi itself anyway.

Looks like the build script is not supporting armv6I ??

i searched the makefile and indeed i couldn’t find any reference to “armhf” or “arm6I”. i found arm64 but that wouldn’t help me. is there a way to edit the file so it compiles. i dunno how to work on makefiles at all…

I am not sure if we can help here. I guess the script developer must have an answer if he supports armv6l.

Another test you could do is to install the original RPi OS on a spare SD card. That way you could check how it behaves without our DietPi modification.

Will do when i get the time, but probably not before the weekend. I found a fork of said driver and dropped a line at github. Seems the other project is more active. In any case I’ll let you know how it goes. Regards

Did you follow these steps? GitHub - cilynx/rtl88x2bu: rtl88x2bu driver updated for current kernels.

# Update all packages per normal
sudo apt update
sudo apt upgrade

# Install prereqs
sudo apt install git dnsmasq hostapd bc build-essential dkms raspberrypi-kernel-headers

# Reboot just in case there were any kernel updates
sudo reboot

# Pull down the driver source
git clone https://github.com/cilynx/rtl88x2bu
cd rtl88x2bu/

# Configure for RasPi
sed -i 's/I386_PC = y/I386_PC = n/' Makefile
sed -i 's/ARM_RPI = n/ARM_RPI = y/' Makefile

# DKMS as above
VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER} # Takes ~3-minutes on a 3B+
sudo dkms install -m rtl88x2bu -v ${VER}

# Plug in your adapter then confirm your new interface name
ip a

The two sed’s to disable the i386 and enable RPi build are essential. This installs it via DMKS, so any kernel upgrade should imply an automatic rebuild of this driver.