54 Commits
Author SHA1 Message Date
Shen MintaoandClaude Opus 5.5 c97644a43a docs: document OpenWrt cfg80211 backport builds
27af5ad added the CFG80211_VERSION make variable for OpenWrt builds that
use a newer mac80211 backport than the target kernel, but it is only
described in a Makefile comment. Document how to pass it from an OpenWrt
package Makefile, link the notes from the installation steps, and add
the build script and the kernel/backports combinations verified for
issue #94.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:59:37 +08:00
Shen MintaoandClaude Opus 5.5 7ec1a4fbb1 fix: use monotonic snapshot versions for the Bazzite package
The spec used the pinned commit hash as Version, and rpm does not order
hashes by commit history: 51b7b6e sorts after c8327ea, and 13baa9b after
e93a7d2, so a newer snapshot could be treated as an older package.

Version snapshots as 1.0.0^<date>git<commit>, where 1.0.0 is the DKMS
PACKAGE_VERSION, and add Epoch 1 so every snapshot sorts after all of
the earlier hash versions. Checked with rpm 4.18: the spec parses and
the new EVR compares newer than every previous Version.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:03:16 +08:00
Shen MintaoandClaude Opus 5.5 94c72da6d8 fix: update the Bazzite package snapshot
The spec still pins e93a7d2, so Bazzite builds miss the fixes merged
since: the Linux 7.1+ TDLS discovery response length (31b726a), the
SUN60IW2P1 USB transfer settings (9594c5c), OpenWrt cfg80211 backport
version handling (27af5ad) and the 6.12 stable set_monitor_channel()
prototype (#97).

Pin 3e9a025, the merge of #97. The pinned tree builds all three modules
against Linux 7.2.6 headers.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:56:33 +08:00
Shen Mintao 27af5add83 fix: support OpenWrt cfg80211 backport versions
Allow CFG80211_VERSION to select wireless API signatures independently of the target kernel. Keep native kernel builds on their existing version checks.

Also guard the WEXT-only label and replace overlapping firmware path formatting with bounded appends so OpenWrt builds pass with Werror.

Validated all three modules against OpenWrt Linux 6.12.94 with backports 6.18.26, plus native 6.11, 6.17 and 7.2 headers. Refs #94.
2026-09-17 13:55:56 +08:00
Shen Mintao 9594c5c99a fix: sync upstream SUN60IW2P1 USB transfer settings
Disable CONFIG_USB_ALIGN_DATA and enable CONFIG_USB_NO_TRANS_DMA_MAP
when CONFIG_ARCH_SUN60IW2P1 is set, following the upstream USB controller
workaround. Preserve the current defaults on other platforms.

Source: radxa-pkg/aic8800 commit 33f19ba,
fix-usbc1-controller-wifi-rate-of-sun60iw2p1.patch.

Validation: GNU make resolves the expected settings for both platform
branches; Linux 6.14, 6.17 and 7.2 module builds succeeded. No SUN60IW2P1
hardware was available for runtime validation.
2026-09-10 11:26:07 +08:00
Shen Mintao 31b726adbd fix: correct TDLS discovery response length on Linux 7.1+
Linux 7.1 moved action_code outside tdls_discover_resp. Reserve both
category and action_code bytes before the response body so appending an
IE does not overwrite the capability field.

Sync the USB hunk from radxa-pkg/aic8800 commit
bd01abe95bc83c4708dd1d117e27424ee41cc747.

Validation: Linux 6.14, 6.17 and 7.2 module builds succeeded. A focused
frame construction check detects the original one-byte overwrite and
passes with this change. Hardware TDLS operation remains untested.
2026-09-10 11:26:07 +08:00
Shen Mintao e93a7d2b6b docs: document Pandora mode switching 2026-08-17 01:20:50 +08:00
Shen Mintao 30505069fa fix: use two-stage Pandora mode switch 2026-08-17 01:20:44 +08:00
Shen Mintao b26fef2910 fix: scope TP-Link AX900 match to Wi-Fi interface 2026-08-11 17:40:58 +08:00
Shen Mintao 5e990a5468 feat: add mode switch rule for AIC8800DE 2026-08-09 17:03:02 +08:00
Shen Mintao 9747ee3110 feat: support AIC8800DE USB variant 2026-08-09 17:03:00 +08:00
Shen Mintao 40379fee97 fix: support Linux 7.2 cfg80211 API 2026-08-08 12:18:17 +08:00
Shen Mintao c096067ef3 fix: avoid USB reboot hang after suspend 2026-08-08 12:17:51 +08:00
Shen Mintao 8e0135c948 fix: respect caller build parallelism 2026-08-08 12:17:01 +08:00
Shen Mintao 81b8b3335e feat: enable monitor packet injection
Build the existing monitor transmit path by default. Validate the radiotap header before parsing it and align the transmit prototype with netdev_tx_t.

Hardware-tested-by: jkroepke (GitHub)
2026-08-07 16:15:23 +08:00
Shen Mintao 531d16c4d6 fix: prevent monitor RX null dereference
Do not send monitor frames through the normal data path when simultaneous monitor/data support is disabled. Handle monitor skb allocation failures without dereferencing NULL or dropping the original combined-mode frame.

Fixes #83
2026-08-07 16:12:28 +08:00
Shen Mintao 40f00e69af fix: support ARM32 ZLP kprobe arguments
Read the first kernel argument from ARM_r0 on 32-bit ARM, where regs_get_kernel_argument() is unavailable.

Fixes #82
2026-08-06 16:24:58 +08:00
Shen Mintao 13488f30dc docs: finalize two-branch maintenance model 2026-07-25 19:42:12 +08:00
Shen Mintao eb3aad9e8d fix: clarify integrated Bluetooth diagnostics 2026-07-25 19:15:07 +08:00
Shen Mintao e53523ba48 merge: sync Bluetooth retirement notice from main
# Conflicts:
#	README.md
2026-07-25 16:06:11 +08:00
Shen Mintao 0d7a07e8aa docs: announce Bluetooth branch retirement 2026-07-25 16:04:38 +08:00
Shen Mintao 800a7b93ba fix: refresh Bazzite package for unified ZLP branch 2026-07-25 15:52:29 +08:00
Shen Mintao 13baa9b0b1 feat: unify Bluetooth support and add ZLP quirk 2026-07-25 15:49:53 +08:00
Shen Mintao 6550131e18 test: add standalone btusb ZLP quirk module 2026-07-25 15:40:59 +08:00
Shen Mintao 268c4f7122 fix: refresh Bazzite package for unified branch 2026-07-25 15:38:56 +08:00
Shen Mintao c83ae8b4e6 test: unify Wi-Fi and Bluetooth installation 2026-07-25 15:38:47 +08:00
Shen Mintao 4b31d02392 docs: explain hardware branch selection 2026-07-25 15:29:46 +08:00
Shen Mintao 388a0192c7 fix: refresh Bazzite package for main branch
Pin the Wi-Fi package to the current main code commit, ship both maintained modules and all firmware variants, and remove obsolete Bluetooth packaging.
2026-07-14 17:38:28 +08:00
Shen Mintao d10bc52903 fix: improve dependency installation diagnostics
Install mode-switch dependencies, support a69c:572f, avoid redundant generic headers when a usable kernel build tree exists, and discover DKMS logs dynamically. Addresses installer portions of #28, #55, #65, #66, and #68.
2026-07-14 17:18:27 +08:00
Shen MintaoandClaude Opus 4.7 a5db07c4d4 fix: install all firmware variants and usb_modeswitch config
Follow-up to d66e5cb which shipped fw/aic8800{,D80N,D80X2,DLN} but
forgot to update install.sh — so users still got only aic8800D80
firmware installed and the "Pandora" mode-switch config was missing.

install_firmware:
- Loop over all fw/aic8800* variants instead of hard-coding aic8800D80
- Install usb_modeswitch/1111_1111 to /etc/usb_modeswitch.d/1111:1111

verify_installation: count installed firmware variants instead of
checking for the single aic8800D80 directory.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 14:06:08 +08:00
Shen MintaoandClaude Opus 4.7 d66e5cb859 feat: update to SDK v5.0 with comprehensive kernel and device support
Sync WiFi driver, firmware, and DKMS configuration from the bluetooth
branch (which itself is radxa USB driver_fw + Linux 6.16/6.17/6.19
kernel compat). aic_btusb and Bluetooth-specific install.sh logic
are intentionally excluded from main.

Driver updates:
- Add Linux kernel 6.12-6.19 compatibility support
- Add Linux 6.16 timer_container_of and wakelock API support
- Add Debian 6.1.0-26 backport support
- Add USB device ID 368b:8d81 support
- Add AIC8800DW device support
- Add TP-Link Archer TX1U Nano support (USB_VENDOR_ID_TENDA_V2:0x0110)
- Add TENDA series device support (U2, U11, U11 PRO)
- Add AIC8800FC_CUS1-6 series support
- Add AIC8800M80_CUS0-8 series support
- Add UGREEN AIC8800D80 adapter support
- Add Mercury (TP-Link OEM) support
- Allow 1 or 3 USB interfaces (BT-disabled SKUs report 1)

New compat modules:
- aicwf_compat_8800d80n.{c,h}
- aicwf_compat_8800dln.{c,h}

Firmware:
- New: fw/aic8800/, fw/aic8800D80N/, fw/aic8800D80X2/, fw/aic8800DLN/
- Updated: fw/aic8800D80/, fw/aic8800DC/

install.sh:
- Loop over all fw/aic8800* variants instead of hard-coding aic8800D80
- Install usb_modeswitch/1111_1111 config for "Pandora" clone adapter
- Verify firmware install by counting variants

dkms.conf: pass KDIR explicitly to make for cross-kernel builds.

Excluded from this commit (BT-only, kept on bluetooth branch):
- drivers/aic8800/aic_btusb/
- modprobe/aic8800-bt.conf
- diagnose_bt.sh
- install.sh btusb auto-load / hciconfig / bluez status checks

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 14:02:08 +08:00
Shen MintaoandClaude Sonnet 4.5 2bf62be7c8 Add support for TP-Link/Mercury branded AIC8800D80 USB WiFi adapters
Added USB VID/PID for TP-Link vendor (0x2357) and Mercury product (0x014b)
to support WiFi adapters that re-enumerate with these IDs after firmware
loading. The device is recognized as AIC8800D81 chip with RX aggregation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-13 13:17:46 +08:00
Shen Mintao dda6a6d546 docs: update README to indicate bluetooth branch supports Bluetooth 2026-03-04 16:46:06 +08:00
Shen Mintao 453feef954 fix: fix 2026-02-28 09:04:45 +08:00
Shen Mintao a16a8c47ed fix: fix for kernel 6.19 2026-02-27 14:20:43 +08:00
Shen Mintao 3a0945bdcc fix: fix dkms.conf and drivers/aic8800/Makefile 2026-01-08 15:46:27 +08:00
Shen Mintao 78e9d63f8d fix: add usb_dev->chipid == PRODUCT_ID_AIC8800DW 2025-12-30 16:14:41 +08:00
Shen Mintao 0bf8b1167c update: update driver to 2025_1018_71b66e7b
feat: add TP-Link Archer TX1U Nano support
2025-12-30 10:24:10 +08:00
Shen Mintao eeec52a231 fix: add AIC8800M80_CUS1 2025-08-04 13:59:17 +08:00
Shen Mintao 09d4dcee98 feat: add Vendor ID 368B with Product ID AIC8800D81 2025-07-24 17:48:15 +08:00
Shen Mintao 1c7d083372 fix: fix code for linux kernel v6.15 2025-07-24 14:01:42 +08:00
Shen Mintao 3800c225ac feat: update new aic driver version 2025-07-24 11:20:36 +08:00
Shen Mintao 92ae830935 fix: fix for linux kernel 6.13 and 6.14 2025-04-14 14:01:27 +08:00
Shen Mintao ecd451a8ba fix: typo fix 2025-01-10 11:42:00 +08:00
Shen Mintao b6db202c8d fix: patch for USB_PRODUCT_ID_AIC8800D84 and USB_PRODUCT_ID_AIC8800D85 2025-01-10 11:38:27 +08:00
Shen Mintao b083810b24 fix: add USB_VENDOR_ID_AIC_V2 2025-01-10 10:02:08 +08:00
Shen Mintao 4d8ea475cb fix README.md 2025-01-09 12:12:44 +08:00
Shen Mintao c709a32036 fix README.md 2025-01-09 12:09:23 +08:00
Shen Mintao d9dd10e50f add README.md 2025-01-09 12:08:04 +08:00
Shen Mintao 04dc3e356a fix some source code for kernel 6.12 2025-01-09 11:06:42 +08:00
Shen Mintao b03491a064 fix: Disable signature verification 2025-01-08 10:18:02 +08:00
Shen Mintao 1f55f8626d fix: fix for Debian 6.1.0-26 2024-12-18 16:35:02 +08:00
Shen Mintao 06f3c3685c fix: add aic8800D80 firmware 2024-12-18 16:33:47 +08:00
Shen Mintao 1d404e3bc6 init: add source codes from tenda 2024-12-18 16:31:57 +08:00