Compare commits

...
Author SHA1 Message Date
Sophie Brun a506509dd0 Prepare for Release 2022-11-10 12:02:25 +01:00
Sophie Brun 7bbd07e6ef Refresh patches 2022-11-10 12:01:24 +01:00
Sophie Brun 88c1c410b6 Update upstream source from tag 'upstream/5.3.9_git20221105.dab6e02'
Update to upstream version '5.3.9~git20221105.dab6e02'
with Debian dir eb4bf80565
2022-11-10 11:59:52 +01:00
Sophie Brun 41650f7535 New upstream version 5.3.9~git20221105.dab6e02 2022-11-10 11:59:48 +01:00
Kali Janitor bd397f8a55 Set upstream metadata fields: Repository-Browse.
Changes-By: lintian-brush
2022-11-01 05:14:33 +00:00
Sophie Brun 7ba2c81762 Prepare for Release 2022-10-06 16:00:04 +02:00
Sophie Brun 93bc402add Import upstream patch to fix the build with Linux 5.19 2022-10-06 15:59:12 +02:00
Sophie Brun d1092bd331 Refresh patches 2022-10-06 15:05:13 +02:00
Sophie Brun 7338edb800 Update upstream source from tag 'upstream/5.3.9_git20220829.4ba8e08'
Update to upstream version '5.3.9~git20220829.4ba8e08'
with Debian dir acb483443a
2022-10-06 14:22:17 +02:00
Sophie Brun 8e82f2058a New upstream version 5.3.9~git20220829.4ba8e08 2022-10-06 14:22:13 +02:00
Kali Janitor be4e8e03c7 Update standards version to 4.6.1, no changes needed.
Changes-By: lintian-brush
Fixes: lintian: out-of-date-standards-version
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html
2022-09-15 09:53:41 +00:00
Kali Janitor 6ef1e0dce3 Set upstream metadata fields: Bug-Database, Bug-Submit.
Changes-By: lintian-brush
Fixes: lintian: upstream-metadata-file-is-missing
See-also: https://lintian.debian.org/tags/upstream-metadata-file-is-missing.html
Fixes: lintian: upstream-metadata-missing-bug-tracking
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-bug-tracking.html
2022-09-15 09:53:28 +00:00
Kali Janitor 970e221d6c debian/copyright: use spaces rather than tabs to start continuation lines.
Changes-By: lintian-brush
Fixes: lintian: tab-in-license-text
See-also: https://lintian.debian.org/tags/tab-in-license-text.html
2022-09-15 09:53:09 +00:00
Kali Janitor ed0e6ba7f9 Trim trailing whitespace.
Changes-By: lintian-brush
Fixes: lintian: trailing-whitespace
See-also: https://lintian.debian.org/tags/trailing-whitespace.html
2022-09-15 09:52:57 +00:00
Arnaud Rebillout 52d217db9b Set PACKAGE_VERSION in override_dh_dkms
As this file is use by dh_dkms, it's Ok to adjust it just before calling
dh_dkms. Also, the option '-V $(DEB_VERSION_UPSTREAM)' is pointless, as
we already made sure that PACKAGE_VERSION was set properly.
2022-08-25 23:28:05 +07:00
Arnaud Rebillout 79615b352f Switch to dh-sequence-dkms 2022-08-25 22:58:22 +07:00
Arnaud Rebillout 50b857d068 No more dh-exec (requires compat 13) 2022-08-25 22:57:36 +07:00
Arnaud Rebillout 0c779d9cd8 Nitpicks, harmonize realtek-*-dkms packages
To reduce the differences when comparing those packages.

Gbp-Dch: ignore
2022-08-25 22:56:10 +07:00
Sophie Brun 9185277f38 Prepare for Release 2022-06-21 12:21:06 +02:00
Sophie Brun dffa09bda6 Add a patch to fix the build with kernel 5.18 2022-06-21 12:19:40 +02:00
Sophie Brun ca3597e27f Refresh patch 2022-06-21 12:19:30 +02:00
Sophie Brun 4d3330bc88 Remove useless patch (we change version in debian/rules) 2022-06-21 12:08:35 +02:00
Sophie Brun 1a7fc4699b Prepare for Release 2022-05-18 17:51:03 +02:00
Sophie Brun 92f8278d8b Add a patch to fix build build with kernel 5.17 2022-05-18 17:49:41 +02:00
Sophie Brun f3d9c10358 Prepare for Release 2022-05-12 11:03:13 +02:00
Sophie Brun 661846d873 Refresh patches 2022-05-12 11:02:48 +02:00
Sophie Brun e396b4e6ce Update upstream source from tag 'upstream/5.3.9_git20220319.0958f29'
Update to upstream version '5.3.9~git20220319.0958f29'
with Debian dir c14f50d3d0
2022-05-12 10:59:07 +02:00
Sophie Brun 88c8fcfece New upstream version 5.3.9~git20220319.0958f29 2022-05-12 10:59:03 +02:00
Sophie Brun 4486ebf4dc Prepare for Release 2021-12-14 17:56:23 +01:00
Sophie Brun b374d14770 Add a patch to fix the compilation with kernel 5.15 2021-12-14 17:55:44 +01:00
Ben Wilson 69059a85ae Remove template comment and switch spaces to tabs 2021-11-20 14:27:50 +00:00
Sophie Brun 08116e23bd Update debian/changelog 2021-09-28 11:00:37 +02:00
Sophie Brun ab187afc15 Refresh patches 2021-09-28 10:59:57 +02:00
Sophie Brun 167db73ddf Update upstream source from tag 'upstream/5.3.9_git20210504.6146193'
Update to upstream version '5.3.9~git20210504.6146193'
with Debian dir 89874ea436
2021-09-28 10:26:46 +02:00
Sophie Brun e01e3993b3 New upstream version 5.3.9~git20210504.6146193 2021-09-28 10:26:41 +02:00
Sophie Brun 5e25e5ab54 Prepare for Release 2021-07-13 10:50:58 +02:00
Sophie Brun 5bb00118be Blacklist r8188eu 2021-07-13 10:50:03 +02:00
Sophie Brun aa31120624 Bump Standards-Version to 4.5.1 2021-07-13 09:57:03 +02:00
Sophie Brun 9aa2cd13ac Prepare for Release 2021-04-14 17:25:54 +02:00
Sophie Brun ca373d4356 Refresh patches 2021-04-14 17:24:58 +02:00
Sophie Brun aae9cdee3b Update upstream source from tag 'upstream/5.3.9_git20210206.1e7145f'
Update to upstream version '5.3.9~git20210206.1e7145f'
with Debian dir 80bf993a47
2021-04-14 16:49:07 +02:00
Sophie Brun 322a5f0ea6 New upstream version 5.3.9~git20210206.1e7145f 2021-04-14 16:49:02 +02:00
Sophie Brun e2969545f3 Update debian/watch 2021-04-14 16:45:01 +02:00
Sophie Brun da9706496e Prepare for Release 2021-01-26 17:06:51 +01:00
Sophie Brun e105322274 Refresh patches 2021-01-26 17:06:28 +01:00
Sophie Brun f074eb5844 Update upstream source from tag 'upstream/5.3.9_git20201227'
Update to upstream version '5.3.9~git20201227'
with Debian dir 26f5989d84
2021-01-26 17:02:05 +01:00
Sophie Brun f075fe14db New upstream version 5.3.9~git20201227 2021-01-26 17:01:57 +01:00
Sophie Brun ec3c163afd Fix errors introduced in 5a7f22dc1f 2020-09-16 16:01:10 +02:00
Sophie Brun fb75a987dd Prepare release 2020-09-16 15:17:16 +02:00
Sophie Brun 5a7f22dc1f Add lintian-overrides for dh-exec-subst-unknown-variable 2020-09-16 15:17:16 +02:00
Sophie Brun 6cdb6d8145 Bump Standards-Version to 4.5.0 2020-09-16 15:17:16 +02:00
Sophie Brun 3ed934f66a Add comment in debian/copyright 2020-09-16 15:17:16 +02:00
Sophie Brun 2e8ec02f30 Refresh patches 2020-09-16 15:17:16 +02:00
Sophie Brun bb80d9b37d Update upstream source from tag 'upstream/5.3.9_git20200829'
Update to upstream version '5.3.9~git20200829'
with Debian dir e0e5993025
2020-09-16 15:00:55 +02:00
Sophie Brun 739e000bbf New upstream version 5.3.9~git20200829 2020-09-16 15:00:46 +02:00
Sophie Brun 627a0f8e2c New upstream version 5.3.9~20200710 2020-07-10 09:08:57 +02:00
Sophie Brun 4bd5e85b7b Update upstream source from tag 'upstream/5.3.9_git20200710'
Update to upstream version '5.3.9~git20200710'
with Debian dir 9d52024ab0
2020-07-10 08:55:17 +02:00
Sophie Brun 1791b22180 New upstream version 5.3.9~git20200710 2020-07-10 08:55:07 +02:00
Sophie Brun ce21fa5d6b New upstream version 5.3.9~git20200316 2020-05-14 11:45:59 +02:00
Sophie Brun a313c3997a Update upstream source from tag 'upstream/5.3.9_git20200316'
Update to upstream version '5.3.9~git20200316'
with Debian dir c5dba9c629
2020-05-14 11:44:23 +02:00
Sophie Brun be8eedcf76 New upstream version 5.3.9~git20200316 2020-05-14 11:44:14 +02:00
Sophie Brun 3b2b01c647 Add GitLab's CI configuration file 2019-12-17 17:39:03 +01:00
Sophie Brun 9c36ca92c2 Configure git-buildpackage for Kali 2019-12-17 17:39:03 +01:00
Sophie Brun ea83a483fa Initial release 2019-12-17 17:34:14 +01:00
47 changed files with 719 additions and 163 deletions
View File
+46
View File
@@ -0,0 +1,46 @@
## Build Kernel Headers
```
cd [your kernel source directory]
make module_prepare
make modules_install INSTALL_MOD_PATH=../
```
## Build RTL8188EUS driver/modules
```
cd ../
git clone https://github.com/aircrack-ng/rtl8188eus -b v5.3.9
cd rtl8188eus
```
That command places this driver behind your kernel source directory (RECOMMENDED).
If you put it anywhere you might need to set the Makefile in this driver, but i won't explain it.
Now, do:
```
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=../toolchain/toolchain64/bin/aarch64-linux-android-
export KBUILD_KVER=3.10.73-NetHunter-something
```
arm64 is the device architecture.
CROSS_COMPILE is your toolchain directory.
KBUILD_KVER is your kernel build version, you can search for it in ../lib/modules (the place of your modules_install when you build kernel headers).
Now, do:
```
make
```
If there is no error or success you will see a file named 8188eu.ko in this driver directory.
## Load the driver (8188eu.ko)
```
su
cd /system/lib/modules
insmod 8188eu.ko
```
+2 -2
View File
@@ -1,6 +1,6 @@
config RTL8188EUS
config RTL8188EU
tristate "Realtek 8188E USB WiFi"
depends on USB
---help---
Help message of RTL8188EUS
Help message of RTL8188EU
+25 -27
View File
@@ -1,30 +1,18 @@
EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) -fno-pie
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
#EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
#EXTRA_CFLAGS += -pedantic
#EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
EXTRA_CFLAGS += -Wno-unused-variable
EXTRA_CFLAGS += -Wno-unused-value
EXTRA_CFLAGS += -Wno-unused-label
EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused
#EXTRA_CFLAGS += -Wno-uninitialized
EXTRA_CFLAGS += -Wno-address
EXTRA_CFLAGS += -Wno-cast-function-type
EXTRA_CFLAGS += -Wno-discarded-qualifiers
EXTRA_CFLAGS += -Wno-vla
#EXTRA_CFLAGS += -Wno-cast-function-type
EXTRA_CFLAGS += -Wno-date-time
#EXTRA_CFLAGS += -Wno-misleading-indentation
#EXTRA_CFLAGS += -Wno-uninitialized
# Relax some warnings from '-Wextra' so we won't get flooded with warnings
#EXTRA_CFLAGS += -Wno-sign-compare
#EXTRA_CFLAGS += -Wno-missing-field-initializers
#EXTRA_CFLAGS += -Wno-type-limits
EXTRA_CFLAGS += -Wno-implicit-fallthrough
EXTRA_CFLAGS += -Wno-maybe-uninitialized
GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
ifeq ($(GCC_VER_49),1)
@@ -56,7 +44,7 @@ CONFIG_PCI_HCI = n
CONFIG_SDIO_HCI = n
CONFIG_GSPI_HCI = n
########################## Features ###########################
CONFIG_NET_NS = n
CONFIG_NET_NS = y
CONFIG_MP_INCLUDED = y
CONFIG_POWER_SAVING = n
CONFIG_USB_AUTOSUSPEND = n
@@ -89,10 +77,10 @@ CONFIG_RTW_IPCAM_APPLICATION = n
CONFIG_RTW_REPEATER_SON = n
CONFIG_RTW_WIFI_HAL = y
########################## Debug ###########################
CONFIG_RTW_DEBUG = y
CONFIG_RTW_DEBUG = n
# default log level is _DRV_INFO_ = 4,
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
CONFIG_RTW_LOG_LEVEL = 4
CONFIG_RTW_LOG_LEVEL = 0
######################## Wake On Lan ##########################
CONFIG_WOWLAN = n
CONFIG_WAKEUP_TYPE = 0x7 #bit2: deauth, bit1: unicast, bit0: magic pkt.
@@ -170,12 +158,11 @@ CONFIG_PLATFORM_AML_S905 = n
CONFIG_PLATFORM_ZTE_ZX296716 = n
CONFIG_PLATFORM_ARM_ODROIDC2 = n
CONFIG_PLATFORM_PPC = n
CONFIG_PLATFORM_PPC64LE = n
###############################################################
CONFIG_DRVEXT_MODULE = n
export TopDIR ?= $(shell pwd)
########### COMMON #################################
ifeq ($(CONFIG_GSPI_HCI), y)
HCI_NAME = gspi
@@ -790,16 +777,16 @@ endif
ifeq ($(CONFIG_AUTOCFG_CP), y)
ifeq ($(CONFIG_MULTIDRV), y)
$(shell cp $(TopDIR)/autoconf_multidrv_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
$(shell cp autoconf_multidrv_$(HCI_NAME)_linux.h include/autoconf.h)
else
ifeq ($(CONFIG_RTL8188E)$(CONFIG_SDIO_HCI),yy)
$(shell cp $(TopDIR)/autoconf_rtl8189e_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
$(shell cp autoconf_rtl8189e_$(HCI_NAME)_linux.h include/autoconf.h)
else ifeq ($(CONFIG_RTL8188F)$(CONFIG_SDIO_HCI),yy)
$(shell cp $(TopDIR)/autoconf_rtl8189f_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
$(shell cp autoconf_rtl8189f_$(HCI_NAME)_linux.h include/autoconf.h)
else ifeq ($(CONFIG_RTL8723C),y)
$(shell cp $(TopDIR)/autoconf_rtl8723c_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
$(shell cp autoconf_rtl8723c_$(HCI_NAME)_linux.h include/autoconf.h)
else
$(shell cp $(TopDIR)/autoconf_$(RTL871X)_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
$(shell cp autoconf_$(RTL871X)_$(HCI_NAME)_linux.h include/autoconf.h)
endif
endif
@@ -1047,7 +1034,7 @@ EXTRA_CFLAGS += -DDM_ODM_SUPPORT_TYPE=0x04
ifeq ($(CONFIG_PLATFORM_I386_PC), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
SUBARCH := $(shell uname -m | sed -e "s/i.86/i386/; s/ppc/powerpc/; s/armv.l/arm/; s/aarch64/arm64/;")
SUBARCH := $(shell uname -m | sed -e "s/i.86/i386/; s/ppc64le/powerpc/; s/ppc/powerpc/; s/armv.l/arm/; s/aarch64/arm64/;")
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
KVER := $(shell uname -r)
@@ -1101,6 +1088,17 @@ MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif
ifeq ($(CONFIG_PLATFORM_PPC64LE), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
SUBARCH := $(shell uname -m | sed -e s/ppc64le/powerpc/)
ARCH ?= $(SUBARCH)
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_NV_TK1), y)
EXTRA_CFLAGS += -DCONFIG_PLATFORM_NV_TK1
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
+22 -25
View File
@@ -5,46 +5,46 @@
[![Monitor mode](https://img.shields.io/badge/monitor%20mode-supported-brightgreen.svg)](#)
[![Frame Injection](https://img.shields.io/badge/frame%20injection-supported-brightgreen.svg)](#)
[![MESH Mode](https://img.shields.io/badge/mesh%20mode-supported-brightgreen.svg)](#)
[![GitHub issues](https://img.shields.io/github/issues/kimocoder/rtl8188eus.svg)](https://github.com/kimocoder/rtl8188eus/issues)
[![GitHub forks](https://img.shields.io/github/forks/kimocoder/rtl8188eus.svg)](https://github.com/kimocoder/rtl8188eus/network)
[![GitHub stars](https://img.shields.io/github/stars/kimocoder/rtl8188eus.svg)](https://github.com/kimocoder/rtl8188eus/stargazers)
[![GitHub license](https://img.shields.io/github/license/kimocoder/rtl8812au.svg)](https://github.com/kimocoder/rtl8188eus/blob/master/LICENSE)<br>
[![GitHub issues](https://img.shields.io/github/issues/aircrack-ng/rtl8188eus.svg)](https://github.com/aircrack-ng/rtl8188eus/issues)
[![GitHub forks](https://img.shields.io/github/forks/aircrack-ng/rtl8188eus.svg)](https://github.com/aircrack-ng/rtl8188eus/network)
[![GitHub stars](https://img.shields.io/github/stars/aircrack-ng/rtl8188eus.svg)](https://github.com/aircrack-ng/rtl8188eus/stargazers)
[![GitHub license](https://img.shields.io/github/license/aircrack-ng/rtl8812au.svg)](https://github.com/aircrack-ng/rtl8188eus/blob/master/LICENSE)<br>
[![Android](https://img.shields.io/badge/android%20(8)-supported-brightgreen.svg)](#)
[![aircrack-ng](https://img.shields.io/badge/aircrack--ng-supported-blue.svg)](#)
This is a pure Realtek release, not from vendor but from all the Realtek multichip "bases"
we've seen, this must be the newest, most stable and effective one.
The performance and code quality has been improved.
# Supports
* Android 12/13
* MESH Support
* Monitor mode
* Frame injection
* Up to kernel v5.3+
* Up to kernel v6.0+
... And a bunch of various wifi chipsets
# Howto build/install
1. You will need to blacklist another driver in order to use this one.
2. "echo "blacklist r8188eu.ko" > "/etc/modprobe.d/realtek.conf"
3. "make && make install"<br>
4. Reboot in order to blacklist and load the new driver/module.
2. `echo 'blacklist r8188eu'|sudo tee -a '/etc/modprobe.d/realtek.conf'`
3. Reboot
4. cd rtl8188eus
5. `make && sudo make install`
6. Reboot in order to blacklist and load the new driver/module.
# MONITOR MODE howto
Use these steps to enter monitor mode.
```
airmon-ng check-kill
ip link set <interface> down
iw dev <interface> set type monitor
$ sudo airmon-ng check kill
$ sudo ip link set <interface> down
$ sudo iw dev <interface> set type monitor
```
Frame injection test may be performed with
(after kernel v5.2 scanning is slow, run a scan or simply an airodump-ng first!)
```
aireplay -9 <interface>
$ aireplay -9 <interface>
```
# NetworkManager configuration
Add these lines below to "NetworkManager.conf" and ADD YOUR ADAPTER MAC below [keyfile]
This will make the Network-Manager ignore the device, and therefor don't cause problems.
This will make the Network-Manager ignore the device, and therefore don't cause problems.
```
[device]
wifi.scan-rand-mac-address=no
@@ -62,12 +62,9 @@ plugins=keyfile
unmanaged-devices=mac:A7:A7:A7:A7:A7
```
# TODO
* Implement txpower control
* Finish up the elimination of the wrapper _rtw_memset.
I didn't have more time after "rtw_beamforming.c"
* Add more VID/PIDS for all 3 chipsets supported.
# Credits
Realtek - https://www.realtek.com<br>
Alfa Networks - https://www.alfa.com.tw<br>
aircrack-ng. - https://www.aircrack-ng.org<br>
<br>
And all those who may be using or contributing to it of anykind. Thanks!<br>
+2 -1
View File
@@ -711,13 +711,14 @@ void rtw_efuse_analyze(PADAPTER padapter, u8 Type, u8 Fake)
j = 0;
for (i = 0; i < mapLen; i++) {
if (i % 16 == 0)
if (i % 16 == 0) {
RTW_PRINT_SEL(RTW_DBGDUMP, "0x%03x: ", i);
_RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s"
, pEfuseHal->fakeEfuseInitMap[i]
, ((i + 1) % 16 == 0) ? "\n" : (((i + 1) % 8 == 0) ? " " : " ")
);
}
}
_RTW_PRINT_SEL(RTW_DBGDUMP, "\n");
if (eFuseWord)
rtw_mfree((u8 *)eFuseWord, EFUSE_MAX_SECTION_NUM * (EFUSE_MAX_WORD_UNIT * 2));
+8
View File
@@ -15,9 +15,12 @@
#define _RTW_BR_EXT_C_
#ifdef __KERNEL__
#include <linux/version.h>
#include <linux/if_arp.h>
#include <net/ip.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h>
#endif
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -948,6 +951,7 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
}
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
/* IPX */
if (ipx != NULL) {
switch (method) {
@@ -1016,8 +1020,12 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
}
}
/* AARP */
else if (ea != NULL) {
#else
if (ea != NULL) {
#endif
/* Sanity check fields. */
if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) {
DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n");
+2
View File
@@ -6051,6 +6051,7 @@ ssize_t proc_set_lck(struct file *file, const char __user *buffer, size_t count,
inline void RTW_BUF_DUMP_SEL(uint _loglevel, void *sel, u8 *_titlestring,
bool _idx_show, const u8 *_hexdata, int _hexdatalen)
{
#ifdef CONFIG_RTW_DEBUG
int __i;
u8 *ptr = (u8 *)_hexdata;
@@ -6076,6 +6077,7 @@ inline void RTW_BUF_DUMP_SEL(uint _loglevel, void *sel, u8 *_titlestring,
}
_RTW_PRINT_SEL(sel, "\n");
}
#endif
}
#else
inline void _RTW_STR_DUMP_SEL(void *sel, char *str_out)
+7 -1
View File
@@ -1831,7 +1831,13 @@ void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame)
ptable->func = &OnAuth;
else
ptable->func = &OnAuthClient;
/* pass through */
_mgt_dispatcher(padapter, ptable, precv_frame);
//#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
// __attribute__ ((fallthrough));
//#else
// __attribute__ ((fallthrough));
//#endif
break;
case WIFI_ASSOCREQ:
case WIFI_REASSOCREQ:
_mgt_dispatcher(padapter, ptable, precv_frame);
+32 -32
View File
@@ -982,13 +982,6 @@ static void next_key(u8 *key, sint round);
static void byte_sub(u8 *in, u8 *out);
static void shift_row(u8 *in, u8 *out);
static void mix_column(u8 *in, u8 *out);
#ifndef PLATFORM_FREEBSD
static void add_round_key(u8 *shiftrow_in,
u8 *mcol_in,
u8 *block_in,
sint round,
u8 *out);
#endif /* PLATFORM_FREEBSD */
static void aes128k128d(u8 *key, u8 *data, u8 *ciphertext);
@@ -1582,7 +1575,7 @@ u32 rtw_aes_encrypt(_adapter *padapter, u8 *pxmitframe)
pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset;
/* 4 start to encrypt each fragment */
if ((pattrib->encrypt == _AES_)) {
if (pattrib->encrypt == _AES_) {
/*
if(pattrib->psta)
{
@@ -1929,7 +1922,6 @@ u32 rtw_aes_decrypt(_adapter *padapter, u8 *precvframe)
sint length;
u32 prwskeylen;
u8 *pframe, *prwskey; /* , *payload,*iv */
struct sta_info *stainfo;
struct rx_pkt_attrib *prxattrib = &((union recv_frame *)precvframe)->u.hdr.attrib;
@@ -1938,7 +1930,7 @@ u32 rtw_aes_decrypt(_adapter *padapter, u8 *precvframe)
u32 res = _SUCCESS;
pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* 4 start to encrypt each fragment */
if ((prxattrib->encrypt == _AES_)) {
if (prxattrib->encrypt == _AES_) {
stainfo = rtw_get_stainfo(&padapter->stapriv , &prxattrib->ta[0]);
if (stainfo != NULL) {
@@ -2139,8 +2131,9 @@ BIP_exit:
#endif /* CONFIG_IEEE80211W */
#ifndef PLATFORM_FREEBSD
#if defined(CONFIG_TDLS)
/* compress 512-bits */
static int sha256_compress(struct sha256_state *md, unsigned char *buf)
static int rtw_sha256_compress(struct rtw_sha256_state *md, unsigned char *buf)
{
u32 S[8], W[64], t0, t1;
u32 t;
@@ -2188,7 +2181,7 @@ static int sha256_compress(struct sha256_state *md, unsigned char *buf)
}
/* Initialize the hash state */
static void sha256_init(struct sha256_state *md)
static void rtw_sha256_init(struct rtw_sha256_state *md)
{
md->curlen = 0;
md->length = 0;
@@ -2209,7 +2202,7 @@ static void sha256_init(struct sha256_state *md)
@param inlen The length of the data (octets)
@return CRYPT_OK if successful
*/
static int sha256_process(struct sha256_state *md, unsigned char *in,
static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
unsigned long inlen)
{
unsigned long n;
@@ -2220,7 +2213,7 @@ static int sha256_process(struct sha256_state *md, unsigned char *in,
while (inlen > 0) {
if (md->curlen == 0 && inlen >= block_size) {
if (sha256_compress(md, (unsigned char *) in) < 0)
if (rtw_sha256_compress(md, (unsigned char *) in) < 0)
return -1;
md->length += block_size * 8;
in += block_size;
@@ -2232,7 +2225,7 @@ static int sha256_process(struct sha256_state *md, unsigned char *in,
in += n;
inlen -= n;
if (md->curlen == block_size) {
if (sha256_compress(md, md->buf) < 0)
if (rtw_sha256_compress(md, md->buf) < 0)
return -1;
md->length += 8 * block_size;
md->curlen = 0;
@@ -2250,7 +2243,7 @@ static int sha256_process(struct sha256_state *md, unsigned char *in,
@param out [out] The destination of the hash (32 bytes)
@return CRYPT_OK if successful
*/
static int sha256_done(struct sha256_state *md, unsigned char *out)
static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out)
{
int i;
@@ -2270,7 +2263,7 @@ static int sha256_done(struct sha256_state *md, unsigned char *out)
if (md->curlen > 56) {
while (md->curlen < 64)
md->buf[md->curlen++] = (unsigned char) 0;
sha256_compress(md, md->buf);
rtw_sha256_compress(md, md->buf);
md->curlen = 0;
}
@@ -2280,7 +2273,7 @@ static int sha256_done(struct sha256_state *md, unsigned char *out)
/* store length */
WPA_PUT_BE64(md->buf + 56, md->length);
sha256_compress(md, md->buf);
rtw_sha256_compress(md, md->buf);
/* copy output */
for (i = 0; i < 8; i++)
@@ -2297,17 +2290,17 @@ static int sha256_done(struct sha256_state *md, unsigned char *out)
* @mac: Buffer for the hash
* Returns: 0 on success, -1 of failure
*/
static int sha256_vector(size_t num_elem, u8 *addr[], size_t *len,
static int rtw_sha256_vector(size_t num_elem, u8 *addr[], size_t *len,
u8 *mac)
{
struct sha256_state ctx;
struct rtw_sha256_state ctx;
size_t i;
sha256_init(&ctx);
rtw_sha256_init(&ctx);
for (i = 0; i < num_elem; i++)
if (sha256_process(&ctx, addr[i], len[i]))
if (rtw_sha256_process(&ctx, addr[i], len[i]))
return -1;
if (sha256_done(&ctx, mac))
if (rtw_sha256_done(&ctx, mac))
return -1;
return 0;
}
@@ -2319,7 +2312,9 @@ static u8 os_strlen(const char *s)
p++;
return p - s;
}
#endif
#if defined(CONFIG_TDLS) || defined(CONFIG_RTW_MESH_AEK)
static int os_memcmp(const void *s1, const void *s2, u8 n)
{
const unsigned char *p1 = s1, *p2 = s2;
@@ -2337,6 +2332,7 @@ static int os_memcmp(const void *s1, const void *s2, u8 n)
return *p1 - *p2;
}
#endif
/**
* hmac_sha256_vector - HMAC-SHA256 over data vector (RFC 2104)
@@ -2347,6 +2343,7 @@ static int os_memcmp(const void *s1, const void *s2, u8 n)
* @len: Lengths of the data blocks
* @mac: Buffer for the hash (32 bytes)
*/
#if defined(CONFIG_TDLS)
static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
u8 *addr[], size_t *len, u8 *mac)
{
@@ -2365,7 +2362,7 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
/* if key is longer than 64 bytes reset it to key = SHA256(key) */
if (key_len > 64) {
sha256_vector(1, &key, &key_len, tk);
rtw_sha256_vector(1, &key, &key_len, tk);
key = tk;
key_len = 32;
}
@@ -2393,7 +2390,7 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
_addr[i + 1] = addr[i];
_len[i + 1] = len[i];
}
sha256_vector(1 + num_elem, _addr, _len, mac);
rtw_sha256_vector(1 + num_elem, _addr, _len, mac);
_rtw_memset(k_pad, 0, sizeof(k_pad));
_rtw_memcpy(k_pad, key, key_len);
@@ -2406,8 +2403,9 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
_len[0] = 64;
_addr[1] = mac;
_len[1] = 32;
sha256_vector(2, _addr, _len, mac);
rtw_sha256_vector(2, _addr, _len, mac);
}
#endif /* CONFIG_TDLS */
#endif /* PLATFORM_FREEBSD */
/**
* sha256_prf - SHA256-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2)
@@ -2423,7 +2421,8 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
* given key.
*/
#ifndef PLATFORM_FREEBSD /* Baron */
static void sha256_prf(u8 *key, size_t key_len, char *label,
#if defined(CONFIG_TDLS)
static void rtw_sha256_prf(u8 *key, size_t key_len, char *label,
u8 *data, size_t data_len, u8 *buf, size_t buf_len)
{
u16 counter = 1;
@@ -2447,10 +2446,10 @@ static void sha256_prf(u8 *key, size_t key_len, char *label,
while (pos < buf_len) {
plen = buf_len - pos;
WPA_PUT_LE16(counter_le, counter);
if (plen >= SHA256_MAC_LEN) {
if (plen >= RTW_SHA256_MAC_LEN) {
hmac_sha256_vector(key, key_len, 4, addr, len,
&buf[pos]);
pos += SHA256_MAC_LEN;
pos += RTW_SHA256_MAC_LEN;
} else {
hmac_sha256_vector(key, key_len, 4, addr, len, hash);
_rtw_memcpy(&buf[pos], hash, plen);
@@ -2459,6 +2458,7 @@ static void sha256_prf(u8 *key, size_t key_len, char *label,
counter++;
}
}
#endif
#endif /* PLATFORM_FREEBSD Baron */
/* AES tables*/
@@ -3083,7 +3083,7 @@ int aes_siv_decrypt(const u8 *key, const u8 *iv_crypt, size_t iv_c_len,
#endif /* CONFIG_RTW_MESH_AEK */
#ifdef CONFIG_TDLS
void wpa_tdls_generate_tpk(_adapter *padapter, PVOID sta)
void wpa_tdls_generate_tpk(_adapter *padapter, void *sta)
{
struct sta_info *psta = (struct sta_info *)sta;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
@@ -3108,7 +3108,7 @@ void wpa_tdls_generate_tpk(_adapter *padapter, PVOID sta)
nonce[1] = SNonce;
}
sha256_vector(2, nonce, len, key_input);
rtw_sha256_vector(2, nonce, len, key_input);
/*
* TPK-Key-Data = KDF-N_KEY(TPK-Key-Input, "TDLS PMK",
@@ -3127,7 +3127,7 @@ void wpa_tdls_generate_tpk(_adapter *padapter, PVOID sta)
}
_rtw_memcpy(data + 2 * ETH_ALEN, get_bssid(pmlmepriv), ETH_ALEN);
sha256_prf(key_input, SHA256_MAC_LEN, "TDLS PMK", data, sizeof(data), (u8 *) &psta->tpk, sizeof(psta->tpk));
rtw_sha256_prf(key_input, RTW_SHA256_MAC_LEN, "TDLS PMK", data, sizeof(data), (u8 *) &psta->tpk, sizeof(psta->tpk));
}
+1 -1
View File
@@ -41,7 +41,7 @@ inline void rtw_st_ctl_init(struct st_ctl_t *st_ctl)
_rtw_init_queue(&st_ctl->tracker_q);
}
inline void rtw_st_ctl_clear_tracker_q(struct st_ctl_t *st_ctl)
static inline void rtw_st_ctl_clear_tracker_q(struct st_ctl_t *st_ctl)
{
_irqL irqL;
_list *plist, *phead;
+1 -1
View File
@@ -1038,7 +1038,7 @@ exit:
return ret;
}
inline bool rtw_sec_camid_is_used(struct cam_ctl_t *cam_ctl, u8 id)
static inline bool rtw_sec_camid_is_used(struct cam_ctl_t *cam_ctl, u8 id)
{
_irqL irqL;
bool ret;
+4
View File
@@ -0,0 +1,4 @@
realtek-rtl8188eus DKMS module for Debian
This package was automatically generated by the DKMS system,
for distribution on Debian based operating systems.
+126
View File
@@ -0,0 +1,126 @@
realtek-rtl8188eus-dkms (5.3.9~git20221105.dab6e02-0kali1) kali-dev; urgency=medium
[ Kali Janitor ]
* Set upstream metadata fields: Repository-Browse.
[ Sophie Brun ]
* New upstream version 5.3.9~git20221105.dab6e02
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Thu, 10 Nov 2022 12:01:30 +0100
realtek-rtl8188eus-dkms (5.3.9~git20220829.4ba8e08-0kali1) kali-dev; urgency=medium
[ Arnaud Rebillout ]
* No more dh-exec (requires compat 13)
* Switch to dh-sequence-dkms
* Set PACKAGE_VERSION in override_dh_dkms
[ Kali Janitor ]
* Trim trailing whitespace.
* debian/copyright: use spaces rather than tabs to start continuation lines.
* Set upstream metadata fields: Bug-Database, Bug-Submit.
* Update standards version to 4.6.1, no changes needed.
[ Sophie Brun ]
* New upstream version 5.3.9~git20220829.4ba8e08
* Refresh patches
* Import upstream patch to fix the build with Linux 5.19
-- Sophie Brun <sophie@offensive-security.com> Thu, 06 Oct 2022 15:05:27 +0200
realtek-rtl8188eus-dkms (5.3.9~git20220319.0958f29-0kali3) kali-dev; urgency=medium
* Remove useless patch (we change version in debian/rules)
* Refresh patch
* Add a patch to fix the build with kernel 5.18
-- Sophie Brun <sophie@offensive-security.com> Tue, 21 Jun 2022 12:20:45 +0200
realtek-rtl8188eus-dkms (5.3.9~git20220319.0958f29-0kali2) kali-dev; urgency=medium
* Add a patch to fix build build with kernel 5.17
-- Sophie Brun <sophie@offensive-security.com> Wed, 18 May 2022 17:50:10 +0200
realtek-rtl8188eus-dkms (5.3.9~git20220319.0958f29-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20220319.0958f29
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Thu, 12 May 2022 11:02:51 +0200
realtek-rtl8188eus-dkms (5.3.9~git20210504.6146193-0kali2) kali-dev; urgency=medium
[ Ben Wilson ]
* Remove template comment and switch spaces to tabs
[ Sophie Brun ]
* Add a patch to fix the compilation with kernel 5.15
-- Sophie Brun <sophie@offensive-security.com> Tue, 14 Dec 2021 17:56:08 +0100
realtek-rtl8188eus-dkms (5.3.9~git20210504.6146193-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20210504.6146193
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Tue, 28 Sep 2021 11:00:05 +0200
realtek-rtl8188eus-dkms (5.3.9~git20210206.1e7145f-0kali2) kali-dev; urgency=medium
* Bump Standards-Version to 4.5.1
* Blacklist r8188eu
-- Sophie Brun <sophie@offensive-security.com> Tue, 13 Jul 2021 10:50:42 +0200
realtek-rtl8188eus-dkms (5.3.9~git20210206.1e7145f-0kali1) kali-dev; urgency=medium
* Update debian/watch
* New upstream version 5.3.9~git20210206.1e7145f
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Wed, 14 Apr 2021 17:25:11 +0200
realtek-rtl8188eus-dkms (5.3.9~git20201227-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20201227
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Tue, 26 Jan 2021 17:04:18 +0100
realtek-rtl8188eus-dkms (5.3.9~git20200829-0kali2) kali-dev; urgency=medium
* Fix errors introduced in 5a7f22 (lintian-overrides)
-- Sophie Brun <sophie@offensive-security.com> Wed, 16 Sep 2020 15:54:13 +0200
realtek-rtl8188eus-dkms (5.3.9~git20200829-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20200829
* Refresh patches
* Add comment in debian/copyright
* Bump Standards-Version to 4.5.0
* Add lintian-overrides for dh-exec-subst-unknown-variable
-- Sophie Brun <sophie@offensive-security.com> Wed, 16 Sep 2020 15:07:29 +0200
realtek-rtl8188eus-dkms (5.3.9~git20200710-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~20200710
-- Sophie Brun <sophie@offensive-security.com> Fri, 10 Jul 2020 08:49:51 +0200
realtek-rtl8188eus-dkms (5.3.9~git20200316-0kali1) kali-dev; urgency=medium
* Configure git-buildpackage for Kali
* Add GitLab's CI configuration file
* New upstream version 5.3.9~git20200316
-- Sophie Brun <sophie@offensive-security.com> Thu, 14 May 2020 11:45:14 +0200
realtek-rtl8188eus-dkms (5.3.9~20191129-0kali1) kali-dev; urgency=medium
* Initial release (see 5842)
-- Sophie Brun <sophie@offensive-security.com> Tue, 17 Dec 2019 17:14:38 +0100
+18
View File
@@ -0,0 +1,18 @@
Source: realtek-rtl8188eus-dkms
Section: contrib/kernel
Priority: optional
Maintainer: Kali Developers <devel@kali.org>
Uploaders: Sophie Brun <sophie@offensive-security.com>
Build-Depends: debhelper-compat (= 13), dh-sequence-dkms
Standards-Version: 4.6.1
Homepage: https://github.com/aircrack-ng/rtl8188eus
Vcs-Browser: https://gitlab.com/kalilinux/packages/realtek-rtl8188eus-dkms
Vcs-Git: https://gitlab.com/kalilinux/packages/realtek-rtl8188eus-dkms.git
Package: realtek-rtl8188eus-dkms
Architecture: all
Depends: dkms (>= 1.95), ${misc:Depends}
Description: Realtek RTL8188EUS driver in DKMS format
This package provides the source code for RTL8188EUS Linux driver (with
monitor mode and frame injection) to be build with dkms. Kernel sources or
headers are required to compile this module.
+34
View File
@@ -0,0 +1,34 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: realtek-rtl8188eus-dkms
Source: https://github.com/aircrack-ng/rtl8188eus
Comment: dkms package built during installation
Files: *
Copyright: 2007 - 2017 Realtek Corporation.
License: GPL-2
Files: os_dep/linux/rhashtable.*
Copyright: 2015 Herbert Xu <herbert@gondor.apana.org.au>
2014-2015 Thomas Graf <tgraf@suug.ch>
2008-2014 Patrick McHardy <kaber@trash.net>
License: GPL-2
Files: debian/*
Copyright: 2019 Sophie Brun <sophie@offensive-security.com>
License: GPL-2
License: GPL-2
This package is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as published
by the Free Software Foundation.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+10
View File
@@ -0,0 +1,10 @@
[DEFAULT]
debian-branch = kali/master
debian-tag = kali/%(version)s
pristine-tar = True
[pq]
patch-numbers = False
[dch]
multimaint-merge = True
+2
View File
@@ -0,0 +1,2 @@
include:
- https://gitlab.com/kalilinux/tools/kali-ci-pipeline/raw/master/recipes/kali.yml
+29
View File
@@ -0,0 +1,29 @@
From: Sophie Brun <sophie@offensive-security.com>
Date: Tue, 21 Jun 2022 12:15:03 +0200
Subject: Fix build for linux kernel >= 5.17
Origin: https://github.com/aircrack-ng/rtl8188eus/commit/0f1905259ec9b85fd1453be3abd322ff543e12bc
---
include/ieee80211.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/ieee80211.h b/include/ieee80211.h
index 89d2eff..5d7ebe1 100644
--- a/include/ieee80211.h
+++ b/include/ieee80211.h
@@ -1535,13 +1535,13 @@ extern __inline int is_multicast_mac_addr(const u8 *addr)
return (addr[0] != 0xff) && (0x01 & addr[0]);
}
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
+__inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
}
-extern __inline int is_zero_mac_addr(const u8 *addr)
+__inline int is_zero_mac_addr(const u8 *addr)
{
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
+24
View File
@@ -0,0 +1,24 @@
From: Sophie Brun <sophie@offensive-security.com>
Date: Wed, 18 May 2022 17:47:55 +0200
Subject: Build support with kernel v5.17
Origin: https://github.com/aircrack-ng/rtl8188eus/commit/13cc38399eb44f234a52dde5f94509e54a09c71f
---
os_dep/linux/rtw_proc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/os_dep/linux/rtw_proc.c b/os_dep/linux/rtw_proc.c
index 8b1a424..9bd4041 100644
--- a/os_dep/linux/rtw_proc.c
+++ b/os_dep/linux/rtw_proc.c
@@ -39,6 +39,10 @@ inline struct proc_dir_entry *get_rtw_drv_proc(void)
#define proc_get_parent_data(inode) PDE((inode))->parent->data
#endif
+#if(LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
+#define PDE_DATA(inode) pde_data(inode)
+#endif
+
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24))
#define get_proc_net proc_net
#else
+2
View File
@@ -0,0 +1,2 @@
add-support-kernel-5.17.patch
Fix-build-for-linux-kernel-5.17.patch
+2
View File
@@ -0,0 +1,2 @@
# blacklist the driver
blacklist r8188eu
+1
View File
@@ -0,0 +1 @@
README.md
+2
View File
@@ -0,0 +1,2 @@
core hal include Kconfig Makefile os_dep platform usr/src/realtek-rtl8188eus-${env:DEB_VERSION_UPSTREAM}
debian/r8188eus-dkms.conf etc/modprobe.d
Vendored Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
export DEB_VERSION_UPSTREAM
%:
dh $@
override_dh_dkms:
# Force PACKAGE_VERSION to be DEB_VERSION_UPSTREAM
sed -i dkms.conf -e 's%^PACKAGE_VERSION=.*%PACKAGE_VERSION="$(DEB_VERSION_UPSTREAM)"%'
dh_dkms -- dkms.conf
execute_after_dh_fixperms:
find debian/realtek-rtl8188eus-dkms/usr/src -type f -exec chmod -x {} \;
# Nothing to configure, build or auto-install (all is done after
# installation using dkms)
override_dh_auto_configure:
override_dh_auto_build:
override_dh_auto_install:
Vendored Executable
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
set -e
if [ "$1" = '--upstream-version' ]; then
new_version="$2"
else
printf "Missing --upstream-version argument" 1>&2
exit 1
fi
DEB_SOURCE="$(dpkg-parsechangelog -SSource)"
default_branch="$(git remote show https://github.com/aircrack-ng/rtl8188eus.git | grep 'HEAD' | sed 's/.*: v//')"
version="$(echo ${new_version} | sed 's/~git.*//')"
# fails if the upstream default branch has changed and is no longer the
# version mentioned in debian/watch
if [ "${default_branch}" != "${version}" ]; then
exit 1
fi
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+4
View File
@@ -0,0 +1,4 @@
---
Bug-Database: https://github.com/aircrack-ng/rtl8188eus/issues
Bug-Submit: https://github.com/aircrack-ng/rtl8188eus/issues/new
Repository-Browse: https://github.com/aircrack-ng/rtl8188eus
+9
View File
@@ -0,0 +1,9 @@
version=4
opts="mode=git, pretty=5.3.9~git%cd.%h, pgpmode=none" \
https://github.com/aircrack-ng/rtl8188eus.git \
HEAD debian debian/script-targz
# Use the following when upstream starts to tag releases:
#opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%realtek-rtl8188eus-dkms-$1.tar.gz%" \
# https://github.com/aircrack-ng/rtl8188eus/tags \
# (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate
+1 -1
View File
@@ -1,5 +1,5 @@
PACKAGE_NAME="realtek-rtl8188eus"
PACKAGE_VERSION="5.3.9~20191129"
PACKAGE_VERSION="5.3.9~20221105"
CLEAN="'make' clean"
BUILT_MODULE_NAME[0]=8188eu
PROCS_NUM=`nproc`
+1 -1
View File
@@ -939,7 +939,7 @@ s32 c2h_handler(_adapter *adapter, u8 id, u8 seq, u8 plen, u8 *payload)
#endif
case C2H_EXTEND:
sub_id = payload[0];
/* no handle, goto default */
__attribute__ ((__fallthrough__));
default:
if (phydm_c2H_content_parsing(adapter_to_phydm(adapter), id, plen, payload) != TRUE)
+1 -1
View File
@@ -24,7 +24,7 @@
*****************************************************************************/
#ifndef __HALRF_FEATURES_H__
#define __HALRF_FEATURES
#define __HALRF_FEATURES_H__
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
+1 -1
View File
@@ -25,7 +25,7 @@
#ifndef __PHYDMKFREE_H__
#define __PHYDKFREE_H__
#define __PHYDMKFREE_H__
#define KFREE_VERSION "1.0"
+4 -7
View File
@@ -52,12 +52,10 @@ phydm_rx_statistic_cal(
phydm->phy_dbg_info.ht_pkt_not_zero = true;
if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) {
if ((bw_idx == *phydm->band_width)) {
if (bw_idx == *phydm->band_width) {
phydm->phy_dbg_info.num_qry_ht_pkt[date_rate - ODM_RATEMCS0]++;
} else if (bw_idx == CHANNEL_WIDTH_20) {
phydm->phy_dbg_info.num_qry_pkt_sc_20m[date_rate - ODM_RATEMCS0]++;
phydm->phy_dbg_info.low_bw_20_occur = true;
}
@@ -68,9 +66,9 @@ phydm_rx_statistic_cal(
#if ODM_IC_11AC_SERIES_SUPPORT
else if (date_rate <= ODM_RATEVHTSS4MCS9) {
#if (ODM_PHY_STATUS_NEW_TYPE_SUPPORT == 1)
if ((phy_status_type == 1) &&
(phy_sta_rpt->gid != 0) &&
(phy_sta_rpt->gid != 63) &&
if ((phy_status_type == 1) &&
(phy_sta_rpt->gid != 0) &&
(phy_sta_rpt->gid != 63) &&
(phydm->support_ic_type & PHYSTS_2ND_TYPE_IC)) {
phydm->phy_dbg_info.num_qry_mu_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++;
if (pktinfo->ppdu_cnt < 4) {
@@ -81,7 +79,6 @@ phydm_rx_statistic_cal(
#endif
{
phydm->phy_dbg_info.vht_pkt_not_zero = true;
if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) {
if ((bw_idx == *phydm->band_width)) {
phydm->phy_dbg_info.num_qry_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++;
+1 -1
View File
@@ -93,7 +93,7 @@
/*#define CONFIG_ANTENNA_DIVERSITY*/
#define CONFIG_CONCURRENT_MODE
//#define CONFIG_CONCURRENT_MODE
#ifdef CONFIG_CONCURRENT_MODE
#define CONFIG_RUNTIME_PORT_SWITCH
#define CONFIG_SCAN_BACKOP
+19
View File
@@ -1529,6 +1529,7 @@ enum ieee80211_state {
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
(((Addr[5]) & 0xff) == 0xff))
#else
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 00))
extern __inline int is_multicast_mac_addr(const u8 *addr)
{
return (addr[0] != 0xff) && (0x01 & addr[0]);
@@ -1545,6 +1546,24 @@ extern __inline int is_zero_mac_addr(const u8 *addr)
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
}
#else
static __inline int is_multicast_mac_addr(const u8 *addr)
{
return (addr[0] != 0xff) && (0x01 & addr[0]);
}
static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
}
static __inline int is_zero_mac_addr(const u8 *addr)
{
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
}
#endif /* LINUX_VERSION_CODE */
#endif /* PLATFORM_FREEBSD */
#define CFG_IEEE80211_RESERVE_FCS (1<<0)
+1 -1
View File
@@ -12,7 +12,7 @@
* more details.
*
*****************************************************************************/
#ifndef _RTL88812A_SRESET_H_
#ifndef _RTL8812A_SRESET_H_
#define _RTL8812A_SRESET_H_
#include <rtw_sreset.h>
+1 -1
View File
@@ -12,7 +12,7 @@
* more details.
*
*****************************************************************************/
#ifndef _RTL88812A_SRESET_H_
#ifndef _RTL8812A_SRESET_H_
#define _RTL8812A_SRESET_H_
#include <rtw_sreset.h>
+2 -2
View File
@@ -41,7 +41,7 @@ const char *security_type_str(u8 value);
#define _WPA_IE_ID_ 0xdd
#define _WPA2_IE_ID_ 0x30
#define SHA256_MAC_LEN 32
#define RTW_SHA256_MAC_LEN 32
#define AES_BLOCK_SIZE 16
#define AES_PRIV_SIZE (4 * 44)
@@ -249,7 +249,7 @@ struct security_priv {
#define SEC_IS_BIP_KEY_INSTALLED(sec) _FALSE
#endif
struct sha256_state {
struct rtw_sha256_state {
u64 length;
u32 state[8], curlen;
u8 buf[64];
+54 -36
View File
@@ -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) || defined(RHEL79))
#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)
@@ -289,7 +289,7 @@ static const char *nl80211_chan_width_str(enum nl80211_chan_width cwidth)
return "80+80";
case NL80211_CHAN_WIDTH_160:
return "160";
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) || defined(RHEL79))
case NL80211_CHAN_WIDTH_5:
return "5";
case NL80211_CHAN_WIDTH_10:
@@ -390,7 +390,7 @@ static void rtw_get_chbw_from_cfg80211_chan_def(struct cfg80211_chan_def *chdef,
*ch = chan->hw_value;
break;
case NL80211_CHAN_WIDTH_80P80:
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) || defined(RHEL79))
case NL80211_CHAN_WIDTH_5:
case NL80211_CHAN_WIDTH_10:
#endif
@@ -417,7 +417,11 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8
if (ret != _SUCCESS)
goto exit;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
#else
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
#endif
#else
int freq = rtw_ch2freq(ch);
@@ -686,14 +690,12 @@ static int rtw_cfg80211_sync_iftype(_adapter *adapter)
static u64 rtw_get_systime_us(void)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0))
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;
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0))
return ktime_to_us(ktime_get_boottime());
#else
struct timeval tv;
do_gettimeofday(&tv);
@@ -946,7 +948,7 @@ void rtw_cfg80211_ibss_indicate_connect(_adapter *padapter)
struct wlan_network *cur_network = &(pmlmepriv->cur_network);
struct wireless_dev *pwdev = padapter->rtw_wdev;
struct cfg80211_bss *bss = NULL;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL79))
struct wiphy *wiphy = pwdev->wiphy;
int freq = 2412;
struct ieee80211_channel *notify_channel;
@@ -1004,7 +1006,7 @@ void rtw_cfg80211_ibss_indicate_connect(_adapter *padapter)
RTW_PRINT(FUNC_ADPT_FMT" BSS not found !!\n", FUNC_ADPT_ARG(padapter));
}
/* notify cfg80211 that device joined an IBSS */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL79))
notify_channel = ieee80211_get_channel(wiphy, freq);
cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, notify_channel, GFP_ATOMIC);
#else
@@ -1092,7 +1094,7 @@ check_bss:
struct ieee80211_channel *notify_channel;
u32 freq;
u16 channel = cur_network->network.Configuration.DSConfig;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL79))
struct cfg80211_roam_info roam_info;
#endif
@@ -1100,8 +1102,12 @@ check_bss:
notify_channel = ieee80211_get_channel(wiphy, freq);
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL79))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
roam_info.links[0].bssid = cur_network->network.MacAddress;
#else
roam_info.bssid = cur_network->network.MacAddress;
#endif
roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2;
roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2;
roam_info.resp_ie = pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6;
@@ -1128,7 +1134,7 @@ check_bss:
rtw_ft_set_status(padapter, RTW_FT_ASSOCIATED_STA);
#endif
} else {
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
#if !defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE))
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
#endif
@@ -1139,7 +1145,7 @@ check_bss:
, pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
, pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6
, WLAN_STATUS_SUCCESS, GFP_ATOMIC);
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
#if defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE))
RTW_INFO("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
#endif
}
@@ -1195,7 +1201,7 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter, u16 reason, u8 locally
_enter_critical_bh(&pwdev_priv->connect_req_lock, &irqL);
if (padapter->ndev_unregistering || !rtw_wdev_not_indic_disco(pwdev_priv)) {
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
#if (!defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)))
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
if (pwdev->sme_state == CFG80211_SME_CONNECTING) {
@@ -2367,6 +2373,7 @@ static int cfg80211_rtw_change_iface(struct wiphy *wiphy,
case NL80211_IFTYPE_P2P_CLIENT:
is_p2p = _TRUE;
#endif
__attribute__ ((__fallthrough__));
case NL80211_IFTYPE_STATION:
networkType = Ndis802_11Infrastructure;
@@ -2391,6 +2398,7 @@ static int cfg80211_rtw_change_iface(struct wiphy *wiphy,
case NL80211_IFTYPE_P2P_GO:
is_p2p = _TRUE;
#endif
__attribute__ ((__fallthrough__));
case NL80211_IFTYPE_AP:
networkType = Ndis802_11APMode;
@@ -2448,7 +2456,7 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted)
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
_irqL irqL;
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79))
struct cfg80211_scan_info info;
memset(&info, 0, sizeof(info));
@@ -2465,7 +2473,7 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted)
if (pwdev_priv->scan_request->wiphy != pwdev_priv->rtw_wdev->wiphy)
RTW_INFO("error wiphy compare\n");
else
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79))
cfg80211_scan_done(pwdev_priv->scan_request, &info);
#else
cfg80211_scan_done(pwdev_priv->scan_request, aborted);
@@ -3055,7 +3063,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
check_need_indicate_scan_done:
if (_TRUE == need_indicate_scan_done) {
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79))
struct cfg80211_scan_info info;
memset(&info, 0, sizeof(info));
@@ -3063,7 +3071,7 @@ check_need_indicate_scan_done:
#endif
_rtw_cfg80211_surveydone_event_callback(padapter, request);
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79))
cfg80211_scan_done(request, &info);
#else
cfg80211_scan_done(request, 0);
@@ -4460,6 +4468,12 @@ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name,
goto out;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
mon_ndev->min_mtu = WLAN_MIN_ETHFRM_LEN;
mon_ndev->mtu = WLAN_DATA_MAXLEN;
mon_ndev->max_mtu = WLAN_DATA_MAXLEN;
#endif
mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP;
strncpy(mon_ndev->name, name, IFNAMSIZ);
mon_ndev->name[IFNAMSIZ - 1] = 0;
@@ -4870,7 +4884,11 @@ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *nd
return ret;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
#else
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
#endif
{
_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
@@ -7088,6 +7106,11 @@ exit:
return ret;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0))
static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy,
struct wireless_dev *wdev,
struct mgmt_frame_regs *upd)
#else
static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
struct wireless_dev *wdev,
@@ -7095,12 +7118,12 @@ static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
struct net_device *ndev,
#endif
u16 frame_type, bool reg)
#endif
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
struct net_device *ndev = wdev_to_ndev(wdev);
#endif
_adapter *adapter;
struct rtw_wdev_priv *pwdev_priv;
if (ndev == NULL)
@@ -7114,20 +7137,6 @@ static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
frame_type, reg);
#endif
/* Wait QC Verify */
return;
switch (frame_type) {
case IEEE80211_STYPE_PROBE_REQ: /* 0x0040 */
SET_CFG80211_REPORT_MGMT(pwdev_priv, IEEE80211_STYPE_PROBE_REQ, reg);
break;
case IEEE80211_STYPE_ACTION: /* 0x00D0 */
SET_CFG80211_REPORT_MGMT(pwdev_priv, IEEE80211_STYPE_ACTION, reg);
break;
default:
break;
}
exit:
return;
}
@@ -9115,7 +9124,8 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif
#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0) && \
LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0) && \
!defined(RHEL79))
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
#ifdef CONFIG_PNO_SUPPORT
wiphy->max_sched_scan_ssids = MAX_PNO_LIST_COUNT;
@@ -9126,7 +9136,7 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif
#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) && !defined(RHEL79))
wiphy->wowlan = wowlan_stub;
#else
wiphy->wowlan = &wowlan_stub;
@@ -9432,7 +9442,11 @@ static struct cfg80211_ops rtw_cfg80211_ops = {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
.mgmt_tx = cfg80211_rtw_mgmt_tx,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0))
.update_mgmt_frame_registrations = cfg80211_rtw_update_mgmt_frame_register,
#else
.mgmt_frame_register = cfg80211_rtw_mgmt_frame_register,
#endif
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) && LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 35))
.action = cfg80211_rtw_mgmt_tx,
#endif
@@ -9632,7 +9646,11 @@ void rtw_wdev_unregister(struct wireless_dev *wdev)
rtw_cfg80211_indicate_scan_done(adapter, _TRUE);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
if (wdev->connected) {
#else
if (wdev->current_bss) {
#endif
RTW_INFO(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter));
rtw_cfg80211_indicate_disconnect(adapter, 0, 1);
}
+6 -2
View File
@@ -167,6 +167,10 @@ struct rtw_wdev_priv {
bool block;
bool block_scan;
bool power_mgmt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)
u32 mgmt_mask;
#endif
/* report mgmt_frame registered */
u16 report_mgmt;
@@ -358,7 +362,7 @@ void rtw_cfg80211_deinit_rfkill(struct wiphy *wiphy);
#define rtw_cfg80211_connect_result(wdev, bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp) cfg80211_connect_result(wdev_to_ndev(wdev), bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) && !defined(RHEL79))
#define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, gfp)
#else
#define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, locally_generated, gfp)
@@ -380,7 +384,7 @@ void rtw_cfg80211_deinit_rfkill(struct wiphy *wiphy);
u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8 ht);
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL79) )
#define NL80211_BAND_2GHZ IEEE80211_BAND_2GHZ
#define NL80211_BAND_5GHZ IEEE80211_BAND_5GHZ
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
+27 -12
View File
@@ -817,7 +817,7 @@ void rtw_regsty_load_target_tx_power(struct registry_priv *regsty)
#endif /* CONFIG_IEEE80211_BAND_5GHZ */
}
inline void rtw_regsty_load_excl_chs(struct registry_priv *regsty)
static inline void rtw_regsty_load_excl_chs(struct registry_priv *regsty)
{
int i;
int ch_num = 0;
@@ -831,7 +831,7 @@ inline void rtw_regsty_load_excl_chs(struct registry_priv *regsty)
}
#ifdef CONFIG_80211N_HT
inline void rtw_regsty_init_rx_ampdu_sz_limit(struct registry_priv *regsty)
static inline void rtw_regsty_init_rx_ampdu_sz_limit(struct registry_priv *regsty)
{
int i, j;
uint *sz_limit;
@@ -1199,7 +1199,11 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *addr)
}
_rtw_memcpy(adapter_mac_addr(padapter), sa->sa_data, ETH_ALEN); /* set mac addr to adapter */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
eth_hw_addr_set(pnetdev, sa->sa_data);
#else
_rtw_memcpy(pnetdev->dev_addr, sa->sa_data, ETH_ALEN); /* set mac addr to net_device */
#endif
#if 0
if (rtw_is_hw_init_completed(padapter)) {
@@ -1284,17 +1288,18 @@ unsigned int rtw_classify8021d(struct sk_buff *skb)
return dscp >> 5;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0))
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0))
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev,
select_queue_fallback_t fallback)
#else
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
void *accel_priv, select_queue_fallback_t fallback)
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
#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) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0))
, select_queue_fallback_t fallback
#endif
#endif
)
{
_adapter *padapter = rtw_netdev_priv(dev);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
@@ -1512,6 +1517,12 @@ struct net_device *rtw_init_netdev(_adapter *old_padapter)
if (!pnetdev)
return NULL;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_DATA_MAXLEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
padapter = rtw_netdev_priv(pnetdev);
padapter->pnetdev = pnetdev;
@@ -1621,7 +1632,11 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
/* alloc netdev name */
rtw_init_netdev_name(ndev, name);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
eth_hw_addr_set(ndev, adapter_mac_addr(adapter));
#else
_rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
#endif
#if defined(CONFIG_NET_NS)
dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter)));
#endif //defined(CONFIG_NET_NS)
+4
View File
@@ -354,7 +354,11 @@ static int napi_recv(_adapter *padapter, int budget)
#ifdef CONFIG_RTW_GRO
if (pregistrypriv->en_gro) {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0))
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
#else
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_MERGED_FREE)
#endif
rx_ok = _TRUE;
goto next;
}
+96 -1
View File
@@ -45,6 +45,10 @@ inline struct proc_dir_entry *get_rtw_drv_proc(void)
#define get_proc_net init_net.proc_net
#endif
#if(LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
#define PDE_DATA(inode) pde_data(inode)
#endif
inline struct proc_dir_entry *rtw_proc_create_dir(const char *name, struct proc_dir_entry *parent, void *data)
{
struct proc_dir_entry *entry;
@@ -62,7 +66,12 @@ inline struct proc_dir_entry *rtw_proc_create_dir(const char *name, struct proc_
}
inline struct proc_dir_entry *rtw_proc_create_entry(const char *name, struct proc_dir_entry *parent,
const struct file_operations *fops, void * data)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
const struct proc_ops *fops, void * data)
#else
const struct file_operations *fops, void * data)
#endif
{
struct proc_dir_entry *entry;
@@ -230,6 +239,26 @@ static ssize_t rtw_drv_proc_write(struct file *file, const char __user *buffer,
return -EROFS;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
static const struct proc_ops rtw_drv_proc_seq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_drv_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = seq_release,
.proc_write = rtw_drv_proc_write,
};
static const struct proc_ops rtw_drv_proc_sseq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_drv_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = single_release,
.proc_write = rtw_drv_proc_write,
};
#else
static const struct file_operations rtw_drv_proc_seq_fops = {
.owner = THIS_MODULE,
.open = rtw_drv_proc_open,
@@ -247,6 +276,7 @@ static const struct file_operations rtw_drv_proc_sseq_fops = {
.release = single_release,
.write = rtw_drv_proc_write,
};
#endif
int rtw_drv_proc_init(void)
{
@@ -3683,6 +3713,27 @@ static ssize_t rtw_adapter_proc_write(struct file *file, const char __user *buff
return -EROFS;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
static const struct proc_ops rtw_adapter_proc_seq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_adapter_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = seq_release,
.proc_write = rtw_adapter_proc_write,
};
static const struct proc_ops rtw_adapter_proc_sseq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_adapter_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = single_release,
.proc_write = rtw_adapter_proc_write,
};
#else
static const struct file_operations rtw_adapter_proc_seq_fops = {
.owner = THIS_MODULE,
.open = rtw_adapter_proc_open,
@@ -3700,6 +3751,7 @@ static const struct file_operations rtw_adapter_proc_sseq_fops = {
.release = single_release,
.write = rtw_adapter_proc_write,
};
#endif
int proc_get_odm_adaptivity(struct seq_file *m, void *v)
{
@@ -3855,6 +3907,26 @@ static ssize_t rtw_odm_proc_write(struct file *file, const char __user *buffer,
return -EROFS;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
static const struct proc_ops rtw_odm_proc_seq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_odm_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = seq_release,
.proc_write = rtw_odm_proc_write,
};
static const struct proc_ops rtw_odm_proc_sseq_fops = {
//.proc_owner = THIS_MODULE,
.proc_open = rtw_odm_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = single_release,
.proc_write = rtw_odm_proc_write,
};
#else
static const struct file_operations rtw_odm_proc_seq_fops = {
.owner = THIS_MODULE,
.open = rtw_odm_proc_open,
@@ -3873,6 +3945,8 @@ static const struct file_operations rtw_odm_proc_sseq_fops = {
.write = rtw_odm_proc_write,
};
#endif
struct proc_dir_entry *rtw_odm_proc_init(struct net_device *dev)
{
struct proc_dir_entry *dir_odm = NULL;
@@ -3996,6 +4070,26 @@ static ssize_t rtw_mcc_proc_write(struct file *file, const char __user *buffer,
return -EROFS;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0))
static const struct proc_ops rtw_mcc_proc_seq_fops = {
.proc_owner = THIS_MODULE,
.proc_open = rtw_mcc_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = seq_release,
.proc_write = rtw_mcc_proc_write,
};
static const struct proc_ops rtw_mcc_proc_sseq_fops = {
.proc_owner = THIS_MODULE,
.proc_open = rtw_mcc_proc_open,
.proc_read = seq_read,
.proc_lseek = seq_lseek,
.proc_release = single_release,
.proc_write = rtw_mcc_proc_write,
};
#else
static const struct file_operations rtw_mcc_proc_seq_fops = {
.owner = THIS_MODULE,
.open = rtw_mcc_proc_open,
@@ -4013,6 +4107,7 @@ static const struct file_operations rtw_mcc_proc_sseq_fops = {
.release = single_release,
.write = rtw_mcc_proc_write,
};
#endif
struct proc_dir_entry *rtw_mcc_proc_init(struct net_device *dev)
{
+3 -1
View File
@@ -158,7 +158,9 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
{USB_DEVICE(0x2001, 0x330F), .driver_info = RTL8188E}, /* DLink DWA-125 REV D1 */
{USB_DEVICE(0x2001, 0x3310), .driver_info = RTL8188E}, /* Dlink DWA-123 REV D1 */
{USB_DEVICE(0x2001, 0x3311), .driver_info = RTL8188E}, /* DLink GO-USB-N150 REV B1 */
{USB_DEVICE(0x056E, 0x4008), .driver_info = RTL8188E}, /* Elecom WDC-150SU2M */
{USB_DEVICE(0x2001, 0x331B), .driver_info = RTL8188E}, /* DLink DWA-121 REV B1 */
{USB_DEVICE(0x056E, 0x4008), .driver_info = RTL8188E}, /* Elecom WDC-150SU2M */
{USB_DEVICE(0x7392, 0xB811), .driver_info = RTL8188E}, /* Edimax EW-7811UN v2 */
#endif
#ifdef CONFIG_RTL8812A
+3 -3
View File
@@ -294,7 +294,7 @@ void rtw_regd_apply_flags(struct wiphy *wiphy)
&& rtw_odm_dfs_domain_unknown(padapter)
#endif
) {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79))
ch->flags = (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN);
#else
ch->flags = IEEE80211_CHAN_NO_IR;
@@ -309,7 +309,7 @@ void rtw_regd_apply_flags(struct wiphy *wiphy)
#endif
) {
ch->flags |= IEEE80211_CHAN_RADAR;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79))
ch->flags |= (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN);
#else
ch->flags |= IEEE80211_CHAN_NO_IR;
@@ -374,7 +374,7 @@ static void _rtw_regd_init_wiphy(struct rtw_regulatory *reg, struct wiphy *wiphy
wiphy->reg_notifier = rtw_reg_notifier;
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79))
wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY;
wiphy->flags &= ~WIPHY_FLAG_STRICT_REGULATORY;
wiphy->flags &= ~WIPHY_FLAG_DISABLE_BEACON_HINTS;
+35 -2
View File
@@ -286,7 +286,7 @@ inline struct sk_buff *_rtw_skb_clone(struct sk_buff *skb)
return skb_clone(skb);
#endif /* PLATFORM_FREEBSD */
}
inline struct sk_buff *_rtw_pskb_copy(struct sk_buff *skb)
static inline struct sk_buff *_rtw_pskb_copy(struct sk_buff *skb)
{
#ifdef PLATFORM_LINUX
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36))
@@ -1268,8 +1268,12 @@ u32 _rtw_down_sema(_sema *sema)
inline void thread_exit(_completion *comp)
{
#ifdef PLATFORM_LINUX
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
kthread_complete_and_exit(comp, 0);
#else
complete_and_exit(comp, 0);
#endif
#endif
#ifdef PLATFORM_FREEBSD
printf("%s", "RTKTHREAD_exit");
@@ -2139,15 +2143,19 @@ static int isFileReadable(const char *path, u32 *sz)
{
struct file *fp;
int ret = 0;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs;
#endif
char buf;
fp = filp_open(path, O_RDONLY, 0);
if (IS_ERR(fp))
ret = PTR_ERR(fp);
else {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs();
set_fs(KERNEL_DS);
#endif
if (1 != readFile(fp, &buf, 1))
ret = PTR_ERR(fp);
@@ -2159,8 +2167,9 @@ static int isFileReadable(const char *path, u32 *sz)
*sz = i_size_read(fp->f_dentry->d_inode);
#endif
}
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs);
#endif
filp_close(fp, NULL);
}
return ret;
@@ -2176,7 +2185,9 @@ static int isFileReadable(const char *path, u32 *sz)
static int retriveFromFile(const char *path, u8 *buf, u32 sz)
{
int ret = -1;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs;
#endif
struct file *fp;
if (path && buf) {
@@ -2184,10 +2195,14 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs();
set_fs(KERNEL_DS);
#endif
ret = readFile(fp, buf, sz);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs);
#endif
closeFile(fp);
RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret);
@@ -2211,7 +2226,9 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
static int storeToFile(const char *path, u8 *buf, u32 sz)
{
int ret = 0;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs;
#endif
struct file *fp;
if (path && buf) {
@@ -2219,10 +2236,14 @@ static int storeToFile(const char *path, u8 *buf, u32 sz)
if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs();
set_fs(KERNEL_DS);
#endif
ret = writeFile(fp, buf, sz);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs);
#endif
closeFile(fp);
RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret);
@@ -2324,6 +2345,12 @@ struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_p
if (!pnetdev)
goto RETURN;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_MAX_ETHFRM_LEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
pnpi = netdev_priv(pnetdev);
pnpi->priv = old_priv;
pnpi->sizeof_priv = sizeof_priv;
@@ -2345,6 +2372,12 @@ struct net_device *rtw_alloc_etherdev(int sizeof_priv)
if (!pnetdev)
goto RETURN;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_MAX_ETHFRM_LEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
pnpi = netdev_priv(pnetdev);
pnpi->priv = rtw_zvmalloc(sizeof_priv);