summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/network-suspend-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/network-suspend-scripts')
-rw-r--r--meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts.bb22
-rw-r--r--meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/ifupdown26
-rw-r--r--meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/usbnet16
3 files changed, 64 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts.bb b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts.bb
new file mode 100644
index 0000000000..dc22ed85f6
--- /dev/null
+++ b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "Network suspend/resume scripts"
2SECTION = "base"
3LICENSE = "GPLv2"
4PV = "1.1"
5PR = "r2"
6
7SRC_URI = "file://ifupdown \
8 file://usbnet"
9
10do_install() {
11 install -d ${D}${sysconfdir}/apm/scripts.d
12 install -m 0755 ${WORKDIR}/ifupdown ${D}${sysconfdir}/apm/scripts.d
13 install -m 0755 ${WORKDIR}/usbnet ${D}${sysconfdir}/apm/scripts.d
14 install -d ${D}${sysconfdir}/apm/suspend.d
15 ln -s ../scripts.d/ifupdown ${D}${sysconfdir}/apm/suspend.d/05ifupdown
16 ln -s ../scripts.d/usbnet ${D}${sysconfdir}/apm/suspend.d/10usbnet
17 install -d ${D}${sysconfdir}/apm/resume.d
18 ln -sf ../scripts.d/ifupdown ${D}${sysconfdir}/apm/resume.d/30ifupdown
19 ln -sf ../scripts.d/usbnet ${D}${sysconfdir}/apm/resume.d/20usbnet
20}
21
22FILES = "${sysconfdir}/apm"
diff --git a/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/ifupdown b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/ifupdown
new file mode 100644
index 0000000000..d458da6866
--- /dev/null
+++ b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/ifupdown
@@ -0,0 +1,26 @@
1#!/bin/sh
2# Unloads/loads all interface that are up at time of suspend
3
4if [ "$1" = suspend ]; then
5 rm -f /var/run/ifstate-suspend
6 rm -f /var/run/ifstate-old
7 cp /var/run/ifstate /var/run/ifstate-old
8 cat /var/run/ifstate-old | (
9 IFS="="
10 while read IFACE LOGICAL; do
11 ifdown $IFACE
12 echo "$IFACE=$LOGICAL" >>/var/run/ifstate-suspend
13 done
14 rm -f /var/run/ifstate-old
15 )
16elif [ "$1" = resume ] && [ "$2" != standby ] && [ -f /var/run/ifstate-suspend ]; then
17 cat /var/run/ifstate-suspend | (
18 while read LINE; do
19 ifup $LINE
20 done
21 )
22 rm -f /var/run/ifstate-suspend
23fi
24
25: exit 0
26
diff --git a/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/usbnet b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/usbnet
new file mode 100644
index 0000000000..3731f6339f
--- /dev/null
+++ b/meta/recipes-connectivity/network-suspend-scripts/network-suspend-scripts/usbnet
@@ -0,0 +1,16 @@
1#!/bin/sh
2# Unloads/loads usb-eth so it always works
3
4. /etc/default/usbd
5
6if [ "$1" = suspend ]; then
7 rmmod usb-eth
8 rmmod sa1100usb_core
9elif [ "$1" = resume ] && [ "$2" != standby ]; then
10 modprobe usb-eth
11 modprobe -r $usbdmodule
12 modprobe $usbdmodule
13fi
14
15: exit 0
16