MOK 设置后没有 WiFi。禁用安全启动无法解决问题

MOK 设置后没有 WiFi。禁用安全启动无法解决问题

我在联想 Thinkpad Carbon X1 Gen 7 上运行 Ubuntu 19.10(并使用 Cinnamon)。

我安装了 Virtualbox,它在检测到我的 BIOS 中启用了安全启动后设置了 MOK 密码。重新启动后,我看到了蓝色的 MokManager 屏幕,要么按 Enter 键,要么让它继续启动,而没有在其中设置任何内容。然后我看到我的 WiFi 适配器没有出现在可用网络连接方法(以太网、Wifi 等)列表中。然后我卸载了 Virtualbox。

看来我也无法让 Ubuntu 使用 WiFi 驱动程序。在“软件和更新”中“其他驱动程序”的屏幕截图中,我的 WiFi 硬件默认选择了“不使用该设备”,而选择“继续使用手动安装的驱动程序”不允许我“应用更改”(见截图)并且我无法选择 iwlwifi 驱动程序反向移植选项(我不熟悉)。

在 BIOS 中并通过 mokutil 禁用安全启动后,我仍然看到同样的问题。有趣的是,WiFi 在 Live USB 会话中可以正常工作,但在全新安装后仍然无法正常工作。

通过使用 mokutil 检查,SecureBoot 似乎也已被正确禁用:

$ mokutil --sb-state
SecureBoot disabled

以下是我的 wifi 相关 dmesg 输出。据我了解,Ubuntu 可以正确检测到我的无线设备存在并且具有最新的固件版本,但不允许使用该驱动程序。

$ dmesg | grep Wireless
[   28.668913] Intel(R) Wireless WiFi driver for Linux
[   28.784499] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x354

$ dmesg | grep wifi
[   28.668974] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   28.697240] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[   28.697439] iwlwifi 0000:00:14.3: loaded firmware version 48.4fa0041f.0 op_mode iwlmvm
[   28.784499] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x354
[   29.814184] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired.
[   29.814284] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[   29.814286] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 1183474477
[   29.814287] iwlwifi 0000:00:14.3: Loaded firmware version: 48.4fa0041f.0
[   29.814288] iwlwifi 0000:00:14.3: 0xCFDE3E6D | ADVANCED_SYSASSERT          
[   29.814289] iwlwifi 0000:00:14.3: 0x09356465 | trm_hw_status0
[   29.814290] iwlwifi 0000:00:14.3: 0xD87336A3 | trm_hw_status1
[   29.814291] iwlwifi 0000:00:14.3: 0x52C7209C | branchlink2
[   29.814291] iwlwifi 0000:00:14.3: 0xDA363D67 | interruptlink1
[   29.814292] iwlwifi 0000:00:14.3: 0x463C00BE | interruptlink2
[   29.814293] iwlwifi 0000:00:14.3: 0x9EE49B18 | data1
[   29.814293] iwlwifi 0000:00:14.3: 0x8176B3F5 | data2
[   29.814294] iwlwifi 0000:00:14.3: 0xE829BB5B | data3
[   29.814295] iwlwifi 0000:00:14.3: 0xD6105593 | beacon time
[   29.814295] iwlwifi 0000:00:14.3: 0x088F38A8 | tsf low
[   29.814296] iwlwifi 0000:00:14.3: 0x6AF26652 | tsf hi
[   29.814313] iwlwifi 0000:00:14.3: 0x714397E6 | time gp1
[   29.814314] iwlwifi 0000:00:14.3: 0x7A48966B | time gp2
[   29.814314] iwlwifi 0000:00:14.3: 0x041ACA82 | uCode revision type
[   29.814315] iwlwifi 0000:00:14.3: 0x369DEEEE | uCode version major
[   29.814316] iwlwifi 0000:00:14.3: 0xF3E66719 | uCode version minor
[   29.814316] iwlwifi 0000:00:14.3: 0xD75BF26E | hw version
[   29.814317] iwlwifi 0000:00:14.3: 0x8C1329CD | board version
[   29.814317] iwlwifi 0000:00:14.3: 0x213F1CE5 | hcmd
[   29.814318] iwlwifi 0000:00:14.3: 0xFD12EF3F | isr0
[   29.814319] iwlwifi 0000:00:14.3: 0x1FB2E032 | isr1
[   29.814319] iwlwifi 0000:00:14.3: 0xB66D8ACA | isr2
[   29.814320] iwlwifi 0000:00:14.3: 0xA5651036 | isr3
[   29.814321] iwlwifi 0000:00:14.3: 0xCDF2FAF9 | isr4
[   29.814321] iwlwifi 0000:00:14.3: 0xEDEAD35D | last cmd Id
[   29.814322] iwlwifi 0000:00:14.3: 0x1E9BD343 | wait_event
[   29.814323] iwlwifi 0000:00:14.3: 0x0C2B1419 | l2p_control
[   29.814323] iwlwifi 0000:00:14.3: 0x8DF0D3CB | l2p_duration
[   29.814324] iwlwifi 0000:00:14.3: 0x8E154EE4 | l2p_mhvalid
[   29.814325] iwlwifi 0000:00:14.3: 0x8C238316 | l2p_addr_match
[   29.814325] iwlwifi 0000:00:14.3: 0x5846F940 | lmpm_pmg_sel
[   29.814326] iwlwifi 0000:00:14.3: 0xEFED950C | timestamp
[   29.814326] iwlwifi 0000:00:14.3: 0xE2F3DFAE | flow_handler
[   29.814359] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[   29.814360] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 7
[   29.814360] iwlwifi 0000:00:14.3: 0x201013F1 | ADVANCED_SYSASSERT
[   29.814361] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[   29.814362] iwlwifi 0000:00:14.3: 0xC008CF5C | umac branchlink2
[   29.814362] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink1
[   29.814363] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink2
[   29.814364] iwlwifi 0000:00:14.3: 0x00000003 | umac data1
[   29.814364] iwlwifi 0000:00:14.3: 0x20000302 | umac data2
[   29.814365] iwlwifi 0000:00:14.3: 0x01300202 | umac data3
[   29.814366] iwlwifi 0000:00:14.3: 0x00000030 | umac major
[   29.814366] iwlwifi 0000:00:14.3: 0x4FA0041F | umac minor
[   29.814367] iwlwifi 0000:00:14.3: 0x00005C9A | frame pointer
[   29.814368] iwlwifi 0000:00:14.3: 0xC0887F58 | stack pointer
[   29.814368] iwlwifi 0000:00:14.3: 0x00000000 | last host cmd
[   29.814369] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[   29.814387] iwlwifi 0000:00:14.3: Fseq Registers:
[   29.814389] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_ERROR_CODE
[   29.814391] iwlwifi 0000:00:14.3: 0x00000000 | FSEQ_TOP_INIT_VERSION
[   29.814394] iwlwifi 0000:00:14.3: 0x4719240E | FSEQ_CNVIO_INIT_VERSION
[   29.814396] iwlwifi 0000:00:14.3: 0x0000A384 | FSEQ_OTP_VERSION
[   29.814398] iwlwifi 0000:00:14.3: 0x76D1878C | FSEQ_TOP_CONTENT_VERSION
[   29.814400] iwlwifi 0000:00:14.3: 0xA2820C6F | FSEQ_ALIVE_TOKEN
[   29.814402] iwlwifi 0000:00:14.3: 0x57E3FFAE | FSEQ_CNVI_ID
[   29.814405] iwlwifi 0000:00:14.3: 0x8EFFAAFF | FSEQ_CNVR_ID
[   29.814407] iwlwifi 0000:00:14.3: 0x20000302 | CNVI_AUX_MISC_CHIP
[   29.814411] iwlwifi 0000:00:14.3: 0x01300202 | CNVR_AUX_MISC_CHIP
[   29.814416] iwlwifi 0000:00:14.3: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[   29.814450] iwlwifi 0000:00:14.3: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[   29.814478] iwlwifi 0000:00:14.3: SecBoot CPU1 Status: 0x5c0b, CPU2 Status: 0x3
[   29.814479] iwlwifi 0000:00:14.3: Failed to start RT ucode: -110
[   29.814480] iwlwifi 0000:00:14.3: Firmware not running - cannot dump error
[   29.826208] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110

我曾在其他地方的另一个类似(但不重复)的论坛帖子中看到过此命令,它也可能提供有用的信息:

$ lspci -knn | grep Net -A3; rfkill list
00:14.3 Network controller [0280]: Intel Corporation Device [8086:02f0]
    Subsystem: Intel Corporation Device [8086:0030]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

我不确定如何使用的其他调试信息:

$ sudo lsusb
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 2109:0812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 004: ID 2109:0812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 06cb:00bd Synaptics, Inc. 
Bus 001 Device 003: ID 04f2:b67c Chicony Electronics Co., Ltd Integrated Camera
Bus 001 Device 023: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 024: ID 2516:003b Cooler Master Co., Ltd. 
Bus 001 Device 018: ID 046d:c084 Logitech, Inc. G203 Gaming Mouse
Bus 001 Device 017: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 016: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 015: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 007: ID 8087:0aaa Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

看起来我的 WiFi 硬件在这里被列为“网络控制器:英特尔公司设备 02f0”:

$ sudo lspci
00:00.0 Host bridge: Intel Corporation Device 9b51
00:02.0 VGA compatible controller: Intel Corporation Device 9bca (rev 04)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Device 02f9
00:14.0 USB controller: Intel Corporation Device 02ed
00:14.2 RAM memory: Intel Corporation Device 02ef
00:14.3 Network controller: Intel Corporation Device 02f0
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 02e8
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 02e9
00:16.0 Communication controller: Intel Corporation Device 02e0
00:1d.0 PCI bridge: Intel Corporation Device 02b0 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Device 02b4 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device 0284
00:1f.3 Audio device: Intel Corporation Device 02c8
00:1f.4 SMBus: Intel Corporation Device 02a3
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 02a4
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V
03:00.0 Non-Volatile memory controller: Intel Corporation SSD Pro 7600p/760p/E 6100p Series (rev 03)
05:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:00.0 System peripheral: Intel Corporation JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] (rev 02)
2d:00.0 USB controller: Intel Corporation JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] (rev 02)

以下命令中的非以太网信息如下:

$ sudo lshw -C network
  *-network:0               
       description: Network controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list
       configuration: driver=iwlwifi latency=0
       resources: irq:16 memory:ea238000-ea23bfff

看起来好像正在使用 wifi 模块,但我无法验证下面的内容到底是什么:

$ sudo lsmod | grep wi
iwlwifi               348160  1 iwlmvm
cfg80211              712704  3 iwlmvm,iwlwifi,mac80211

iwconfig 没有列出我的无线设备:

$ iwconfig
docker0   no wireless extensions.
enx24f5a28aeeb6  no wireless extensions.
lo        no wireless extensions.
enp0s31f6  no wireless extensions.

nmcli 说我的 WiFi 硬件已启用(除非这仅代表无线堆栈中其他东西的状态):

$ nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

答案1

我使用了评论中的步骤https://askubuntu.com/a/1195735来自线程联想 X1 Carbon 第 7 代中未找到 WiFi 适配器我的 Wi-Fi 适配器又能正常工作了。

sudo apt install git build-essential
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
make defconfig-iwlwifi-public
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
make -j4
sudo make install
cd /lib/firmware
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-9000-pu-b0-jf-b0-38.ucode
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-9260-th-b0-jf-b0-38.ucode

相关内容