suspend: manage NetworkManager service on suspend/resume
NetworkManager was experiencing an unexpected behavior managing the network interfaces on a supend/resume process, then to avoid this undesired behavior the suspend script will stop and restart the NetworkManager service. https://jira.digi.com/browse/DEL-5351 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
parent
ffb0e6954b
commit
2a175fd546
|
|
@ -22,6 +22,7 @@ lockfd="9"
|
|||
|
||||
BT_INIT="/etc/init.d/bluetooth-init"
|
||||
BT_DAEMON="/etc/init.d/bluetooth"
|
||||
NM_DAEMON="/etc/init.d/networkmanager"
|
||||
|
||||
usage() {
|
||||
printf "\nSuspend system to RAM memory\n"
|
||||
|
|
@ -31,6 +32,9 @@ usage() {
|
|||
}
|
||||
|
||||
suspend_interfaces() {
|
||||
# Stop NetworkManager before suspend
|
||||
${NM_DAEMON} stop
|
||||
|
||||
# Suspend wireless interfaces
|
||||
if [ -d "/proc/device-tree/wireless" ]; then
|
||||
for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do
|
||||
|
|
@ -60,6 +64,9 @@ resume_interfaces() {
|
|||
done
|
||||
fi
|
||||
|
||||
# Resume NetworkManager after suspend
|
||||
${NM_DAEMON} start
|
||||
|
||||
# Resume bluetooth interface
|
||||
if [ -d "/proc/device-tree/bluetooth" ]; then
|
||||
if [ -n "${up_bt_on_resume}" ]; then
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ lockfd="9"
|
|||
|
||||
BT_INIT="/etc/init.d/bluetooth-init"
|
||||
BT_DAEMON="/etc/init.d/bluetooth"
|
||||
NM_DAEMON="/etc/init.d/networkmanager"
|
||||
|
||||
usage() {
|
||||
printf "\nSuspend system to RAM memory\n"
|
||||
|
|
@ -31,6 +32,9 @@ usage() {
|
|||
}
|
||||
|
||||
suspend_interfaces() {
|
||||
# Stop NetworkManager before suspend
|
||||
${NM_DAEMON} stop
|
||||
|
||||
# Suspend wireless interfaces
|
||||
if [ -d "/proc/device-tree/wireless" ]; then
|
||||
for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do
|
||||
|
|
@ -67,6 +71,9 @@ resume_interfaces() {
|
|||
${BT_DAEMON} start >/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
# Resume NetworkManager after suspend
|
||||
${NM_DAEMON} start
|
||||
}
|
||||
|
||||
enter_critical_section() {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ lockfd="9"
|
|||
|
||||
BT_INIT="/etc/init.d/bluetooth-init"
|
||||
BT_DAEMON="/etc/init.d/bluetooth"
|
||||
NM_DAEMON="/etc/init.d/networkmanager"
|
||||
|
||||
usage() {
|
||||
printf "\nSuspend system to RAM memory\n"
|
||||
|
|
@ -31,6 +32,9 @@ usage() {
|
|||
}
|
||||
|
||||
suspend_interfaces() {
|
||||
# Stop NetworkManager before suspend
|
||||
${NM_DAEMON} stop
|
||||
|
||||
# Suspend wireless interfaces
|
||||
if [ -d "/proc/device-tree/wireless" ]; then
|
||||
for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do
|
||||
|
|
@ -67,6 +71,9 @@ resume_interfaces() {
|
|||
${BT_DAEMON} start >/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
# Resume NetworkManager after suspend
|
||||
${NM_DAEMON} start
|
||||
}
|
||||
|
||||
enter_critical_section() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue