From 429b232b96b9ec701d51cac43bc61615cc2e9cc0 Mon Sep 17 00:00:00 2001 From: kimocoder Date: Wed, 14 Nov 2018 23:35:22 +0100 Subject: [PATCH 1/3] Added support for RPI and Odroid C2 --- Makefile | 22 ++++++++++++++++++++++ dkms.conf | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index cf122d4..453964d 100755 --- a/Makefile +++ b/Makefile @@ -139,6 +139,8 @@ CONFIG_PLATFORM_ARM_RTD299X = n CONFIG_PLATFORM_ARM_SPREADTRUM_6820 = n CONFIG_PLATFORM_ARM_SPREADTRUM_8810 = n CONFIG_PLATFORM_ARM_WMT = n +CONFIG_PLATFORM_ARM_RPI = n +CONFIG_PLATFORM_ARM_ODROIDC2 = n CONFIG_PLATFORM_TI_DM365 = n CONFIG_PLATFORM_MOZART = n CONFIG_PLATFORM_RTK119X = n @@ -1378,7 +1380,27 @@ KVER := 3.10.24 CROSS_COMPILE := /home/realtek/software_phoenix/phoenix/toolchain/usr/local/arm-2013.11/bin/arm-linux-gnueabihf- KSRC := /home/realtek/software_phoenix/linux-kernel MODULE_NAME := 8192eu +endif +ifeq ($(CONFIG_PLATFORM_ARM_RPI), y) +EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN +EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT +ARCH ?= arm +CROSS_COMPILE ?= +KVER ?= $(shell uname -r) +KSRC := /lib/modules/$(KVER)/build +MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ +INSTALL_PREFIX := +endif +ifeq ($(CONFIG_PLATFORM_ARM_ODROIDC2), y) +EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN +EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT +ARCH ?= arm64 +CROSS_COMPILE ?= +KVER ?= $(shell uname -r) +KSRC := /lib/modules/$(KVER)/build +MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ +INSTALL_PREFIX := endif ifeq ($(CONFIG_PLATFORM_RTK129X), y) diff --git a/dkms.conf b/dkms.conf index 1162908..2d86863 100644 --- a/dkms.conf +++ b/dkms.conf @@ -1,5 +1,5 @@ PACKAGE_NAME="realtek-rtl88xxau" -PACKAGE_VERSION="5.3.4~20181025" +PACKAGE_VERSION="5.3.4~20181114" CLEAN="'make' clean" BUILT_MODULE_NAME[0]=88XXau PROCS_NUM=`nproc` From e972ae816237f35a2ff0aa0f6adbce4a42180aa4 Mon Sep 17 00:00:00 2001 From: kimocoder Date: Wed, 14 Nov 2018 23:36:44 +0100 Subject: [PATCH 2/3] Update kernel v4.19 support --- include/wifi.h | 6 ++---- os_dep/linux/os_intfs.c | 16 +++++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/wifi.h b/include/wifi.h index 44bf7c8..ff28e7d 100644 --- a/include/wifi.h +++ b/include/wifi.h @@ -1027,10 +1027,8 @@ typedef enum _HT_CAP_AMPDU_DENSITY { * A-PMDU buffer sizes * According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2) */ -#define IEEE80211_MIN_AMPDU_BUF 0x8 -#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)) -#define IEEE80211_MAX_AMPDU_BUF 0x40 -#endif +// #define IEEE80211_MIN_AMPDU_BUF 0x8 +// #define IEEE80211_MAX_AMPDU_BUF 0x40 /* Spatial Multiplexing Power Save Modes */ #define WLAN_HT_CAP_SM_PS_STATIC 0 diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c index 9595b91..67399d5 100644 --- a/os_dep/linux/os_intfs.c +++ b/os_dep/linux/os_intfs.c @@ -1275,13 +1275,15 @@ unsigned int rtw_classify8021d(struct sk_buff *skb) static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) - , struct net_device *sb_dev -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0) - , void *accel_priv -#endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) - , select_queue_fallback_t fallback +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0) + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) + , void *accel_priv + #else + , struct net_device *sb_dev + #endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) + , select_queue_fallback_t fallback + #endif #endif ) { From 0a4042afbdf9405cb6611d6d7173859eb957b480 Mon Sep 17 00:00:00 2001 From: kimocoder Date: Wed, 14 Nov 2018 23:39:13 +0100 Subject: [PATCH 3/3] Add kernel v4.20 support and minor compiler warning turned off --- Makefile | 2 ++ os_dep/linux/ioctl_cfg80211.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 453964d..4b0431d 100755 --- a/Makefile +++ b/Makefile @@ -26,6 +26,8 @@ ifeq ($(GCC_VER_49),1) EXTRA_CFLAGS += -Wno-date-time -Wno-error=date-time # Fix compile error && warning on gcc 4.9 and later endif +EXTRA_CFLAGS += -Wno-vla + EXTRA_CFLAGS += -I$(src)/include EXTRA_LDFLAGS += --strip-debug diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c index 1ede452..cfb2ed0 100644 --- a/os_dep/linux/ioctl_cfg80211.c +++ b/os_dep/linux/ioctl_cfg80211.c @@ -692,7 +692,11 @@ static u64 rtw_get_systime_us(void) return do_div(ts, 1000); #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) struct timespec ts; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)) + getboottime(&ts); +#else get_monotonic_boottime(&ts); +#endif return ((u64)ts.tv_sec * 1000000) + ts.tv_nsec / 1000; #else struct timeval tv;