summaryrefslogtreecommitdiff
path: root/net-wireless/aic8800
diff options
context:
space:
mode:
Diffstat (limited to 'net-wireless/aic8800')
-rw-r--r--net-wireless/aic8800/Manifest3
-rw-r--r--net-wireless/aic8800/aic8800-1.0.6.ebuild60
-rw-r--r--net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch47
3 files changed, 110 insertions, 0 deletions
diff --git a/net-wireless/aic8800/Manifest b/net-wireless/aic8800/Manifest
index 53a636e8efea..430574e14316 100644
--- a/net-wireless/aic8800/Manifest
+++ b/net-wireless/aic8800/Manifest
@@ -1,5 +1,8 @@
+AUX aic8800-1.0.6-linux-6.12.patch 2154 BLAKE2B c822c371284e3ccae79315c349d4bcd53384d2273bd0cabab285632ad2a57a833c51da94adcf6c225bdf3c527b6a2fe0fd096b9a3f3efd41ff587f91d24c32b4 SHA512 6ead75123a4b15a024055bc83b90ffca69523b72fbc0763e9431f19cecd5a09c7b60d7cdbcd4d3ed79ff3941f0e8def8c7939b27060821b8b2e6de7a1644ad2d
DIST aic8800-1.0.3.deb 535400 BLAKE2B 0e337bded43f99a00fb3d786742418d7faf0adf3d6e517933d4d4a82e7e723e5f45798991238a02fb1836529a5d72cc56181356939eb150feb4c26f14dcd762e SHA512 0917ac4f5a594adb68c084f38bedacb92f3c0700d13dda497943d199bd883c18fc624ffc579091b40fdc6322dc2e5b81cc21add06b27ae8364ee2f8f9f119a7d
DIST aic8800-1.0.5.deb 595050 BLAKE2B 551e9ad09814bcab5464a7bfe09b922e400253403568068b74d839b8d53261251424b571266abed907314d08b27ac5bdbd51abd493bec5d0a511363173635e42 SHA512 4b4917a510caf1104ae7124f883b958d6a936a6e172d1afcc79f58349a943e0feb9a8bb35d326f96c56e0b089d62e3359cf81967e01e1edb1a1ddfc6fe101da0
+DIST aic8800-1.0.6.deb 594776 BLAKE2B dc248a58424ad2d5a3824568da350dc8af37d81046a9dac67281ea88e4d7c8af11f3f514b60ad39bfa419ac8a086f09f9e349945a0ed300e622c16d8ffddc982 SHA512 b5bfb20d5ad128f66c923c5ee278acbcf29b406c17efe5cdd2b1e5838f44559f5e7e36926ef6eaa6c57df0183f5b26cbae42b9e34b62b0471193e2188e675a9c
EBUILD aic8800-1.0.3.ebuild 1250 BLAKE2B 867a75598c5f3ca2e900da456397035cc2c2819e2e74415e27fea51a828c0dcb1179d9a0de4fe58619b6a50db090feaedeb0bd873e637cb40aa42d285486edc9 SHA512 6092611cf1c30ae478271c927a49d3c98bcb64be87c75f5eb1223c17b0885263826d037496f72c6dbd472398cf60f6519290ce0521ae7a8f891720bb7ef76756
EBUILD aic8800-1.0.5.ebuild 1250 BLAKE2B 867a75598c5f3ca2e900da456397035cc2c2819e2e74415e27fea51a828c0dcb1179d9a0de4fe58619b6a50db090feaedeb0bd873e637cb40aa42d285486edc9 SHA512 6092611cf1c30ae478271c927a49d3c98bcb64be87c75f5eb1223c17b0885263826d037496f72c6dbd472398cf60f6519290ce0521ae7a8f891720bb7ef76756
+EBUILD aic8800-1.0.6.ebuild 1305 BLAKE2B a8aa9bfe02c757fcb0f348fc096e2f3b58aaa36d0807028f4f487a174f30272773db6e25d9ad967ef427ae95dd9c7040b3147f010d962e339e9b272e10088ca8 SHA512 cb871e9c48c74b33e6bc34e78c8c4884b8a57d4dee19ab7ce7ee9846a416494e14cb6b4164b36dfebd1201a1d35bc4097de090e3a0e59241a43cbf7a0a092309
MISC metadata.xml 486 BLAKE2B e988be4f0cfe552bb8feccdb545341a0823323892af230d37380f4a205bd1c95e4f7011d0570e68ffbb277129542dcc9753e4a4a7478ff905b424704bebe7222 SHA512 c5302c7a7e1db6291fd6f6eef4264f6ab06e3264bea8b17389605c7d532896d95d558b916c710362112b0af2404222cba511fc4b565872ce81e30c53b1c7d50a
diff --git a/net-wireless/aic8800/aic8800-1.0.6.ebuild b/net-wireless/aic8800/aic8800-1.0.6.ebuild
new file mode 100644
index 000000000000..78de93abdb02
--- /dev/null
+++ b/net-wireless/aic8800/aic8800-1.0.6.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit linux-mod-r1 udev unpacker
+
+DESCRIPTION="aic8800 driver for AICSemi AIC8800/8801/8800DC/8800DW/8800FC Wifi/Bluetooth"
+HOMEPAGE="https://www.aicsemi.com/ https://linux.brostrend.com/troubleshooting/source-code/"
+
+SRC_URI="https://linux.brostrend.com/${PN}-dkms.deb -> ${P}.deb"
+
+LICENSE="GPL-2+ firmware? ( freedist )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="+firmware udev"
+
+CONFIG_CHECK="MAC80211 USB ~BT_HCIBTUSB"
+
+PATCHES="${FILESDIR}/${PN}-1.0.6-linux-6.12.patch"
+
+BDEPEND+="
+ $(unpacker_src_uri_depends)"
+
+S="${WORKDIR}/usr/src/${P}"
+
+src_compile() {
+ MODULES_MAKEARGS+=(
+ KDIR="${KV_OUT_DIR}"
+ )
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ linux_moduleinto kernel/drivers/net/wireless/${PN}
+ linux_domodule aic8800_fdrv/aic8800_fdrv.ko aic_load_fw/aic_load_fw.ko
+ modules_post_process
+ if use firmware; then
+ insinto /lib/firmware
+ doins -r "${WORKDIR}/lib/firmware/aic8800DC"
+ fi
+ if use udev; then
+ # install udev rules for USB mode switching
+ udev_newrules "${WORKDIR}/lib/udev/rules.d/aic.rules" 99-aic-modeswitch.rules
+ fi
+}
+
+pkg_postinst() {
+ if use udev; then
+ udev_reload
+ fi
+ linux-mod-r1_pkg_postinst
+}
+
+pkg_postrm() {
+ if use udev; then
+ udev_reload
+ fi
+}
diff --git a/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch b/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch
new file mode 100644
index 000000000000..e94e2e6bfdd8
--- /dev/null
+++ b/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch
@@ -0,0 +1,47 @@
+From 04dc3e356a45ffc42dd0363799af9a487f5e1bf0 Mon Sep 17 00:00:00 2001
+From: Shen Mintao <cx330.shen@autocore.ai>
+Date: Thu, 9 Jan 2025 11:06:42 +0800
+Subject: [PATCH] fix some source code for kernel 6.12
+
+--- a/aic8800_fdrv/rwnx_main.c
++++ b/aic8800_fdrv/rwnx_main.c
+@@ -4545,6 +4547,11 @@ int rwnx_cfg80211_start_radar_detection(struct wiphy *wiphy,
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
+ , u32 cac_time_ms
+ #endif
++ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0))
++ , int link_id
++ #endif
++
++
+ )
+ {
+ struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy);
+--- a/aic8800_fdrv/rwnx_radar.c
++++ b/aic8800_fdrv/rwnx_radar.c
+@@ -1399,7 +1399,11 @@ static void rwnx_radar_cac_work(struct work_struct *ws)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
+ &ctxt->chan_def,
+ #endif
+- NL80211_RADAR_CAC_FINISHED, GFP_KERNEL);
++ NL80211_RADAR_CAC_FINISHED, GFP_KERNEL
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
++ , 0
++ #endif
++ );
+ rwnx_send_apm_stop_cac_req(rwnx_hw, radar->cac_vif);
+ rwnx_chanctx_unlink(radar->cac_vif);
+
+@@ -1499,7 +1503,11 @@ void rwnx_radar_cancel_cac(struct rwnx_radar *radar)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
+ &ctxt->chan_def,
+ #endif
+- NL80211_RADAR_CAC_ABORTED, GFP_KERNEL);
++ NL80211_RADAR_CAC_ABORTED, GFP_KERNEL
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
++ , 0
++ #endif
++ );
+ rwnx_chanctx_unlink(radar->cac_vif);
+ }
+