Commit Graph
46 Commits
Author SHA1 Message Date
Shen Mintao 40f1d081e9 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-24 13:25:15 +08:00
Shen Mintao 966de5e878 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-24 13:25:15 +08:00
Shen Mintao 8378d2ce34 fix: scope TP-Link AX900 match to Wi-Fi interface 2026-08-11 17:43:14 +08:00
YaQia 2384dbe450 feat: add USB ID for TP-Link AX900 (2357:014e)
This adapter uses the AIC8800D80 chipset and was previously not
matched by the fdrv probe. Add vendor/product IDs so the driver
binds and both Wi-Fi and Bluetooth (via standard btusb) work.

Tested on Linux 7.1.6 with TP-Link AX900 TL-XDN7000H.
2026-08-11 17:43:14 +08:00
Shen Mintao 655c14f9f3 feat: support AIC8800DE USB variant 2026-08-09 17:05:11 +08:00
Shen Mintao 44748e193a fix: support Linux 7.2 cfg80211 API 2026-08-08 12:22:08 +08:00
Shen Mintao 35f32c238c fix: avoid USB reboot hang after suspend 2026-08-08 12:22:08 +08:00
Shen Mintao 1b7c44ddd4 fix: respect caller build parallelism 2026-08-08 12:22:08 +08:00
Shen Mintao 5ea5196eea 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

(cherry picked from commit 531d16c4d6)
2026-08-07 16:15:55 +08:00
Shen Mintao fffad12a26 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

(cherry picked from commit 40f00e69af)
2026-08-06 16:34:32 +08:00
Shen Mintao 51b7b6e729 test: unify legacy Wi-Fi Bluetooth and ZLP support
# Conflicts:
#	.gitattributes
#	README.md
2026-07-25 15:54:23 +08:00
Shen Mintao 13baa9b0b1 feat: unify Bluetooth support and add ZLP quirk 2026-07-25 15:49:53 +08:00
Shen Mintao dbfbfa0c64 test: use complete V3 DC/DW profile for issue 71 2026-07-24 14:24:30 +08:00
Shen Mintao cc2a888d22 docs: promote MCU1 legacy firmware profile 2026-07-24 09:14:27 +08:00
Shen Mintao 027a7a8662 test: restore MCU1 cache fix for V3 firmware 2026-07-23 09:10:43 +08:00
Shen Mintao 7b2541e5c0 test: match D80 loader to legacy firmware 2026-07-22 16:55:44 +08:00
Shen Mintao f97281254a fix: write radiotap HE fields without struct copy 2026-06-25 19:38:56 +08:00
Shen Mintao 46f420f8f6 fix: avoid fortify warning in patch info unpack 2026-06-25 19:33:01 +08:00
Shen Mintao 8bf93919e7 fix: support newer kernel cfg80211 APIs 2026-06-25 19:26:34 +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
toor11 0bcec3069e Add USB ID 368b:8d84 (AIC 8800D80 variant)
Device 368b:8d84 is an AIC 8800D80 variant not included in the USB
device table. Add it as AIC8800M80_CUS0 alongside the other M80 CUS
variants; it maps to PRODUCT_ID_AIC8800D81 like its siblings.

Tested on kernel 6.19.8-arch1 with a physical dongle (Bus 001 Device
005: ID 368b:8d84 AICSemi AIC 8800D80).
2026-05-11 20:14:30 +02:00
Vladislav Tatyanin ed0e373a0d fix: map riscv64 to riscv for kernel ARCH 2026-03-30 14:57:59 +04: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 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 62e77a5d39 feat: add UGREEN AX900 Support 2025-12-29 23:14:38 +08:00
vorasilp d32efa71a5 fix compilation error for kernel 6.17 2025-10-03 23:37:38 +07: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
vorasilp 49daa439c0 add preprocessor directives for missing one 2025-06-11 11:47:40 +07:00
vorasilp 2c97125421 add preprocessor directive for kernel >= 6.15 2025-06-11 11:40:32 +07:00
vorasilp 8707b52521 remove renaming wrong place 2025-06-05 17:02:31 +07:00
vorasilp d4b3cdebfe rename del_timer() to timer_delete() and del_timer_sync() to timer_delete_sync() 2025-06-05 08:29:35 +07: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 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 1d404e3bc6 init: add source codes from tenda 2024-12-18 16:31:57 +08:00