On Thu, Aug 21, 2025 at 02:56:57PM +1000, Jonathan Gray wrote:
> On Wed, Aug 20, 2025 at 10:35:45PM -0400, Peter Moss wrote:
> > Hi Jonathan,
> > 
> > Here is the updated pcidump.
> > 
> > Looks like the wi-fi is at 0:20:3 (product 7740).
> > I opened the laptop and took a picture of the chip.
> > It is AX211D2W. See the attached jpeg file.
> > 
> > Also, I am attaching the updated pcidump (pcidump.txt)
> > 
> >  0:0:0: Intel Core Ultra Host
> >  0:2:0: Intel Graphics
> >  0:4:0: Intel Core Ultra DTT
> >  0:6:0: Intel Core Ultra PCIE
> >  0:6:1: Intel Core Ultra PCIE
> >  0:7:0: Intel Core Ultra PCIE
> >  0:7:2: Intel Core Ultra PCIE
> >  0:10:0: Intel Core Ultra PMT
> >  0:11:0: Intel Core Ultra NPU
> >  0:13:0: Intel Core Ultra xHCI
> >  0:13:2: Intel Core Ultra TBT
> >  0:13:3: Intel Core Ultra TBT
> >  0:20:0: Intel Core Ultra xHCI
> >  0:20:2: Intel Core Ultra SRAM
> >  0:20:3: Intel unknown
> >  0:21:0: Intel Core Ultra I2C
> >  0:22:0: Intel Core Ultra HECI
> >  0:28:0: Intel Core Ultra PCIE
> >  0:28:6: Intel Core Ultra PCIE
> >  0:31:0: Intel unknown
> >  0:31:3: Intel Core Ultra HD Audio
> >  0:31:4: Intel Core Ultra SMBus
> >  0:31:5: Intel Core Ultra SPI
> >  0:31:6: Intel I219-V
> >  5:0:0: Samsung PM9C1a
> >  8:0:0: Quectel unknown
> > 
> > Do you know why iwx (AX211D2W) driver is not loaded?
> > What can I do?
> 
> 0x7740 is a type not yet supported (Bz).  With a different firmware.
> iwx(4) will need more changes than adding the id.

Try this, I don't think it will be enough.

Index: sys/dev/pci/if_iwx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
diff -u -p -r1.192 if_iwx.c
--- sys/dev/pci/if_iwx.c        18 Jul 2025 16:09:28 -0000      1.192
+++ sys/dev/pci/if_iwx.c        21 Aug 2025 08:17:24 -0000
@@ -4473,7 +4473,7 @@ iwx_run_init_mvm_ucode(struct iwx_softc 
         * support, but doesn't actually work.
         */
        if (isset(sc->sc_enabled_capa, IWX_UCODE_TLV_CAPA_MLD_API_SUPPORT) &&
-           IWX_CSR_HW_REV_TYPE(sc->sc_hw_rev) == IWX_CFG_MAC_TYPE_MA)
+           IWX_CSR_HW_REV_TYPE(sc->sc_hw_rev) >= IWX_CFG_MAC_TYPE_MA)
                sc->sc_use_mld_api = 1;
 
        return 0;
@@ -11211,6 +11211,23 @@ static const struct iwx_dev_info iwx_dev
                      IWX_CFG_RF_TYPE_FM, IWX_CFG_ANY,
                      IWX_CFG_ANY, IWX_CFG_ANY, IWX_CFG_NO_CDB,
                      IWX_CFG_ANY, iwx_cfg_ma_a0_fm_a0), /* ax231 */
+
+       /* Bz */
+       _IWX_DEV_INFO(IWX_CFG_ANY, IWX_CFG_ANY,
+                     IWX_CFG_MAC_TYPE_BZ, IWX_CFG_ANY,
+                     IWX_CFG_RF_TYPE_FM, IWX_CFG_ANY,
+                     IWX_CFG_ANY, IWX_CFG_ANY, IWX_CFG_CDB,
+                     IWX_CFG_ANY, iwx_cfg_bz_b0_fm_c0),
+       _IWX_DEV_INFO(IWX_CFG_ANY, IWX_CFG_ANY,
+                     IWX_CFG_MAC_TYPE_BZ, IWX_CFG_ANY,
+                     IWX_CFG_RF_TYPE_GF, IWX_CFG_ANY,
+                     IWX_CFG_ANY, IWX_CFG_ANY, IWX_CFG_CDB,
+                     IWX_CFG_ANY, iwx_cfg_bz_b0_gf_a0),
+       _IWX_DEV_INFO(IWX_CFG_ANY, IWX_CFG_ANY,
+                     IWX_CFG_MAC_TYPE_BZ, IWX_CFG_ANY,
+                     IWX_CFG_RF_TYPE_HR2, IWX_CFG_ANY,
+                     IWX_CFG_ANY, IWX_CFG_ANY, IWX_CFG_CDB,
+                     IWX_CFG_ANY, iwx_cfg_bz_b0_hr_b0),
 };
 
 int
@@ -11362,6 +11379,7 @@ iwx_find_device_cfg(struct iwx_softc *sc
        return NULL;
 }
 
+#define PCI_PRODUCT_INTEL_WL_22500_18  0x7740
 
 void
 iwx_attach(struct device *parent, struct device *self, void *aux)
@@ -11575,6 +11593,17 @@ iwx_attach(struct device *parent, struct
                sc->sc_ltr_delay = IWX_SOC_FLAGS_LTR_APPLY_DELAY_NONE;
                sc->sc_low_latency_xtal = 0;
                sc->sc_xtal_latency = 0;
+               sc->sc_tx_with_siso_diversity = 0;
+               sc->sc_uhb_supported = 1;
+               break;
+       case PCI_PRODUCT_INTEL_WL_22500_18:
+               sc->sc_fwname = IWX_BZ_B_FM_C_FW;
+               sc->sc_pnvm_name = IWX_BZ_B_FM_C_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 = 1;
                break;
Index: sys/dev/pci/if_iwxvar.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwxvar.h,v
diff -u -p -r1.42 if_iwxvar.h
--- sys/dev/pci/if_iwxvar.h     8 Nov 2024 09:12:46 -0000       1.42
+++ sys/dev/pci/if_iwxvar.h     21 Aug 2025 08:06:24 -0000
@@ -494,6 +494,12 @@ struct iwx_device_cfg {
 #define IWX_MA_B_GF4_A_PNVM    "iwx-ma-b0-gf4-a0.pnvm"
 #define IWX_MA_A_FM_A_FW       "iwx-ma-a0-fm-a0-83"
 #define IWX_MA_A_FM_A_PNVM     "iwx-ma-a0-fm-a0.pnvm"
+#define IWX_BZ_B_FM_C_FW       "iwx-bz-b0-fm-c0-96"
+#define IWX_BZ_B_FM_C_PNVM     "iwx-bz-b0-fm-c0.pnvm"
+#define IWX_BZ_B_GF_A_FW       "iwx-bz-b0-gf-a0-96"
+#define IWX_BZ_B_GF_A_PNVM     "iwx-bz-b0-gf-a0.pnvm"
+#define IWX_BZ_B_HR_B_FW       "iwx-bz-b0-hr-b0-96"
+#define IWX_BZ_B_HR_B_PNVM     "iwx-bz-b0-hr-b0.pnvm"
 
 const struct iwx_device_cfg iwx_9560_quz_a0_jf_b0_cfg = {
        .fw_name = IWX_QUZ_A_JF_B_FW,
@@ -600,6 +606,21 @@ const struct iwx_device_cfg iwx_cfg_ma_b
 const struct iwx_device_cfg iwx_cfg_ma_a0_fm_a0 = {
        .fw_name = IWX_MA_A_FM_A_FW,
        .pnvm_name = IWX_MA_A_FM_A_PNVM,
+};
+
+const struct iwx_device_cfg iwx_cfg_bz_b0_fm_c0 = {
+       .fw_name = IWX_BZ_B_FM_C_FW,
+       .pnvm_name = IWX_BZ_B_FM_C_PNVM,
+};
+
+const struct iwx_device_cfg iwx_cfg_bz_b0_gf_a0 = {
+       .fw_name = IWX_BZ_B_GF_A_FW,
+       .pnvm_name = IWX_BZ_B_GF_A_PNVM,
+};
+
+const struct iwx_device_cfg iwx_cfg_bz_b0_hr_b0 = {
+       .fw_name = IWX_BZ_B_HR_B_FW,
+       .pnvm_name = IWX_BZ_B_HR_B_PNVM,
 };
 
 #define IWX_CFG_ANY (~0)

Reply via email to