Closed VitalKoshalew closed 5 years ago
The referenced branch successfully builds and works properly for kernel 4.13.12
Confirmed - builds/installs for Kali 2017.3. Using a Netis AC1200 WF2190 antenna. Can connect normally to wifi. Can't yet coax it into monitor mode. Can't run an aireplay-ng injection test.
I can verify that the PR made by @VitalKoshalew compiles and works fine on Debian Testing (currently kernel version 4.14.13-1)
Is there any reason this PR hasn't been merged?
just used @VitalKoshalew beta-mod branch and was able to get linux kernel 4.13+ to connect.
A merge would make sense!
Is there any reason this PR hasn't been merged?
Yes, it broke building kernels < 4.11 (the struct and use of it should've been in conditionals) I believe that some conditionals weren't correct either, see https://github.com/abperiasamy/rtl8812AU_8821AU_linux/issues/222#issuecomment-316215549
I've just uploaded several commits to the 4.3.20 branch and that made the kernels up until 4.14 build on my system. I haven't tested whether it actually worked though. If you can verify whether the latest code works for you, that would be great :+1:
For reference, this is the script I use. It isn't perfect (it always reports "SUCCEEDED"), but it does the job for me.
$ cat ../build-all.sh
#!/bin/sh
#COMPILERS="gcc-4.8 gcc-4.9 gcc-5 gcc-6 gcc-7"
COMPILERS=""
COMPILERS="$COMPILERS gcc-4.8"
COMPILERS="$COMPILERS gcc-4.9"
COMPILERS="$COMPILERS gcc-5"
COMPILERS="$COMPILERS gcc-6"
COMPILERS="$COMPILERS gcc-7"
#KERNELS="3.16.0-4-amd64 4.1.0-2-amd64 4.2.0-1-amd64 4.3.0-1-amd64 4.4.0-1-amd64 4.5.0-2-amd64 4.6.0-1-amd64 4.7.0-1-amd64 4.8.0-2-amd64 4.9.0-3-amd64 4.12.0-2-amd64 4.13.0-1-amd64 4.14.0-3-amd64 4.15.0-1-amd64"
KERNELS=""
KERNELS="$KERNELS 3.16.0-4-amd64"
KERNELS="$KERNELS 4.1.0-2-amd64"
KERNELS="$KERNELS 4.2.0-1-amd64"
KERNELS="$KERNELS 4.3.0-1-amd64"
KERNELS="$KERNELS 4.4.0-1-amd64"
KERNELS="$KERNELS 4.5.0-2-amd64"
KERNELS="$KERNELS 4.6.0-1-amd64"
KERNELS="$KERNELS 4.7.0-1-amd64"
KERNELS="$KERNELS 4.8.0-2-amd64"
KERNELS="$KERNELS 4.9.0-3-amd64"
KERNELS="$KERNELS 4.11.0-2-amd64"
KERNELS="$KERNELS 4.12.0-2-amd64"
KERNELS="$KERNELS 4.13.0-1-amd64"
KERNELS="$KERNELS 4.14.0-3-amd64"
#KERNELS="$KERNELS 4.15.0-1-amd64"
LOG_FILE="build.log"
log()
{
# $1 = log message
# $2 = no line break
if [ ! -z "$1" ] ; then
if [ -z "$2" ] ; then
echo "$1" | tee -a $LOG_FILE
else
echo -n "$1" | tee -a $LOG_FILE
fi
fi
}
for kernel in $KERNELS
do
log "============================================"
log "Using kernel '$kernel'"
log "============================================"
for compiler in $COMPILERS
do
#log "============================================"
log ""
log "Clean up previous build artifacts"
make clean >/dev/null
log "Building module for kernel '$kernel' with compiler '$compiler'"
make -j12 KVER=$kernel GCC=$compiler 2>&1 | tee -a $LOG_FILE
log "Build " true
if [ $? -eq 0 ] ; then
log "SUCCEEDED"
else
log "FAILED"
fi
log ""
log "================"
done
done
Just pushed commits which makes it compile until 5.2, so this PR is no longer needed.
Integrated fixes from the following sources to make the driver compile and work on Linux kernel 4.11.9 and later: https://github.com/diederikdehaas/rtl8812AU/issues/75 https://github.com/masterzorag/RTL8192EU-linux/pull/4/ https://github.com/Grawp/rtl8812au_rtl8821au/pull/46/ https://patchwork.kernel.org/patch/9706301/