Networking

沒有 wifi,iwlwifi 錯誤 -110 “無法準備卡”,Windows 阻止 wifi 卡?

  • December 18, 2021

目前,我正在使用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 後完成它。

我採取了以下步驟:

  1. 在 VirtualBox 上安裝 Windows
  2. 從虛擬磁碟創建磁碟映像文件
$ VBoxManage clonehd /path/to/existing/Windows10.vdi /path/to/new/disk/image/Windows10.img --format RAW
  1. 檢查插入的 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

  1. 將 Windows 磁碟映像複製到 USB 驅動器:

警告:謹慎使用。

檢查兩次of=路徑,因為您要從該路徑中擦除磁碟。

$ sudo dd if=/path/to/Windows10.img of=/dev/sda bs=4M status=progress
  1. 重新啟動電腦並從 USB 驅動器啟動 Windows

如果使用 VirtualBox 創建攜帶式 Windows 對您不起作用怎麼辦?

還有第二種選擇,但您需要一台安裝了 Windows 的機器。

在已安裝的 Windows 上使用 Rufus 或 WinToUSB 並創建“Windows To Go” - 安裝在 USB 驅動器上的攜帶式 Windows 版本。

引用自:https://unix.stackexchange.com/questions/681563