2

Currently, I'm using Pop!_OS 21.04 x86_64 with kernel 5.15.5-76051505-generic
but I've reproduced this issue on Manjaro, Tails, Ubuntu, MX. So the distro doesn't matter.

When I boot a Linux, I cannot connect to Wi-Fi network.
I found a solution for that some time ago and it was connected with Windows (dual-boot).
I had to turn off Wi-Fi on Windows before shutting it down, only then Wi-Fi worked on Linux.

But right now I have only Linux (no dual-boot) on my machine.
Everything was working well until I used Hiren's BootCD PE which is live-usb Windows with some utility tools.

After I booted that utility (from a USB drive) and connected to Wi-Fi on it, Wi-Fi stopped working on Linux.

It looks like the same issue I had before, but this time I cannot successfully disable Wi-Fi on Hiren's Boot Windows. I've tried disabling the Wi-Fi card in the device manager, uninstalling it completely, uncheck allowing to turn off card due to power management, everything with no success.

My guess is that Windows blocks the Wi-Fi card somehow and it cannot be properly initialized by Linux after that.

My proven solution before (when I had Windows and Linux dual-boot) was to boot Windows, turn off Wi-Fi on it, then boot Linux.
But right now I don't have Windows installed, only that live-usb utility with Windows. It uses some non standard PE Network Manager to manage Wi-Fi and turning it off there doesn't help like it used to on standard Windows Wi-Fi interface.

Do you have any ideas on how to "wake up" the wireless card on Linux?
The wireless card is clearly detected but just doesn't work.

I really don't want to install Windows only to turn off Wi-Fi on it and then shred it.

Logs from current Linux state:

$ 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
3
  • Possible duplicate of askubuntu.com/questions/1204099/… ; make sure you have the latest driver for this card installed. You may need to download it from Intel.
    – user10489
    Commented Dec 15, 2021 at 12:47
  • Maybe I wasn't clear enough. My wifi card was working completely fine with current driver until I booted Windows from Hiren's Boot utility. I had no issues with wifi on Linux till that moment. Commented Dec 15, 2021 at 13:29
  • Another possibility is that windows is loading a firmware newer than what the linux driver supports. A newer linux driver would fix that, or you can make sure you have the firmware for the card installed and available in linux.
    – user10489
    Commented Dec 15, 2021 at 13:46

2 Answers 2

1

I haven't found a working solution other than turning off wifi on Windows. So I created a portable version of Windows on a USB drive, booted it on the Linux machine, turned off wifi on Windows, then booted again Linux and everything went back to normal. Wifi works without any issues.

To get a portable version of Windows I simply installed Windows on VirtualBox on virtual disk .vdi, then I created .img file from that virtual disk and cloned it to USB drive.

Creating portable Windows using VirtualBox

Worth mentioning is that I shut down the virtual machine at the Windows installation step on region select (it asks "Let's start with the region. Is this right?"). Maybe it's not a big deal and you can finish installation in VirtualBox but I decided to finish it after booting Windows from a USB drive.

I took the following steps:

  1. Install Windows on VirtualBox

  2. Create a disk image file from the virtual disk

$ VBoxManage clonehd /path/to/existing/Windows10.vdi /path/to/new/disk/image/Windows10.img --format RAW
  1. Check the device name of a plugged USB drive
$ 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]

In my case, the USB drive had sda name (with partitions sda1, sda2, sda3)

  1. Clone Windows disk image to a USB drive:

WARNING: Use with caution.
Check twice of= path because you're going to erase the disk from that path.

$ sudo dd if=/path/to/Windows10.img of=/dev/sda bs=4M status=progress
  1. Restart the computer and boot Windows from a USB drive

What if creating portable Windows using VirtualBox doesn't work for you?

There's also a second option but you need a machine with installed Windows.
Use Rufus or WinToUSB on installed Windows and create "Windows To Go" - a portable version of Windows installed on a USB drive.

0

Several wifi and network cards have features that the linux device driver doesn't understand. When the windows driver enables these features and leaves them on after reboot, linux can't use the interface.

The solution is to power cycle the machine between shutting down windows and booting linux, rather than doing a warm boot.

For PCI network cards, it is at least in theory possible to shut down power to the PCI slot and turn it back on in a linux boot script. (I've done this by hand, it worked at least once.) Practically, no distro has done this, and it's messy to write a script to do it in a portable and reliable way. It's much easier to just power cycle the whole machine.

6
  • Turning the laptop off doesn't help. I shut it down completely and then turn on but with no success. Commented Dec 15, 2021 at 12:43
  • See comment above.
    – user10489
    Commented Dec 15, 2021 at 12:48
  • I don't get that "power cycle the machine between shutting down windows and booting linux". What do you mean by power cycle? Commented Dec 15, 2021 at 12:53
  • Power cycle: turn it off, leave it off for 5-10 seconds, turn it back on. Don't boot windows between turning it on and booting linux. If it's a USB network adapter, you could just unplug it for a few seconds instead, but this is probably an internal one.
    – user10489
    Commented Dec 15, 2021 at 12:55
  • 5-10 seconds doesn't help. The laptop was turned off the whole night before I turned it on straight to the Linux with no wifi. Perhaps discharging the battery completely could help but on the other hand, it's not healthy for the battery. Commented Dec 15, 2021 at 13:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .