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 000000000..d458da686 --- /dev/null +++ b/meta/packages/network-suspend-scripts/files/ifupdown @@ -0,0 +1,26 @@ +#!/bin/sh +# Unloads/loads all interface that are up at time of suspend + +if [ "$1" = suspend ]; then + rm -f /var/run/ifstate-suspend + rm -f /var/run/ifstate-old + cp /var/run/ifstate /var/run/ifstate-old + cat /var/run/ifstate-old | ( + IFS="=" + while read IFACE LOGICAL; do + ifdown $IFACE + echo "$IFACE=$LOGICAL" >>/var/run/ifstate-suspend + done + rm -f /var/run/ifstate-old + ) +elif [ "$1" = resume ] && [ "$2" != standby ] && [ -f /var/run/ifstate-suspend ]; then + cat /var/run/ifstate-suspend | ( + while read LINE; do + ifup $LINE + done + ) + rm -f /var/run/ifstate-suspend +fi + +: exit 0 + diff --git a/meta/packages/network-suspend-scripts/files/usbnet b/meta/packages/network-suspend-scripts/files/usbnet new file mode 100644 index 000000000..3731f6339 --- /dev/null +++ b/meta/packages/network-suspend-scripts/files/usbnet @@ -0,0 +1,16 @@ +#!/bin/sh +# Unloads/loads usb-eth so it always works + +. /etc/default/usbd + +if [ "$1" = suspend ]; then + rmmod usb-eth + rmmod sa1100usb_core +elif [ "$1" = resume ] && [ "$2" != standby ]; then + modprobe usb-eth + modprobe -r $usbdmodule + modprobe $usbdmodule +fi + +: exit 0 + 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 000000000..1161f641e --- /dev/null +++ b/meta/packages/network-suspend-scripts/network-suspend-scripts.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Network suspend/resume scripts" +SECTION = "base" +LICENSE = "GPL" +PV = "1.1" +PR = "r2" + +SRC_URI = "file://ifupdown \ + file://usbnet" + +do_install() { + install -d ${D}${sysconfdir}/apm/scripts.d + install -m 0755 ${WORKDIR}/ifupdown ${D}${sysconfdir}/apm/scripts.d + install -m 0755 ${WORKDIR}/usbnet ${D}${sysconfdir}/apm/scripts.d + install -d ${D}${sysconfdir}/apm/suspend.d + ln -s ../scripts.d/ifupdown ${D}${sysconfdir}/apm/suspend.d/05ifupdown + ln -s ../scripts.d/usbnet ${D}${sysconfdir}/apm/suspend.d/10usbnet + install -d ${D}${sysconfdir}/apm/resume.d + ln -sf ../scripts.d/ifupdown ${D}${sysconfdir}/apm/resume.d/30ifupdown + ln -sf ../scripts.d/usbnet ${D}${sysconfdir}/apm/resume.d/20usbnet +} + +FILES = "${sysconfdir}/apm" |