mirror of
https://github.com/shenmintao/aic8800d80.git
synced 2026-11-10 16:49:17 +00:00
Merge pull request #104 from xuxinchun1003/fix/tp-link-0147-device-id
add TP-Link `2357:0147` (AIC8800DC) device support
This commit is contained in:
3 files changed
+15
No files matched your search
@@ -19,6 +19,15 @@ This driver supports AIC8800-family chipsets used by devices such as the Tenda U
|
|||||||
|
|
||||||
Added support for devices with Vendor ID 368B (tested).
|
Added support for devices with Vendor ID 368B (tested).
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> **Tested `2357:0147` hardware (this branch):** TP-Link AIC8800DC USB WiFi,
|
||||||
|
> `chip_id=7`, `chip_sub_id=1`, `chip_mcu_id=1` (MCU revision of *this unit*,
|
||||||
|
> readback `0x40500000 = 0x09078818`; firmware `zh Aug 08 2022 … gcf79227`).
|
||||||
|
> The USB-ID entry itself is MCU-revision-agnostic (routing to the DC path;
|
||||||
|
> mcu gating happens at runtime), but **other units sold under the same
|
||||||
|
> VID/PID may be a different MCU revision** — check the driver log against
|
||||||
|
> the branch-selection note above.
|
||||||
|
|
||||||
Tested on Linux kernel 6.16 with Ubuntu 25.04 and 6.1.0.27 with Debian 12.
|
Tested on Linux kernel 6.16 with Ubuntu 25.04 and 6.1.0.27 with Debian 12.
|
||||||
|
|
||||||
The same driver supports Wi-Fi-only adapters and Wi-Fi/Bluetooth combo
|
The same driver supports Wi-Fi-only adapters and Wi-Fi/Bluetooth combo
|
||||||
|
|||||||
@@ -2367,6 +2367,10 @@ static int aicwf_usb_chipmatch(struct aic_usb_dev *usb_dev, u16_l vid, u16_l pid
|
|||||||
}
|
}
|
||||||
AICWFDBG(LOGINFO, "%s USE AIC8800D89X2\r\n", __func__);
|
AICWFDBG(LOGINFO, "%s USE AIC8800D89X2\r\n", __func__);
|
||||||
return 0;
|
return 0;
|
||||||
|
} else if (pid == USB_PRODUCT_ID_TP_AIC8800DC) {
|
||||||
|
usb_dev->chipid = PRODUCT_ID_AIC8800DC;
|
||||||
|
AICWFDBG(LOGINFO, "%s USE AIC8800DC (TP-Link 0x0147)\r\n", __func__);
|
||||||
|
return 0;
|
||||||
} else if ((pid == USB_PRODUCT_ID_AIC8800D80N) ||
|
} else if ((pid == USB_PRODUCT_ID_AIC8800D80N) ||
|
||||||
(pid == USB_PRODUCT_ID_AIC8800D80LN) ||
|
(pid == USB_PRODUCT_ID_AIC8800D80LN) ||
|
||||||
(pid == USB_PRODUCT_ID_AIC8800D80WN) ||
|
(pid == USB_PRODUCT_ID_AIC8800D80WN) ||
|
||||||
@@ -2680,6 +2684,7 @@ static struct usb_device_id aicwf_usb_id_table[] = {
|
|||||||
{USB_DEVICE(USB_VENDOR_ID_AIC_V2, USB_PRODUCT_ID_AIC8800M80_CUS8)},
|
{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_AIC_V2, USB_PRODUCT_ID_AIC8800D80_UGREEN)},
|
||||||
{USB_DEVICE(USB_VENDOR_ID_TP, USB_PRODUCT_ID_MERCURY)},
|
{USB_DEVICE(USB_VENDOR_ID_TP, USB_PRODUCT_ID_MERCURY)},
|
||||||
|
{USB_DEVICE(USB_VENDOR_ID_TP, USB_PRODUCT_ID_TP_AIC8800DC)},
|
||||||
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_TP, USB_PRODUCT_ID_TP, 0xff, 0xff, 0xff)},
|
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_TP, USB_PRODUCT_ID_TP, 0xff, 0xff, 0xff)},
|
||||||
#endif
|
#endif
|
||||||
{}
|
{}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#define USB_PRODUCT_ID_TP 0x014e
|
#define USB_PRODUCT_ID_TP 0x014e
|
||||||
#define USB_PRODUCT_ID_MERCURY 0x014b
|
#define USB_PRODUCT_ID_MERCURY 0x014b
|
||||||
#define USB_PRODUCT_ID_FAST 0x014f
|
#define USB_PRODUCT_ID_FAST 0x014f
|
||||||
|
#define USB_PRODUCT_ID_TP_AIC8800DC 0x0147
|
||||||
|
|
||||||
#define USB_PRODUCT_ID_TENDA_U11 0x001f
|
#define USB_PRODUCT_ID_TENDA_U11 0x001f
|
||||||
#define USB_PRODUCT_ID_TENDA_U11_PRO 0x0020
|
#define USB_PRODUCT_ID_TENDA_U11_PRO 0x0020
|
||||||
|
|||||||
Reference in new issue
Block a user