沒有 wifi,iwlwifi 錯誤 -110 “無法準備卡”,Windows 阻止 wifi 卡?
目前,我正在使用
Pop!_OS 21.04 x86_64
核心5.15.5-76051505-generic
,但我已經在
Manjaro
,Tails
,Ubuntu
,上重現了這個問題MX
。所以發行版並不重要。當我啟動 Linux 時,我無法連接到 Wi-Fi 網路。
前段時間我找到了一個解決方案,它與 Windows 連接(雙啟動)。
在關閉它之前,我必須在 Windows 上關閉 Wi-Fi,然後 Wi-Fi 才能在 Linux 上執行。
但是現在我的機器上只有 Linux(沒有雙引導)。在我使用帶有一些實用工具的 live-usb Windows
之前,一切都執行良好。
Hiren's BootCD PE
在我啟動該實用程序(從 USB 驅動器)並連接到 Wi-Fi 後,Wi-Fi 在 Linux 上停止工作。
看起來和我之前遇到的問題一樣,但這次我無法在 Hiren 的 Boot Windows 上成功禁用 Wi-Fi。我試過在設備管理器中禁用Wi-Fi卡,完全解除安裝它,取消選中允許因電源管理而關閉卡,一切都沒有成功。
我的猜測是 Windows 以某種方式阻止了 Wi-Fi 卡,之後 Linux 無法正確初始化它。
我之前經過驗證的解決方案(當我有 Windows 和 Linux 雙啟動時)是啟動 Windows,關閉其上的 Wi-Fi,然後啟動 Linux。
但現在我沒有安裝 Windows,只有 Windows 的 live-usb 實用程序。它使用一些非標準
PE Network Manager
來管理 Wi-Fi,並且在那里關閉它並沒有像以前在標準 Windows Wi-Fi 介面上那樣有幫助。您對如何在 Linux 上“喚醒”無線網卡有任何想法嗎?
可以清楚地檢測到無線網卡,但無法正常工作。
我真的不想安裝 Windows 只是為了關閉其上的 Wi-Fi 然後將其切碎。
目前 Linux 狀態的日誌:
$ iwconfig lo no wireless extensions. enp0s31f6 no wireless extensions.
$ rfkill ID TYPE DEVICE SOFT HARD 1 wlan dell-wifi unblocked unblocked 2 bluetooth dell-bluetooth blocked unblocked
$ sudo lshw -C network *-network description: Network controller product: Wireless 8265 / 8275 vendor: Intel Corporation physical id: 0 bus info: pci@0000:02:00.0 version: 78 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list configuration: driver=iwlwifi latency=0 resources: irq:135 memory:ef100000-ef101fff *-network description: Ethernet interface product: Ethernet Connection (4) I219-LM vendor: Intel Corporation physical id: 1f.6 bus info: pci@0000:00:1f.6 logical name: enp0s31f6 version: 21 serial: 10:65:30:2e:ee:de capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=5.15.5-76051505-generic firmware=0.1-4 latency=0 link=no multicast=yes port=twisted pair resources: irq:131 memory:ef300000-ef31ffff
$ sudo dmesg | grep iwlwifi Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: enabling device (0000 -> 0002) Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: loaded firmware version 36.ca7b901d.0 8265-36.ucode op_mode iwlmvm Dec 15 11:06:54 ncno2 kernel: iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230 Dec 15 11:06:56 ncno2 kernel: iwlwifi 0000:02:00.0: Couldn't prepare the card Dec 15 11:06:56 ncno2 kernel: iwlwifi 0000:02:00.0: Error while preparing HW: -110 Dec 15 11:06:57 ncno2 kernel: iwlwifi 0000:02:00.0: Master Disable Timed Out, 100 usec
除了在 Windows 上關閉 wifi 之外,我還沒有找到可行的解決方案。所以我在 USB 驅動器上創建了一個攜帶式版本的 Windows,在 Linux 機器上啟動它,在 Windows 上關閉 wifi,然後再次啟動 Linux,一切恢復正常。Wifi 工作沒有任何問題。
為了獲得 Windows 的便攜版本,我只需在 VirtualBox 上的虛擬磁碟上安裝 Windows
.vdi
,然後從該虛擬磁碟創建.img
文件並將其複製到 USB 驅動器。使用 VirtualBox 創建可移植的 Windows
值得一提的是,我在區域選擇的 Windows 安裝步驟中關閉了虛擬機(它詢問“讓我們從區域開始。對嗎?”)。也許這沒什麼大不了的,您可以在 VirtualBox 中完成安裝,但我決定在從 USB 驅動器啟動 Windows 後完成它。
我採取了以下步驟:
- 在 VirtualBox 上安裝 Windows
- 從虛擬磁碟創建磁碟映像文件
$ VBoxManage clonehd /path/to/existing/Windows10.vdi /path/to/new/disk/image/Windows10.img --format RAW
- 檢查插入的 USB 驅動器的設備名稱
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 119.5G 0 disk ├─sda1 8:1 1 50M 0 part ├─sda2 8:2 1 29.5G 0 part └─sda3 8:3 1 508M 0 part nvme0n1 259:0 0 476.9G 0 disk ├─nvme0n1p1 259:1 0 498M 0 part /boot/efi ├─nvme0n1p2 259:2 0 4G 0 part /recovery ├─nvme0n1p3 259:3 0 468.4G 0 part │ └─cryptdata 253:0 0 468.4G 0 crypt │ └─data-root 253:1 0 468.4G 0 lvm / └─nvme0n1p4 259:4 0 4G 0 part └─cryptswap 253:2 0 4G 0 crypt [SWAP]
就我而言,USB 驅動器有
sda
名稱(帶分區sda1
,sda2
,sda3
)
- 將 Windows 磁碟映像複製到 USB 驅動器:
警告:謹慎使用。
檢查兩次
of=
路徑,因為您要從該路徑中擦除磁碟。$ sudo dd if=/path/to/Windows10.img of=/dev/sda bs=4M status=progress
- 重新啟動電腦並從 USB 驅動器啟動 Windows
如果使用 VirtualBox 創建攜帶式 Windows 對您不起作用怎麼辦?
還有第二種選擇,但您需要一台安裝了 Windows 的機器。
在已安裝的 Windows 上使用 Rufus 或 WinToUSB 並創建“Windows To Go” - 安裝在 USB 驅動器上的攜帶式 Windows 版本。