Sys-net is down after waking up from suspend mode

It happened again today: sys-net is down after waking up from suspend.
I use suspend every day. But often, after waking up, the internet connection is down because sys-net isn’t working.
The Internet icon in the taskbar also shows that there’s no Internet connection. I can’t activate an Internet connection from the icon either, it’s no longer available.
I have to completely restart sys-net.

Does anyone have a solution that doesn’t require a restart?

dom0 journalctl

Aug 24 22:28:58 dom0 qubesd[2276]: vm.sys-net: qubes.SuspendPost for sys-net failed with 125 (stderr: gntshr: error: ioctl failed: No space left on device_2026-08-24 22:28:48.317 qrexec-client[591174]: qrexec-client.c:313:main: Failed to start data vchan server_)

sys-net journalctl
Aug 24 22:17:34 sys-net systemd[1]: Starting NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service...
Aug 24 22:17:34 sys-net dbus-daemon[567]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Aug 24 22:17:34 sys-net systemd[1]: Started NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service.
Aug 24 22:17:34 sys-net NetworkManager[738]: <info>  [1787602654.8517] device (ens6): state change: deactivating -> disconnected (reason 'sleeping', managed-type: 'full')
Aug 24 22:17:34 sys-net NetworkManager[738]: <info>  [1787602654.9367] dhcp4 (ens6): canceled DHCP transaction
Aug 24 22:17:34 sys-net NetworkManager[738]: <info>  [1787602654.9368] dhcp4 (ens6): activation: beginning transaction (timeout in 45 seconds)
Aug 24 22:17:34 sys-net NetworkManager[738]: <info>  [1787602654.9369] dhcp4 (ens6): state changed no lease
Aug 24 22:17:35 sys-net NetworkManager[738]: <info>  [1787602655.3135] device (ens6): state change: disconnected -> unmanaged (reason 'unmanaged-sleeping', managed-type: 'full')
Aug 24 22:17:35 sys-net kernel: r8169 0000:00:06.0 ens6: Link is Down
Aug 24 22:17:35 sys-net kernel: ehci-pci 0000:00:05.0: remove, state 4
Aug 24 22:17:35 sys-net kernel: usb usb1: USB disconnect, device number 1
Aug 24 22:17:35 sys-net kernel: usb 1-1: USB disconnect, device number 2
Aug 24 22:17:35 sys-net kernel: ehci-pci 0000:00:05.0: USB bus 1 deregistered
Aug 24 22:17:36 sys-net qrexec-agent[1525]: pam_unix(qrexec:session): session closed for user root
Aug 24 22:17:36 sys-net systemd[1]: session-c4.scope: Deactivated successfully.
Aug 24 22:17:36 sys-net qrexec-agent[1523]: 2026-08-24 22:17:36.013 qrexec-agent[1523]: qrexec-agent-data.c:288:handle_new_process_common: pid 1525 exited with 0
Aug 24 22:28:48 sys-net kernel: Freezing user space processes
Aug 24 22:28:48 sys-net kernel: Freezing user space processes completed (elapsed 0.042 seconds)
Aug 24 22:28:48 sys-net kernel: OOM killer disabled.
Aug 24 22:28:48 sys-net kernel: Freezing remaining freezable tasks
Aug 24 22:28:48 sys-net kernel: Freezing remaining freezable tasks completed (elapsed 0.008 seconds)
Aug 24 22:28:48 sys-net kernel: xen:manage: Using freeze/restore/thaw for sleep/wakeup
Aug 24 22:28:48 sys-net kernel: suspending xenstore...
Aug 24 22:28:48 sys-net kernel: xen:grant_table: Grant tables using version 1 layout
Aug 24 22:28:48 sys-net kernel: OOM killer enabled.
Aug 24 22:28:48 sys-net kernel: Restarting tasks: Starting
Aug 24 22:28:48 sys-net kernel: Restarting tasks: Done
Aug 24 22:28:53 sys-net ModemManager[725]: <msg> [base-manager] port ens6 released by device '/sys/devices/pci0000:00/0000:00:06.0'
Aug 24 22:28:55 sys-net systemd[1]: Started session-c5.scope - Session c5 of User root.
Aug 24 22:28:55 sys-net dbus-daemon[935]: [session uid=1000 pid=935 pidfd=5] Activating service name='org.freedesktop.secrets' requested by ':1.20' (uid=1000 pid=1180 comm="nm-applet" label="unconfined")
Aug 24 22:29:01 sys-net qrexec-agent[1653]: 2026-08-24 22:28:55.606 qrexec-agent[1653]: qrexec-agent-data.c:256:handle_new_process_common: executed: root:QUBESRPC qubes.SuspendPostAll dom0 (pid 1657)
Aug 24 22:29:01 sys-net qrexec-agent[1653]: 2026-08-24 22:28:55.879 qrexec-agent[1653]: qrexec-agent-data.c:288:handle_new_process_common: pid 1657 exited with 0
Aug 24 22:28:55 sys-net systemd[1]: session-c5.scope: Deactivated successfully.
Aug 24 22:28:55 sys-net qrexec-agent[1657]: pam_unix(qrexec:session): session opened for user root(uid=0) by (uid=0)
Aug 24 22:28:59 sys-net systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Aug 24 22:28:55 sys-net qrexec-agent[1657]: pam_unix(qrexec:session): session closed for user root
Aug 24 22:29:01 sys-net gnome-keyring-daemon[1803]: GNOME_KEYRING_CONTROL=/run/user/1000/keyring
Aug 24 22:29:00 sys-net systemd[889]: Started gnome-keyring-daemon.service - GNOME Keyring daemon.
Aug 24 22:29:03 sys-net dbus-daemon[935]: [session uid=1000 pid=935 pidfd=5] Successfully activated service 'org.freedesktop.secrets'
Aug 24 22:29:03 sys-net gnome-keyring-daemon[1803]: The Secret Service was already initialized
Aug 24 22:29:03 sys-net org.freedesktop.secrets[1656]: GNOME_KEYRING_CONTROL=/run/user/1000/keyring
Aug 24 22:29:03 sys-net gnome-keyring-d[1803]: The Secret Service was already initialized
Aug 24 22:29:03 sys-net gnome-keyring-daemon[1656]: discover_other_daemon: 1
Aug 24 22:29:06 sys-net systemd[1]: Stopping user@0.service - User Manager for UID 0...
Aug 24 22:29:06 sys-net systemd[1485]: Activating special unit exit.target...
Aug 24 22:29:06 sys-net systemd[1485]: Stopped target default.target - Main User Target.
Aug 24 22:29:06 sys-net systemd[1485]: Stopping dbus.service - D-Bus User Message Bus...
Aug 24 22:29:06 sys-net systemd[1485]: Stopped dbus.service - D-Bus User Message Bus.
Aug 24 22:29:06 sys-net systemd[1485]: Removed slice session.slice - User Core Session Slice.
Aug 24 22:29:06 sys-net systemd[1485]: Stopped target basic.target - Basic System.
Aug 24 22:29:06 sys-net systemd[1485]: Stopped target paths.target - Paths.
Aug 24 22:29:06 sys-net systemd[1485]: Stopped target sockets.target - Sockets.
Aug 24 22:29:06 sys-net systemd[1485]: Stopped target timers.target - Timers.
Aug 24 22:29:06 sys-net systemd[1485]: Closed dbus.socket - D-Bus User Message Bus Socket.
Aug 24 22:29:06 sys-net systemd[1485]: Closed dirmngr.socket - GnuPG network certificate management daemon.
Aug 24 22:29:06 sys-net systemd[1485]: Closed gcr-ssh-agent.socket - GCR ssh-agent wrapper.
Aug 24 22:29:06 sys-net systemd[1485]: Closed gnome-keyring-daemon.socket - GNOME Keyring daemon.
Aug 24 22:29:06 sys-net systemd[1485]: Closed gpg-agent-browser.socket - GnuPG cryptographic agent and passphrase cache (access for web browsers).
Aug 24 22:29:06 sys-net systemd[1485]: Closed gpg-agent-extra.socket - GnuPG cryptographic agent and passphrase cache (restricted).
Aug 24 22:29:06 sys-net systemd[1485]: Stopping gpg-agent-ssh.socket - GnuPG cryptographic agent (ssh-agent emulation)...
Aug 24 22:29:06 sys-net systemd[1485]: Stopping gpg-agent.socket - GnuPG cryptographic agent and passphrase cache...
Aug 24 22:29:06 sys-net systemd[1485]: Closed keyboxd.socket - GnuPG public key management service.
Aug 24 22:29:06 sys-net systemd[1485]: Closed speech-dispatcher.socket - Speech Dispatcher Socket.
Aug 24 22:29:06 sys-net systemd[1485]: Stopping ssh-agent.socket - OpenSSH Agent socket...
Aug 24 22:29:06 sys-net systemd[1485]: Closed ssh-agent.socket - OpenSSH Agent socket.
Aug 24 22:29:06 sys-net systemd[1485]: Closed gpg-agent.socket - GnuPG cryptographic agent and passphrase cache.
Aug 24 22:29:06 sys-net systemd[1485]: Closed gpg-agent-ssh.socket - GnuPG cryptographic agent (ssh-agent emulation).
Aug 24 22:29:06 sys-net systemd[1485]: Removed slice app.slice - User Application Slice.
Aug 24 22:29:06 sys-net systemd[1485]: Reached target shutdown.target - Shutdown.
Aug 24 22:29:06 sys-net systemd[1485]: Finished systemd-exit.service - Exit the Session.
Aug 24 22:29:06 sys-net systemd[1485]: Reached target exit.target - Exit the Session.
Aug 24 22:29:06 sys-net (sd-pam)[1488]: pam_unix(systemd-user:session): session closed for user root
Aug 24 22:29:06 sys-net systemd-logind[575]: Removed session 2.
Aug 24 22:29:06 sys-net systemd[1]: user@0.service: Deactivated successfully.
Aug 24 22:29:06 sys-net systemd[1]: Stopped user@0.service - User Manager for UID 0.
Aug 24 22:29:06 sys-net systemd[1]: Stopping user-runtime-dir@0.service - User Runtime Directory /run/user/0...
Aug 24 22:29:06 sys-net systemd[1]: run-user-0.mount: Deactivated successfully.
Aug 24 22:29:06 sys-net systemd[1]: user-runtime-dir@0.service: Deactivated successfully.
Aug 24 22:29:06 sys-net systemd[1]: Stopped user-runtime-dir@0.service - User Runtime Directory /run/user/0.
Aug 24 22:29:06 sys-net systemd[1]: Removed slice user-0.slice - User Slice of UID 0.
Aug 24 22:30:43 sys-net systemd[1]: anacron.service - Run anacron jobs skipped, unmet condition check ConditionPathExists=/var/run/qubes-service/crond
Aug 24 22:30:48 sys-net qrexec-agent[1623]: 2026-08-24 22:30:48.385 qrexec-agent[1623]: vchan_timeout.c:46:qubes_wait_for_vchan_connection_with_timeout: vchan connection timeout
Aug 24 22:30:48 sys-net qrexec-agent[1623]: 2026-08-24 22:30:48.385 qrexec-agent[1623]: qrexec-agent-data.c:214:handle_new_process_common: Data vchan connection failed
Aug 24 22:33:42 sys-net systemctl[1868]: Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
Aug 24 22:33:46 sys-net dbus-daemon[935]: [session uid=1000 pid=935 pidfd=5] Activating via systemd: service name='org.xfce.Xfconf' unit='xfconfd.service' requested by ':1.26' (uid=1000 pid=1887 comm="xfce4-terminal" label="unconfined")
Aug 24 22:33:47 sys-net systemd[889]: Starting xfconfd.service - Xfce configuration service...
Aug 24 22:33:47 sys-net dbus-daemon[935]: [session uid=1000 pid=935 pidfd=5] Successfully activated service 'org.xfce.Xfconf'
Aug 24 22:33:47 sys-net systemd[889]: Started xfconfd.service - Xfce configuration service.
Aug 24 22:33:47 sys-net qubes.StartApp+qubes-run-terminal-dom0[1880]: 
Aug 24 22:33:47 sys-net qubes.StartApp+qubes-run-terminal-dom0[1880]: (xfce4-terminal:1887): xfce4-terminal-WARNING **: 22:33:47.493: Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined

In sys-net, you can see that the wake-up started at 22:28:48.
Can you tell what the problem is from that?
Or should I save different or additional log files next time?

So, I’ve now worked out a solution with the AI for next time. Let’s see if it really works. This code in dom0 should fix the problem:

qvm-run --pass-io --no-gui -u root sys-net /usr/lib/qubes/prepare-suspend post

Did your AI mention the “no space” message in dom0?

Maybe it is normal, but it looks like df -h could be a helpful command, and look for 100% in the “Use%” column.

i have experienced this with a varying frequency across multiple laptops, e.g. rarely occurred on t480, regularly occurred on librem 14v1, almost always occurs on starbook ultra mk vii.

i am unaware of a fix besides restarting sys-net.

AI:

This error means that the Xen grant table interface (gntshr) in dom0 can no longer establish vchan connections because the limit for shared memory pages (grants) or kernel resources has been reached. The ‘No space left on device’ message usually does not refer to hard drive storage space here, but rather to exhausted Xen resources or file descriptors during the wake-up process from sleep mode (suspend).

Summary of what this means for your Qubes OS system:

The Root Cause: Your system ran out of communication slots (Xen grant frames) between dom0 and sys-net when resuming from sleep.

The Result: The qrexec data server failed to start, causing the SuspendPost script to crash and leaving your network VM unresponsive.

Have you tried this in dom0:
qvm-run --pass-io --no-gui -u root sys-net /usr/lib/qubes/prepare-suspend post

are you suggesting this be done before or after the suspend where the wifi nic disconnects?

after

It works! I just ran into the problem again. Ran it in dom0:
qvm-run --pass-io --no-gui -u root sys-net /usr/lib/qubes/prepare-suspend post

I saved it as a script, so this workaround offers me good value for the effort.

i’ve been seeing a much lower frequency of the wifi nic disconnecting from sys-net during suspend-resume cycles lately, but i just had one occur.

i tried this command in dom0 and got the following response in dom0 terminal:

cat: /var/run/qubes-suspend-modules-loaded: No such file or directory
/usr/lib/qubes/prepare-suspend: line 114: /var/run/qubes-suspend-pci-devs-detached: No such file or directory
Error org.freedesktop.NetworkManager.AlreadyAsleepOrAwake: Already awake

not sure what this means, but it may indicate there is more than one kind of issue that arises due to wifi nic disconnecting across sus-res cycles.

Since I don’t have Wi-Fi, I can’t help you any further here. But maybe this will help you:

For the wifi case where `prepare-suspend post` complains about missing `/var/run/qubes-suspend-modules-loaded` and NetworkManager AlreadyAssociated, that path never finished a clean suspend handoff, so the ethernet-oriented workaround will not always revive the NIC.

What has been more reliable for me on wifi laptops after resume:

  1. In dom0: `qvm-run -u root sys-net ‘systemctl restart NetworkManager’`

  2. If the device still says not ready, inside sys-net reload the wifi driver (example for Intel: `modprobe -r iwlwifi; modprobe iwlwifi`, use whatever `lspci -k` shows for your card).

  3. If NM still will not bring the link up, then `qvm-shutdown sys-net && qvm-start sys-net` is the blunt fix.

Also worth checking the HCL notes for your board and whether the wifi device is assigned only to sys-net. Some laptops need the Kernel command line quirk from the Qubes suspend/resume troubleshooting page when the NIC wakes in a half-dead state.