Vi für Anfänger

In letzter Zeit habe ich eine Menge Dateien auf meinem Freerunner angelegt. Da dies meist über SSH geschah und standardmäßig nur vi installiert ist, blieb mir keine andere Wahl als vi zu benutzen :)

Mit vi eine Datei anlegen
Um mit vi eine Datei anzulegen gibt man in der Konsole einfach vi ein.

Eine Zeile löschen
Hat man in vi etwas geschrieben und möchte eine Zeile entfernen so geht man auf die entsprechende Zeile drückt die Escapetaste gibt dd ein und bestätigt das ganze mit der Entertaste.

Das Dokument speichern und vi beenden
Möchte man das Dokument speichern so drückt man die Escapetaste und gibt anschließend :wq ein. Gibt man hier nur :w so wird das Dokument nur gespeichert.

vi beenden ohne zu Speichern
Möchte man vi beenden ohne das zur Zeit geöffnente Dokument zu speichern so gibt man :q! ein und schon beendet sich vi.

Ist doch ganz einfach oder? ;)

Monty wie funktioniert das?

Das ich grade dabei bin mir Python anzueignen damit ich ein paar Anwendungen für mein Freerunner schreiben kann, habe ich mir dazu ein wenig Dokumentation besorgt. Die möchte ich natürlich niemandem vorenthalten :)

http://wiki.python.de/ – Eine deutsche Python Wiki
http://www.python-forum.de/ – Ein Python Forum
http://abop-german.berlios.de/ – A Byte of Python
http://ada.rg16.asn-wien.ac.at/~python/how2think/ – Wie ein Informatiker denken lernen mit Python
http://starship.python.net/crew/gherman/publications/tut-de/tut-de-21.pdf – Deutsches Tutorial
http://www.galileocomputing.de/openbook/python/ – Galileo Openbook

Und hier noch ein Link von josch: http://xkcd.com/353/ :)

Viel Spaß damit :)

Der Openmoko Paketmanager Opkg

Der Openmoko Paketmanager Opkg basiert auf dem Paketmanager Ipkg und ist ein Fork desselben. Mit dem Paketmanager ist es möglich Pakete auf dem System zu installieren. Damit das funktioniert sollte das Gerät einen Netzzugang haben. Ob dieser Netzzugang über GPRS, WLAN oder über USB erfolgt ist dabei nebensächlich.

Zuerst einmal sollte man opkg update ausführen. Damit holt sich der Paketmanager eine neue Liste der Pakete sowie derer Abhängigkeiten.

Um mit dem Paketmanager eine Anwendung zu installieren gibt man folgendes ein:

opkg install (Paketname)
z.B. opkg install python

Möchte man ein Paket installieren welches man heruntergeladen hat so muss man folgendes eingeben:

opkg python.ipk

Um ein Paket zu entfernent ersetzt man das install durch ein remove. Ist man auf der Suche nach einem bestimmten Paket z.B. einem Paket in welchem der Name ecore auftaucht so muss man folgendes eingeben:

opkg list | grep ecore

Der Befehl opkg list listet das ganze auf und mittels grep wird dann jeder Eintrag herausgefiltert in welchem die Zeichenkette ecore vorkommt.

Möchte man einfach Schrittweise eine Liste der Pakete angezeigt bekommen so hilft folgendes:

opkg list | less

Weitere Informationen gibt es unter:
http://wiki.openmoko.org/wiki/Opkg
http://wiki.openmoko.org/wiki/Package_management

WLAN mit WPA2 auf dem Freerunner zum laufen bekommen

Zum Einrichten von WLAN benötigen wir erst einmal USB Networking, aber wie das funktioniert habe ich ja im letzten Artikel erklärt. Nachdem wir uns dann per SSH in das Freerunner eingeloggt haben erstellen wir zuerst die Datei /etc/wpa_supplicant/wpa_supplicant.conf. In diese Datei schreiben wir diesem Inhalt:

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1

# WPA2:
network={
ssid=“Unsere SSID“
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=TKIP CCMP
psk=“Der geheime Schlüssel“
priority=50
}

# Open:
network={
ssid=“Unsere SSID“
key_mgmt=NONE
priority=5
}

Damit das WLAN auch automatisch startet legen wir im nächsten Schritt die Datei /etc/init.d/wlan an. In diese Datei schreiben wir folgenen Inhalt:

#!/bin/sh
#
# wlan This shell script starts and stops wlan.
#
# processname: wlan

# Source function library.
#. /etc/rc.d/init.d/functions
# „written“ by HdR (very ugly)

RETVAL=0
prog=“wlan“

# test -f /etc/default/$prog && . /etc/default/$prog

start() {
echo -n „Starting $prog: “
ifconfig eth0 up
wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B
sleep 10
udhcpc eth0
RETVAL=$?
return $RETVAL
}

stop() {
# Stop daemons.
echo -n „Shutting down $prog: “
killall wpa_supplicant
ifconfig eth0 down
# killproc gpsd
RETVAL=$?
return $RETVAL
}

# See how we were called.
case „$1“ in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo „Usage: $0 {start|stop|restart}“
exit 1
esac

exit $RETVAL

Damit das Skript ausgeführt werden kann muss es als „Ausführbar“ gekennzeichnet werden. Dies bewerkstelligen wir mit chmod 755 /etc/init.d/wlan. Als nächstes erstellen wir die Datei /etc/rcS.d/S42wlan.sh und machen Sie ausführbar mit dem bekannten chmod 755 /etc/rcS.d/S42wlan.sh. Der Inhalt der Datei sollte wie folgt aussehen:

#!/bin/sh
/etc/init.d/wlan start &

Nun verbindet sich das Freerunner automatisch mit dem heimischen Netzwerk. Weitere Informationen gibt es unter http://wiki.openmoko.org/wiki/GTA02_wlan.

GPS auf dem Freerunner

GPS auf dem Freerunner ist eigentlich eine einfache Sache. Zuerst öffnet man die Datei /etc/default/gpsd und verändert GPS_DEV=“/dev/ttyS3″ in GPS_DEV=“/dev/ttySAC1 (falls die Datei nicht existiert sollte man sie einfach anlegen und GPS_DEV=“/dev/ttySAC1 hineinschreiben). Macht man das nicht, so startet der gpsd Daemon nicht. Jetzt kann man sich mittels opkg install openmoko-agpsui die passende Testanwendung installieren. Sobald AGPSUI gestartet hat drückt man auf Power On und wartet bis man den ersten Fix bekommt.

Leider gibt es mit dem Freerunner wohl einige Probleme mit der internen GPS Antenne. So kann ein Fix bis zu 20 Minuten dauern. Der Bugreport dazu befindet sich unter https://docs.openmoko.org/trac/ticket/1542. Auf der Mailingliste wurde außerdem verkündet das wir uns an Wolfgang von Openmoko wenden sollen.

Damit nicht jeder einen neuen Text schreibt, hier ein Mustertext:

Hello Wolfgang,

conforming to Steve’s mail on the „GPS“-topic (community list), here’s the data of my problematic GTA02:
S/N: Deine Seriennummer
P/N: Deine P/N
DATE CODE: Dein Datecode

Yours sincerely,

Dein Name

Die besagten Nummern befinden sich auf dem Aufkleber welcher sich unter dem Akku befindet. Die ganze Mail geht dann mit dem Betreff GPS issues with GTA02 an wolfgang@openmoko.com.

Mit einer externen Antenne sollen diese Probleme im übrigen nicht auftreten. Falls sich jemand eine Antenne kaufen möchte, es handelt sich um einen MMCX Anschluss am Neo.

Weitere Informationen zum GPS Bug unter http://wiki.openmoko.org/wiki/GPS_Problems.