Compare commits

..

15 Commits

Author SHA1 Message Date
Sophie Brun 6ea2356d6f
Prepare for Release 2024-01-15 14:53:27 +01:00
Sophie Brun 852adb54cd
Refresh patches 2024-01-15 14:53:03 +01:00
Sophie Brun 53d19f5702 Update upstream source from tag 'upstream/5.3.9_git20230921.3fae723'
Update to upstream version '5.3.9~git20230921.3fae723'
with Debian dir 8bf8e82b59
2024-01-15 14:46:54 +01:00
Sophie Brun adba813558 New upstream version 5.3.9~git20230921.3fae723 2024-01-15 14:46:50 +01:00
Sophie Brun 0b411e63ba
Prepare for Release 2023-07-05 14:58:13 +02:00
Sophie Brun 7406ecf7d5
Import a patch to build for 6.3 2023-07-05 14:32:11 +02:00
Steev Klimaszewski ef92a04584 Override dkms autopkgtest
The dkms autopkgtest script tries to install all header packages that it
can find; This is a wifi network driver, and the cloud kernels do not
include the necessary headers to build a wifi network driver.
So, lets attempt to override the autopkgtest and just run the script
manually.
2023-06-20 20:31:06 -05:00
Sophie Brun fa361c0252
Prepare for Release 2023-02-21 14:54:21 +01:00
Sophie Brun 2d802875d5
Add informations in patches 2023-02-21 14:54:21 +01:00
Sophie Brun 524958cc4b
Add support for Linux Kernel 6.1 2023-02-21 14:50:58 +01:00
Sophie Brun 3c1147c914
Refresh patches 2023-02-21 14:48:05 +01:00
Sophie Brun 8e7144bc33 Update upstream source from tag 'upstream/5.3.9_git20230101.f8ead57'
Update to upstream version '5.3.9~git20230101.f8ead57'
with Debian dir eb79d6efc7
2023-02-21 14:37:19 +01:00
Sophie Brun 5c684654e1 New upstream version 5.3.9~git20230101.f8ead57 2023-02-21 14:37:15 +01:00
Kali Janitor 8932f347c2 Update standards version to 4.6.2, 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
2023-01-24 00:32:37 +00:00
Kali Janitor dbc1be7196 Set upstream metadata fields: Repository.
Changes-By: lintian-brush
Fixes: lintian: upstream-metadata-missing-repository
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-repository.html
2022-11-15 01:19:54 +00:00
23 changed files with 368 additions and 138 deletions

View File

@ -9,7 +9,10 @@ EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused
EXTRA_CFLAGS += -Wno-address
EXTRA_CFLAGS += -Wno-cast-function-type
EXTRA_CFLAGS += -Wno-discarded-qualifiers
#EXTRA_CFLAGS += -Wno-discarded-qualifiers
EXTRA_CFLAGS += -Wno-uninitialized
EXTRA_CFLAGS += -Wno-sometimes-uninitialized
EXTRA_CFLAGS += -Wno-enum-conversion
EXTRA_CFLAGS += -Wno-vla
EXTRA_CFLAGS += -Wno-date-time
@ -19,7 +22,7 @@ ifeq ($(GCC_VER_49),1)
EXTRA_CFLAGS += -Wno-date-time # Fix compile error && warning on gcc 4.9 and later
endif
EXTRA_CFLAGS += -I$(src)/include
EXTRA_CFLAGS += -I$(src)/include -I$(srctree)/$(src)/include
EXTRA_LDFLAGS += --strip-debug
@ -226,10 +229,11 @@ _HAL_INTFS_FILES := hal/hal_intf.o \
hal/led/hal_$(HCI_NAME)_led.o
EXTRA_CFLAGS += -I$(src)/platform
EXTRA_CFLAGS += -I$(src)/platform -I$(srctree)/$(src)/platform
_PLATFORM_FILES := platform/platform_ops.o
EXTRA_CFLAGS += -I$(src)/hal/btc
EXTRA_CFLAGS += -I$(src)/hal/btc -I$(srctree)/$(src)/hal/btc
EXTRA_CFLAGS += -I$(src)/hal/phydm -I$(srctree)/$(src)/hal/phydm
########### HAL_RTL8188E #################################
ifeq ($(CONFIG_RTL8188E), y)

View File

@ -18,28 +18,37 @@
* MESH Support
* Monitor mode
* Frame injection
* Up to kernel v6.0+
* Up to kernel v6.5+
... 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'|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.
1. Compile and install the driver:
```
cd rtl8188eus
make && sudo make install
```
2. Blacklist another drivers in order to use this one:
```
echo 'blacklist r8188eu' | sudo tee -a '/etc/modprobe.d/realtek.conf'
echo 'blacklist rtl8xxxu' | sudo tee -a '/etc/modprobe.d/realtek.conf'
```
3. `reboot` or remove all drivers related to RTL8188 and reload this one:
```
rmmod r8188eu rtl8xxxu 8188eu
modprobe 8188eu
```
# MONITOR MODE howto
Use these steps to enter monitor mode.
```
$ sudo airmon-ng check kill
$ sudo ip link set <interface> down
$ sudo 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>
sudo aireplay-ng -9 <interface>
```
# NetworkManager configuration

View File

@ -117,7 +117,13 @@ static __inline__ int __nat25_add_pppoe_tag(struct sk_buff *skb, struct pppoe_ta
/* have a room for new tag */
memmove(((unsigned char *)ph->tag + data_len), (unsigned char *)ph->tag, ntohs(ph->length));
ph->length = htons(ntohs(ph->length) + data_len);
#if (defined __GNUC__) && (__GNUC__ > 10)
#pragma GCC diagnostic ignored "-Wstringop-overread"
#endif
memcpy((unsigned char *)ph->tag, tag, data_len);
#if (defined __GNUC__) && (__GNUC__ > 10)
#pragma GCC diagnostic pop
#endif
return data_len;
}

View File

@ -14,9 +14,6 @@
*****************************************************************************/
#define _RTW_MP_C_
#include <drv_types.h>
#ifdef PLATFORM_FREEBSD
#include <sys/unistd.h> /* for RFHIGHPID */
#endif
#include "../hal/phydm/phydm_precomp.h"
#if defined(CONFIG_RTL8723B) || defined(CONFIG_RTL8821A)
@ -163,64 +160,6 @@ static void _init_mp_priv_(struct mp_priv *pmp_priv)
}
#ifdef PLATFORM_WINDOWS
#if 0
void mp_wi_callback(
IN NDIS_WORK_ITEM *pwk_item,
IN PVOID cntx
)
{
_adapter *padapter = (_adapter *)cntx;
struct mp_priv *pmppriv = &padapter->mppriv;
struct mp_wi_cntx *pmp_wi_cntx = &pmppriv->wi_cntx;
/* Execute specified action. */
if (pmp_wi_cntx->curractfunc != NULL) {
LARGE_INTEGER cur_time;
ULONGLONG start_time, end_time;
NdisGetCurrentSystemTime(&cur_time); /* driver version */
start_time = cur_time.QuadPart / 10; /* The return value is in microsecond */
pmp_wi_cntx->curractfunc(padapter);
NdisGetCurrentSystemTime(&cur_time); /* driver version */
end_time = cur_time.QuadPart / 10; /* The return value is in microsecond */
}
NdisAcquireSpinLock(&(pmp_wi_cntx->mp_wi_lock));
pmp_wi_cntx->bmp_wi_progress = _FALSE;
NdisReleaseSpinLock(&(pmp_wi_cntx->mp_wi_lock));
if (pmp_wi_cntx->bmpdrv_unload)
NdisSetEvent(&(pmp_wi_cntx->mp_wi_evt));
}
#endif
static int init_mp_priv_by_os(struct mp_priv *pmp_priv)
{
struct mp_wi_cntx *pmp_wi_cntx;
if (pmp_priv == NULL)
return _FAIL;
pmp_priv->rx_testcnt = 0;
pmp_priv->rx_testcnt1 = 0;
pmp_priv->rx_testcnt2 = 0;
pmp_priv->tx_testcnt = 0;
pmp_priv->tx_testcnt1 = 0;
pmp_wi_cntx = &pmp_priv->wi_cntx
pmp_wi_cntx->bmpdrv_unload = _FALSE;
pmp_wi_cntx->bmp_wi_progress = _FALSE;
pmp_wi_cntx->curractfunc = NULL;
return _SUCCESS;
}
#endif
#ifdef PLATFORM_LINUX
static int init_mp_priv_by_os(struct mp_priv *pmp_priv)
{
@ -1940,17 +1879,6 @@ void SetPacketTx(PADAPTER padapter)
pmp_priv->tx.PktTxThread = NULL;
}
#endif
#ifdef PLATFORM_FREEBSD
{
struct proc *p;
struct thread *td;
pmp_priv->tx.PktTxThread = kproc_kthread_add(mp_xmit_packet_thread, pmp_priv,
&p, &td, RFHIGHPID, 0, "MPXmitThread", "MPXmitThread");
if (pmp_priv->tx.PktTxThread < 0)
RTW_INFO("Create PktTx Thread Fail !!!!!\n");
}
#endif
Rtw_MPSetMacTxEDCA(padapter);
exit:

30
debian/changelog vendored
View File

@ -1,3 +1,33 @@
realtek-rtl8188eus-dkms (5.3.9~git20230921.3fae723-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20230921.3fae723
* Refresh patches
-- Sophie Brun <sophie@offensive-security.com> Mon, 15 Jan 2024 14:53:09 +0100
realtek-rtl8188eus-dkms (5.3.9~git20230101.f8ead57-0kali2) kali-dev; urgency=medium
[ Steev Klimaszewski ]
* Override dkms autopkgtest
[ Sophie Brun ]
* Import a patch to build for 6.3
-- Sophie Brun <sophie@offensive-security.com> Wed, 05 Jul 2023 14:32:27 +0200
realtek-rtl8188eus-dkms (5.3.9~git20230101.f8ead57-0kali1) kali-dev; urgency=medium
[ Kali Janitor ]
* Set upstream metadata fields: Repository.
* Update standards version to 4.6.2, no changes needed.
[ Sophie Brun ]
* New upstream version 5.3.9~git20230101.f8ead57
* Refresh patches
* Add support for Linux Kernel 6.1
-- Sophie Brun <sophie@offensive-security.com> Tue, 21 Feb 2023 14:51:34 +0100
realtek-rtl8188eus-dkms (5.3.9~git20221105.dab6e02-0kali1) kali-dev; urgency=medium
[ Kali Janitor ]

2
debian/control vendored
View File

@ -4,7 +4,7 @@ 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
Standards-Version: 4.6.2
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

View File

@ -1,29 +0,0 @@
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));

View File

@ -0,0 +1,19 @@
From: Sophie Brun <sophie@offensive-security.com>
Date: Tue, 21 Feb 2023 14:49:29 +0100
Subject: Add Linux 6.1 build support
Origin: https://github.com/aircrack-ng/rtl8188eus/pull/226
Forwarded: not-needed
---
dkms.conf | 1 -
1 file changed, 1 deletion(-)
diff --git a/dkms.conf b/dkms.conf
index 2c60a99..d1d1dc8 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -7,4 +7,3 @@ PROCS_NUM=`nproc`
DEST_MODULE_LOCATION[0]="/updates"
MAKE="'make' -j$PROCS_NUM KVER=${kernelver} KSRC=/lib/modules/${kernelver}/build"
AUTOINSTALL="yes"
-REMAKE_INITRD=no

View File

@ -3,6 +3,7 @@ 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
Forwarded: not-needed
---
os_dep/linux/rtw_proc.c | 4 ++++
1 file changed, 4 insertions(+)

View File

@ -1,2 +1,2 @@
add-support-kernel-5.17.patch
Fix-build-for-linux-kernel-5.17.patch
add-linux-6.1-support.patch

2
debian/tests/control vendored Normal file
View File

@ -0,0 +1,2 @@
Test-Command: debian/tests/dkms-autopkgtest
Restrictions: needs-root allow-stderr

229
debian/tests/dkms-autopkgtest vendored Executable file
View File

@ -0,0 +1,229 @@
#!/bin/sh
# Common autopkgtest script for testing a dkms source package.
# Author: Martin Pitt <martin.pitt@ubuntu.com>
# Copyright: (C) 2014 Canonical Ltd.
set -eu
export DEBIAN_FRONTEND=noninteractive
result=0
summary=
crlf="
"
header_packages=
check_for_linux_headers() {
# Act only on the first run.
if [ -n "$header_packages" ]; then
return
fi
# Which Linux header packages are installed?
header_packages=$(dpkg-query -f '${Status} ${Package}\n' -W 'linux-headers-*' 2>/dev/null | sed -r -n 's/^install ok installed //p')
if [ -n "$header_packages" ]; then
echo "I: Using the following Linux header packages that were already installed:"
for p in $header_packages ; do
echo "I: $p"
done
return
fi
# Which Linux header packages could be installed?
# linux-doc is a dependency generated by autodep8 for autopkgtest-pkg-dkms
# install only linux-headers-* matching the source version of linux-doc
wanted_source_version=$(dpkg-query -f '${source:Version}' -W linux-doc 2>/dev/null || true)
candidates=$(apt-cache search --names-only '^linux-headers-' | awk '{print $1}' | grep -v -E -e '-common(-rt)?$' | grep -v cloud)
echo "I: No Linux header packages are installed."
echo "I: Installing all available ones from src:linux $wanted_source_version:"
for p in $candidates ; do
if [ -z "$wanted_source_version" ]; then
echo "I: $p"
header_packages="$header_packages $p"
continue
fi
source_versions=$(apt-cache show $p | perl -ne 'if (/^$/) { print $s || $v, "\n"; $s=$v=""; } $s=$1 if /^Source: .* \((.*)\)$/; $v=$1 if /^Version: (.*)$/;')
for sv in $source_versions ; do
if [ "$sv" = "$wanted_source_version" ]; then
echo "I: install $p"
header_packages="$header_packages $p"
continue 2
fi
done
echo "I: skip $p"
done
RC=0
apt-get install --no-install-recommends -yq $header_packages </dev/null 2>&1 || RC=$?
if [ "$RC" -ne 0 ]; then
echo "E: Linux headers failed to install." >&2
exit 1
fi
}
run_pkg() {
pkg="$1"
test -x /usr/bin/openssl || apt-get install --no-install-recommends -yq openssl </dev/null 2>&1
echo "I: Removing binary package $pkg, to get clean state."
apt-get purge -yq $pkg </dev/null 2>&1 >/dev/null || true
echo "I: Installing binary package $pkg"
RC=0
apt-get install --no-install-recommends -yq $pkg </dev/null 2>&1 || RC=$?
if [ "$RC" -ne 0 ]; then
echo "E: Package $pkg failed to install." >&2
result=1
return
fi
# Try and remove dkms to spot packages which miss a dkms dependency
echo "I: Checking for missing dkms dependency by trying to deinstall dkms"
dpkg --remove dkms || true
if ! dkms_conf=$(dpkg -L $pkg | grep '/usr/src' | grep '/dkms.conf$'); then
echo "I: Package $pkg has no dkms.conf, skipping."
return
fi
check_for_linux_headers
echo "I: Testing binary package $pkg"
dkms_pkg=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_NAME" 2>/dev/null)
dkms_ver=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_VERSION" 2>/dev/null)
build_depends=$(bash -c ". $dkms_conf > /dev/null; echo \$BUILD_DEPENDS" 2>/dev/null)
versioned_build_depends=
for bd in $build_depends
do
bdpath=$(ls -d /usr/src/${bd}-*)
versioned_build_depends="$versioned_build_depends ${bd}/${bdpath#/usr/src/${bd}-}"
done
for k in $(ls -dv /lib/modules/*/build)
do
test -d "$k" || continue
kver="${k%/build}"
kver="${kver#/lib/modules/}"
# If any linux-meta is in triggers, only test abistems that
# match triggers otherwise continue. This helps integration
# with adt-matrix which specifically requests test results
# against each individual linux-meta and tracks unique results
# per kernel abi.
abistem=$(echo $kver | sed 's/-[a-z]*$//')
case "${ADT_TEST_TRIGGERS-}" in
*linux-meta*)
case "$ADT_TEST_TRIGGERS" in
*"$abistem"*)
;;
*)
continue
;;
esac
esac
for bdv in $versioned_build_depends
do
echo "I: Trying to install build dependency $bdv for $kver"
dkms install "$bdv" -k "$kver" || test $? = 77
done
echo "I: Trying to build $dkms_pkg/$dkms_ver for $kver"
res=0
dkms build -m "$dkms_pkg" -v "$dkms_ver" -k "$kver" || res=$?
if [ "$res" = 77 ]; then
echo "I: $dkms_pkg/$dkms_ver is not supported on $kver (BUILD_EXCLUSIVE directive), skipping."
summary="${summary}I: SKIP $kver${crlf}"
continue
fi
if [ "$res" != 0 ]; then
echo "E: $dkms_pkg/$dkms_ver failed to build for $kver" >&2
makelog="/var/lib/dkms/$dkms_pkg/$dkms_ver/build/make.log"
echo "========== $makelog ==========" >&2
cat "$makelog" >&2 || true
echo "====================" >&2
summary="${summary}I: FAIL $kver${crlf}"
result=1
continue
fi
if ! dkms install --force -m "$dkms_pkg" -v "$dkms_ver" -k "$kver" ; then
echo "E: $dkms_pkg/$dkms_ver failed to install for $kver" >&2
summary="${summary}I: FAIL $kver${crlf}"
result=1
continue
fi
echo "I: Testing if $dkms_pkg modules are correctly installed."
dkmsstatus="$(dkms status $dkms_pkg -k $kver)"
echo "$dkmsstatus"
if [ -z "$dkmsstatus" ]; then
echo "E: dkms status output is empty!" >&2
summary="${summary}I: FAIL $kver${crlf}"
result=1
continue
fi
if ! echo "$dkmsstatus" | grep -q "installed$"; then
echo "E: not installed" >&2
summary="${summary}I: FAIL $kver${crlf}"
result=1
continue
fi
summary="${summary}I: PASS $kver${crlf}"
done
# collect build logs as artifacts
if [ -d /var/lib/dkms ]; then
(cd /var/lib/dkms; find $dkms_pkg -name "make.log" -print0 | xargs -r -0 tar cvz) > "${AUTOPKGTEST_ARTIFACTS:-.}/$pkg-make-logs.tar.gz"
fi
# skip modprobing for now; this fails too often (needs particular
# hardware/firmware/etc)
# for mod in $(awk -F '"' '/^BUILT_MODULE_NAME/ {print $2}' $dkms_conf); do
# echo "I: modprobe $mod"
# if ! modprobe $mod; then
# echo "E: Failed to modprobe module $mod" >&2
# exit 1
# else
# echo "I: $modname loaded"
# fi
# done
}
# Do not (fail to) build the modules upon linux-header-* and *-dkms package
# installation, which can cause apt-get to fail. We will do this later with
# improved error reporting.
# (This only works if the *-dkms package is not yet installed.)
touch /etc/dkms/no-autoinstall
pkg_list="$*"
if [ -z "$pkg_list" ]; then
test -x /usr/bin/grep-dctrl || apt-get install --no-install-recommends -yq dctrl-tools </dev/null 2>&1
pkg_list="$(grep-dctrl -FDepends -e '(^| )dkms' -o -FPackage -e '\-dkms' debian/control -sPackage -n)"
fi
for pkg in $pkg_list; do
# package might be arch: restriction or udeb etc.
if ! apt-cache show $pkg >/dev/null 2>&1; then
echo "I: Skipping unavailable package $pkg"
continue
fi
run_pkg $pkg
done
if [ -n "$summary" ]; then
echo "I: Summary:"
echo -n "$summary"
fi
rm -f /etc/dkms/no-autoinstall
exit $result
# vim: sw=4:ts=4:et

View File

@ -1,4 +1,5 @@
---
Bug-Database: https://github.com/aircrack-ng/rtl8188eus/issues
Bug-Submit: https://github.com/aircrack-ng/rtl8188eus/issues/new
Repository: https://github.com/aircrack-ng/rtl8188eus.git
Repository-Browse: https://github.com/aircrack-ng/rtl8188eus

View File

@ -407,7 +407,7 @@ void rtw_hal_turbo_edca(_adapter *adapter)
return;
}
if ((pregpriv->wifi_spec == 1)) { /* || (pmlmeinfo->HT_enable == 0)) */
if (pregpriv->wifi_spec == 1) { /* || (pmlmeinfo->HT_enable == 0)) */
precvpriv->is_any_non_be_pkts = _FALSE;
return;
}

View File

@ -171,7 +171,7 @@ void hal_mpt_CCKTxPowerAdjust(PADAPTER Adapter, BOOLEAN bInCH14)
} else if (IS_HARDWARE_TYPE_8723D(Adapter)) {
/* 2.4G CCK TX DFIR */
/* 2016.01.20 Suggest from RS BB mingzhi*/
if ((u1Channel == 14)) {
if (u1Channel == 14) {
phy_set_bb_reg(Adapter, rCCK0_TxFilter2, bMaskDWord, 0x0000B81C);
phy_set_bb_reg(Adapter, rCCK0_DebugPort, bMaskDWord, 0x00000000);
phy_set_bb_reg(Adapter, 0xAAC, bMaskDWord, 0x00003667);

View File

@ -354,7 +354,7 @@ halrf_cmn_info_init(
void
halrf_cmn_info_hook(
void *dm_void,
u32 cmn_info,
enum halrf_cmninfo_hook cmn_info,
void *value
);

View File

@ -1535,7 +1535,7 @@ 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)
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));

View File

@ -417,7 +417,9 @@ 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))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0, 0);
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
#else
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
@ -1104,6 +1106,7 @@ check_bss:
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL79))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
roam_info.links[0].channel = notify_channel;
roam_info.links[0].bssid = cur_network->network.MacAddress;
#else
roam_info.bssid = cur_network->network.MacAddress;
@ -1138,13 +1141,17 @@ check_bss:
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
#endif
if (check_fwstate(pmlmepriv, WIFI_MONITOR_STATE) != _TRUE)
rtw_cfg80211_connect_result(pwdev, cur_network->network.MacAddress
if (check_fwstate(pmlmepriv, WIFI_MONITOR_STATE) != _TRUE) {
struct cfg80211_bss *bss;
bss = cfg80211_get_bss(pwdev->wiphy, NULL, cur_network->network.MacAddress, NULL, 0,
IEEE80211_BSS_TYPE_ANY, IEEE80211_PRIVACY_ANY);
cfg80211_connect_bss(wdev_to_ndev(pwdev), cur_network->network.MacAddress, bss
, pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2
, pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2
, pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
, pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6
, WLAN_STATUS_SUCCESS, GFP_ATOMIC);
, WLAN_STATUS_SUCCESS, GFP_ATOMIC, NL80211_TIMEOUT_UNSPECIFIED);
}
#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
@ -1660,6 +1667,9 @@ exit:
}
static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
, int link_id
#endif
, u8 key_index
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
, bool pairwise
@ -1804,6 +1814,9 @@ addkey_end:
}
static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct net_device *ndev
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
, int link_id
#endif
, u8 keyid
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
, bool pairwise
@ -1969,6 +1982,9 @@ exit:
}
static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
int link_id,
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
u8 key_index, bool pairwise, const u8 *mac_addr)
#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) */
@ -1989,7 +2005,11 @@ static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev,
}
static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
struct net_device *ndev, u8 key_index
struct net_device *ndev,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
int link_id,
#endif
u8 key_index
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) || defined(COMPAT_KERNEL_RELEASE)
, bool unicast, bool multicast
#endif
@ -2037,7 +2057,11 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30))
int cfg80211_rtw_set_default_mgmt_key(struct wiphy *wiphy,
struct net_device *ndev, u8 key_index)
struct net_device *ndev,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
int link_id,
#endif
u8 key_index)
{
#define SET_DEF_KEY_PARAM_FMT " key_index=%d"
#define SET_DEF_KEY_PARAM_ARG , key_index

View File

@ -363,7 +363,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) && !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)
#define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, 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)
#endif

View File

@ -9789,7 +9789,7 @@ static int rtw_mp_efuse_set(struct net_device *dev,
rtw_hal_read_chip_info(padapter);
/* set mac addr*/
rtw_macaddr_cfg(adapter_mac_addr(padapter), get_hal_mac_addr(padapter));
_rtw_memcpy(padapter->pnetdev->dev_addr, get_hal_mac_addr(padapter), ETH_ALEN); /* set mac addr to net_device */
_rtw_memcpy((void *)padapter->pnetdev->dev_addr, get_hal_mac_addr(padapter), ETH_ALEN); /* set mac addr to net_device */
#ifdef CONFIG_P2P
rtw_init_wifidirect_addrs(padapter, adapter_mac_addr(padapter), adapter_mac_addr(padapter));

View File

@ -1618,7 +1618,11 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
u8 rtnl_lock_needed = rtw_rtnl_lock_needed(dvobj);
#ifdef CONFIG_RTW_NAPI
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
netif_napi_add_weight(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
#else
netif_napi_add(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
#endif
#endif /* CONFIG_RTW_NAPI */
#if defined(CONFIG_IOCTL_CFG80211)

View File

@ -145,7 +145,7 @@ struct sk_buff *rtw_cfg80211_vendor_event_alloc(
struct sk_buff *skb;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0))
skb = cfg80211_vendor_event_alloc(wiphy, len, event_id, gfp);
skb = cfg80211_vendor_event_alloc(wiphy, NULL, len, event_id, gfp);
#else
skb = cfg80211_vendor_event_alloc(wiphy, wdev, len, event_id, gfp);
#endif

View File

@ -2451,7 +2451,7 @@ int rtw_change_ifname(_adapter *padapter, const char *ifname)
rtw_init_netdev_name(pnetdev, ifname);
_rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
_rtw_memcpy((void *)pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
if (rtnl_lock_needed)
ret = register_netdev(pnetdev);
@ -2574,7 +2574,9 @@ u64 rtw_division64(u64 x, u64 y)
inline u32 rtw_random32(void)
{
#ifdef PLATFORM_LINUX
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
return get_random_u32();
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
return prandom_u32();
#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18))
u32 random_int;