Wi-Fiなし、iwlwifiエラー-110「カードを準備できません」、WindowsでWi-Fiカードをブロックしますか?

Wi-Fiなし、iwlwifiエラー-110「カードを準備できません」、WindowsでWi-Fiカードをブロックしますか?

現在Pop!_OS 21.04 x86_64 カーネルを使用していますが、、、5.15.5-76051505-generic
でこの問題を再現してみました。したがって、リリースバージョンは重要ではありません。ManjaroTailsUbuntuMX

Linuxを起動するとWi-Fiネットワークに接続できません。
しばらく前にWindows(デュアルブート)に接続するソリューションを見つけました。
LinuxでWi-Fiを使用するには、まずWindowsでWi-Fiをオフにする必要があります。

しかし、今は私のコンピュータにLinuxしかありません(デュアルブートなし)。一部のユーティリティでライブUSB Windowsを
使用するまで、すべてがうまく機能しました。Hiren's BootCD PE

USB ドライブでユーティリティを実行して Wi-Fi に接続すると、Linux で Wi-Fi の動作が停止します。

以前と同じ問題のようですが、今回はHirenの起動WindowsでWi-Fiを正常に無効にすることはできませんでした。デバイスマネージャでWi-Fiカードを無効にして完全に取り外し、電源管理のためにカードのシャットダウンを許可するのをオフにしてみましたが、すべて役に立たなかった。

私の考えでは、Windowsが何とかWi-Fiカードをブロックし、LinuxがWi-Fiカードを正しく初期化できないようです。

以前にWindowsとLinuxをダブルブートしたときに私が試した解決策は、Windowsを起動し、Wi-FiをオフにしてLinuxを起動することでした。
しかし、今はWindowsがインストールされておらず、Windowsにlive-usbユーティリティのみがインストールされています。非標準を使用してPE Network ManagerWi-Fiを管理するため、オフにしても標準のWindows Wi-Fiインターフェースほど役に立ちません。

Linuxでワイヤレスカードを「目覚めさせる」方法についてのアイデアはありますか?
ワイヤレスカードがはっきりと検出されましたが、動作しません。

Wi-Fiをオフにして粉砕するためにWindowsをインストールしたくありません。

現在の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

答え1

WindowsでWi-Fiをオフにする以外に、動作するソリューションが見つかりませんでした。そのため、USBドライブにWindowsポータブルバージョンを作成し、Linuxコンピュータから起動し、WindowsでWi-FiをオフにしてLinuxを再起動したところ、すべてが正常に戻りました。 Wi-Fiは問題なく動作します。

ポータブルバージョンのWindowsを入手するには、仮想ディスクのVirtualBoxにWindowsをインストールし、その仮想ディスク.vdiからファイルを作成してUSBドライブに複製します。.img

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、、、sda2sda3

  1. WindowsディスクイメージをUSBドライブに複製します。

警告する:注意して使用してください。このパスからディスクを削除するので、パスを2回
確認してください。of=

$ sudo dd if=/path/to/Windows10.img of=/dev/sda bs=4M status=progress
  1. コンピュータを再起動し、USBドライブからWindowsを起動します。

VirtualBoxを使用してポータブルWindowsを作成するのが適切でない場合はどうなりますか?

2番目のオプションがありますが、Windowsがインストールされているコンピュータが必要です。
既存のWindowsインストールでRufusまたはWinToUSBを使用し、USBドライブにインストールされているポータブルWindowsバージョンの「Windows To Go」を作成します。

答え2

一部のWi-Fiおよびネットワークカードには、Linuxデバイスドライバが理解できない機能があります。 Windowsドライバがこれらの機能を有効にし、再起動後もその機能を維持する場合、Linuxはインターフェイスを使用できません。

回避策は、ワームブートを実行するのではなく、WindowsをシャットダウンしてLinuxを起動する間にコンピュータを再起動することです。

PCIネットワークカードの場合、少なくとも理論的にはPCIスロットの電源を切り、Linuxの起動スクリプトで再び電源を入れることが可能です。 (これは手動で行われましたが、少なくとも一度は機能しました。)実際には、ディストリビューションではこれを実行せず、移植可能で信頼性の高い方法でこれを行うためのスクリプトを書くのは混乱しています。マシン全体を再起動する方がはるかに簡単です。

関連情報