Mt76

Introduction

 * mac80211 wireless driver for MediaTek MT7xxx series

mt7601u driver handles:
 * MT7601U - 802.11b/g/n 1T1R 2.4GHz USB Chip (4.2+)

mt76 driver handles:
 * MT7603E - 802.11b/g/n 2T2R 2.4GHz PCIe chip (4.7+)
 * MT7610E - 802.11a/b/g/n/ac 1T1R 2.4/5GHz PCIe Chip (4.20+)
 * MT7610U - 802.11a/b/g/n/ac 1T1R 2.4/5GHz USB Chip (4.19+)
 * MT7612E - 802.11a/b/g/n/ac 2T2R 2.4/5GHz PCIe Chip (4.20+)
 * MT7612U - 802.11a/b/g/n/ac 2T2R 2.4/5GHz USB Chip (4.19+)
 * MT7615 - 802.11a/b/g/n/ac 4T4R 2.4/5GHz PCIe Chip (5.2+)
 * MT7622 - 802.11b/g/n 4T4R 2.4GHz SoC Device (5.7+)
 * MT7628 - 802.11b/g/n 2T2R 2.4GHz SoC Device (4.7+)
 * MT7630E - 802.11a/b/g/n 1T1R 2.4/5GHz PCIe Chip (4.20+)
 * MT7662E - 802.11a/b/g/n/ac 2T2R 2.4/5GHz PCIe Chip (4.20+)
 * MT7662U - 802.11a/b/g/n/ac 2T2R 2.4/5GHz USB Chip (4.20+)
 * MT7663 - 802.11a/b/g/n/ac 2T2R 2.4/5GHz PCIe/USB/SDIO Chip (5.8+)
 * MT7915 - 802.11a/b/g/n/ac/ax 4T4R 2.4/5GHz PCIe Chip (5.9+)
 * MT7916 - 802.11a/b/g/n/ac/ax 4T4R 2.4/5GHz PCIe Chip (5.9+)
 * MT7921 - 802.11a/b/g/n/ac/ax 2T2R 2.4/5GHz/6Hz PCIe/USB/SDIO Chip
 * MT7921K/L (P/T) - PCIe is supported since (5.12+), 6GHz band is supported by MT7921K
 * MT7921S - SDIO is supported since (5.16+)
 * MT7921AU - USB is supported since (5.18+)


 * MT7922 - 802.11a/b/g/n/ac/ax 2T2R 2.4/5G/6GHz PCIe Chip (5.16+)
 * MT7925 - 802.11a/b/g/n/ac/ax/be 2T2R 2.4/5G/6GHz PCIe/USB Chip (6.7+)
 * MT7981 - 802.11a/b/g/n/ac/ax 4T4R 2.4/5GHz SoC Device (5.18+)
 * MT7986 - 802.11a/b/g/n/ac/ax 4T4R 2.4/5GHz SoC Device (5.18+)
 * MT7996 - 802.11a/b/g/n/ac/ax/be 4T4R 2.4/5G/6GHz PCIe Chip (6.2+)


 * mediatek/mt76/mt76x0/usb.c

{ USB_DEVICE(0x148f, 0x7610) },	/* MT7610U */ { USB_DEVICE(0x0e8d, 0x7610) },	/* Sabrent NTWLAC */ { USB_DEVICE(0x148f, 0x760a) },	/* TP-LINK unknown */ { USB_DEVICE(0x148f, 0x761a) },	/* TP-LINK TL-WDN5200 */ { USB_DEVICE(0x04bb, 0x0951) },	/* I-O DATA WN-AC433UK */ { USB_DEVICE(0x057c, 0x8502) },	/* AVM FRITZ!WLAN USB Stick AC 430 */ { USB_DEVICE(0x0586, 0x3425) },	/* ZyXEL NWD6505 */ { USB_DEVICE(0x07b8, 0x7610) },	/* AboCom AU7212 */ { USB_DEVICE(0x0b05, 0x17d1) },	/* ASUS USB-AC51 */ { USB_DEVICE(0x0b05, 0x17db) },	/* ASUS USB-AC50 */ { USB_DEVICE(0x0df6, 0x0075) },	/* Sitecom WLA-3100 */ { USB_DEVICE(0x0df6, 0x0079) }, /* Sitecom Europe B.V. ac Stick */ { USB_DEVICE(0x13b1, 0x003e) },	/* Linksys AE6000 */ { USB_DEVICE(0x2001, 0x3d02) },	/* D-LINK DWA-171 rev B1 */ { USB_DEVICE(0x2019, 0xab31) },	/* Planex GW-450D */ { USB_DEVICE(0x20f4, 0x806b) },	/* TRENDnet TEW-806UBH */ { USB_DEVICE(0x2357, 0x0105) }, /* TP-LINK Archer T1U */ { USB_DEVICE(0x2357, 0x010b) }, /* TP-LINK T2UHP (UN) v1 */ { USB_DEVICE(0x2357, 0x0123) }, /* TP-LINK T2UHP (US) v1 */ { USB_DEVICE(0x293c, 0x5702) },	/* Comcast Xfinity KXW02AAA */ { USB_DEVICE(0x7392, 0xa711) },	/* Edimax 7711MAC */ { USB_DEVICE(0x7392, 0xb711) },	/* Edimax / Elecom */ { USB_DEVICE(0x7392, 0xc711) }, /* Devolo WiFi ac Stick */ /* TP-LINK Archer T1U */ { USB_DEVICE(0x2357, 0x0105), .driver_info = 1, }, /* MT7630U */ { USB_DEVICE_AND_INTERFACE_INFO(0x0e8d, 0x7630, 0xff, 0x2, 0xff)}, /* MT7650U */ { USB_DEVICE_AND_INTERFACE_INFO(0x0e8d, 0x7650, 0xff, 0x2, 0xff)},


 * mediatek/mt76/mt76x2/usb.c

{ USB_DEVICE(0x0e8d, 0x7612) },	/* Aukey USB-AC1200 - Alfa AWUS036ACM */ { USB_DEVICE(0x0e8d, 0x7632) },	/* HC-M7662BU1 */ { USB_DEVICE(0x045e, 0x02e6) },	/* XBox One Wireless Adapter */ { USB_DEVICE(0x045e, 0x02fe) },	/* XBox One Wireless Adapter */ { USB_DEVICE(0x057c, 0x8503) },	/* AVM FRITZ!WLAN AC860 */ { USB_DEVICE(0x0846, 0x9053) },	/* Netgear A6210 */ { USB_DEVICE(0x0b05, 0x1833) },	/* ASUS USB-AC54 */ { USB_DEVICE(0x0b05, 0x17eb) },	/* ASUS USB-AC55 */ { USB_DEVICE(0x0b05, 0x180b) },	/* ASUS USB-N53 B1 */ { USB_DEVICE(0x2c4e, 0x0103) },	/* Mercury UD13 */ { USB_DEVICE(0x7392, 0xb711) },	/* Edimax EW-7722UAC */


 * mt7915/mt7921/mt7996

static const struct pci_device_id mt7915_pci_device_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7915) }, { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7906) }, static const struct pci_device_id mt7915_hif_device_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7916) }, { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x790a) },

static const struct usb_device_id mt7921u_device_table[] = { { USB_DEVICE_AND_INTERFACE_INFO(0x0e8d, 0x7961, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)MT7921_FIRMWARE_WM }, static const struct pci_device_id mt7921_pci_device_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7961), .driver_data = (kernel_ulong_t)MT7921_FIRMWARE_WM }, { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7922), .driver_data = (kernel_ulong_t)MT7922_FIRMWARE_WM }, { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x0608), .driver_data = (kernel_ulong_t)MT7921_FIRMWARE_WM }, { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x0616), .driver_data = (kernel_ulong_t)MT7921_FIRMWARE_WM },

static const struct pci_device_id mt7996_pci_device_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7990) }, static const struct pci_device_id mt7996_hif_device_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_MEDIATEK, 0x7991) }, static struct mt7996_hif *mt7996_pci_init_hif2(struct pci_dev *pdev) hif_idx++; if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7991, NULL)) return NULL;