Journal

Archiv für die Kategorie „Gadgets“

WebOS FOSDEM schedule app for 2012 submitted to HP

Today I submitted the 2012 update for the FOSDEM (Free and Open source Software Developers’ European Meeting) schedule app for WebOS. This year the FOSDEM is taking place on February 4th and 5th in Brussels. You can find it the updated version in the official HP App Catalog sometime next week after it was reviewed by HP – or you can already download the *.ipk package (linked here). Like 2010 and 2011, it’s mainly an application for planning your FOSDEM visit and have a handy offline-working list of the schedule on your WebOS device.

There are several enhancements, as every year. Finally all event details are shown in an own “scene” instead of the drawer view. This makes the list view more snappy and helps for a better structure. As last year, there are room maps for most of the rooms (sadly some are missing because there aren’t available at the FOSDEM website).

The application is released as free and open source software under the GPL v3. You can find the source code, GIT repository, bug tracker, the .ipk package and more at forge.webpresso.net.

As always feel free to share ideas, improvements and bug reports. Just leave a comment or use the bug tracker (registration and manual activation is required to avoid spam – and trust me, there are many spammers…).

Samsung Galaxy Nexus auf Original-Firmware ITL41F flashen

Ich bin seit ein paar Tagen stolzer Besitzer eines Samsung Galaxy Nexus mit dem neuen Android 4.0 (ICS). Leider war die Geduld nicht groß genug und ich habe am ersten Tag der Verfügbarkeit in Deutschland die Gelegenheit im Saturn-Markt ergriffen. Das Problem: die erste Charge von Saturn / Media Markt wurde wohl von Samsung eilig vor der Deutschen Markteinführung mit einem eigenen Build (ITL41F.I9250XWKK8) geflasht, in dem das Lautstärke-Problem bereits behoben ist. Dieser Build weicht vom offiziellen Google-Build (ITL41F) ab – unter anderem sind die Google-Anwendungen wie Google Maps und Google+ nicht mit dem offiziellen Zertifikat von Google signiert. In der Praxis führt das dazu, dass das Update auf Google Maps 6.0 mit einer Fehlermeldung “Die Paketdatei war nicht richtig signiert.” abbricht. Für das Problem gibt es bereits ein Ticket im Android-Bugtracker. Da neuere Chargen aber alle mittlerweile den “offiziellen” Build haben und Samsung ein Update-Tool für Windows veröffentlicht hat, mit dem man den offiziellen Build unter Windows flashen kann, ist die Hoffnung gering, dass das Problem mittels OTA-Update behoben wird. Deshalb musste ich mich notgedrungen an die Arbeit machen, mein Galaxy Nexus unter Ubuntu auf das “Stock” image zu flashen, um den kaputten Samsung-Build loszuwerden.

Achtung: bei diesem Vorgang werden sämtliche Daten auf dem Gerät gelöscht! Sie müssen also vorher gesichert werden! Der Vorgang geschieht außerdem auf eigene Gefahr!

Ich hatte bereits das Android-SDK in meinem Home-Verzeichnis unter ~/bin/android-sdk-linux installiert und die Verzeichnisse tools und platform-tools dem PATH hinzugefügt (dies wird u.a. auch in dieser Anleitung erklärt). Das SDK bringt leider nicht das Tool fastboot mit, das zum Flashen des originalen Android-Images notwendig ist. Die Binaries von Fastboot und ADB (letzteres ist aber auch im SDK enthalten) können über den zuvor genannten Link heruntergeladen werden. Ich habe einfach die fastboot-Binary in mein “platform-tools”-Verzeichnis im SDK-Ordner entpackt und die adb-Binary aus dem aktuellen SDK verwendet.

Nun muss das offizielle Image von Google heruntergeladen und entpackt werden. Wichtig: hier die Version “4.0.1 (ITL41F)” verwenden – denn in dieser ist der Lautstärke-Bug behoben. In diesem Verzeichnis sind Bootloader-, Baseband- und ein Android-Image sowie ein Shell-Skript zum Flashen enthalten.

Die weitere Prozedur kann auch in diesem Beitrag nachvollzogen werden: Bei den betroffenen Geräten ist der Bootloader bereits entsperrt (was an einem offenen Schloss beim Booten unterhalb des Google-Logos zu sehen ist). Um im Bootloader-Modus zu starten, muss das Gerät ausgeschaltet werden, anschließend Volume-Up- und Down-Regler gedrückt halten und das Gerät bei gedrückten Tasten einschalten. Das Gerät startet mit einem grünen Androiden im Bootloader-Modus. Daraufhin das Gerät per USB an den PC anschließen.

Um festzustellen, ob fastboot das Gerät erkennt, reicht ein fastboot devices auf der Konsole. Wird es nicht erkannt, erfolgt keine Ausgabe – falls doch, folgt eine Ausgabe mit der Seriennummer des Geräts. Bei mir war es notwendig, fastboot mittels sudo aufzurufen – woraufhin fastboot nicht mehr im PATH war – also musste ich ganz ausführlich werden: sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot devices – dann wurde das Gerät angezeigt. Jetzt müssen eigentlich nur nacheinander die Befehle aus dem Shell-Skript im entpackten Ordner der Original Google-Images ausgeführt werden. Die Datei “flash-all.sh” kann man einfach in einem Texteditor öffnen und falls nötig die fastboot-Befehle anpassen. Original sieht die Datei so aus:

#!/bin/sh
 
# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
 
fastboot flash bootloader bootloader-maguro-primekj10.img
fastboot reboot-bootloader
sleep 5
fastboot flash radio radio-maguro-i9250xxkk1.img
fastboot reboot-bootloader
sleep 5
fastboot -w update image-yakju-itl41f.zip

Ich habe – wie erwähnt – einfach die Befehle einzeln ausgeführt und “fastboot” jeweils ersetzt, also nicht direkt das Shell-Skript verwendet. Ich bin also in den Ordner mit den Images gewechselt, habe einfach folgende Befehle nacheinander auf der Konsole ausgeführt und auf eine positive Bestätigung bzw. den Neustart des Geräts in den Bootloader abgewartet, damit entfallen die sleep-Zeilen aus dem Original-Shellscript.

cd /home/raphael/Downloads/yakju-itl41f # in den Ordner, in den die Images entpackt wurden, wechseln
sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot flash bootloader bootloader-maguro-primekj10.img
sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot reboot-bootloader
sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot flash radio radio-maguro-i9250xxkk1.img
sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot reboot-bootloader
sudo /home/raphael/bin/android-sdk-linux/platform-tools/fastboot -w update image-yakju-itl41f.zip

Das letzte Kommando – das Flashen des Systems – dauerte bei mir etwa zwei Minuten, Bootloader- und Baseband-Flashen dauerte nur wenige Sekungen. Danach startet das Gerät neu – mit dem richtigen Android-Build von Google! Nun beginnt die Arbeit, alles wieder neu einzurichten…

“Geotag-Logger”: Fotos geotaggen mit HP WebOS

Geo-Tagging bedeutet, Positionsdaten des Aufnahmeorts eines Digitalfotos als Metadaten in der Bilddatei mitzuspeichern. Das klingt zunächst sehr technisch, ermöglicht aber Foto-Anwendungen, interessante Funktionen bereitzustellen: beispielsweise die Anzeige der eigenen Fotos auf einer Weltkarte. Die Foto-Community Flickr zeigt, sofern die Funktion in den Einstellungen aktiviert ist, neben jedem Foto eine kleine Karte mit dem Aufnahmeort an. So weiß man auch später, an welchem Ort man ein Foto aufgenommen hat.

Moderne Smartphones versehen Fotos, die mit der integrierten Kamera aufgenommen wurden, auf Wunsch automatisch mit “Geo-Tags”. Will man jedoch beispielsweise Fotos, die man mit einer Spiegelreflexkamera (DSLR) aufgenommen hat, geotaggen, wird es etwas komplizierter. Die wenigsten Digitalkameras haben derzeit einen integrierten GPS-Sensor, über den sie die aktuelle Position abfragen könnten. Für diesen Einsatzzweck gibt es kleine Geräte – “Geo-Logger”, die man unterwegs zusätzlich zur Kamera mitnimmt. Diese Geräte zeichnen die Position auf und erlauben es später, entweder über eine externe Software am PC oder direkt durch das Einstecken der SDHC-Karte die Positionsdaten in die Fotos zu schreiben. Dabei wird die Aufnahme-Uhrzeit der Bilder mit der vom Geo-Logger aufgezeichneten Position zu dieser Uhrzeit verglichen.

Diese externen Geo-Logger haben aber zwei Nachteile: zum einen hat man ein zusätzliches Gerät, das man mit sich herumtragen muss und bei dem man auch ständig dafür sorgen muss, dass der Akku geladen ist. Zum anderen muss man Geld für ein Gerät ausgeben, obwohl man möglicherweise bereits Gadgets hat, die diese Aufgabe übernehmen könnten. Jedes moderne Smartphone besitzt einen GPS-Sensor und ist in der Lage, die eigene Position regelmäßig zu speichern.

Hier kommt für Benutzer des Smartphone-Betriebssystems HP/Palm WebOS die von mir geschriebene Anwendung “Geotag-Logger” ins Spiel, die im offiziellen HP App Catalog zu finden ist. Es existierten bereits einige Anwendungen, mit denen man die eigene Position tracken konnte – jedoch keine Anwendung, die wirklich gut für diesen Einsatzzweck geeignet war. Denn wenn man zu Fuß unterwegs ist und Fotos macht, braucht man nicht im Sekundentakt die eigene Position zu erfassen – größere Intervalle sorgen für einen deutlich geringeren Akku-Verbrauch und sollten dennoch ausreichend sein.

Mit “Geotag-Logger” für WebOS kann man entweder manuell das Speichern der aktuellen Position auslösen oder über einen automatischen Modus alle fünf Minuten die Position speichern lassen. Die erzeugten Daten können daraufhin im GPX-Format auf die USB-Partition gespeichert und von dort aus auf den PC übertragen werden. Am PC können dann mit Hilfe der GPX-Datei Positionsdaten in die Fotos geschrieben werden. Dazu können Open-Source-Anwendungen wie Geotag (Linux/Windows), GPicSync (Linux/Windows) oder GPSCorrelate (Linux) verwendet werden. Zum Taggen der Fotos existieren drei Artikel unter spiegel.de, awokenmind.de und schrenk.cc, die einen Überblick über das Vorgehen geben.

Wenn man sich unterwegs schon einmal vergewissern möchte, ob die Anwendung den eigenen Weg korrekt aufgezeichnet hat, kann man bereits zwischendurch schon einmal die Daten als GPX exportieren und die GPX-Datei anschließend mit dem kostenlos im App Catalog erhältlichen GPX Mapper öffnen. Die Anwendung zeichnet die gespeicherten Standortdaten auf eine Google-Maps-Karte.

Geotag-Logger benötigt mindestens WebOS 2.1, da die Anwendung zum Speichern der GPX-Datei auf der USB-Partition des Geräts einen Node.JS-Service verwendet – dieses Feature gibt es erst ab WebOS 2.x.

“Geotag-Logger” ist Freie Software, lizensiert unter der GPL v3. Das bedeutet, die Anwendung ist nicht nur kostenlos, sondern Sie dürfen sie außerdem an andere weitergeben, sich den Quellcode ansehen (für den Fall, dass Sie Softwareentwickler sind), den Quellcode Ihren Bedürfnissen anpassen und Ihre Anpassungen mit anderen teilen. Den Quellcode der Anwendung finden Sie im GIT-Repository der Projekt-Website (englisch).

Installation von Preware auf dem HP/Palm Pre 2 mit WebOS 2.1 unter Ubuntu

Es existiert von mir bereits eine ausführliche Anleitung zur Installation von Preware – einer Anwendung, mit der man weitere “Homebrew-Apps” einfach nachinstallieren kann. Die bisherige Anleitung ist allerdings für den “alten” Pre und unter WebOS bis Version 1.4.5.

Da ich nun stolzer Besitzer eines HP/Palm Pre 2 bin, auf dem mittlerweile WebOS 2.1 läuft, habe ich mich entschlossen, eine kurze Anleitung für Besitzer des Pre 2 bzw. WebOS 2.1 zu schreiben. Preware wird in diesem Artikel – im Gegensatz zur alten Anleitung – nicht über das Programm “WebOS Quick Install” installiert, sondern über die Kommandozeile. “WebOS Quick Install” ist offensichtlich noch nicht mit WebOS 2.1 kompatibel.

Auch für diese Anleitung gilt: Die Installation erfolgt auf eigene Gefahr! Dieser Artikel ist allerdings an die vielseits erprobte, englischsprachige Anleitung von webos-internals.org angelehnt.

Installationsschritte:

  1. Laut Anleitung im Palm Developer Center muss das aktuelle WebOS-SDK installiert werden. Dazu gehört insbesondere der Novacom-Treiber (palm-novacom_1.0.64_i386.deb für 32-bit-Systeme, palm-novacom_1.0.64_amd64.deb für 64-bit-Systeme) und das SDK-Paket. (Für aktuelle Pakete bitte immer über den Palm Developer Center herunterladen!) Die Installation kann z.B. über die Kommandozeile erfolgen (am Beispiel für 64-bit-Systeme):
    sudo dpkg -i --force-architecture palm-sdk_2.1.0-svn409992-pho519_i386.deb
    sudo dpkg -i --force-architecture palm-novacom_1.0.64_amd64.deb
  2. Über get.preware.org das aktuelle Preware-IPK-Paket herunterladen (mindestens die Version 1.5.0, z.B. entweder org.webosinternals.preware_1.5.0_arm.ipk für den Pre und org.webosinternals.preware_1.5.0_i686.ipk für den Emulator).
  3. Nun muss der Developer-Modus im Pre 2 aktiviert werden. In WebOS 2.1 funktioniert das nicht mehr mit dem aus WebOS 1.x bekannten Konami-Code, sondern über eine andere Tastenkombination. Auf dem Startbildschirm muss folgendes eingegeben werden: webos20090606 – dann erscheint wie gewohnt das blaue Icon, mit dem der Developer-Modus eingeschaltet werden kann. Eine angenehme Neuerung: das Gerät muss nicht, wie in älteren WebOS-Versionen, neugestartet werden!
  4. Das Gerät kann nun via USB an den PC angeschlossen werden – nicht im Massenspeicher-Modus, sondern “Nur aufladen” auswählen.
  5. Nun kann das Preware-IPK-Paket installiert werden. Mittels Konsole wechselt man in das Verzeichnis, in dem man das heruntergeladene Preware-Paket gespeichert hat, und benutzt das Kommando “palm-install”, um das IPK auf dem Gerät zu installieren:
    cd ~/Desktop
    palm-install org.webosinternals.preware_1.5.0_arm.ipk
  6. Preware ist nun installiert und kann benutzt werden. Am Besten gleich Preware öffnen und ggf. auf die aktuelle Version aktualisieren. Außerdem kann der Developer-Modus wieder deaktiviert werden.

Nun kann auch auf dem Pre 2 unter WebOS 2.1 die Vielzahl an “Homebrew-Apps” installiert werden!

WebOS FOSDEM schedule app for 2011 released

I submitted it to Palm yesterday, today it was reviewed and published: the FOSDEM (Free and Open source Software Developers’ European Meeting, taking place on February 5th and 6th in Brussels) schedule app for WebOS. You can install it on your WebOS device easily by following the link on your WebOS device or searching it in the official Palm App catalog. Like last year, it’s mainly an application for planning your FOSDEM visit and have a handy offline-working list of the schedule on your WebOS device.

The functionality has grown over the last version. You can now mark items as favorite and switch to the list of your favorites. This should make planning easier. You can also switch to a view with all events in the future – making it easy to see what talks are next. The search functionality is now improved. Also new is a “Feeds” function where you can have a look at FOSDEM website news as well as various identi.ca and Twitter channels. There are also two new maps included. The application is localized for English and German, but the schedule and feed items of course are all English.

Under the hood many parts of the code was rewritten and/or improved. There’s still room for improvement, but the performance should be now better and many bugs should be fixed.

The application is released as free and open source software under the GPL v3. You can find the source code, GIT repository, bug tracker, the .ipk package and more at forge.webpresso.net.

Always feel free to share ideas, improvements, bug reports and your opinion. Just leave a comment or use the bug tracker (sorry, but registration is required to avoid spam).