pyPhonelog – laden mehrerer Instanzen verhindern

Thursday, 17. September 2009

wer shr-unstable bzw. mein image welches auf diesem basiert verwendet (link) hat sicherlich schon bemerkt dass “notifier” bei einem missed call auf klick den phonelog öffnet.. und zwar jedesmal einen neuen, selbst wenn dieser bereits offen ist..

da der phonelog seine tabellen refreshed wenn man zwischen diesen hin und her klickt ist aber ein langsamer neustart der applikation völlig zeitraubend und vorallem überflüssig!!  wie bekomm ich “phonelog” dazu sich nicht mehrmals zu starten? so zb.: —>

import os
from subprocess import Popen, PIPE

pids = Popen("/bin/ps -e x | /bin/grep /usr/bin/phonelog | /bin/grep -v grep | /bin/sed -e 's/.*bin.//'", shell=True, stdout=PIPE).communicate()[0].splitlines().count("phonelog")

if pids == 2:
 pidoflog = os.getpid()
 pidoflog = str(pidoflog)
 print "pyphonelog is already running!"
 os.system("kill " +pidoflog)

diesen code einfach ganz zu beginn der datei /usr/bin/phonelog einfügen .. das wars.. (vorsicht mit den indents.. da ist python happig)

eine version meiner “phonelog” datei gibt es hier : phonelog
diese datei müsste ausführbar gemacht und in das verzeichnis /usr/bin verschoben werden.

viel spass allen neo fans mit dem freien telefon!!

Freerunner-Image.jffs2 erstellen – How?

Wednesday, 17. June 2009

Zunächst muss man dafür sorgen, dass man auch das notwendige Werkzeug zum erstellen eines jffs2 Image installiert hat. Am PC gibt es für Kubuntu hier die mtd-utils (für folgende Anweisungen nicht zwingend notwendig) :

sudo apt-get install mtd-utils

Am NEO installiert man sich einmalig mkfs-jffs2:

opkg install mkfs-jffs2

Nun erstellt man am NEO das folgende Verzeichnis:

mkdir /var/tmp/root

und mounted das gesamte Filesystem in dieses:

mount -t jffs2 /dev/mtdblock6 /var/tmp/root

Mit folgender Zeile kann man in Folge bequem vom PC aus, dieses Verzeichnis in eine jffs2 Datei packen, die sich mit “dfu-util” auf andere Freerunner flashen lässt. Die jffs2 Datei wird somit am PC in genau dem Verzeichnis erstellt in dem der Befehl aufgerufen wird. (alles in eine Zeile bitte)

ssh root@192.168.0.202 "mkfs.jffs2 -d /var/tmp/root -e 128 --pad --no-cleanmarkers
                        -x lzo" > shr-unstable-xapient.jffs2

_________________________________________________

(Erstelltes Image wieder auf den Freerunner aufspielen)

sudo dfu-util -a rootfs -R -D /home/waldelf/Desktop/Neo/shr-unstable-xapient.jffs2

SHR-Unstable “waldelf image” ;-)

Sunday, 24. May 2009

[Update:13.September]

rootfs: shr-unstable-xapient-120909.jffs2

kernel: uImage-120909.bin

desktop1desktop2

Endlich hab ich wieder ein bisschen zeit gefunden und SHR auf den neuesten stand gebracht. Navit habe ich wieder dazuinstalliert und konfiguriert (navit erwartet seine .bin file unter /media/card/Maps/osm_bbox_-13.0,33.6,34.1,71.1.bin – bitte einfach selbst konfigurieren unter /home/root/.navit/navit.xml !) ausserdem gibts jetzt 3buttons am bottom für contacts, dialer, und messages … das neo ist nun auch eine wasserwaage und mahjongg musste ich mir auch installieren ^^ achja.. natürlich auch shr-today, welches noch nicht gaaanz so gut integriert ist (missed calls sind grundsätzlich alle die jemals versäumt wurden und um einen anruf entgegen zu nehmen muss man ersmal “unlocken”) aber sonst ist es wieder ein ganz nettes image geworden und wirkt alles in allem erneut etwas flüssiger als bisher..  ob man nun 2 anrufe gleichzeitig entgegennehmen kann ohne das alles crasht weiss ich noch nicht (ich befürchte die antwort ist nachwievor nein..) wenns geht gibts einen SICHTBAREN nachtrag 😉

viel spass damit!

NACHTRAG:

unglaublich aber wahr.. ich habe gestern zwei anrufe gleichzeitig empfangen und es ist nichts passiert..  weder wurde der erste anruf rausgeschmissen, noch crashten alle telefonapplikationen..  bug behoben?  ich würde das fürs erste mal behaupten!! 😀 😀        Der Freerunner ist nun mMn in einem stadium angelangt an dem er sich mit anderen telefonen messen kann!

[Update: 03.August]

rootfs: shr-unstable-xapient-030809.jffs2

kernel: uImage-om-gta02-020809.bin

Nachtrag: Hab heute ein kleineres Update gemacht. Im wesentlichen nur “intone” in der neuesten version, guitar-tune hinzuistalliert, die icons etwas poliert und die letzten änderungen am kernel und den modulen von gestern. (daher gibts keinen grossartigen Eintrag sondern nur einen Edit 😉 … wie immer gilt.. wenns wer brauchen kann? bitte sehr, gern geschehn… ansonsten … never mind!

————————————————-

Ein weiteres Upgrade auf die neueste SHR-Unstable Geschichte (vom 28.7.09) und eine drastische Änderung im Look (it’s not an iPhone anymore) – wer ein wenig Zeit hat, kann das Theme sehr schnell wieder “zurückändern”. (metapackage fürs Theme deinstallieren) Nachdem es sich als wesentlich schneller herausgestellt hat bin ich beim nEo-Theme geblieben auch wenn der iPhone-look vielleicht hübscher war….

Irgendwie hat der Freerunner jetzt einen authentischeren Stil bild ich mir ein..  der Name “Neo” kommt jetzt so richtig rüber ^^

zum Image: alles up2date – Software siehe Screenshot!  Fragen, Wünsche, Anregungen- bitte ünverblümt anbringen!

glhf !!!

neotheme neo2.png

Ein paar Icons (die jesusmccloud vielleicht ins nEo iconset mit aufnehmen wird) gibt es hier (updated) –>  nEo.rar

[Update: 3.Juli]

shr-unstable-xapient-030709.jffs2

Zum neuesten SHR-Unstable Update heute…. ein neuer Snapshot meiner angepassten Version.neo030709.png

Den aktuellen Kernel mögt ihr vielleicht auch probieren >> (mit diesem habe ich das Image noch gar nicht getestet, freu mich daher über jeden Bericht)   http://build.shr-project.org

Ich habe heut wieder ein wenig am Neo “geschraubt” (bzw. an SHR) und hab das “unstable” Image auf den neuesten Stand gebracht.  Darüber hinaus gibt es einige kleine Änderungen am Image. So habe ich pyRok wieder hinzuinstalliert da dieser für manche Zwecke einfach netter ist. Wlan geht immer noch nicht aber “Saskia” stürtzt wenigstens nicht ab “waiting for udhcpd..” dabei bleibts leider..  “Boxar” habe ich als Funapp hinzugenommen und den “Openmoko-Calendar” .. “Dictator” funktioniert anscheinend jetzt, “Mokomaze” verhindert nun Suspend und Autodimm.. (sehr angenehm wenn mans wirklich spielen will) und ein kleines Skript ermöglich mittels Doppelklick den Freerunner zu einer portablen USB-Festplatte zu machen (und natürlich auch wieder zu einem Netzwerkdevice zurück zu konfigurieren)

Nachtrag: “Saskia” ist noch in Version 0.1 drauf.. 0.11 ist aktuell ^^ (give it a try) Nachtrag zum Nachtrag: Saskia 0.11 schafft es mit dem neuesten Kernel eine Verbindung aufzubauen.. noch immer kein Ping aber der Accespoint findet den Freerunner und gibt ihm eine IP… *teilerfolg*  🙂

[Update: 11.Juni]

SHR-Unstable (aktuelles angepasstes Image )

Ich habe mich diesmal kleine Änderungen im Hintergrund beschränkt:

wesentliche Neuerung ist das Keyboard welches ich in anlehnung an jenes von JesusMcCloud erstellt und erweitert habe. Evopedia startet nun reibungslos und Clearlog bzw. Reboot fragen “wollen sie wirklich?” und der Launcher ist korrekt vorkonfiguriert.

keybord file :    alpha.kbd

Das Keyboard verzichtet aus Platzgründen auf “backspace” “enter” und “leertaste” im Textlayout, da diese Funktionen durch Wischen über die Tastatur von “rechts nach links”, von “oben nach unten” und von “links nach rechts” ausgelöst werden können.

special thx to the shr team!!

Buglist: 2 Anrufe gleichzeitig erhalten geht schief ^^ den ersten anruf hauts raus und der zweite bricht ab.  SMS über 160 zeichen gehen verloren (unconfirmed) Suspend bringt sporadisch die gsm funktionalität zum erliegen (unconfirmed)

[Update: 09.Juni]

SHR-Unstable (modifiziertes Image )

SHR-uImage (aktueller Kernel von SHR)

Änderungen: neuestes shr-unstable release, anderes theme, andere icons, illume-default-alt keyboard (alle anderen shr-default keyboards), navit, launcher, ffalarms, hotelwifi, etc.  – keine altlasten, alle tweaks vom shr-wiki, kleinere bug workarounds (symlinks da und dort) – schriftgrössenanpassung in minimo (evopedia) und terminal, autosuspend = 0 , alles weitere… siehe unten 😉

(navit sucht seine maps unter /media/card/Maps/OSM/eu.bin – tangogps erwatet ein “Maps” Verzeichnis in /home/root/ und dictator ein “voice” verzeichnis  (siehe screenshot)

dvdrip1.jpg

Ich empfehle auch den neuen kernel zu flashen, da sich auch bei den modulen viel getan hat. Ob Suspend immernoch die gsm funktionalität sporadisch zu crashen vermag konnte ich noch nicht testen.

lachncher       —        desktop

________________________________________________________

Der Freerunner hat Alltagstauglichkeit erreicht!

Nach vielen Stunden basteln und tunen hat sich SHR-Unstable nun (Stand: 24.Mai) als Distiribution für den täglichen Einsatz verdient gemacht. Ich habe mir die Freiheit genommen ein Image zu erstellen und hier zur freien Verfügung zu stellen, welches ich in Folge kurz Vorstelle.

Download:

SHR-Unstable (modifiziertes Image – (09. Juni) )

SHR-uImage (aktueller Kernel von SHR)

Die Telefonfunktionen habe ich nun seit mehreren Tagen im erfolgreichen Dauertest (kein reboot – mehrfaches standby). An den .state Files habe ich etwas schrauben müssen, da die Lautstärkeneinstellungen für mein Gerät völlig daneben waren. Den letzten Schliff hat jedoch vorallem ein GSM-Firmware Upgrade gebracht, welches ich dringend empfehle!!

http://wiki.openmoko.org

Für mich brauchbare Anwendungen habe ich vorinstalliert und eingerichtet.

Evopedia benötigt zum laufen klarerweise einenWikipediadump (von hier – SHR benötigt squashfs 4.0 !) und liefert dank “Minimo” schnell alles was man wissen muss ^^ (der ebenfalls installierte Browser Dillo verweigert hier seinen Dienst) – Evopedia sucht den wiki-dump hier:  /media/card/wikipedia.squashfs Mofi (Wlan-GUI) verweigert momentan leider noch seinen Dienst, sobald das gefixt ist werde ich das Image natürlich aktualisieren.

Mediaplayer habe ich sowohl für die Video-, als auch für die Audiowiedergabe zwei verschiedene installiert (Intone Audio / Video & PyRok / DeforaOS Player) und bis jetzt noch keine Entscheidung treffen können. Wer wirklich Videos am Neo ansehen möchte muss diese für eine flüssige Wiedergabe zunächst einmal in ein abspielbares Format bringen. Folgende Zeile erwies sich hier als hilfreich:

 mencoder Original.avi -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=300
-vf scale=320:240,eq2=1.2:0.5:-0.25,rotate=2
-oac mp3lame -ofps 15 -lameopts br=64:cbr -o file-for-freerunner.avi

Neon dreht die Bilder automatisch, Mokomaze macht spass, TangoGPS hat binnen einer Minute einen Fix, OpenMiaoCat schnurrt und dank Notifications versäumt man keinen Anruf und keine Nachrichten mehr. Klar.. der Freerunner mit Xserver, Enlightment und black&white Theme ist nicht gerade der Schnellste – aber wen stört das schon solange er frei ist.. und läuft…

________________________________

Screenshots:

screenshot-9.png

tangogps    —      intone-audio      —    evopedia      —        neon

screenshot-1b.png

mokomaze    —   vala-terminal    —    notifications   —   intone-video

OpenMoko | Autoconfigure PC and Neo Freerunner

Thursday, 26. February 2009

Worum gehts:  Der Freerunner wird per USB am PC angesteckt und möchte ins lokale Netzwerk eingebunden werden, sowie die Internetverbindung des PCs nutzen.

Wie soll das gehen:  Entweder man öffnet jedesmal eine Shell und tippt 10 Zeilen cryptischen Code ein – oder man macht es nur einmal aber dafür richtig ^^

Zunächst muss man die Datei “interfaces” um folgenden Abschnitt erweitern:

sudo nano /etc/network/interfaces

auto usb0
 iface usb0 inet static
 up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/2 &
 up echo 1 > /proc/sys/net/ipv4/ip_forward &
 up iptables -P FORWARD ACCEPT &
 down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/2 &
 address 192.168.0.200
 netmask 255.255.255.248
 network 192.168.0.0
 up exec /etc/network/if-up.d/moko

Die letzte Zeile kann – muss man aber nicht unbedingt machen. Diese startet das Skript “moko“, welches das erscheinen des Interfaces usb0 mit dem Angebot eine SSH-Verbindung aufzubauen quittiert. (es ist an dieser Stelle natürlich möglich jedes beliebige Skript laufen zu lassen – zB. für Syncronisation)

Das Skript “moko” liegt wie in der Datei “interfaces” definiert im Verzeichnis /etc/network/if-up.d/ und hat folgenden Inhalt:

 #!/bin/bash                                    
foo()                                          
{                                              
echo "Configuration finished! "                
echo ""                                        
echo "Do you want to connect to your freerunner (N/y)"
echo "___________________"                            
echo "N |No"                                          
echo "y |connect through ssh"                         
read ANSWER                                           
        case "${ANSWER}" in                           
                        "y")                          
                        echo "trying to connect through ssh"
                        exec ssh root@192.168.0.202
                        ;;
                        *)
                        echo "done!"
                        sleep 3
                        ;;
                esac
}
export -f foo

exec su username -c "xterm -display :0.0 -e foo"

(“username” muss an dieser Stelle durch den Namen des angemeldeten Benutzers ausgetauscht werden und das Programm “xterm” sollte installiert sein (sudo apt-get install xterm) )

So sieht das Fenster aus, welches beim Anstecken des Freerunners erscheint:

neo1.jpeg

Zur einfacheren Übertragung von Daten bietet es sich darüberhinaus an Dolphin um einen Eintrag auf  sftp://root@192.168.0.202  zu erweitern (zeroconf bietet allerdings mit 2Klicks mehr unter “network” diese Möglichkeit ebenfalls an)

neo.jpeg