[SOLVED] Odroid C2 Wifi? RTL8811au

Post Reply
danderson198
Posts: 11
Joined: Sat Oct 29, 2016 5:15 am
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0

[SOLVED] Odroid C2 Wifi? RTL8811au

Post by danderson198 »

Have usb wifi adapter netgear ac600 chipset rtl8811au will not work. Android 5.1.1 ver 2.1. Says you have rtl8811au drivers in kernel but wont work?
Last edited by danderson198 on Tue Feb 23, 2021 4:34 pm, edited 1 time in total.

User avatar
odroid
Site Admin
Posts: 41850
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3429 times
Been thanked: 1915 times
Contact:

Re: Odroid C2 Wifi? RTL8811au

Post by odroid »

We've tested/supported only below wifi chipsets on Android OS.
Wifi module 5: Realtek RTL8812AU(0BDA:8812)
Wifi module 4: Ralink RT5572 (148F:5572)
Wifi module 3: Realtek RTL8188CUS (0BDA:8176)
Wifi module 1/0: Ralink RT5370 (148F:5370)1

Try to edit /etc/wifi_list.txt file to add the VID/PID of your chipset.
But I am not sure whether it works or not.

danderson198
Posts: 11
Joined: Sat Oct 29, 2016 5:15 am
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0

Re: Odroid C2 Wifi? RTL8811au

Post by danderson198 »

Thanks for the reply!

VID/PID is 0846:9052

This is what I added to the wifi_id_list.txt
/* Netgear - Edimax */0846 9052 8812au /system/etc/modprobe.d/8812au

Not sure if this is right but it didnt work.

Device has rtl8811au chipset but should work with 8812au driver? IDK?

https://wikidevi.com/wiki/Netgear_A6100

danderson198
Posts: 11
Joined: Sat Oct 29, 2016 5:15 am
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0

Re: Odroid C2 Wifi? RTL8811au

Post by danderson198 »

Update!
Did a fresh install and updated to 5.1.1 ver 2.4 and added this to the wifi_id_list.txt

0846 9052 8812au /system/etc/modprobe.d/8812au

Used this entry instead of the one I tried earlier. Used Solid Explorer File Manager to edit and save text file.
Rebooted and it now works!

Netgear Wireless AC Adapter AC600 Dual Band Model A6100
rtl8811au chipset works with 8812au driver.
Last edited by danderson198 on Tue Nov 01, 2016 12:12 am, edited 1 time in total.

User avatar
odroid
Site Admin
Posts: 41850
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3429 times
Been thanked: 1915 times
Contact:

Re: Odroid C2 Wifi? RTL8811au

Post by odroid »

Good to hear we have another working WiFi chipset. :D
Thank you for the confirmation.

Mista Dista
Posts: 19
Joined: Sat Sep 10, 2016 2:16 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Mista Dista »

Could someone show me step by step on how to edit the Odroid C2 Wifi RTL8811au driver? I don't know where to go or how to edit the /etc/wifi_list.txt file to add the VID/PID of my chipset. And also where could I find the VID/PID of my chipset.

danderson198
Posts: 11
Joined: Sat Oct 29, 2016 5:15 am
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by danderson198 »

Mista Dista wrote:Could someone show me step by step on how to edit the Odroid C2 Wifi RTL8811au driver? I don't know where to go or how to edit the /etc/wifi_list.txt file to add the VID/PID of my chipset. And also where could I find the VID/PID of my chipset.
Mista Dista

This is how I did it...

You can get your device VID:PID by unplugging your wifi adapter and typing "lsusb" without the quotes into the terminal emulator then plugging your wifi adapter back in and typing "lsusb" again and taking note of the new device that shows up.

To edit the wifi_id_list.txt I downloaded and used solid explorer file manager app. I used this app because the regular file manager app wouldn't let me save the edited text file for some reason even with SU privileges.
Once you download and install the app click on the 3 bars icon in the upper left corner of the app and click on the root folder then click on the etc folder and scroll down. The wifi_id_liist text file should be towards the bottom. click on it and scroll to the bottom then add this...

0846 9052 8812au /system/etc/modprobe.d/8812au

But make sure to change the VID:PID "0846 9052" to match your device. Then click on the save icon in the top right corner of the app. It might not save it the first time so just click on the red circle with a X in the upper right corner and click save again and it should say file saved. Then reboot and should work if your device has the rtl8811au chipset. But keyword here is "should." Not 100% positive it will work but it did for me.

Mista Dista
Posts: 19
Joined: Sat Sep 10, 2016 2:16 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Mista Dista »

Cool. Thanks for the info. I'll let you know if I could also successfully edit my driver as well (RTL8811au)

User avatar
jspeed3
Posts: 20
Joined: Fri Dec 30, 2016 11:20 am
languages_spoken: english
ODROIDs: xu4
Location: New Orleans
Has thanked: 0
Been thanked: 0
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by jspeed3 »

is there a way to do this in linux

danderson198
Posts: 11
Joined: Sat Oct 29, 2016 5:15 am
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by danderson198 »

jspeed3 wrote:is there a way to do this in linux
In general not exactly sure. I think linux comes with the 8812au driver if you were refering to that specific driver.
I plugged the listed wifi adapter in using linux and it worked no problem.

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Unfortunately, this method did not work for me.

Device: TP-Link Archer T2U Nano
Chipset: Realtek 8811AU
VID:PID 2357:011e

Added the device to the list echo "2357 011e 8812au /system/etc/modprobe.d/8812au" >> /system/etc/wifi_id_list.txt and rebooted. But the kernel module was not loaded.

Android 6.0.1 ver. 5.6
dmesg | grep RTL:

Code: Select all

[  203.376977@3] RTL871X: module init start
[  203.377003@3] RTL871X: rtl8812au v4.3.14_13455.20150212_BTCOEX20150128-51
[  203.382018@3] RTL871X: rtl8812au BT-Coex version = BTCOEX20150128-51
[  203.394261@3] RTL871X: module init ret=0
[  244.238483@3] RTL871X: module exit start
[  244.481907@0] RTL871X: module exit success
Looks like an issue with the particular (old) version of the driver, newer versions (like https://github.com/jeremyb31/rtl8812au-1) should support it, see https://askubuntu.com/questions/1149117 ... untu-18-04

Any help?

User avatar
odroid
Site Admin
Posts: 41850
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3429 times
Been thanked: 1915 times
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by odroid »

We will check whether a newer RTL driver can be ported to the old Android kernel 3.14 or not.
It may take a couple of weeks.

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Compiled driver v5.6.4.2 for x86_64 kernel 4.4.0 - works fine (2.4 and 5GHz). There is also a config for S905, but it has a different structure than yours, could not figure out yet how to merge it.
NB, TP-Link devices are included in your version of usb_intf.c as well, but it just does not start...

User avatar
odroid
Site Admin
Posts: 41850
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3429 times
Been thanked: 1915 times
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by odroid »

We've tried to port this new open source driver to C2 Android Kernel, but failed because we met some compiling errors with the old C2 3.14 kernel while the C4/N2 Kernel 4.9 could successfully merge it. Sorry about that.
https://github.com/aircrack-ng/rtl8812au/tree/v5.3.4

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Yes, I also tried native compile with gcc-4.9 against the 3.14 kernel sources, but getting errors.

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Managed to fix some errors and ignore others, compiled version v5.6.4.2_35491.20191025 (from https://github.com/aircrack-ng/rtl8812au) for Ubuntu kernel 3.16.82-59. Driver works. Writing this message from C2. ;)
  • module compiles under Ubuntu with minimal changes

Code: Select all

odroid@odroid:~/rtl8812au$ git diff
diff --git a/Makefile b/Makefile
index 27daced..2e1450f 100755
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ EXTRA_CFLAGS += -Wno-unused-variable
 EXTRA_CFLAGS += -Wno-unused-label
 #EXTRA_CFLAGS += -Wno-unused-parameter
 EXTRA_CFLAGS += -Wno-unused-function
-EXTRA_CFLAGS += -Wimplicit-fallthrough=0
+#EXTRA_CFLAGS += -Wimplicit-fallthrough=0
 #EXTRA_CFLAGS += -Wno-parentheses-equality
 #EXTRA_CFLAGS += -Wno-pointer-bool-conversion
 EXTRA_CFLAGS += -Wno-unknown-pragmas
@@ -92,7 +92,7 @@ CONFIG_RTW_SDIO_PM_KEEP_POWER = y
 ###################### MP HW TX MODE FOR VHT #######################
 CONFIG_MP_VHT_HW_TX_MODE = n
 ###################### Platform Related #######################
-CONFIG_PLATFORM_I386_PC = y
+CONFIG_PLATFORM_I386_PC = n
 CONFIG_PLATFORM_ANDROID_ARM64 = n
 CONFIG_PLATFORM_ARM_RPI = n
 CONFIG_PLATFORM_ARM64_RPI = n
@@ -158,7 +158,7 @@ CONFIG_PLATFORM_NV_TK1_UBUNTU = n
 CONFIG_PLATFORM_RTL8197D = n
 CONFIG_PLATFORM_AML_S905 = n
 CONFIG_PLATFORM_ZTE_ZX296716 = n
-CONFIG_PLATFORM_ARM_ODROIDC2 = n
+CONFIG_PLATFORM_ARM_ODROIDC2 = y
 CONFIG_PLATFORM_PPC = n
 ########### CUSTOMER ################################
 CONFIG_CUSTOMER_HUAWEI_GENERAL = n
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index 8c674fa..ae86ce5 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -27,7 +27,7 @@
 #define DBG_RTW_CFG80211_MESH_CONF 0
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
+//#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
 #define STATION_INFO_INACTIVE_TIME     BIT(NL80211_STA_INFO_INACTIVE_TIME)
 #define STATION_INFO_LLID                      BIT(NL80211_STA_INFO_LLID)
 #define STATION_INFO_PLID                      BIT(NL80211_STA_INFO_PLID)
@@ -57,7 +57,7 @@
 #define STATION_INFO_BSS_PARAM_SHORT_SLOT_TIME BIT(NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME)
 #define STATION_INFO_BSS_PARAM_DTIM_PERIOD     BIT(NL80211_STA_BSS_PARAM_DTIM_PERIOD)
 #define STATION_INFO_BSS_PARAM_BEACON_INTERVAL BIT(NL80211_STA_BSS_PARAM_BEACON_INTERVAL)
-#endif /* Linux kernel >= 4.0.0 */
+//#endif /* Linux kernel >= 4.0.0 */
 
 #include <rtw_wifi_regd.h>
 
  • module is loaded automatically (I must have not run the depmod correctly)
  • module is linked as 88XXau.ko and should cover both 8811/8812au, 8821au and 8814au chipsets
  • device is displayed correctly as single dual-band interface (I must have compiled it with CONFIG_CONCURRENT_MODE earlier)
  • module also works with dkms (automatically recompiled with kernel upgrade to 3.16.85-62)

But, although I was able to compile it against the Android 3.14 kernel (there were just a couple of warnings to fix), the Android module still does not work for me.
Last edited by Wladyslaw on Fri Aug 21, 2020 5:23 pm, edited 1 time in total.
These users thanked the author Wladyslaw for the post:
odroid (Wed Aug 19, 2020 7:08 pm)

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Still struggling with the Android driver.
Compiled with minor fixes and 8814a=n, replaced the module in /system/lib/modules.
After reboot, the cfg80211 and mac80211 modules are loaded, but 8812au not.
Inserted the 8812au.ko manually, ip link shows wlan0 and wlan1 (still don't understand why there are two, but it says in the Makefile that it is required for Android).
Could make wlan0 up with ip (device LED starts blinking), but not wlan1. But Settings app does not see them. Cannot test with iw, as there is no iw on Android.
What else should I try?

Wladyslaw
Posts: 22
Joined: Fri Jun 03, 2016 6:56 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by Wladyslaw »

Finally got it working!
(Yes, writing this from Android :P)
Driver compiles with make KSRC=../linux ARCH=arm64 CROSS_COMPILE= KVER=3.14 -j4 and runs. (I guess, just need to chmod 644 8812au.ko)
Here is the diff for Android:

Code: Select all

diff --git a/Makefile b/Makefile
index 27daced..633b396 100755
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,11 @@
 EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) -fno-pie
 EXTRA_CFLAGS += -O3
 EXTRA_CFLAGS += -Wno-unused-variable
-#EXTRA_CFLAGS += -Wno-unused-value
+EXTRA_CFLAGS += -Wno-unused-value
 EXTRA_CFLAGS += -Wno-unused-label
 #EXTRA_CFLAGS += -Wno-unused-parameter
 EXTRA_CFLAGS += -Wno-unused-function
-EXTRA_CFLAGS += -Wimplicit-fallthrough=0
+#EXTRA_CFLAGS += -Wimplicit-fallthrough=0
 #EXTRA_CFLAGS += -Wno-parentheses-equality
 #EXTRA_CFLAGS += -Wno-pointer-bool-conversion
 EXTRA_CFLAGS += -Wno-unknown-pragmas
@@ -23,7 +23,7 @@ EXTRA_LDFLAGS += --strip-all -O3
 ########################## WIFI IC ############################
 CONFIG_RTL8812A = y
 CONFIG_RTL8821A = y
-CONFIG_RTL8814A = y
+CONFIG_RTL8814A = n
 ######################### Interface ###########################
 CONFIG_USB_HCI = y
 ########################### Android ###########################
@@ -92,7 +92,7 @@ CONFIG_RTW_SDIO_PM_KEEP_POWER = y
 ###################### MP HW TX MODE FOR VHT #######################
 CONFIG_MP_VHT_HW_TX_MODE = n
 ###################### Platform Related #######################
-CONFIG_PLATFORM_I386_PC = y
+CONFIG_PLATFORM_I386_PC = n
 CONFIG_PLATFORM_ANDROID_ARM64 = n
 CONFIG_PLATFORM_ARM_RPI = n
 CONFIG_PLATFORM_ARM64_RPI = n
@@ -156,7 +156,7 @@ CONFIG_PLATFORM_HISILICON_HI3798 = n
 CONFIG_PLATFORM_NV_TK1 = n
 CONFIG_PLATFORM_NV_TK1_UBUNTU = n
 CONFIG_PLATFORM_RTL8197D = n
-CONFIG_PLATFORM_AML_S905 = n
+CONFIG_PLATFORM_AML_S905 = y
 CONFIG_PLATFORM_ZTE_ZX296716 = n
 CONFIG_PLATFORM_ARM_ODROIDC2 = n
 CONFIG_PLATFORM_PPC = n
@@ -935,7 +935,8 @@ endif
 ifeq ($(CONFIG_LOAD_PHY_PARA_FROM_FILE), y)
 EXTRA_CFLAGS += -DCONFIG_LOAD_PHY_PARA_FROM_FILE
 #EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER
-EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
+#EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
+EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"\"
 endif
 
 ifeq ($(CONFIG_TXPWR_BY_RATE), n)
@@ -2073,7 +2074,7 @@ KSRC := $(DIR_LINUX)
 endif
 
 ifeq ($(CONFIG_PLATFORM_AML_S905), y)
-EXTRA_CFLAGS += -DCONFIG_PLATFORM_AML_S905
+EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
 EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -fno-pic
 # default setting for Android
 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
diff --git a/core/rtw_ieee80211.c b/core/rtw_ieee80211.c
index 94e3d59..9e36b22 100644
--- a/core/rtw_ieee80211.c
+++ b/core/rtw_ieee80211.c
@@ -1740,7 +1740,7 @@ void dump_ht_op_ie_content(void *sel, const u8 *buf, u32 buf_len)
 void dump_ht_op_ie(void *sel, const u8 *ie, u32 ie_len)
 {
 	const u8 *ht_op_ie;
-	sint ht_op_ielen;
+	sint ht_op_ielen = 0;
 
 	ht_op_ie = rtw_get_ie(ie, WLAN_EID_HT_OPERATION, &ht_op_ielen, ie_len);
 	if (!ie || ht_op_ie != ie)
diff --git a/hal/phydm/halrf/rtl8812a/halrf_8812a_ce.c b/hal/phydm/halrf/rtl8812a/halrf_8812a_ce.c
index cebb726..6d5c461 100644
--- a/hal/phydm/halrf/rtl8812a/halrf_8812a_ce.c
+++ b/hal/phydm/halrf/rtl8812a/halrf_8812a_ce.c
@@ -820,7 +820,7 @@ void _iqk_tx_8812a(struct dm_struct *dm, u8 chnl_idx)
 			}
 			if (tx0_average >= 2) {
 				for (i = 0; i < tx0_average; i++) {
-					for (ii = i + 1; ii < tx0_average; ii++) {
+					for (ii = i + 1; ii < tx0_average && ii < 11; ii++) {
 						dx = (TX_IQC_temp[i][0] >> 21) - (TX_IQC_temp[ii][0] >> 21);
 						if (dx < 4 && dx > -4) {
 							dy = (TX_IQC_temp[i][1] >> 21) - (TX_IQC_temp[ii][1] >> 21);
@@ -836,7 +836,7 @@ void _iqk_tx_8812a(struct dm_struct *dm, u8 chnl_idx)
 			}
 			if (tx1_average >= 2) {
 				for (i = 0; i < tx1_average; i++) {
-					for (ii = i + 1; ii < tx1_average; ii++) {
+					for (ii = i + 1; ii < tx1_average && ii < 11; ii++) {
 						dx = (TX_IQC_temp[i][2] >> 21) - (TX_IQC_temp[ii][2] >> 21);
 						if (dx < 4 && dx > -4) {
 							dy = (TX_IQC_temp[i][3] >> 21) - (TX_IQC_temp[ii][3] >> 21);
@@ -1046,7 +1046,7 @@ void _iqk_tx_8812a(struct dm_struct *dm, u8 chnl_idx)
 			       cal0_retry);
 			if (rx0_average >= 2) {
 				for (i = 0; i < rx0_average; i++) {
-					for (ii = i + 1; ii < rx0_average; ii++) {
+					for (ii = i + 1; ii < rx0_average && ii < 11; ii++) {
 						dx = (RX_IQC_temp[i][0] >> 21) - (RX_IQC_temp[ii][0] >> 21);
 						if (dx < 4 && dx > -4) {
 							dy = (RX_IQC_temp[i][1] >> 21) - (RX_IQC_temp[ii][1] >> 21);
@@ -1062,7 +1062,7 @@ void _iqk_tx_8812a(struct dm_struct *dm, u8 chnl_idx)
 			}
 			if (rx1_average >= 2) {
 				for (i = 0; i < rx1_average; i++) {
-					for (ii = i + 1; ii < rx1_average; ii++) {
+					for (ii = i + 1; ii < rx1_average && ii < 11; ii++) {
 						dx = (RX_IQC_temp[i][2] >> 21) - (RX_IQC_temp[ii][2] >> 21);
 						if (dx < 4 && dx > -4) {
 							dy = (RX_IQC_temp[i][3] >> 21) - (RX_IQC_temp[ii][3] >> 21);
diff --git a/hal/phydm/halrf/rtl8821a/halrf_iqk_8821a_ce.c b/hal/phydm/halrf/rtl8821a/halrf_iqk_8821a_ce.c
index b6491ba..3a9146d 100644
--- a/hal/phydm/halrf/rtl8821a/halrf_iqk_8821a_ce.c
+++ b/hal/phydm/halrf/rtl8821a/halrf_iqk_8821a_ce.c
@@ -596,7 +596,7 @@ void _iqk_tx_8821a(
 		for (i = 0; i < tx_average; i++)
 			PHYDM_DBG(dm, DBG_COMP_MCC, "TX_X0[%d] = %x ;; TX_Y0[%d] = %x\n", i, (TX_X0[i]) >> 21 & 0x000007ff, i, (TX_Y0[i]) >> 21 & 0x000007ff);
 		for (i = 0; i < tx_average; i++) {
-			for (ii = i + 1; ii < tx_average; ii++) {
+			for (ii = i + 1; ii < tx_average && ii < cal_num_8821A; ii++) {
 				dx = (TX_X0[i] >> 21) - (TX_X0[ii] >> 21);
 				if (dx < 3 && dx > -3) {
 					dy = (TX_Y0[i] >> 21) - (TX_Y0[ii] >> 21);
@@ -627,7 +627,7 @@ void _iqk_tx_8821a(
 			}
 		}
 		for (i = 0; i < rx_average; i++) {
-			for (ii = i + 1; ii < rx_average; ii++) {
+			for (ii = i + 1; ii < rx_average && ii < cal_num_8821A; ii++) {
 				dx = (RX_X0[0][i] >> 21) - (RX_X0[0][ii] >> 21);
 				if (dx < 4 && dx > -4) {
 					dy = (RX_Y0[0][i] >> 21) - (RX_Y0[0][ii] >> 21);
@@ -647,7 +647,7 @@ void _iqk_tx_8821a(
 		}
 		if (rx_iqk_loop == 2) {
 			for (i = 0; i < rx_average; i++) {
-				for (ii = i + 1; ii < rx_average; ii++) {
+				for (ii = i + 1; ii < rx_average && ii < cal_num_8821A; ii++) {
 					dx = (RX_X0[1][i] >> 21) - (RX_X0[1][ii] >> 21);
 					if (dx < 4 && dx > -4) {
 						dy = (RX_Y0[1][i] >> 21) - (RX_Y0[1][ii] >> 21);
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index 8c674fa..ae86ce5 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -27,7 +27,7 @@
 #define DBG_RTW_CFG80211_MESH_CONF 0
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
+//#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
 #define STATION_INFO_INACTIVE_TIME	BIT(NL80211_STA_INFO_INACTIVE_TIME)
 #define STATION_INFO_LLID			BIT(NL80211_STA_INFO_LLID)
 #define STATION_INFO_PLID			BIT(NL80211_STA_INFO_PLID)
@@ -57,7 +57,7 @@
 #define STATION_INFO_BSS_PARAM_SHORT_SLOT_TIME	BIT(NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME)
 #define STATION_INFO_BSS_PARAM_DTIM_PERIOD	BIT(NL80211_STA_BSS_PARAM_DTIM_PERIOD)
 #define STATION_INFO_BSS_PARAM_BEACON_INTERVAL	BIT(NL80211_STA_BSS_PARAM_BEACON_INTERVAL)
-#endif /* Linux kernel >= 4.0.0 */
+//#endif /* Linux kernel >= 4.0.0 */
 
 #include <rtw_wifi_regd.h>
 
diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
index 1085d6c..82bc50a 100644
--- a/os_dep/linux/os_intfs.c
+++ b/os_dep/linux/os_intfs.c
@@ -2802,6 +2802,9 @@ int netdev_vir_if_open(struct net_device *pnetdev)
 static int netdev_vir_if_close(struct net_device *pnetdev)
 {
 	_adapter *padapter = (_adapter *)rtw_netdev_priv(pnetdev);
+#ifdef CONFIG_IOCTL_CFG80211
+	struct wireless_dev *wdev = padapter->rtw_wdev;
+#endif
 	struct mlme_priv	*pmlmepriv = &padapter->mlmepriv;
 
 	RTW_INFO(FUNC_NDEV_FMT" , bup=%d\n", FUNC_NDEV_ARG(pnetdev), padapter->bup);
The only issue I see so far is that it does not show the connection speed. Settings app shows 5 GHz, 0 Mbit/s, signal low (although the icon shows high). My router shows that it is connected at 260 Mbit/s up and down.

User avatar
odroid
Site Admin
Posts: 41850
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3429 times
Been thanked: 1915 times
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by odroid »

Great!
We will try your patch in the next week.

User avatar
codewalker
Posts: 2038
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 72 times
Been thanked: 192 times
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by codewalker »

I applied your patch and modified some codes.

Test version is here.
https://dn.odroid.com/S905/Android/test/marshmallow/

I will test this driver for a few days.

Thank you.

User avatar
codewalker
Posts: 2038
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 72 times
Been thanked: 192 times
Contact:

Re: [SOLVED] Odroid C2 Wifi? RTL8811au

Post by codewalker »


Post Reply

Return to “Android”

Who is online

Users browsing this forum: No registered users and 1 guest