aboutsummaryrefslogtreecommitdiffstats
path: root/meta/packages/network-suspend-scripts/network-suspend-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/network-suspend-scripts/network-suspend-scripts')
-rw-r--r--meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown26
-rw-r--r--meta/packages/network-suspend-scripts/network-suspend-scripts/usbnet16
2 files changed, 42 insertions, 0 deletions
diff --git a/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown b/meta/packages/network-suspend-scripts/network-suspend-scripts/ifupdown
new file mode 100644
index 0000000000..d458da6866
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/network-suspend-scripts/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/network-suspend-scripts/usbnet b/meta/packages/network-suspend-scripts/network-suspend-scripts/usbnet
new file mode 100644
index 0000000000..3731f6339f
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/network-suspend-scripts/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
+