Open theredbaron1834 opened 7 years ago
Using a fork by stylpen it goes a bit further, but still crashes.
make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.12.3-1-ARCH/build M=/home/theredbaron/tmp/rtl8822bu modules
make[1]: Entering directory '/usr/lib/modules/4.12.3-1-ARCH/build'
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_cmd.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_security.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_debug.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_io.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_ioctl_query.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_ioctl_set.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_ieee80211.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_mlme.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_mlme_ext.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_mi.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_wlan_util.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_vht.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_pwrctrl.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_rf.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_recv.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_sta_mgt.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_ap.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_xmit.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_p2p.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_tdls.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_br_ext.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_iol.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_sreset.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_btcoex.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_beamforming.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/rtw_odm.o
CC [M] /home/theredbaron/tmp/rtl8822bu/core/efuse/rtw_efuse.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/osdep_service.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/os_intfs.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/usb_intf.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/usb_ops_linux.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_linux.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/xmit_linux.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/mlme_linux.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/recv_linux.o
CC [M] /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.o
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_connect’:
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:753:21: error: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer type [-Werror=incompatible-pointer-types]
, notify_channel
^~~~~~~~~~~~~~
In file included from /home/theredbaron/tmp/rtl8822bu/include/osdep_service_linux.h:87:0,
from /home/theredbaron/tmp/rtl8822bu/include/osdep_service.h:41,
from /home/theredbaron/tmp/rtl8822bu/include/drv_types.h:32,
from /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:22:
./include/net/cfg80211.h:5435:6: note: expected ‘struct cfg80211_roam_info *’ but argument is of type ‘struct ieee80211_channel *’
void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
^~~~~~~~~~~~~~~
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:755:21: warning: passing argument 3 of ‘cfg80211_roamed’ makes integer from pointer without a cast [-Wint-conversion]
, cur_network->network.MacAddress
^~~~~~~~~~~
In file included from /home/theredbaron/tmp/rtl8822bu/include/osdep_service_linux.h:87:0,
from /home/theredbaron/tmp/rtl8822bu/include/osdep_service.h:41,
from /home/theredbaron/tmp/rtl8822bu/include/drv_types.h:32,
from /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:22:
./include/net/cfg80211.h:5435:6: note: expected ‘gfp_t {aka unsigned int}’ but argument is of type ‘unsigned char *’
void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
^~~~~~~~~~~~~~~
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:751:3: error: too many arguments to function ‘cfg80211_roamed’
cfg80211_roamed(padapter->pnetdev
^~~~~~~~~~~~~~~
In file included from /home/theredbaron/tmp/rtl8822bu/include/osdep_service_linux.h:87:0,
from /home/theredbaron/tmp/rtl8822bu/include/osdep_service.h:41,
from /home/theredbaron/tmp/rtl8822bu/include/drv_types.h:32,
from /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:22:
./include/net/cfg80211.h:5435:6: note: declared here
void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
^~~~~~~~~~~~~~~
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_add_monitor_if’:
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:3598:12: error: ‘struct net_device’ has no member named ‘destructor’; did you mean ‘priv_destructor’?
mon_ndev->destructor = rtw_ndev_destructor;
^~~~~~~~~~
priv_destructor
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_preinit_wiphy’:
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6097:18: error: ‘WIPHY_FLAG_SUPPORTS_SCHED_SCAN’ undeclared (first use in this function); did you mean ‘WIPHY_FLAG_SUPPORTS_TDLS’?
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WIPHY_FLAG_SUPPORTS_TDLS
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6097:18: note: each undeclared identifier is reported only once for each function it appears in
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c: At top level:
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6130:25: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.change_virtual_intf = cfg80211_rtw_change_iface,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6130:25: note: (near initialization for ‘rtw_cfg80211_ops.change_virtual_intf’)
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6153:22: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.add_virtual_intf = cfg80211_rtw_add_virtual_intf,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.c:6153:22: note: (near initialization for ‘rtw_cfg80211_ops.add_virtual_intf’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:303: /home/theredbaron/tmp/rtl8822bu/os_dep/linux/ioctl_cfg80211.o] Error 1
make[1]: *** [Makefile:1512: _module_/home/theredbaron/tmp/rtl8822bu] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.12.3-1-ARCH/build'
make: *** [Makefile:1318: modules] Error 2
[1] 26918 exit 2 make
make 40.02s user 3.57s system 101% cpu 42.971 total
I'm in the same boat here. I'm using Fedora 26, which uses Kernel 4.12
here is my private Aur-package compiling against kernel 4.12 and linux-lts kernel 4.9: https://github.com/shelby-cobra/rtl8822bu-dkms i use it successfully since several weeks . you are free to try it. you can ignore the error-message
Error! Could not find module source directory. Directory: /usr/src/rtl8822bu-dkms-1.0.0.9 does not exist.
the source is copiied to /usr/src/rtl8822bu-1.0.0.9. i'll fix it next time.
I cloned the repo from https://github.com/stylpen/rtl8822bu.git#60eff7ac7f465ef45bdff25f09329145a6178ae2
And I made the following modifications then the make
was successful.
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index f64b6bb..879692f 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -765,15 +765,14 @@ check_bss:
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) || defined(COMPAT_KERNEL_RELEASE)
, notify_channel
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
- , &roam_info, GFP_ATOMIC);
-#else
+ , &roam_info, GFP_ATOMIC
+#endif
, cur_network->network.MacAddress
, pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2
, pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2
, pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
, pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6
, GFP_ATOMIC);
-#endif
} else {
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
openSUSE tumbleweed 4.11.8-2-default
I still don't know if it works or not :-)
FYI there is a fork here: https://github.com/MeissnerEffect/rtl8822bu.git
Verified working with Debian's 4.14.0-3-amd64.
https://github.com/MeissnerEffect/rtl8822bu.git works on openSUSE Tumbleweed with kernel 4.16.7 as well. :-)
https://github.com/MeissnerEffect/rtl8822bu.git
confirmed working on Debian Buster Kernel 4.16.0.2 using:- Bus 002 Device 004: ID 7392:b822 Edimax Technology Co., Ltd
Trying to install this rtl8822bu's driver on linux kernel 4.12 with Arch Linux, and it is getting a make failure. This is a fully updated system.
Here is the log.
This is an Edimax AC1200 dual band "11ac wave 2", ew-7822ulc.
Any ideas? Any more info needed?