slashhome : Computer : Toshiba R500
Schreiben!   |  


Toshiba R500

root @ 26.03.2012
Mit Arch Linux, Stand 03-2012
  • S2R: Ja*
  • S2D: Nein (Schlaeft nicht ein)
  • Cpufreq: Ja
  • ACPI: Ja
  • PHC: Nein?**

  • Grafik: Ja
  • ext. Monitor: teilweise***
  • Displayhelligkeit: Ja, Tasten und per /sys

  • Wlan: Ja
  • Lan: Ja
  • Bluetooth: Ja
  • 3G: Ja (mit toshset****)
  • Killswitch: Ja, soft und hard

  • Sound: Ja
  • Multimediatasten: teilweise (toshiba-acpi Kernelmodul)*****

  • pcmcia: Ja
  • Cardreader: Ja

  • Lüftersteuerung: Nein (Quiet/performance über toshset erzielt keine Wirkung)
  • Docking Station: nicht getestet
  • Transflexives Display: Ja******
  • Fingerabdruckscanner: Ja, mit fprint

  • Verbrauch: ~10W (~7.2W transflexiv, spindown, killswitch) in Ruhe

* Nach ca. 8 kurz hintereinander erfolgten Suspend/Resume Zyklen stürtzte es ab. Im normalen betrieb bisher nicht.
** Das Kernelmodul lädt und nimmt pids an, es scheint aber keine Wirkung zu haben (selbst 0 0 0 läuft ohne Veränderung)
*** xrandr funktioniert wenn im BIOS die Automatik abgestellt wurde, toshset nimmt Änderungen, danach bleiben die Bildschirme aber dunkel.
**** Ein Kommandozeilentoll, steuert den Toshiba PIC (toshset)
***** Einige Tasten erzeugen keine Events, die beiden kleinen Extratasten oben rechts werden als eine Multimediataste behandelt.
****** Backlights aus mit toshset (Kernelpatch nötig), funktioniert aber auch mit BL an.

handler.sh

0mark @ 05.04.2012
Das Toshiba schickt leider für viele ACPI Tasten immer zwei Events kurz hintereinander. Besonders doof ist das freilich beim Suspend, let sich das dumme Ding doch sofort nach dem Einschlafen erneut zu einem kleinen Nickerchen nieder.
Ich entprelle darum die Tasten auf etwas ruppige Art und weise. Jeder Event wird in eine Datei geschrieben, zusammen mit einem Timestamp. Tritt dasselbe Event innerhalb von 400ms erneut auf wird es abgelent. Fürs Suspend reicht das alleine freilich nicht aus, darum wird beim ersten Event eine Marke in die Datei geschrieben, und erst beim zweiten legt sich das Notebook tatsächlich schlafen. Diese Methode scheint zwar eleganter zu sein, würde aber erfordern das ich nachsehe welche Tasten genau zum prellen neigen, worauf ich keinen Nerv habe.

#!/bin/sh
# Default acpi script that takes an entry for all actions

# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to
# modify it to not use /sys

BFILE="/var/run/lastacpievent"
B2FILE="/var/run/lastacmode"

function susprep {
for A in $(ls /media/); do pumount $A; done;
#/etc/rc.d/net-auto-wired stop
#/etc/rc.d/net-auto-wireless stop
netcfg -a
#rmmod ipw2200
sync
}

function suspres {
#modprobe ipw2200
#/etc/rc.d/net-auto-wired start
#/etc/rc.d/net-auto-wireless start
#if [ -f /sys/devices/platform/smapi/BAT0/start_charge_thresh ]; then
# echo 50 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
# echo 90 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
#fi
#if [ -f /sys/devices/platform/smapi/BAT2/start_charge_thresh ]; then
# echo 50 > /sys/devices/platform/smapi/BAT2/start_charge_thresh
# echo 90 > /sys/devices/platform/smapi/BAT2/stop_charge_thresh
#fi
logger up
}

set $*
case "$1" in
ac_adapter)
case "$2" in
AC|ACAD|ADP0)
#source $B2FILE
#logger "$LMODE $4";
#if [ "$LMODE" == "$B4" ]; then logger "BLUB"; exit; fi
#echo "LMODE="$4"" > $B2FILE
case "$4" in
00000000)
#echo -n $minspeed >$setspeed
/etc/laptop-mode/laptop-mode start
;;
00000001)
#echo -n $maxspeed >$setspeed
/etc/laptop-mode/laptop-mode stop
;;
esac
;;
*) logger "ACPI ac action undefined: $2" ;;
esac
;;
battery)
case "$2" in
BAT0)
logger "ACPI BAT0 event"
case "$4" in
00000000)
#echo "offline" >/dev/tty5
;;
00000001)
#echo "online" >/dev/tty5
#echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
#echo 90 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
;;
esac
;;
CPU0) logger "ACPI CPU0 event" ;;
PNP0C0A:00) ;;
*) logger "ACPI battery action undefined: $2" ;;
esac
;;
video/*)
ADATE=$(date +%s%N)
source $BFILE
DELTA=$(($ADATE-$LASTCOMMANDTIME))
if [ $DELTA -lt 40000000 -a "$LASTCOMMAND" == "$1 $2" ]; then logger "Two fast ($LASTCOMMAND -- $1 $2)"; exit; fi
echo "LASTCOMMAND="$1 $2"" > $BFILE
echo "LASTCOMMANDTIME=$ADATE" >> $BFILE
case "$2" in
VMOD) autorandr -c ;;
BRTDN) logger "Brightnes down Button pressed: $2" ;;
BRTUP) logger "Brightnes up Button pressed: $2" ;;
*) logger "ACPI video action undefined: $2" ;;
esac
;;
button/*)
ADATE=$(date +%s%N)
FIRST=1
if [ ! "$2" == "VOLUP" -a ! "$2" == "VOLDN" -a -f /var/run/lastacpievent ]; then
source $BFILE
DELTA=$(($ADATE-$LASTCOMMANDTIME))
if [ $DELTA -lt 40000000 -a "$LASTCOMMAND" == "$1 $2" ]; then logger "Two fast ($LASTCOMMAND -- $1 $2)"; exit; fi
fi
echo -e "LASTCOMMAND="$1 $2"nLASTCOMMANDTIME=$ADATE" > $BFILE
case "$2" in
PBTN|PWRF) logger "PowerButton pressed ($1, $2)" ;;
SLPB|SBTN) logger "Sleep Button pressed ($1, $2)"
if [ "$SECOND" == "true" ]; then exit; fi;
echo "SECOND="true"" >> $BFILE
thinkalert 3 100000
susprep
echo -n mem >/sys/power/state
suspres
;;
SUSP) logger "Suspend Button pressed ($1, $2)"
if [ $FIRST -eq 1 ]; then exit; fi;
thinkalert 3 100000
susprep
echo -n disk >/sys/power/state
suspres
;;
MUTE) logger "Mute Button pressed ($1, $2)" ;;
BAT) logger "Battery Button pressed ($1, $2)" ;;
WLAN) logger "Killswitch Button pressed ($1, $2)" ;;
PROG1) logger "Prog1 (touchpad off) Button pressed ($1, $2)" ;;
SCRNLCK) logger "Screen lock Button pressed ($1, $2)" ;;
LID) logger "Lid Button pressed ($1, $2)" ;;
VOLUP) amixer sset Master 1+; logger "vol +" ;;
VOLDN) amixer sset Master 1-; logger "vol -" ;;

#F24) logger "F24 / Eject Button pressed ($1, $2)" ;;
#ZOOM) logger "Zoom Button pressed ($1, $2)" ;;
*) logger "ACPI button action undefined: $1, $2" ;;
esac
;;
*)
logger "ACPI group/action undefined: $1 / $2"
;;
esac
Schreiben!   |  


@

(Optional) Email: , Homepage:
Hailicht Wurzel Blog
Fill in: 2a3b
Upload:
Hilfe *** NEU und mit extra GLITTER! *** (kalick!)
Hailicht => Beitrag auf die Startseite bringen
Wurzel => Beitrag startet einen neuen Thread (zz nur valide wenn Parent den Blog Status hat)
Blog => Beitrag Spawnd ein neues Blog

[wiki:WORD] => Spawnd einen Wiki Einstiegspunkt zum Thema WORD (WIP)

.*TEXT,* => TEXT
./TEXT,/ => TEXT
.~TEXT,~ => TEXT

[box:STYLE]TEXT[/box] =>
STYLE=code
STYLE=grey
STYLE=small
STYLE=ascii -- -
[cite]TEXT[/cite] => TEXT
[table]TEXT.#TEXT,#TEXT.#TEXT[/table] =>
Tabelle mit.# => neue Zelle
,# => neue Zeile
[!] => In Übersichten hier schneiden
[img:SRC:ALT] => Bild
[lnk:HREF:TEXT] => Link ([lnk:HREF:[img:SRC:ALT]] geht)
[frm:WIDTH:HEIGHT:OVERFLOW:SOURCE] => Iframe
[youtube:WIDTH:HEIGHT:SOURCE] => Youtube Video
[vimeo:WIDTH:HEIGHT:SOURCE] => Vimeo Video
[video:WIDTH:HEIGHT:SOURCE] => FLV Player
[jamendo:SOURCE] => Jamendo Album
[ccimg:TITLE:URL:AUTHOR] => CC Tag für Bilder
[code:LANGUAGE]CODE[/code] => Syntax highlighting für CODE in der Sprache LANGUGE
[plugin:NAME:DINGE] => Plugin NAME mit Parameter DINGE.
[plugin:rndquote:QUOTE\nQUOTE\n...] Zufallszitate
[plugin:idlerpg:NICK] Status des German-Bash-Org Idle-RPG
[plugin:highlightfile:FILE] Stellt FILE mit Syntax highlighting dar.
[plugin:filez:$eid] Zeigt zu einem Beitrag hochgeladene Dateien an.
[plugout:NAME]DINGE[/PLUGOUT] => Plugout NAME mit Parameter DINGE.
rndquote: Zufallszitate mit Zitator (Liste mit Trenner: -- Zitierender)
Suche:
Beiträge:
0mark @ 2017-10-02
Die Streuner - Sturmesnacht
0mark @ 2017-08-23
Socke, rot!
0mark @ 2016-09-28
* Garfunkel - Bright Eyes
0mark @ 2015-12-07
3Wahl - So wie ihr seid
0mark @ 2015-09-02
Double Jolt
Kommentare:
0mark @ 2018-04-24
Ich glaube mit ...
0mark @ 2018-04-24
Keine "frühen ...
0mark @ 2018-04-24
Inzwischen hab ...
0mark @ 2018-04-23
Ah, und es gibt...
0mark @ 2018-04-23
Siehste mal. De...
30077 hits
Nick:   Passwort:  
Oder lege dir einfach einen neuen Account an!