diff options
Diffstat (limited to 'meta/packages/network-suspend-scripts')
3 files changed, 64 insertions, 0 deletions
diff --git a/meta/packages/network-suspend-scripts/files/ifupdown b/meta/packages/network-suspend-scripts/files/ifupdown new file mode 100644 index 0000000000..d458da6866 --- /dev/null +++ b/meta/packages/network-suspend-scripts/files/ifupdown | |||
@@ -0,0 +1,26 @@ | |||
1 | #!/bin/sh | ||
2 | # Unloads/loads all interface that are up at time of suspend | ||
3 | |||
4 | if [ "$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 | ) | ||
16 | elif [ "$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 | ||
23 | fi | ||
24 | |||
25 | : exit 0 | ||
26 | |||
diff --git a/meta/packages/network-suspend-scripts/files/usbnet b/meta/packages/network-suspend-scripts/files/usbnet new file mode 100644 index 0000000000..3731f6339f --- /dev/null +++ b/meta/packages/network-suspend-scripts/files/usbnet | |||
@@ -0,0 +1,16 @@ | |||
1 | #!/bin/sh | ||
2 | # Unloads/loads usb-eth so it always works | ||
3 | |||
4 | . /etc/default/usbd | ||
5 | |||
6 | if [ "$1" = suspend ]; then | ||
7 | rmmod usb-eth | ||
8 | rmmod sa1100usb_core | ||
9 | elif [ "$1" = resume ] && [ "$2" != standby ]; then | ||
10 | modprobe usb-eth | ||
11 | modprobe -r $usbdmodule | ||
12 | modprobe $usbdmodule | ||
13 | fi | ||
14 | |||
15 | : exit 0 | ||
16 | |||
diff --git a/meta/packages/network-suspend-scripts/network-suspend-scripts.bb b/meta/packages/network-suspend-scripts/network-suspend-scripts.bb new file mode 100644 index 0000000000..1161f641ee --- /dev/null +++ b/meta/packages/network-suspend-scripts/network-suspend-scripts.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DESCRIPTION = "Network suspend/resume scripts" | ||
2 | SECTION = "base" | ||
3 | LICENSE = "GPL" | ||
4 | PV = "1.1" | ||
5 | PR = "r2" | ||
6 | |||
7 | SRC_URI = "file://ifupdown \ | ||
8 | file://usbnet" | ||
9 | |||
10 | do_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 | |||
22 | FILES = "${sysconfdir}/apm" | ||