astsam / rtl8812au

RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection
360 stars 966 forks source link

Ubuntu 18.04(Kernel 4.15) - Make Error #102

Open FredC88 opened 5 years ago

FredC88 commented 5 years ago

Hi there!

Thank you for all the hard works! However I got the following error messages when Make, pls. take a look.

Thank you very much in advance!

Error Messages:

make[1]: Entering directory '/usr/src/linux-headers-4.15.0-43-generic' Makefile:975: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" CC [M] /home/fred/Desktop/Test/rtl8812au-AstSam/core/rtw_cmd.o In file included from /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h:41:0, from /home/fred/Desktop/Test/rtl8812au-AstSam/include/drv_types.h:32, from /home/fred/Desktop/Test/rtl8812au-AstSam/core/rtw_cmd.c:22: /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service_linux.h: In function ‘_init_timer’: /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service_linux.h:273:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’ ptimer->data = (unsigned long)cntx; ^~ /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service_linux.h:274:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration] init_timer(ptimer); ^~~~~~ _init_timer In file included from /home/fred/Desktop/Test/rtl8812au-AstSam/include/drv_types.h:32:0, from /home/fred/Desktop/Test/rtl8812au-AstSam/core/rtw_cmd.c:22: /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h: In function ‘thread_enter’: /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h:343:2: error: implicit declaration of function ‘allow_signal’; did you mean ‘do_signal’? [-Werror=implicit-function-declaration] allow_signal(SIGTERM); ^~~~ do_signal /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h: In function ‘flush_signals_thread’: /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h:353:6: error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration] if (signal_pending (current)) ^~~~~~ timer_pending /home/fred/Desktop/Test/rtl8812au-AstSam/include/osdep_service.h:355:3: error: implicit declaration of function ‘flush_signals’; did you mean ‘do_signal’? [-Werror=implicit-function-declaration] flush_signals(current); ^~~~~ do_signal cc1: some warnings being treated as errors scripts/Makefile.build:332: recipe for target '/home/fred/Desktop/Test/rtl8812au-AstSam/core/rtw_cmd.o' failed make[2]: [/home/fred/Desktop/Test/rtl8812au-AstSam/core/rtw_cmd.o] Error 1 Makefile:1551: recipe for target 'module/home/fred/Desktop/Test/rtl8812au-AstSam' failed make[1]: [module/home/fred/Desktop/Test/rtl8812au-AstSam] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-43-generic' Makefile:1264: recipe for target 'modules' failed make: *** [modules] Error 2

Dauie commented 5 years ago

@FredC88, If you look on the second line of the output you posted you'll see that it recommends you install one of three elf dependencies. that should clear up the majority of the errors you are seeing there. However, I am dealing with the same issue. After installing libelf-dev I am still met with the following:

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.15.0-45-generic/build M=/home/dauie/code/rtl8812au  modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-45-generic'
  CC [M]  /home/dauie/code/rtl8812au/core/rtw_cmd.o
In file included from /home/dauie/code/rtl8812au/include/osdep_service.h:41:0,
                 from /home/dauie/code/rtl8812au/include/drv_types.h:32,
                 from /home/dauie/code/rtl8812au/core/rtw_cmd.c:22:
/home/dauie/code/rtl8812au/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/dauie/code/rtl8812au/include/osdep_service_linux.h:277:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/dauie/code/rtl8812au/include/osdep_service_linux.h:278:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
  _init_timer
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/home/dauie/code/rtl8812au/core/rtw_cmd.o' failed
make[2]: *** [/home/dauie/code/rtl8812au/core/rtw_cmd.o] Error 1
Makefile:1551: recipe for target '_module_/home/dauie/code/rtl8812au' failed
make[1]: *** [_module_/home/dauie/code/rtl8812au] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-45-generic'
Makefile:1717: recipe for target 'modules' failed
make: *** [modules] Error 2

So we're dealing with a version mismatch of whatever library contains init_timer and its constituent the 'ptimer' structure.

I'm trying to get this driver working on 18.04 I'll let you know when I do @FredC88. (EDIT- using branch v4.3.21)

Dauie commented 5 years ago

@FredC88 there is another issue on this repo where they confirm that the timer API on our kernel version has changed. New drivers haven't been updated to accommodate the change. The issue is for kali, but the version of kali, in particular, is running 4.15.0. Here is the issue: https://github.com/astsam/rtl8812au/issues/90 At the bottom of the issue, they mention a driver for 8812au that is functioning for our kernel.

(EDIT: Even if you have a 8814au chipset, I've heard that the drivers for 8812au will still work)

P.S.

This issue should be closed.

Dauie commented 5 years ago

@FredC88 I used the driver mentioned in issue #90, I've managed to get the interface into monitor mode, I'm seeing traffic that isn't destined for me now, and I've successfully been able to switch to all 14 2.4ghz channels trough Netlink socket messages. However, I'm still having some issues getting my Alfa AWUS1900 to switch into a channel in the 5Ghz band.

ghost commented 5 years ago

Getting similar issue on sudo make command

root@kali:~# git clone https://github.com/astsam/rtl8812au Cloning into 'rtl8812au'... remote: Enumerating objects: 2076, done. remote: Total 2076 (delta 0), reused 0 (delta 0), pack-reused 2076 Receiving objects: 100% (2076/2076), 5.91 MiB | 4.56 MiB/s, done. Resolving deltas: 100% (1406/1406), done. root@kali:~# cd rtl8812au root@kali:~/rtl8812au# git checkout v5.1.5 Branch 'v5.1.5' set up to track remote branch 'v5.1.5' from 'origin'. Switched to a new branch 'v5.1.5' root@kali:~/rtl8812au# sudo make make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.19.0-kali1-amd64/build M=/root/rtl8812au modules make[1]: Entering directory '/usr/src/linux-headers-4.19.0-kali1-amd64' CC [M] /root/rtl8812au/core/rtw_cmd.o In file included from /root/rtl8812au/include/osdep_service.h:41, from /root/rtl8812au/include/drv_types.h:32, from /root/rtl8812au/core/rtw_cmd.c:22: /root/rtl8812au/include/osdep_service_linux.h: In function ‘_init_timer’: /root/rtl8812au/include/osdep_service_linux.h:277:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’ ptimer->data = (unsigned long)cntx; ^~ /root/rtl8812au/include/osdep_service_linux.h:278:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration] init_timer(ptimer); ^~~~~~ _init_timer In file included from /root/rtl8812au/include/drv_types.h:35, from /root/rtl8812au/core/rtw_cmd.c:22: /root/rtl8812au/include/wifi.h: At top level: /root/rtl8812au/include/wifi.h:1005: warning: "IEEE80211_MAX_AMPDU_BUF" redefined

define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from /root/rtl8812au/include/osdep_service_linux.h:88, from /root/rtl8812au/include/osdep_service.h:41, from /root/rtl8812au/include/drv_types.h:32, from /root/rtl8812au/core/rtw_cmd.c:22: /usr/src/linux-headers-4.19.0-kali1-common/include/linux/ieee80211.h:1442: note: this is the location of the previous definition

define IEEE80211_MAX_AMPDU_BUF 0x100

cc1: some warnings being treated as errors make[4]: [/usr/src/linux-headers-4.19.0-kali1-common/scripts/Makefile.build:309: /root/rtl8812au/core/rtw_cmd.o] Error 1 make[3]: [/usr/src/linux-headers-4.19.0-kali1-common/Makefile:1532: module/root/rtl8812au] Error 2 make[2]: [Makefile:146: sub-make] Error 2 make[1]: [Makefile:8: all] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-kali1-amd64' make: *** [Makefile:1855: modules] Error 2

kimocoder commented 5 years ago

Missing kernel v4.15 support (init timers) and kernel v4.19 support (MAX_AMPDU)

FredC88 commented 5 years ago

Hi Everyone!!! Thank you so much so much for everyone's efforts to support!! Really appreciated!!!

When I post the message I were so fresh in Linux/Ubuntu that I didn't know Linux can update Kernel "manually"!! There is no such thing in windows 10! I hv successfully upgraded through uKuu to 5.0, please work on 5.0 instead.

So sorry for being late in reply, pls. forgive me everyone. So busy in battling with Linux/Ubuntu/Arch(Mangaro) this whole month...

juanlet commented 5 years ago

How did you solved this? Could you provide steps to install it in ubuntu 18.04?

Mhowser commented 4 years ago

any progress on this @FredC88 ?