core-agent-linux/qubes-rpc/prepare-suspend

20 lines
690 B
Plaintext
Raw Normal View History

#!/bin/sh
action=$1
[ -z "$action" ] && action=suspend
if [ x"$action" == x"suspend" ]; then
nmcli nm sleep true || service NetworkManager stop
# Force interfaces down, just in case when NM didn't done it
for if in `ls /sys/class/net|grep -v "lo\|vif"`; do
ip l s $if down
done
modprobe -r uhci_hcd ehci_hcd ehci_pci
lsmod|grep -q iwldvm && touch /var/run/qubes/suspend-iwldvm-loaded
modprobe -r iwldvm
else
modprobe ehci_pci; modprobe uhci_hcd
test -e /var/run/qubes/suspend-iwldvm-loaded && modprobe iwldvm
nmcli nm sleep false || { [ -x /bin/systemctl ] && systemctl start NetworkManager.service; } || service qubes-core-netvm start
fi