我已经尝试过 bot ubuntu 22.04 和 23.04,都存在同样的问题。lspci 将我的 wlan 设备列为 AX201,但 iwlwifi 想要加载 AX101 卡的固件。
lspci 输出:
00:00.0 Host bridge: Intel Corporation Device 4e12
00:02.0 VGA compatible controller: Intel Corporation JasperLake [UHD Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation Dynamic Tuning service
00:14.0 USB controller: Intel Corporation Device 4ded (rev 01)
00:14.2 RAM memory: Intel Corporation Device 4def (rev 01)
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 160MHz (rev 01)
00:15.0 Serial bus controller: Intel Corporation Serial IO I2C Host Controller (rev 01)
00:15.1 Serial bus controller: Intel Corporation Serial IO I2C Host Controller (rev 01)
00:15.2 Serial bus controller: Intel Corporation Device 4dea (rev 01)
00:15.3 Serial bus controller: Intel Corporation Device 4deb (rev 01)
00:16.0 Communication controller: Intel Corporation Management Engine Interface (rev 01)
00:17.0 SATA controller: Intel Corporation Device 4dd3 (rev 01)
00:19.0 Serial bus controller: Intel Corporation Device 4dc5 (rev 01)
00:1e.0 Communication controller: Intel Corporation Device 4da8 (rev 01)
00:1e.3 Serial bus controller: Intel Corporation Device 4dab (rev 01)
00:1f.0 ISA bridge: Intel Corporation Device 4d87 (rev 01)
00:1f.3 Multimedia audio controller: Intel Corporation Jasper Lake HD Audio (rev 01)
00:1f.4 SMBus: Intel Corporation Jasper Lake SMBus (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Jasper Lake SPI Controller (rev 01)
dmesg 输出:
[ 7.262257] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX101, REV=0x351
[ 7.262359] thermal thermal_zone4: failed to read out thermal zone (-61)
[ 7.344988] loop8: detected capacity change from 0 to 8
[ 8.395377] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
[ 8.396512] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 8.396517] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
[ 8.396520] iwlwifi 0000:00:14.3: Loaded firmware version: 72.daa05125.0 QuZ-a0-hr-b0-72.ucode
[ 8.396523] iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN
[ 8.396525] iwlwifi 0000:00:14.3: 0x000022F0 | trm_hw_status0
[ 8.396527] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[ 8.396529] iwlwifi 0000:00:14.3: 0x004CC13E | branchlink2
[ 8.396531] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink1
[ 8.396532] iwlwifi 0000:00:14.3: 0x004C25DE | interruptlink2
[ 8.396534] iwlwifi 0000:00:14.3: 0x004CADF8 | data1
[ 8.396536] iwlwifi 0000:00:14.3: 0x01000000 | data2
[ 8.396537] iwlwifi 0000:00:14.3: 0x00000000 | data3
[ 8.396539] iwlwifi 0000:00:14.3: 0x00000000 | beacon time
[ 8.396541] iwlwifi 0000:00:14.3: 0x0010B6B3 | tsf low
[ 8.396542] iwlwifi 0000:00:14.3: 0x00000000 | tsf hi
[ 8.396544] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[ 8.396545] iwlwifi 0000:00:14.3: 0x00111249 | time gp2
[ 8.396547] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[ 8.396548] iwlwifi 0000:00:14.3: 0x00000048 | uCode version major
[ 8.396550] iwlwifi 0000:00:14.3: 0xDAA05125 | uCode version minor
[ 8.396552] iwlwifi 0000:00:14.3: 0x00000351 | hw version
[ 8.396553] iwlwifi 0000:00:14.3: 0x18C89001 | board version
[ 8.396555] iwlwifi 0000:00:14.3: 0x8002FC12 | hcmd
[ 8.396557] iwlwifi 0000:00:14.3: 0x00020000 | isr0
[ 8.396558] iwlwifi 0000:00:14.3: 0x00000000 | isr1
[ 8.396560] iwlwifi 0000:00:14.3: 0x08F00002 | isr2
[ 8.396561] iwlwifi 0000:00:14.3: 0x00C0000C | isr3
[ 8.396563] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[ 8.396564] iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
[ 8.396566] iwlwifi 0000:00:14.3: 0x004CADF8 | wait_event
[ 8.396568] iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
[ 8.396569] iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
[ 8.396571] iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
[ 8.396572] iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
[ 8.396574] iwlwifi 0000:00:14.3: 0x0000000B | lmpm_pmg_sel
[ 8.396575] iwlwifi 0000:00:14.3: 0x00000000 | timestamp
[ 8.396577] iwlwifi 0000:00:14.3: 0x00000020 | flow_handler
[ 8.396631] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 8.396633] iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
[ 8.396635] iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
[ 8.396637] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[ 8.396638] iwlwifi 0000:00:14.3: 0x80455E9C | umac branchlink2
[ 8.396640] iwlwifi 0000:00:14.3: 0x8047257E | umac interruptlink1
[ 8.396642] iwlwifi 0000:00:14.3: 0xC0081524 | umac interruptlink2
[ 8.396643] iwlwifi 0000:00:14.3: 0x01000000 | umac data1
[ 8.396645] iwlwifi 0000:00:14.3: 0xC0081524 | umac data2
[ 8.396646] iwlwifi 0000:00:14.3: 0x00000000 | umac data3
[ 8.396648] iwlwifi 0000:00:14.3: 0x00000048 | umac major
[ 8.396649] iwlwifi 0000:00:14.3: 0xDAA05125 | umac minor
[ 8.396651] iwlwifi 0000:00:14.3: 0x00111247 | frame pointer
[ 8.396653] iwlwifi 0000:00:14.3: 0xC0887EFC | stack pointer
[ 8.396654] iwlwifi 0000:00:14.3: 0x00010C00 | last host cmd
[ 8.396656] iwlwifi 0000:00:14.3: 0x00000004 | isr status reg
[ 8.396691] iwlwifi 0000:00:14.3: IML/ROM dump:
[ 8.396693] iwlwifi 0000:00:14.3: 0x00000003 | IML/ROM error/state
[ 8.396729] iwlwifi 0000:00:14.3: 0x000056EF | IML/ROM data1
[ 8.396738] iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[ 8.396744] iwlwifi 0000:00:14.3: Fseq Registers:
[ 8.396764] iwlwifi 0000:00:14.3: 0x60000000 | FSEQ_ERROR_CODE
[ 8.396786] iwlwifi 0000:00:14.3: 0x80290033 | FSEQ_TOP_INIT_VERSION
[ 8.396807] iwlwifi 0000:00:14.3: 0x00090006 | FSEQ_CNVIO_INIT_VERSION
[ 8.396829] iwlwifi 0000:00:14.3: 0x0000A482 | FSEQ_OTP_VERSION
[ 8.396851] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_TOP_CONTENT_VERSION
[ 8.396872] iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
[ 8.396894] iwlwifi 0000:00:14.3: 0x20000302 | FSEQ_CNVI_ID
[ 8.396916] iwlwifi 0000:00:14.3: 0x00000501 | FSEQ_CNVR_ID
[ 8.396937] iwlwifi 0000:00:14.3: 0x20000302 | CNVI_AUX_MISC_CHIP
[ 8.396961] iwlwifi 0000:00:14.3: 0x00000501 | CNVR_AUX_MISC_CHIP
[ 8.396982] iwlwifi 0000:00:14.3: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[ 8.397004] iwlwifi 0000:00:14.3: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[ 8.753035] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
[ 8.765571] iwlwifi 0000:00:14.3: retry init count 2
我该怎么做才能解决这个问题?我能以某种方式说服 iwlwifi 加载 AX201 固件吗?提前致谢。
答案1
成功了。我重新安装了 ubuntu 22.04 并下载了内核源代码。然后我对 drivers/net/wireless/intel/iwlwifi/pcie/drv.c 进行了更改
首先,我从第 989 行开始注释掉以下几行,这些行将该卡检测为 AX101,尽管这可能不是必要的:
/* QuZ */
_IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY,
IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY,
IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_NO_CDB, IWL_CFG_ANY,
iwl_quz_a0_hr1_b0, iwl_ax101_name),
然后我为我的卡添加了一个条目,它的 pci id 为 0x4df0 0x0244。从行号 255 开始,有 AX201 卡的条目。我在块的底部添加了“Qu with Hr”。块的开头如下:
/* AX200 */
IWL_DEV_INFO(0x2723, IWL_CFG_ANY, iwl_ax200_cfg_cc, iwl_ax200_name),
IWL_DEV_INFO(0x2723, 0x1653, iwl_ax200_cfg_cc, iwl_ax200_killer_1650w_name),
IWL_DEV_INFO(0x2723, 0x1654, iwl_ax200_cfg_cc, iwl_ax200_killer_1650x_name),
/* Qu with Hr */
IWL_DEV_INFO(0x43F0, 0x0070, iwl_ax201_cfg_qu_hr, NULL),
IWL_DEV_INFO(0x43F0, 0x0074, iwl_ax201_cfg_qu_hr, NULL),
IWL_DEV_INFO(0x43F0, 0x0078, iwl_ax201_cfg_qu_hr, NULL),
IWL_DEV_INFO(0x43F0, 0x007C, iwl_ax201_cfg_qu_hr, NULL),
我添加的行如下:
IWL_DEV_INFO(0x4DF0, 0x0244, iwl_ax201_cfg_qu_hr, NULL),
这是我的卡ID。
剩下的就是构建内核
make bindeb-pkg
并使用
dpkg -i
答案2
感谢 Roku 回答了他们自己的问题,我能够让它在 Ubuntu 20.04.6 LTS、Linux 内核 v5.15.0-72-generic 上运行。
注意:必须删除 _IWL_DEV_INFO 条目,否则设备将被检测为 AX101 并失败。如 Roku 的回答所示,要删除的条目是包含 IWL_CFG_MAC_TYPE_QUZ 和 IWL_CFG_RF_TYPE_HR1 的条目。
我的 BeeLink 上现在有 WiFi 了,耶!
蓝牙无法正常工作,dmesg 中显示缺少固件 /lib/firmware/intel/ibt-19-0-3.sfi。我去了https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/intel并获得了 sfi 和 ddc 文件。然后我使用“sudo”将它们复制到 /lib/firmware/intel 目录中。
重启后,蓝牙可以正常工作。但我的 Bose 耳机断线了,所以可能需要做更多工作。