Hi,

the following diff adds the Intel Wi-Fi 6 0x51f1 device, found in a
new Thinkpad X1 Carbon Gen 11.

iwx0 at pci0 dev 20 function 3 "Intel Wi-Fi 6 AX211" rev 0x01, msix
iwx0: hw rev 0x370, fw 77.f92b5fed.0, pnvm e4a49534, address ...

I looked at the Linux code for the values for 0x51f1 and 0x7a70:
https://github.com/torvalds/linux/commit/1c4db7613f35b248ff05b8bfb3a4580a3d11d75c

This works fine with my 11ac setup and performance seems OK (around
200Mbps - what can I expect on OpenBSD these days?).  I don't know if
the device supports UHB channels.

Reyk

Index: sys/dev/pci/if_iwx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
retrieving revision 1.172
diff -u -p -u -p -r1.172 if_iwx.c
--- sys/dev/pci/if_iwx.c        21 Jun 2023 23:24:10 -0000      1.172
+++ sys/dev/pci/if_iwx.c        27 Jun 2023 08:32:09 -0000
@@ -10430,6 +10430,7 @@ static const struct pci_matchid iwx_devi
        /* _14 is an MA device, not yet supported */
        { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_15,},
        { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_16,},
+       { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_17,},
 };
 
 
@@ -10520,6 +10521,8 @@ static const struct iwx_dev_info iwx_dev
        IWX_DEV_INFO(0x2725, 0x1674, iwx_2ax_cfg_ty_gf_a0), /* killer_1675x */
        IWX_DEV_INFO(0x51f0, 0x1691, iwx_2ax_cfg_so_gf4_a0), /* killer_1690s */
        IWX_DEV_INFO(0x51f0, 0x1692, iwx_2ax_cfg_so_gf4_a0), /* killer_1690i */
+       IWX_DEV_INFO(0x51f1, 0x1691, iwx_2ax_cfg_so_gf4_a0),
+       IWX_DEV_INFO(0x51f1, 0x1692, iwx_2ax_cfg_so_gf4_a0),
        IWX_DEV_INFO(0x54f0, 0x1691, iwx_2ax_cfg_so_gf4_a0), /* killer_1690s */
        IWX_DEV_INFO(0x54f0, 0x1692, iwx_2ax_cfg_so_gf4_a0), /* killer_1690i */
        IWX_DEV_INFO(0x7a70, 0x0090, iwx_2ax_cfg_so_gf_a0_long),
@@ -11122,7 +11125,6 @@ iwx_attach(struct device *parent, struct
        case PCI_PRODUCT_INTEL_WL_22500_9:
        case PCI_PRODUCT_INTEL_WL_22500_10:
        case PCI_PRODUCT_INTEL_WL_22500_11:
-       case PCI_PRODUCT_INTEL_WL_22500_12:
        case PCI_PRODUCT_INTEL_WL_22500_13:
        /* _14 is an MA device, not yet supported */
        case PCI_PRODUCT_INTEL_WL_22500_15:
@@ -11136,6 +11138,19 @@ iwx_attach(struct device *parent, struct
                sc->sc_xtal_latency = 0;
                sc->sc_tx_with_siso_diversity = 0;
                sc->sc_uhb_supported = 1;
+               break;
+       case PCI_PRODUCT_INTEL_WL_22500_12:
+       case PCI_PRODUCT_INTEL_WL_22500_17:
+               sc->sc_fwname = IWX_SO_A_GF_A_FW;
+               sc->sc_pnvm_name = IWX_SO_A_GF_A_PNVM;
+               sc->sc_device_family = IWX_DEVICE_FAMILY_AX210;
+               sc->sc_integrated = 1;
+               sc->sc_ltr_delay = IWX_SOC_FLAGS_LTR_APPLY_DELAY_2500;
+               sc->sc_low_latency_xtal = 1;
+               sc->sc_xtal_latency = 12000;
+               sc->sc_tx_with_siso_diversity = 0;
+               sc->sc_uhb_supported = 0;
+               sc->sc_imr_enabled = 1;
                break;
        default:
                printf("%s: unknown adapter type\n", DEVNAME(sc));
Index: sys/dev/pci/pcidevs
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.2039
diff -u -p -u -p -r1.2039 pcidevs
--- sys/dev/pci/pcidevs 13 Jun 2023 02:43:39 -0000      1.2039
+++ sys/dev/pci/pcidevs 27 Jun 2023 08:32:09 -0000
@@ -5875,6 +5875,7 @@ product INTEL 600SERIES_LP_XHCI   0x51ed  6
 product INTEL 600SERIES_LP_XDCI        0x51ee  600 Series xDCI
 product INTEL 600SERIES_LP_SRAM        0x51ef  600 Series SRAM
 product INTEL WL_22500_11      0x51f0  Wi-Fi 6 AX211
+product INTEL WL_22500_17      0x51f1  Wi-Fi 6 AX211
 product INTEL 600SERIES_LP_GSPI_2      0x51fb  600 Series GSPI
 product INTEL 600SERIES_LP_ISH 0x51fc  600 Series ISH
 product INTEL 600SERIES_LP_UFS 0x51ff  600 Series UFS
Index: sys/dev/pci/pcidevs.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.2033
diff -u -p -u -p -r1.2033 pcidevs.h
--- sys/dev/pci/pcidevs.h       13 Jun 2023 02:44:08 -0000      1.2033
+++ sys/dev/pci/pcidevs.h       27 Jun 2023 08:32:09 -0000
@@ -5880,6 +5880,7 @@
 #define        PCI_PRODUCT_INTEL_600SERIES_LP_XDCI     0x51ee          /* 600 
Series xDCI */
 #define        PCI_PRODUCT_INTEL_600SERIES_LP_SRAM     0x51ef          /* 600 
Series SRAM */
 #define        PCI_PRODUCT_INTEL_WL_22500_11   0x51f0          /* Wi-Fi 6 
AX211 */
+#define        PCI_PRODUCT_INTEL_WL_22500_17   0x51f1          /* Wi-Fi 6 
AX211 */
 #define        PCI_PRODUCT_INTEL_600SERIES_LP_GSPI_2   0x51fb          /* 600 
Series GSPI */
 #define        PCI_PRODUCT_INTEL_600SERIES_LP_ISH      0x51fc          /* 600 
Series ISH */
 #define        PCI_PRODUCT_INTEL_600SERIES_LP_UFS      0x51ff          /* 600 
Series UFS */
Index: sys/dev/pci/pcidevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.2028
diff -u -p -u -p -r1.2028 pcidevs_data.h
--- sys/dev/pci/pcidevs_data.h  13 Jun 2023 02:44:08 -0000      1.2028
+++ sys/dev/pci/pcidevs_data.h  27 Jun 2023 08:32:10 -0000
@@ -20876,6 +20876,10 @@ static const struct pci_known_product pc
            "Wi-Fi 6 AX211",
        },
        {
+           PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_17,
+           "Wi-Fi 6 AX211",
+       },
+       {
            PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_600SERIES_LP_GSPI_2,
            "600 Series GSPI",
        },

Reply via email to