Linux auf X220

jochen02

New member
Themenstarter
Registriert
27 März 2014
Beiträge
132
Hallo,

ich habe gerade einen Thinkpad X220 erstanden und will darauf Linux (Ubuntu 12.04 LTS; KDE) betreiben.

Was bisher geht:
* Alle FN-... Tasten, die auf den Funktionstasten liegen, heller/dunkler, lauter/leiser, "Think Light".
* Lautsprecher, auch mute,
* Suspend to RAM
* Suspend/resume to RAM per Deckel auf/zu

Was bisher nicht geht bzw. stört:
* FN-Space (Zoom)
* Suspend to disk (v.a. resume)
* Mikrofon(e)
* Nach lid close / lid open wird bluetooth immer aktiviert

FN-Space
Nice to have, aber nicht lebenswichtig.

Suspend/Resume to/from disk
Das hätte ich wirklich gern funktionsfähig. Soweit ich mich eingelesen habe, nutze ich die user space Methode per uswsusp. Den Rat, der auf http://askubuntu.com/questions/132094/fix-hibernate-on-thinkpad-x60-with-12-04-precise-pangolin gegeben wird, habe ich schn versucht -- kein Erfolg.
Es exisitert 1 swap partition, die mit 16GB auch groß genug für 8GB RAM ist. Der suspend Prozess sieht auch gut aus und endet nach etwas Platten-Aktivität mit einem sauber abgeschalteten Thinkpad.

Resume allerdings bringt nur das auf den (Text-)Bildschirm:
Code:
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... resume: libgcrypt version: 1.5.0
Looking for splash system... none
Cannot open input directory: No such file or directory
resume: Compressed image
Loading image data pages (146101 pages)... 100% done
wrote 570.7 MB in 1.3 seconds (452.8 MB/s)
read 570.7 MB in 1.2 seconds (459.2 MB/s)
total image i/o: 1141.4 MB in 2.5 seconds (456.0 MB/s)
resume: Image successful loaded
Danach nichts mehr. Es geht zwar Ctrl-Alt-Del für einen reboot, aber beim Neustart wird ein Platten-Journal nachgefahren, was darauf hindeutet, daß eine Partition nicht sauber ausgehängt wurde.

Mikrofon(e)
Die finde ich im System einfach nicht. Es gibt zwar einen Aufnahme-Kanal der "Soundkarte", aber der sieht eher nach line in aus.

Nach lid close / lid open wird bluetooth immer aktiviert
Ich brauche normalerweise kein bluetooth. Deshalb habe ich es in /etc/rc.local schon deaktiviert. Sollte ich es brauchen, kann ich es mit FN-F5 immer noch einschalten.
Schließe ich allerdings den Deckel und öffne ihn wieder, wird bluetooth eingeschaltet. In /etc/acpi/local habe ich ein Script hinterlegt, das den Status von bluetooth in eine Datei sichert und ihn, wenn der Deckel geöffnet wird, wieder herstellt. Das Script funktioniert auch und scheint beim acpi event auch aufgerufen zu werden. Aber bluetooth wird trotzdem aktiviert. Sieht fast so aus, als liefe später (in KDE?) nochmal etwas, das meine Bemühungen zunichte macht.

Ich hoffe, hier kann mir jemand bei der Lösung der Probleme helfen. Danke schonmal dafür.
 
Was soll "Zoom" denn bewirken? Die Tastenkombination selbst sollte erkannt werden, allerdings hast du ihr noch keine Funktion zugewiesen.

Beim Bluetooth gibt es wohl keine elegante Lösung. Irgendein Dienst sorgt dafür, dass es automatisch angeschaltet wird. Stört dich das? Viel Strom sollte es ja nicht verbrauchen. Alternativ immer nur dann anschalten, wenn du es brauchst. Wenn du im Systray auf das Bluetooth-Icon klickst, solltest du das irgendwo abschalten können.

Du mutest das, was du gemutet haben möchtest. ;) Die LED wirst du aber wohl nicht ansteuern können, die macht halt irgendwas (ist ein bekanntes Problem beim X220).
 
Was soll "Zoom" denn bewirken? Die Tastenkombination selbst sollte erkannt werden, allerdings hast du ihr noch keine Funktion zugewiesen.
Sie wird leider nicht erkannt. Weder xev vermeldet etwas, noch ist sie in KDE zuzuordnen. Wenn sie geht, fällt mir schon eine Verwendung ein. ;-)

Beim Bluetooth gibt es wohl keine elegante Lösung. Irgendein Dienst sorgt dafür, dass es automatisch angeschaltet wird. Stört dich das? Viel Strom sollte es ja nicht verbrauchen. Alternativ immer nur dann anschalten, wenn du es brauchst. Wenn du im Systray auf das Bluetooth-Icon klickst, solltest du das irgendwo abschalten können.
Das geht natürlich. Es ist nur lästig, daß Bluetooth nach einem resume from disk grundsätzlich eingeschaltet wird -- unabhängig davon, wie der Status vor suspend to disk war.

Du mutest das, was du gemutet haben möchtest.
Idealerweise natürlich das Mikrofon. Ich habe jetzt alle Belegungen in meinem Posting #8 unter "Stumm.*" ausprobiert. Keine dieser Funktionen scheint das Mikrofon stillzulegen. Witzigerweise schaltet ein Klick auf das kleine muting Symbol sowohl das Mikrofon stumm, als auch die LED der Taste sinngemäß ein bzw. aus.
MikrofonStumm1.png
Läßt man des Mauspfeil auf dem Symbol ruhen, erscheint als Info: "Internes Audio Analog Stereo stumm/nicht stumm". Jetzt brauche ich nur noch eine Möglichkeit, das auf die Taste zu legen.
 
Zuletzt bearbeitet:
Zoom: acpi_listen liefert "button/zoom ZOOM 00000080 00000000". Dazu kannst Du dir in /etc/acpi/(event/) was schönes stricken.

BT: bau dir doch einfach ein Skript in /etc/pm/sleep.d/, das beim Resume ein rfkill block bluetooth absetzt. Beispiele reichlich in /usr/lib/pm-utils/sleep.d/

Mic Mute: wird derzeit (einschliesslich LED) weder vom Kernel noch vom User Space/Desktop gescheit unterstützt. Einfach mal nach dem Desaster googlen.
 
Zoom: acpi_listen liefert "button/zoom ZOOM 00000080 00000000". Dazu kannst Du dir in /etc/acpi/(event/) was schönes stricken.
Ich habe mal folgende Dinge getan:
* Mit acpi_listen habe ich herausgefunden, daß Fn-SPACE (Zoom) "ibm/hotkey HKEY 00000080 00001014" liefert.
* In /etc/acpi/events habe ich eine Datei thinkpad-zoom mit folgendem Inhalt angelegt:
Code:
event=ibm/hotkey HKEY 00000080 00001014
action=/etc/acpi/thinkpad-zoom.sh

* Das Script /etc/acpi/thinkpad-zoom.sh sieht so aus:
Code:
#!/bin/sh

#debug
echo "`date`: Zoom key pressed" >> /tmp/acpi.log

test -f /usr/share/acpi-support/key-constants || exit 0

. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_SHOP

Anschließend ein /etc/init.d/acpid restart

Die Tastenkombination wird erkannt, das Script wird ausgeführt. Das erkenne ich am passenden Log-Eintrag in /tmp/acpi.log. Allerdings wird laut xev kein Keycode $KEY_SHOP (in /usr/share/acpi-support/key-constants 221) ausgelöst. Was fehlt hier?

BT: bau dir doch einfach ein Skript in /etc/pm/sleep.d/, das beim Resume ein rfkill block bluetooth absetzt. Beispiele reichlich in /usr/lib/pm-utils/sleep.d/
Ich habe es noch etwas aufgebessert. Jetzt merkt er sich den Status und stellt die Einstellung beim resume wieder her.
Falls es interessant ist:
Code:
. "${PM_FUNCTIONS}"

command_exists pm-powersave || exit $NA

case $1 in
    suspend|hibernate)  cat /proc/acpi/ibm/bluetooth | awk '/status:/{print $2}' > /tmp/bluetooth.stat  ;;
    resume|thaw)        if [ -f /tmp/bluetooth.stat ]; then
                                STATUS=`cat /tmp/bluetooth.stat`
                        fi;
                        if [ $STATUS = "disabled" ]; then
                                rfkill block bluetooth
                        else
                                rfkill unblock bluetooth
                        fi
                        ;;
    *) exit $NA ;;
esac
exit 0


Mic Mute: wird derzeit (einschliesslich LED) weder vom Kernel noch vom User Space/Desktop gescheit unterstützt. Einfach mal nach dem Desaster googlen.
So schlimm ist es ja garnicht. Die LED folgt dem Zustand des Taskleisten-Applet. Die Mute-Taste sondert einen in KDE auswertbaren Tastencode ab. Jetzt brauche ich nur noch einen Weg, per Taste genau das auszulösen, was ein Klick auf das kleine "Mute"-Icon des Aufnahmegeräts von Kmix bewirkt.
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben