Package: hibernate
Version: 1.97-1
Severity: wishlist
Tags: patch
Imagine following situation: I will do
$ ifup eth0=home
then I will hibernate my laptop. Network scriptlet from hibernate
package does:
ifdown eth0
ifup eth0
(i.e. ifup eth0=eth0).
Now I suppose I have more than one configuration in /etc/network/interfaces
* if I have there 'map' section, then ifup eth0 is probably ok as
the mapping script guesses what logical configuration use with given
interface.
* if I have no 'map' section, then I surely want to bring the device up
in state it was brought down. To achieve this, I added UpNoRemap option
to the network scriptlet. I use /etc/network/run/ifstate to get
actual configuration of given interface.
----Here is my patch---
--- /usr/share/hibernate/scriptlets.d/network 2007-10-22 15:06:52.000000000
+0200
+++ /etc/hibernate/scriptlets.d/network 2008-01-17 14:31:40.000000000 +0100
@@ -4,6 +4,7 @@
AddConfigHandler NetworkConfigOptions
AddConfigHelp "DownInterfaces auto|<ifname> [...]" "The names of network
interfaces to bring down before suspending. If the parameter \"auto\" is given,
all interfaces which are not lo are brought down."
AddConfigHelp "UpInterfaces auto|<ifname> [...]" "The names of network
interfaces to bring up after suspending. If the parameter \"auto\" is given,
the interfaces stopped before suspending will be started in reverse order."
+AddConfigHelp "UpNoRemap <boolean>" "Save mapping to logical interface for
'UpInterfaces auto'. (Works only if 'Distribution debian' is set."
NetworkStop() {
# If the script stops networking altogether, there's not much we can do.
@@ -73,6 +74,13 @@
upinterfaces)
NETWORK_UPIFS="$NETWORK_UPIFS $* "
;;
+ upnoremap)
+ if BoolIsOn "$opt" "$1"; then
+ NETWORK_NOREMAP=true
+ else
+ NETWORK_NOREMAP=false
+ fi
+ ;;
*)
return 1
esac
@@ -114,10 +122,16 @@
--startas /sbin/ifup --name "hibernate_ifup_$1" -- $*
}
network_ifdown() {
+ if [ "xtrue" != "x$NETWORK_NOREMAP" ]; then
+ _IFACE=$1
+ else
+ _IFACE=`egrep "^$1" /etc/network/run/ifstate`
+ if [ -z "$_IFACE" ]; then _IFACE=$1; fi
+ fi
STDERR="$(/sbin/ifdown $1 2>&1 1>/dev/null)" || return $?
case "$STDERR" in
"/sbin/ifdown: interface $1 not configured") :;;
- *) echo $1;;
+ *) echo $_IFACE;;
esac
}
;;
----End of patch---
-- Package-specific info:
--- configuration
==> /etc/hibernate/common.conf <==
Verbosity 0
LogFile /var/log/hibernate.log
LogVerbosity 3
Distribution debian
SaveClock restore-only
UnloadModules video
UnloadBlacklistedModules yes
LoadModules auto
DownInterfaces eth0
UpInterfaces auto
UpNoRemap yes
SwitchToTextMode yes
==> /etc/hibernate/disk.conf <==
TryMethod ususpend-disk.conf
TryMethod sysfs-disk.conf
==> /etc/hibernate/hibernate.conf <==
TryMethod suspend2.conf
TryMethod disk.conf
TryMethod ram.conf
==> /etc/hibernate/ram.conf <==
TryMethod ususpend-ram.conf
TryMethod sysfs-ram.conf
==> /etc/hibernate/suspend2.conf <==
UseSuspend2 yes
Reboot no
EnableEscape yes
DefaultConsoleLevel 1
Compressor lzf
Encryptor none
FullSpeedCPU yes
Include common.conf
==> /etc/hibernate/sysfs-disk.conf <==
UseSysfsPowerState disk
Include common.conf
==> /etc/hibernate/sysfs-ram.conf <==
UseSysfsPowerState mem
Include common.conf
==> /etc/hibernate/ususpend-both.conf <==
USuspendMethod both
Include common.conf
==> /etc/hibernate/ususpend-disk.conf <==
USuspendMethod disk
Include common.conf
==> /etc/hibernate/ususpend-ram.conf <==
USuspendMethod ram
Include common.conf
--- /sys/power
==> /sys/power/disk <==
[platform] test testproc shutdown reboot
==> /sys/power/image_size <==
427031674
==> /sys/power/resume <==
8:5
==> /sys/power/state <==
mem disk
--- log
Starting suspend at Thu Jan 17 14:29:01 CET 2008
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureUSuspendCapable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [60] Executing NetworkStop ...
Bringing down interface eth0
hibernate: [89] Executing SaveKernelModprobe ...
Saved /proc/sys/kernel/modprobe is /sbin/modprobe
hibernate: [90] Executing ModulesUnload ...
Unloading module video... Removing modules with rmmod.
hibernate: [91] Executing ModulesUnloadBlacklist ...
Unloading blacklisted modules listed /etc/hibernate/blacklisted-modules
Module version for ipw2100 is 66050
Module version for ipw2200 is 66050
Module version for snd_bt_sco is
Module version for ndiswrapper is 78592
hibernate: [95] Executing XHacksSuspendHook2 ...
xhacks: changing console from 7 to 15
hibernate: [98] Executing CheckRunlevel ...
hibernate: [99] Executing DoUSuspend ...
hibernate: Running /usr/sbin/s2disk ...
hibernate: [90] Executing ModulesLoad ...
Loading module video (from auto)...
hibernate: [89] Executing RestoreKernelModprobe ...
hibernate: [85] Executing XHacksResumeHook2 ...
xhacks: changing console back to 7
hibernate: [70] Executing ClockRestore ...
hibernate: [60] Executing NetworkStart ...
Bringing up interface eth0=eth0 (from auto)
hibernate: [59] Executing RemountXFSBootRW ...
hibernate: [11] Executing XHacksResumeHook1 ...
hibernate: [01] Executing NoteLastResume ...
hibernate: [01] Executing LockFilePut ...
Resumed at Thu Jan 17 14:29:38 CET 2008
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.23-1-686 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages hibernate depends on:
ii console-tools 1:0.2.3dbs-65 Linux console and font utilities
Versions of packages hibernate recommends:
ii dash 0.5.3-7 The Debian Almquist Shell
ii hdparm 7.7-1 tune hard disk parameters for high
ii uswsusp 0.3~cvs20060928-7 tools to use userspace software su
ii vbetool 1.0-1.1 run real-mode video BIOS code to a
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]