Hibernate / Schlafmodus

bsd4me

Well-Known Member
Hallo,

vielleicht hat jemand eine gute Idee: Hintergrund ist einfach diese DUMME Fn Taste links unten auf meine Lenovo R61 Laptop... Sobald ich die drücke, versetzt sich mein Laptop in den "Schlaf" - den ich nur selten wieder beenden kann. Muss also ausschalten und einschalten... Letztendlich will ich diese Funktionalität gar nicht haben / nutzen. Weiss jemand, wie ich das abschaten kann?

Vielen Dank für Tips - Norbert
 
startest du dein X ueber gdm, kdm, etc? Wenn ja probiert mal den Login manager auszuschaleten und dein X via den user direkt zu starten. Das Problem scheinen mehrere Lenovo Notbooks zu haben, das eigentlich Problem hab ich aber auch noch nicht gefunden.
 
das sind für gewöhnlich acpi -events, um die es da geht. Manchmal auch apm.
Wie die behandelt werden, ich kompliziert und ich habe es nicht voll verstanden. Yamagi hatte aber mal ein schönes Beispiel eines Scriptes hier veröffentlicht, mit dem er seinem Laptop alles nötige beigebracht hatte.

Grundsätzlich werden zahlreiche acpi-Variablen in den sysctl settings behandelt.
ein sysctl -ao | grep acpi zeigt schon etliches. Da kann grundsätzlichzum Beispiel entschieden werden, welcher Modus zum Beispiel genommen wird. Ich zeige mal einen Auszug:
Code:
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: NONE
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
Ich stelle mir vor, dass hier grundsätzlich der Sleep-Modus vollkommen verhindert werden kann und damit dein Problem umgangen wird.

Nicht schön, ok. Denn eigentlich willst du ja nur die Taste lahmlegen.

Für meinen Asus hatte ichmal eine /etc/devd.conf im Netz gefunden und zitiere mal daraus:
Code:
# User requested suspend, so perform preparation steps and then execute
# the actual suspend process.
notify 10 {
match "system"
"ACPI";
match "subsystem"
"Suspend";
action "/etc/rc.suspend acpi $notify";
};
notify 10 {
match "system"
"ACPI";
match "subsystem"
"Resume";
action "/etc/rc.resume acpi $notify";
};
# The next blocks enable volume
notify 0 {
match "system"
match "subsystem"
match "notify"
action
};
hotkeys that can be found on the Asus EeePC
"ACPI";
"ASUS-Eee";
"0x13";
"mixer 0";
notify 0 { "ACPI";
match "system" "ASUS-Eee";
match "subsystem" "0x14";
match "notify" "mixer vol -10";
action 
}; 
notify 0 { "ACPI";
match "system" "ASUS-Eee";
match "subsystem" "0x15";
match "notify" "mixer vol +10";
action 
}; 
/* EXAMPLES TO END OF FILE
# The following might be an example of something that a vendor might
# install if you were to add their device. This might reside in
# /usr/local/etc/devd/deqna.conf. A deqna is, in this hypothetical
# example, a pccard ethernet-like device. Students of history may
# know other devices by this name, and will get the in-jokes in this
# entry.
nomatch 10 {
match "bus" "pccard[0-9]+";
match "manufacturer" "0x1234";
match "product" "0x2323";
action "kldload if_deqna";
};
attach 10 {
device-name "deqna[0-9]+";
action "/etc/pccard_ether $device-name start";
};
detach 10 {
device-name "deqna[0-9]+";
action "/etc/pccard_ether $device-name stop";
};
#
#
#
#
#
Examples of notify hooks. A notify is a generic way for a kernel
subsystem to send event notification to userland.
Here are some examples of ACPI notify handlers. ACPI subsystems that
generate notifies include the AC adapter, power/sleep buttons,# control method batteries, lid switch, and thermal zones.
#
# Information returned is not always the same as the ACPI notify
# events. See the ACPI specification for more information about
# notifies. Here is the information returned for each subsystem:
#
# ACAD:
AC line state (0 is offline, 1 is online)
# Button:
Button pressed (0 for power, 1 for sleep)
# CMBAT:
ACPI battery events
# Lid:
Lid state (0 is closed, 1 is open)
# Suspend, Resume: Suspend and resume notification
# Thermal:
ACPI thermal zone events
#
# This example calls a script when the AC state changes, passing the
# notify value as the first argument. If the state is 0x00, it might
# call some sysctls to implement economy mode. If 0x01, it might set
# the mode to performance.
notify 10 {
match "system"
"ACPI";
match "subsystem"
"ACAD";
action
"/etc/acpi_ac $notify";
};
*/
Damit wurden die Funktionstasten des Asus nutzbar, ich zeige hier den Teil, der wohl mit Suspend und sleep zu tun hat.
Wie das genau wirkt und ob da noch andere Dienste und Einstellungen nötig waren, erinnere ich nun nicht, was natürlich auch bedeutet, dass ich das nie verstanden habe und mich nur durchgearbeitet hatte.

Sodann gibt es mit HAL und DBUS zahlreiche Möglichkeiten, Suspend und sleep-Verhalten über entsprechende Konfigurationsdateien zu bestimmen. Und nicht zu vergessen: manche Desktop-Environments wie etwa KDE bringen eigene Subsysteme mit oder können die Variablen direkt verändern.

Ziemlich unübersichtlich.

Schon bei den Grundlagen bin ich unsicher.
Früher hatte ich für derlei Funktionen APM nutzen können, nun soll ACPI dafür stehen. die /etc/apm.conf gibt es aber noch immer und es gibt auch noch entsprechende Programme und Dienste.
Also, bei mir herrscht da ein wenig Konfusion und vielleicht ist das hier eine schöne Gelegenheit, mal mehr Licht in die Sache zu bringen.
 
Hey, Ich danke Euch für die Antworten, insbesondere @pit234a :-) Da muss ich mich dann wohl allein irgendwie durchwühlen...

Euch einen schönen Tag! Norbert

PS: Oh menno, muss das immer so kompliziert sein?? NIcht genug, dass ich (als Admin an einem Lehrstuhl) mich noch mit Solaris "herumplage" und nun konzipiere und teste, endlich FreeBSD zu etablieren. Oracle ist halt nicht, was Sun mal war... Z.B. die letzte Ersatzlieferung zu 3 defekten Festplatten dauerte 5 (!) Wochen und dann waren die auch noch in einem falschen "Käfig" geliefert worden...
 
Oracle ist halt nicht, was Sun mal war... Z.B. die letzte Ersatzlieferung zu 3 defekten Festplatten dauerte 5 (!) Wochen und dann waren die auch noch in einem falschen "Käfig" geliefert worden...

Aus diesem und anderen Gründen sind die Sun X Server bei uns Auslaufmodelle und werden durch einen anderen Hersteller ersetzt ;)
 
Und uns kann Oracle nicht mal SFP-Module liefern, weil "in ganz Deutschland" keine zu bekommen sind. Saftladen!
 
@Lord_x: Danke, den URL sollte ich mal an unseren IT-Dienstleister weiterleiten, der die Dinger von Oracle beschaffen sollte. ;)
 
wenn du ein schnelles Experiment wagen möchtest und nicht erst großartig lesen willst, mach doch mal einfach

# sysctl hw.acpi.sleep_button_state=NONE

und siehe, was passiert.

Gefällt das Ergebnis? Dann ab damit in die syctl.conf und du brauchst dich erst mal nicht weiter vor deiner Taste zu fürchten.
Wäre doch schön, wenn es damit schon getan wäre, oder wenigstens einen gewissen Erfolg brächte.
 
Danke - ich habe es probiert - aber leider musste ich meinen Laptop wie gewohnt aus- und einschalten... :-(

LG Norbert
 
Danke - ich habe es probiert - aber leider musste ich meinen Laptop wie gewohnt aus- und einschalten... :-(

LG Norbert

hattest du es es mal ohne xdm und co probiert, wie ich oben gefragt hatte? Oder verwendest du kein X Login?
 
Bei mir ist das eine ganz normales Tastaturereignis und meine Windowmanager (e17) schnappt das auf und leitet susepnd ein.

Geh' mal auf die Konsole und drücke die Taste dort.

Wenn da nichts passiert ist es kein ACPI Ereignis.
 
Bei mir ist das eine ganz normales Tastaturereignis und meine Windowmanager (e17) schnappt das auf und leitet susepnd ein.

Geh' mal auf die Konsole und drücke die Taste dort.

Wenn da nichts passiert ist es kein ACPI Ereignis.

Und weil die Änderung des syctl-Wertes erfolglos war, wird das fast mit Sicherheit so sein.
Bei meinem Asus handelt es sich um eine Sondertaste außerhalb einer normalen Tastatur und die wirkt auch von der Konsole aus.
Das ist also dort anders gelöst, als es bei Kamikaze der Fall ist und es sich wahrscheinlich bei dir auch erweisen wird.
 
Man kann bei den meisten Thinkpads entscheiden, ob die Sondertasten ACPI-Events auslösen sollen oder nicht. Schaue mal "man acpi_ibm", dort sind die Möglichkeiten gut erklärt.
 
Sehe ich mir gerade "man acpi_ibm" mal an. Scheint ja einiges hezugeben. Also dann mal los...

Nochmals Danke an all, die was gepostet haben :-) Nettes Völkchen hier...

LG Norbert


Man kann bei den meisten Thinkpads entscheiden, ob die Sondertasten ACPI-Events auslösen sollen oder nicht. Schaue mal "man acpi_ibm", dort sind die Möglichkeiten gut erklärt.
 
schade das du nicht auf meine frage geantwortet hast.

Ich hab zwei Thinkpads (t60 / t420), bei beiden ist der gleiche effekt. Log ich mich via GDM ein, brauch ich nur die FN Taste druecken und schon geht der Rechner in Suspend. Auf der Console oder wenn ich X via xinit starte passiert das nicht. Das passiert auch erst ab FreeBSD 9 mit 8.x hab ich den effekt noch nicht gesehen.
 
oh ja, sorry, das ich nicht geantwortet habe! Ich benutze PC-BSD und XFCE - jedefalls her auf meinem Arbeitslappie :-) Ich meine, schon ab PC-BSD 8.0 führte das Drücken der Fn Taste zu solchen Effekten... Was anderes als XFCE "nativ" zu betreiben habe ich hier noch nicht ausporbiert...

Und danke für Deinen Kommentar - vielleicht finden wir ja noch eine Lösung :-)
Norbert


schade das du nicht auf meine frage geantwortet hast.

Ich hab zwei Thinkpads (t60 / t420), bei beiden ist der gleiche effekt. Log ich mich via GDM ein, brauch ich nur die FN Taste druecken und schon geht der Rechner in Suspend. Auf der Console oder wenn ich X via xinit starte passiert das nicht. Das passiert auch erst ab FreeBSD 9 mit 8.x hab ich den effekt noch nicht gesehen.
 
Back
Top