File: networkmanager

package info (click to toggle)
hibernate 2.0%2B15%2Bg88d54a8-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch, wheezy
  • size: 740 kB
  • ctags: 114
  • sloc: sh: 1,223; makefile: 17
file content (57 lines) | stat: -rw-r--r-- 1,373 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- sh -*-
# vim:ft=sh:ts=8:sw=4:noet

###
## Disconnects NetworkManager on suspend and connects on resume. This is the equivalent of
## clicking the "Switch to Offline" button before suspending, and clicking the
## "Switch to Online" button after resuming.
##
## Author: Markus Becker
## Credits: 
## 	Based on kopete scriplet from Pat Double <pat@patdouble.com>
##
###

AddConfigHandler NMOptions
AddConfigHelp "EnableNMReconnect <boolean>" "Disconnect and reconnect NM before and after suspending."

NMSuspend() {
	vecho 3 "Putting NetworkManager to sleep"
	/usr/bin/dbus-send --system \
		--dest=org.freedesktop.NetworkManager \
		--type=method_call /org/freedesktop/NetworkManager \
		org.freedesktop.NetworkManager.sleep
	return 0
}

NMResume() {
	vecho 3 "Waking up NetworkManager"
	/usr/bin/dbus-send --system \
		--dest=org.freedesktop.NetworkManager \
		--type=method_call /org/freedesktop/NetworkManager \
		org.freedesktop.NetworkManager.wake
	return 0
}

NMOptions() {
	case $1 in
		enablenmreconnect)
			if [ ! -x "$(command -v dbus-send)" ]; then
			    vecho 1 "dbus-send not found, cannot signal NetworkManager"
			    return 1
			fi
			BoolIsOn "$1" "$2" && NM_ENABLED=1 || return 0
			;;

		*)
		return 1
	esac

	if [ -z "$NM_HOOKED" ] ; then
		vecho 0 "nm: hook"
		AddSuspendHook 61 NMSuspend
		AddResumeHook 61 NMResume
		NM_HOOKED=1
	fi
	return 0
}