Dev

Android-Debugging unter Fedora

Eine schöne Sache an der Android-Plattform ist, dass man auch unter Linux Apps entwickeln kann. Java und die Entwicklungsumgebung Eclipse steht als fertiges Paket zur Verfügung, und bei Google können die Entwicklertools kostenlos heruntergeladen werden.

Das Testen erfolgt entweder über einen Emulator, oder man geht gleich ans Eingemachte und testet seine Anwendung auf echter Hardware. Bevor das möglich ist, muss Fedora das Smartphone bekannt gemacht werden. Dazu wird mit Root-Rechten die Datei /etc/udev/rules.d/51-android.rules angelegt und mit folgendem Inhalt versehen:

SUBSYSTEM=="usb",SYSFS{idVendor}=="0bb4",SYMLINK+="android_adb",MODE="0666"

Unter idVendor wird die jeweilige Hersteller-ID des Smartphone-Herstellers eingetragen. Eine Tabelle der Vendor IDs gibt es ebenfalls bei Google. Wenn mehrere Smartphones verschiedener Hersteller zum Einsatz kommen, können entsprechend weitere Zeilen ergänzt werden.

Als nächstes muss auf dem Android-Phone das USB-Debugging aktiviert werden. Den Menüpunkt findet man unter EinstellungenAnwendungenEntwicklungUSB-Debugging aktivieren.

Wenn man nun seinen Androiden per USB anstöpselt und in dem Android-SDK das Kommando

platform-tools/adb devices

aufruft, sollte das Smartphone aufgelistet werden. Es steht dann als Zielplattform für die Entwicklung zur Verfügung.

Fedorablog-Artikel sind zurück

Soeben habe ich die wichtigsten Artikel aus dem früheren Fedorablog freigegeben. Sie sind (zusammen mit mittlerweile ein paar neuen Artikeln) unter der Kategorie Fedorado zu finden.

Der Fedorablog war ein von mir betriebener Blog, der sich auf Fedora-Linux spezialisiert hatte und auf fast vier Jahre Laufzeit zurückblicken konnte. Vor etwa anderthalb Jahren habe ich den Blog dann offline gestellt. Seitdem waren die Artikel nicht mehr verfügbar.

Eigentlich hatte ich geplant, sie schnellstmöglich in meinen privaten Blog, der shredzone, umzuziehen, aber die Arbeiten an der eigenen Blogsoftware dauerten dann doch wesentlich länger als erwartet. Wie auch immer: jetzt sind sie wieder da! 😀

Ich habe nicht alle Artikel aus dem alten Blog übernommen. Weggefallen sind im Wesentlichen veraltete Artikel, die inhaltlich mittlerweile keine Relevanz mehr haben (zum Beispiel waren das Ankündigungen zu früheren Fedora-Releases).

Viel Spaß beim Stöbern! Ich freue mich schon, jetzt auch wieder mehr über Fedora schreiben zu können, wenn auch nicht mehr in dem Umfang wie im früheren Fedorablog.

Lenovo ThinkPad X100e und Fedora 14

Nachdem die Installation von Fedora 13 auf dem Lenovo ThinkPad X100e nicht gerade besonders glatt lief, war ich sehr gespannt, wie sich Fedora 14 alias Laughlin auf dem System macht und welche Probleme zwischenzeitlich behoben wurden.

Schon beim ersten Start gab es eine positive Überraschung. Waren bei Fedora 13 noch Kernel-Optionen notwendig, um das System zu starten, fährt es nun bei Fedora 14 ohne Murren mit Plymouth hoch. Probleme gab es bei Fedora 13 außerdem mit der Steuerung der Hintergrundbeleuchtung und mit der Audioschnittstelle. Laughlin konnte auch hier punkten. Die Helligkeit lässt sich regeln, und endlich verstummen auch die eingebauten Lautsprecher, wenn man einen Kopfhörer anschließt. Das Suspend/Resume arbeitet nun ebenfalls einwandfrei, ohne dass ein Quirk notwendig ist. Das X100e geht problemlos schlafen und steht nach dem Aufwachen sofort wieder bereit.

Der für WLAN notwendige Treiber hat offenbar immer noch keinen Einzug in den Kernel erhalten, so dass es bei Fedora 14 weiterhin notwendig ist, den Treiberquelltext von Realtek herunterzuladen und selbst zu kompilieren. Hoffen wir, dass diese Schritte mit Fedora 15 der Vergangenheit angehören werden.

Eine Überraschung war, dass das Touchpad nun auch Multitouch unterstützt. Nach Installation des Pakets @gpointing-device-settings@ konnten die entsprechenden Optionen ausgewählt werden, um zum Beispiel zum Scrollen mit zwei Fingern über das Touchpad zu wischen.

Vom fehlenden WLAN-Treiber abgesehen, zeigt sich Fedora 14 auf dem X100e von seiner besten Seite. Es macht richtig Spaß, mit dem Netbook zu arbeiten.

Lenovo ThinkPad X100e und Fedora 13 - Teil 4

Willkommen zum ungeplanten vierten Teil des Dreiteilers, wie man Fedora auf dem Lenovo ThinkPad X100e installiert. 😁

Ich beschreibe diesmal, wie man mit laptop-mode-tools weitere Stromsparmaßnahmen vornimmt, um noch ein wenig mehr Laufzeit aus dem Akku herauszukitzeln.

Ein nicht zu unterschätzender Energiefresser ist die Festplatte. Im Batteriebetrieb lohnt es sich, den Motor der Festplatte so lange wie möglich zu stoppen. Festplatten, die in Notebooks verbaut werden, sind für diesen Einsatz optimiert. Sie lassen sich weitaus öfter und schneller starten als ihre großen Brüder im PC.

Wer allerdings schon mal versucht hat, mit hdparm die Festplatte nach einigen Minuten automatisch schlafen zu legen, wird festgestellt haben, dass bei Linux der Schlummer von kurzer Dauer ist. Schon nach wenigen Sekunden fährt die Festplatte wieder hoch. Grund sind verschiedene Dienste, die ständig auf die Festplatte zugreifen.

Hier hilft ein kleines Tool namens laptop-mode-tools. Es erkennt, wenn das Notebook im Batteriebetrieb arbeitet, und passt verschiedene Parameter an, um den Energieverbrauch zu senken. Zum Beispiel werden Daten, die auf die Festplatte geschrieben werden sollen, erst einmal gesammelt und dann gebündelt nach spätestens zehn Minuten auf die Platte gebracht. Der Nachteil liegt auf der Hand: Stürzt das System aus irgendeinem Grund ab, sind bis zu zehn Minuten Arbeit weg.

In den gängigen Fedora-Repositories ist das Paket nicht vorhanden. Glücklicherweise bietet die Projekt-Website Pakete für Fedora an, die sich leicht installieren lassen:

yum localinstall --nogpgcheck \
  http://samwel.tk/laptop_mode/tools/downloads/rpm/laptop-mode-tools-1.45-1.noarch.rpm

Die Default-Konfiguration lässt sich auf dem X100e ohne Änderungen einsetzen. Mit einem kleinen Zusatzscript kann die Festplatte außerdem bei Batteriebetrieb zu weiteren, internen Stromsparmaßnamen überredet werden. Dazu legt man die Datei /etc/laptop-mode/batt-start/hdparm.sh mit Execute-Rechten und folgendem Inhalt an:

#!/bin/bash
if [ "$1" = "start" ]; then
  hdparm -q -B1 /dev/sda
else
  hdparm -q -B128 /dev/sda
fi

Jetzt brauchen wir den Dienst nur noch zu aktivieren:

service laptop-mode start
chkconfig laptop-mode on

Fertig. Wenn alles gut gegangen ist, kann man nun hören, wie die Festplatte im Batteriebetrieb gelegentlich schlafen geht und wieder aufwacht.

Um eine wichtige Arbeit zwischendurch auf die Festplatte zu sichern, kann das Kommando sync aufgerufen werden. Die Festplatte fährt dann sogleich hoch und alle angesammelten Änderungen werden gespeichert.

Lenovo ThinkPad X100e und Fedora 13 - Teil 3

Im vorherigen Teil wurde beschrieben, wie Fedora 13 auf dem ThinkPad X100e installiert und die Hardware fast komplett unterstützt wird. In diesem letzten Teil werde ich nun noch etwas Feinschliff am System anlegen.

Feststelltasten-Applet

Das Netbook hat keine LED, um den Status der Feststelltasten anzuzeigen. Hierfür kann das lock-keys-applet für Gnome installiert werden: yum install lock-keys-applet. Dieses zeigt auf dem Gnome-Panel den Zustand der Hochstelltaste (“Caps Lock”), Numlocktaste und Rollentaste an. Da das X100e keinen separaten Nummernblock besitzt (und die Rollentaste schon lange keine Funktion mehr hat), können in den Einstellungen des Feststelltasten-Applets bis auf die Hochstelltaste alle Anzeigen deaktiviert werden.

Touchpad- und Trackpoint-Einstellungen

Nach dem Installieren des Paketes gpointing-device-settings (als Root yum install gpointing-device-settings ausführen) können mit dem Aufruf des gleichnamigen Kommandos das Touchpad und das Trackpoint eingestellt werden. Das Touchpad scheint nicht Multitouch-fähig zu sein, obwohl eine solche Konfiguration angeboten wird. Gesten wie das Rollen mit zwei Fingern wurden bei einem kurzen Test nicht erkannt.

Energiesparen durch Undervolting

Wie schon erwähnt, ist der verbaute AMD Athlon Neo-Prozessor die Achillesferse des X100e, da sein Stromhunger an der Akkulaufzeit zehrt und unnötig viel Abwärme erzeugt. Lindern kann man das Problem durch Undervolting. Hierbei wird die Kernspannung so weit abgesenkt, dass der Prozessor gerade noch zuverlässig funktioniert. Durch die geringere Spannung sinkt der Energieverbrauch und damit die erzeugte Abwärme. Andererseits besteht die Gefahr, dass das System einfriert oder (schlimmer) der Prozessor sich unbemerkt verrechnet.

Undervolting verändert im Gegensatz zu Overclocking nicht die Rechenleistung des Systems, und ist dadurch verhältnismäßig ungefährlich. Eine zu hohe Spannung kann allerdings den Prozessor dauerhaft beschädigen. Die folgenden Schritte sollten also nur von jemandem ausgeführt werden, der genau verstanden hat, was er da macht. Notwendig ist Undervolting jedenfalls nicht, das X100e funktioniert schon so gut genug.

Beim Athlon Neo handelt es sich um einen K8-Prozessor, welcher von cpupowerd unterstützt wird. In den typischen Fedora-Repositories gibt es leider kein fertiges Paket, so dass man es selbst bauen muss.

Da cpupowerd sich mit um die lastabhängige Taktung des Prozessors kümmert, muss der üblicherweise zu dem Zweck verwendete Daemon cpuspeed erst einmal abgeschaltet werden:

chkconfig cpuspeed off
service cpuspeed stop

Als nächstes wird eine Konfigurationsdatei mit den Originalwerten angelegt: cpupowerd -a /etc/cpupowerd.conf

Jetzt kommt der etwas problematische Teil. Für die beiden verfügbaren Taktstufen des Athlon Neo müssen die Spannungen gefunden werden, unter denen der Prozessor gerade noch zuverlässig arbeitet. Die folgenden Schritte führen sehr wahrscheinlich zum Absturz des Systems. Es empfiehlt sich also, erst einmal alles zu speichern und noch offene Programme zu schließen.

Mit dem Kommando cpupowerd -F "0|1600" wird zunächst die hohe Taktstufe (1,6 GHz) ausgewählt. Mit dem Kommando cpupowerd -s wird der ursprüngliche Spannungswert (in der Zeile VID) ermittelt - dieser darf niemals überschritten werden. Anschließend wird die Spannung stufenweise um 0,05V oder 0,025V gesenkt. Mit cpupowerd -V "0|0.975" wird die Spannung zum Beispiel auf 0,975V abgesenkt. Wenn das System sich merkwürdig verhält oder sofort abstürzt, war die Spannung zu gering. Läuft das System weiter, sollte zum Beispiel mit einem Benchmark-Programm das System belastet werden, um sicherzustellen, dass sich der Prozessor nicht verrechnet. Mit cpupowerd -s kann die korrekte Taktstufe und die gewählte Spannung verifiziert werden. So tastet man sich an die Minimalspannung heran, unter der das System noch stabil läuft.

Der gleiche Vorgang wird mit der niedrigen Taktstufe (800 MHz), die man mittels cpupowerd -F "0|800" erreicht, wiederholt. Das Ergebnis ist für beide Taktstufen jeweils ein Spannungswert. Dieser hängt von Fertigungstoleranzen bei der Herstellung der CPU ab, jeder muss also die individuelle Untergrenze seiner CPU selbst ausloten.

Die beiden Spannungswerte werden in die /etc/cpupowerd.conf an entsprechende Stelle eingetragen, und der cpupowerd-Daemon wird gestartet.

chkconfig cpupowerd on
service cpupowerd start

Er kümmert sich von nun an um die lastabhängige Taktung der CPU. Andere Tools sollten nicht mehr verwendet werden.

Es ist jetzt immer noch möglich, dass das System sich fehlerhaft verhält oder abstürzt, zum Beispiel in einer wärmeren Umgebung. In dem Fall sollten die Spannungswerte in der /etc/cpupowerd.conf wieder etwas angehoben werden (allerdings nie über die ursprünglichen Maximalwerte hinaus).

Wunderwerke sollte man vom Undervolting nicht erwarten, das Ergebnis kann sich trotzdem sehen lassen. Bei meinem X100e sank die CPU-Temperatur im Leerlauf von 50°C auf 47°C, während sich die Akkulaufzeit um etwa 30 Minuten verlängerte. Auch die Gehäuseunterseite fühlt sich subjektiv kühler an.

Lüftersteuerung

Normalerweise übernimmt ein Embedded Controller im ThinkPad die Regelung des Lüfters unabhängig vom Betriebssystem. Der Lüfter arbeitet immer in einer Drehzahl, die Lenovo für sicher hält. Wem diese Vorgabe zu konservativ ist, kann mittels entsprechender Userland-Tools selbst die Drehzahl des Lüfters steuern. Hierzu wird das thinkpad_acpi-Kernelmodul mit dem Parameter fan_control=1 aufgerufen. Anschließend kann mit einem Script die Drehzahl direkt gesteuert oder der Lüfter ganz angehalten werden.

Bei diesem Verfahren besteht die große Gefahr, dass der Prozessor überhitzt und beschädigt wird. Aus diesem Grund werde ich hier nicht weiter auf diese Funktionalität eingehen, sondern nur erwähnen, dass sie beim X100e möglich ist.

Fazit

Dieser letzte Teil zeigt, dass die Möglichkeiten des ThinkPad X100e nach der Grundinstallation von Linux noch nicht erschöpft sind. Nach diesem letzten Schliff haben wir ein Linux-System eingerichtet, das die Hardware fast vollkommen ausreizt. So erhält man für einen relativ geringen Preis ein gut aussehendes und leicht zu transportierendes Linux-Netbook, das für die meisten Office-Aufgaben schnell genug ist und viel Freude bereitet.