From 2313270d81321854d1c8e84e06461d99e7d93086 Mon Sep 17 00:00:00 2001 From: Rihards Skuja Date: Sat, 2 Mar 2024 14:06:49 +0200 Subject: [PATCH] rtl8812au-openhd-dkms-git: fix build on recent kernels --- rtl8812au-openhd-dkms-git/.SRCINFO | 6 ++- ...ange-signature-to-fix-build-on-recen.patch | 49 +++++++++++++++++++ rtl8812au-openhd-dkms-git/PKGBUILD | 13 +++-- 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch diff --git a/rtl8812au-openhd-dkms-git/.SRCINFO b/rtl8812au-openhd-dkms-git/.SRCINFO index 36126b0..b74250d 100644 --- a/rtl8812au-openhd-dkms-git/.SRCINFO +++ b/rtl8812au-openhd-dkms-git/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = rtl8812au-openhd-dkms-git pkgdesc = Realtek RTL88xxAU WiFi USB driver (with OpenHD patches) - pkgver = 5.2.20.2.r804.g4515487 - pkgrel = 2 + pkgver = 5.2.20.2.r849.gf21bbe9 + pkgrel = 3 url = https://github.com/OpenHD/rtl8812au arch = any license = GPL2 @@ -9,6 +9,8 @@ pkgbase = rtl8812au-openhd-dkms-git depends = dkms depends = bc source = git+https://github.com/OpenHD/rtl8812au.git + source = 0001-Update-beacon-change-signature-to-fix-build-on-recen.patch sha256sums = SKIP + sha256sums = b26147fda4d78d8cc8f7d5f5d331e43a1ffeecb5596e703e3da6a7461a0fd7b2 pkgname = rtl8812au-openhd-dkms-git diff --git a/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch b/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch new file mode 100644 index 0000000..b2b29c8 --- /dev/null +++ b/rtl8812au-openhd-dkms-git/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch @@ -0,0 +1,49 @@ +From 08165cf5c1cb5186b4a1e04fe29eaf3ab6cf4c05 Mon Sep 17 00:00:00 2001 +From: Rihards Skuja +Date: Thu, 29 Feb 2024 12:23:32 +0200 +Subject: [PATCH] Update beacon change signature to fix build on recent kernels + +--- + os_dep/linux/ioctl_cfg80211.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c +index c26bb07..facfd33 100644 +--- a/os_dep/linux/ioctl_cfg80211.c ++++ b/os_dep/linux/ioctl_cfg80211.c +@@ -4600,24 +4600,24 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev, + return ret; + } + +-static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_beacon_data *info) ++static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_ap_update *info) + { + int ret = 0; + _adapter *adapter = (_adapter *)rtw_netdev_priv(ndev); + + RTW_INFO(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev)); + +- ret = rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len); ++ ret = rtw_add_beacon(adapter, info->beacon.head, info->beacon.head_len, info->beacon.tail, info->beacon.tail_len); + + // In cases like WPS, the proberesp and assocresp IEs vary from the beacon, and need to be explicitly set + if(ret == 0) { +- if(info->proberesp_ies && info->proberesp_ies_len > 0) { +- rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->proberesp_ies, +- info->proberesp_ies_len, 0x2/*PROBE_RESP*/); ++ if(info->beacon.proberesp_ies && info->beacon.proberesp_ies_len > 0) { ++ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->beacon.proberesp_ies, ++ info->beacon.proberesp_ies_len, 0x2/*PROBE_RESP*/); + } +- if(info->assocresp_ies && info->assocresp_ies_len > 0) { +- rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->assocresp_ies, +- info->assocresp_ies_len, 0x4/*ASSOC_RESP*/); ++ if(info->beacon.assocresp_ies && info->beacon.assocresp_ies_len > 0) { ++ rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->beacon.assocresp_ies, ++ info->beacon.assocresp_ies_len, 0x4/*ASSOC_RESP*/); + } + } + +-- +2.44.0 + diff --git a/rtl8812au-openhd-dkms-git/PKGBUILD b/rtl8812au-openhd-dkms-git/PKGBUILD index 3ca2682..f5feee2 100644 --- a/rtl8812au-openhd-dkms-git/PKGBUILD +++ b/rtl8812au-openhd-dkms-git/PKGBUILD @@ -2,23 +2,28 @@ pkgname=rtl8812au-openhd-dkms-git _modname=88XXau_ohd -pkgver=5.2.20.2.r804.g4515487 +pkgver=5.2.20.2.r849.gf21bbe9 _pkgver=5.2.20.2 -pkgrel=2 +pkgrel=3 pkgdesc='Realtek RTL88xxAU WiFi USB driver (with OpenHD patches)' arch=(any) url='https://github.com/OpenHD/rtl8812au' license=(GPL2) depends=('dkms' 'bc') makedepends=('git') -source=('git+https://github.com/OpenHD/rtl8812au.git') -sha256sums=('SKIP') +source=('git+https://github.com/OpenHD/rtl8812au.git' '0001-Update-beacon-change-signature-to-fix-build-on-recen.patch') +sha256sums=('SKIP' 'b26147fda4d78d8cc8f7d5f5d331e43a1ffeecb5596e703e3da6a7461a0fd7b2') pkgver() { cd "${srcdir}/rtl8812au" printf '%s.r%s.g%s' "${_pkgver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" } +prepare() { + cd "${srcdir}/rtl8812au" + patch -p1 -i "$srcdir/0001-Update-beacon-change-signature-to-fix-build-on-recen.patch" +} + package() { cd "${srcdir}/rtl8812au" mkdir -p "${pkgdir}/usr/src/${_modname}-${pkgver}"