mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-12-24 23:09:29 -05:00
Merge branch 'suspend-resume-troubleshooting' of https://github.com/PROTechThor/qubes-doc into PROTechThor-suspend-resume-troubleshooting
This commit is contained in:
commit
460aa295aa
23
doc.md
23
doc.md
@ -122,16 +122,7 @@ Core documentation for Qubes users.
|
|||||||
|
|
||||||
* [Installation Troubleshooting](/doc/installation-troubleshooting)
|
* [Installation Troubleshooting](/doc/installation-troubleshooting)
|
||||||
* [UEFI Troubleshooting](/doc/uefi-troubleshooting/)
|
* [UEFI Troubleshooting](/doc/uefi-troubleshooting/)
|
||||||
* [Home directory is out of disk space error](/doc/out-of-memory/)
|
* [Suspend/Resume Troubleshooting](/doc/suspend-resume-troubleshooting/)
|
||||||
* [Installing on system with new AMD GPU (missing firmware problem)](https://groups.google.com/group/qubes-devel/browse_thread/thread/e27a57b0eda62f76)
|
|
||||||
* [How to install an Nvidia driver in dom0](/doc/install-nvidia-driver/)
|
|
||||||
* [Nvidia troubleshooting guide](/doc/nvidia-troubleshooting/)
|
|
||||||
* [Lenovo ThinkPad Troubleshooting](/doc/thinkpad-troubleshooting/)
|
|
||||||
* [Apple MacBook Troubleshooting](/doc/macbook-troubleshooting/)
|
|
||||||
* [Getting Sony Vaio Z laptop to work with Qubes](/doc/sony-vaio-tinkering/)
|
|
||||||
* [Fixing wireless on suspend & resume](/doc/wireless-troubleshooting/)
|
|
||||||
* [How to remove VMs manually](/doc/remove-vm-manually/)
|
|
||||||
* [Intel Integrated Graphics Troubleshooting](/doc/intel-igfx-troubleshooting/)
|
|
||||||
|
|
||||||
### Reference Pages
|
### Reference Pages
|
||||||
|
|
||||||
@ -274,6 +265,18 @@ For more, please see [Qubes Community Documentation](https://github.com/Qubes-Co
|
|||||||
* [Dark Theme in Dom0 and DomU](/doc/dark-theme/)
|
* [Dark Theme in Dom0 and DomU](/doc/dark-theme/)
|
||||||
* [Safely Removing TemplateVM Packages (Example: Thunderbird)](/doc/removing-templatevm-packages/)
|
* [Safely Removing TemplateVM Packages (Example: Thunderbird)](/doc/removing-templatevm-packages/)
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
* [Home directory is out of disk space error](/doc/out-of-memory/)
|
||||||
|
* [Installing on system with new AMD GPU (missing firmware problem)](https://groups.google.com/group/qubes-devel/browse_thread/thread/e27a57b0eda62f76)
|
||||||
|
* [How to install an Nvidia driver in dom0](/doc/install-nvidia-driver/)
|
||||||
|
* [Nvidia troubleshooting guide](/doc/nvidia-troubleshooting/)
|
||||||
|
* [Lenovo ThinkPad Troubleshooting](/doc/thinkpad-troubleshooting/)
|
||||||
|
* [Apple MacBook Troubleshooting](/doc/macbook-troubleshooting/)
|
||||||
|
* [Getting Sony Vaio Z laptop to work with Qubes](/doc/sony-vaio-tinkering/)
|
||||||
|
* [How to remove VMs manually](/doc/remove-vm-manually/)
|
||||||
|
* [Intel Integrated Graphics Troubleshooting](/doc/intel-igfx-troubleshooting/)
|
||||||
|
|
||||||
### Building Guides
|
### Building Guides
|
||||||
|
|
||||||
* [Building a TemplateVM based on a new OS (ArchLinux example)](/doc/building-non-fedora-template/)
|
* [Building a TemplateVM based on a new OS (ArchLinux example)](/doc/building-non-fedora-template/)
|
||||||
|
134
user/troubleshooting/resume-suspend-troubleshooting.md
Normal file
134
user/troubleshooting/resume-suspend-troubleshooting.md
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
---
|
||||||
|
layout: doc
|
||||||
|
title: Suspend/Resume Troubleshooting
|
||||||
|
permalink: /doc/suspend-resume-troubleshooting/
|
||||||
|
redirect_from:
|
||||||
|
- /en/doc/wireless-troubleshooting/
|
||||||
|
- /doc/wireless-troubleshooting/
|
||||||
|
---
|
||||||
|
|
||||||
|
# Troubleshooting problems relating to suspend/resume #
|
||||||
|
|
||||||
|
## Network-Manager says “Device not ready” on suspend/resume ##
|
||||||
|
|
||||||
|
These instructions may help with suspend/resume issues for more devices than just wireless cards, that is just the (unfortunately not uncommon) example used here.
|
||||||
|
|
||||||
|
If your wireless card works, but after suspending and resuming your computer, the Network-Manager applet just says "Device not ready", then try un-loading and re-loading the driver.
|
||||||
|
|
||||||
|
### Determining your wireless card driver ###
|
||||||
|
|
||||||
|
First, determine which kernel module corresponds to your wireless card. There are several ways to do this.
|
||||||
|
|
||||||
|
The easiest is via the output of `lspci -k` in your sys-net VM:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ lspci -k
|
||||||
|
00:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
|
||||||
|
Subsystem: Intel Corporation Device 0130
|
||||||
|
Kernel driver in use: iwlwifi
|
||||||
|
Kernel modules: iwlwifi
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Here we see that the machine in question has an Intel wireless card, being used by the `iwlwifi` kernel module.
|
||||||
|
|
||||||
|
|
||||||
|
### Checking logs for relevant messages ###
|
||||||
|
|
||||||
|
View the output of `dmesg` in sys-net, and check if you see a bunch of wireless related errors. Depending on your hardware, they may look like the following (or not):
|
||||||
|
|
||||||
|
~~~
|
||||||
|
iwlwifi 0000:00:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
|
||||||
|
iwlwifi 0000:00:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
|
||||||
|
...
|
||||||
|
IPv6: ADDRCONF(NETDEV_UP): wlp0s0: link is not ready
|
||||||
|
iwlwifi 0000:00:00.0: L1 Enabled - LTR Enabled
|
||||||
|
iwlwifi 0000:00:00.0: L1 Enabled - LTR Enabled
|
||||||
|
iwlwifi 0000:00:00.0: Failed to load firmware chunk!
|
||||||
|
iwlwifi 0000:00:00.0: Could not load the [0] uCode section
|
||||||
|
iwlwifi 0000:00:00.0: Failed to start INIT ucode: -110
|
||||||
|
iwlwifi 0000:00:00.0: Failed to run INIT ucode: -110
|
||||||
|
...
|
||||||
|
iwlwifi 0000:00:00.0: Direct firmware load for iwlwifi-8000C-18.ucode failed with error -2
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Seeing what modules you have loaded ###
|
||||||
|
|
||||||
|
You can check which drivers are currently loaded with `lsmod`, and view details about a module with `modinfo <module_name>`.
|
||||||
|
|
||||||
|
For example, we list what modules we have loaded:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ lsmod
|
||||||
|
Module Size Used by
|
||||||
|
iwlmvm 315392 0
|
||||||
|
iwlwifi 155648 1 iwlmvm
|
||||||
|
mac80211 708608 1 iwlmvm
|
||||||
|
cfg80211 557056 3 iwlwifi,mac80211,iwlmvm
|
||||||
|
...
|
||||||
|
~~~
|
||||||
|
|
||||||
|
and check one:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ modinfo iwlmvm | grep -E '^(description|author|depends):'
|
||||||
|
author: Copyright(c) 2003- 2015 Intel Corporation <ilw@linux.intel.com>
|
||||||
|
description: The new Intel(R) wireless AGN driver for Linux
|
||||||
|
depends: iwlwifi,mac80211,cfg80211
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Hey, it's our wireless driver!
|
||||||
|
|
||||||
|
Now, check if reloading the module makes wireless work again:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ sudo rmmod iwlmvm
|
||||||
|
[user@sys-net ~]$ sudo modprobe iwlmvm
|
||||||
|
~~~
|
||||||
|
|
||||||
|
and try reconnecting to a network that is known to work.
|
||||||
|
|
||||||
|
If that is successful, see below about having Qubes automatically reload the driver for you. If not, try also reloading some dependent modules, in our example we must also reload iwlwifi:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ modinfo iwlwifi | grep -E '^(description|author|depends):'
|
||||||
|
author: Copyright(c) 2003- 2015 Intel Corporation <ilw@linux.intel.com>
|
||||||
|
description: Intel(R) Wireless WiFi driver for Linux
|
||||||
|
depends: cfg80211
|
||||||
|
~~~
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net ~]$ sudo rmmod iwlmvm
|
||||||
|
[user@sys-net ~]$ sudo rmmod iwlwifi
|
||||||
|
[user@sys-net ~]$ sudo modprobe iwlwifi # note the reverse order of loading/unloading
|
||||||
|
[user@sys-net ~]$ sudo modprobe iwlmvm
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Drivers do not reload automatically on suspend/resume ##
|
||||||
|
|
||||||
|
If reloading the driver (which resets the hardware into a known-state) resolves your issue when done manually, you can have Qubes automatically un/reload them on suspend & resume by listing the relevant modules in `/rw/config/suspend-module-blacklist`.
|
||||||
|
|
||||||
|
In the above example, it would look like this:
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[user@sys-net config]$ cat /rw/config/suspend-module-blacklist
|
||||||
|
# You can list here modules you want to be unloaded before going to sleep. This
|
||||||
|
# file is used only if the VM has any PCI device assigned. Modules will be
|
||||||
|
# automatically loaded after resume.
|
||||||
|
iwlmvm
|
||||||
|
iwlwifi
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Power consumption increases on suspend/resume ##
|
||||||
|
|
||||||
|
This problem is related to the software method used to disable sibling threads and how it interacts with suspend/resume.
|
||||||
|
To solve the problem, disable hyper-threading in the BIOS. This [external guide](https://www.pcmag.com/news/how-to-disable-hyperthreading) explains how to disable hyper-threading.
|
||||||
|
Since Qubes does disable hyperthreading by default (by not using secondary threads), you won't pay any performance cost.
|
||||||
|
|
||||||
|
## Attached devices in Windows HVM stop working on suspend/resume ##
|
||||||
|
|
||||||
|
After the whole system gets suspended into S3 sleep and subsequently resumed, some attached devices may stop working. To make the devices work, they should be restarted within the VM.
|
||||||
|
This can be achieved under a Windows HVM by opening the Device Manager, selecting the actual device (such as a USB controller), 'Disabling' the device, and then 'Enabling' the device again.
|
||||||
|
This is illustrated on the screenshot below:
|
||||||
|
|
||||||
|
![r2b1-win7-usb-disable.png](/attachment/wiki/HvmCreate/r2b1-win7-usb-disable.png)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user