From 2bf62be7c8baa6b0a2d599f0fb4bb1db07ae4a9c Mon Sep 17 00:00:00 2001 From: Shen Mintao Date: Fri, 13 Mar 2026 13:17:46 +0800 Subject: [PATCH] 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 --- drivers/aic8800/aic8800_fdrv/aicwf_usb.c | 3 ++- drivers/aic8800/aic8800_fdrv/aicwf_usb.h | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/aic8800/aic8800_fdrv/aicwf_usb.c b/drivers/aic8800/aic8800_fdrv/aicwf_usb.c index 9adcb61..626e3bb 100644 --- a/drivers/aic8800/aic8800_fdrv/aicwf_usb.c +++ b/drivers/aic8800/aic8800_fdrv/aicwf_usb.c @@ -2360,7 +2360,7 @@ static int aicwf_usb_chipmatch(struct aic_usb_dev *usb_dev, u16_l vid, u16_l pid || pid == USB_PRODUCT_ID_AIC8800M80_CUS3 || pid == USB_PRODUCT_ID_AIC8800M80_CUS4 || pid == USB_PRODUCT_ID_AIC8800M80_CUS5 || pid == USB_PRODUCT_ID_AIC8800M80_CUS6 || pid == USB_PRODUCT_ID_AIC8800M80_CUS7 || pid == USB_PRODUCT_ID_AIC8800M80_CUS8 - || pid == USB_PRODUCT_ID_AIC8800D80_UGREEN){ + || pid == USB_PRODUCT_ID_AIC8800D80_UGREEN || pid == USB_PRODUCT_ID_MERCURY){ usb_dev->chipid = PRODUCT_ID_AIC8800D81; aicwf_usb_rx_aggr = true; AICWFDBG(LOGINFO, "%s USE AIC8800D81\r\n", __func__); @@ -2685,6 +2685,7 @@ static struct usb_device_id aicwf_usb_id_table[] = { {USB_DEVICE(USB_VENDOR_ID_AIC_V2, USB_PRODUCT_ID_AIC8800M80_CUS7)}, {USB_DEVICE(USB_VENDOR_ID_AIC_V2, USB_PRODUCT_ID_AIC8800M80_CUS8)}, {USB_DEVICE(USB_VENDOR_ID_AIC_V2, USB_PRODUCT_ID_AIC8800D80_UGREEN)}, + {USB_DEVICE(USB_VENDOR_ID_TP, USB_PRODUCT_ID_MERCURY)}, #endif {} }; diff --git a/drivers/aic8800/aic8800_fdrv/aicwf_usb.h b/drivers/aic8800/aic8800_fdrv/aicwf_usb.h index 84403bc..8ec3e46 100644 --- a/drivers/aic8800/aic8800_fdrv/aicwf_usb.h +++ b/drivers/aic8800/aic8800_fdrv/aicwf_usb.h @@ -16,11 +16,17 @@ /* USB Device ID */ #define USB_VENDOR_ID_AIC 0xA69C -#define USB_VENDOR_ID_AIC_V2 0x368B +#define USB_VENDOR_ID_TP 0x2357 #define USB_VENDOR_ID_TENDA 0x2604 #define USB_VENDOR_ID_TENDA_V2 0x3625 +#define USB_VENDOR_ID_AIC_V2 0x368B +#define USB_PRODUCT_ID_TP 0x014e +#define USB_PRODUCT_ID_MERCURY 0x014b +#define USB_PRODUCT_ID_FAST 0x014f +#define USB_PRODUCT_ID_TENDA_U11 0x001f +#define USB_PRODUCT_ID_TENDA_U11_PRO 0x0020 #ifndef CONFIG_USB_BT #define USB_PRODUCT_ID_AIC8800 0x8800 #define USB_PRODUCT_ID_AIC8801 0x8801 @@ -39,8 +45,6 @@ #define USB_PRODUCT_ID_AIC8800D89X2 0x8d99 #define USB_PRODUCT_ID_TENDA 0x0013 #define USB_PRODUCT_ID_TENDA_U2 0x0014 -#define USB_PRODUCT_ID_TENDA_U11 0x001f -#define USB_PRODUCT_ID_TENDA_U11_PRO 0x0020 #define USB_PRODUCT_ID_TENDA_TX1U_NANO 0x0110 #define USB_PRODUCT_ID_AIC8800FC_CUS1 0x88df #define USB_PRODUCT_ID_AIC8800FC_CUS2 0x88E0