Kategorie-Archiv: Allgemein

Plug&Play mit dem Cisco SPA112

In Ulm habe ich keinen klassischen Festnetz-Telefonanschluss, sondern nur einen VoIP-Telefonanschluss über sipgate. Das hat den Vorteil, dass ich zu sehr geringen monatlichen Kosten unter einer Festnetznummer mit Ulmer Vorwahl zu erreichen bin – also für alle mit einer Flatrate ins deutsche Festnetz kostenlos.

Bisher habe ich den Anschluss nur mit Notebook und Headset genutzt, was einige Nachteile mit sich bringt. Aus diesem Grund habe ich mir von Cisco einen sogenannten „Analog Telephone Adapter“ zugelegt. An dieses Gerät lassen sich zwei analoge Telefone anschließen. Der Adapter übernimmt dann die Anmeldung des Telefons beim VoIP-Anbieter und setzt alle Signale zwischen beiden Standards um.

Cisco SPA112

Cisco SPA112

Ich hatte erwartet, dass ich das Gerät auspacke, ein analoges Telefon und ein Ethernet-Kabel anschließe, meinen VoIP-Account konfiguriere und das Gerät dann getrost in die hinterste Ecke meines Schreibtisches stellen kann.

Es traten allerdings zwei Probleme auf, für die ich im Internet für genau diesen Adapter keine Lösung gefunden habe. Deshalb beschreibe ich meine Lösungswege in diesem Eintrag.

Problem 1: Das Telefonkabel

Die Probleme begannen beim Anschluss des Telefons. Wie ich lernen musste gibt es nicht nur einen Standard, wie die Pins eines RJ11-Steckers verschalten werden können. Die Telefone der Deutschen Telekom halten sich leider nicht an den internationalen Standard – also musste ich das Kabel zu einem Adapter umbauen.

Für den Umbau habe ich mich an diesem Foreneintrag orientiert. Als Kabel habe ich ein 4-adriges RJ11-auf-RJ11-Kabel verwendet, bei dem alle Pins am Stecker 1:1 belegt waren (d.h. Pin 1 auf Pin 1 usw.). Das Telefonkabel muss wie folgt abgeändert werden, die beiden anderen Adern müssen nicht verbunden werden und können einfach abgetrennt werden:

voip_ata_cable

Das Provisorium sah dann wie folgt aus:

Provisorischer Adapter

Provisorischer Adapter

Für’s Erste hat diese Lösung funktioniert – ich hatte einen Wählton. Inzwischen ist das Kabel als Adapter umgelötet und mit Schrumpfschläuchen stabilisiert worden.

Problem 2: Firmware-Upgrade

Ausgeliefert wurde mein Adapter mit einer Firmware aus dem Jahre 2011. Ich muss allerdings dazu sagen, dass ich das Gerät gebraucht gekauft habe und nicht weiß, wie lange dieses Gerät beim Verkäufer im Regal stand. Die aktuellste Firmware wurde im Januar 2013 bereitgestellt – also wollte ich ein Upgrade durchführen.

Der Adapter wird über eine Web-Oberfläche konfiguriert. Leider war diese bei mir bei Verwendung der alten Firmwareversion fehlerhaft. Ich bekam bei der Auswahl des Menüpunkts „Administration“ den Untermenüpunkt „Firmware Upgrade“ nicht angezeigt, sondern nur den (an dieser Stelle) unpassenden Link zur Schnelleinrichtung.

Durch die Analyse des Quellcodes der Weboberfläche (z.B. Firefox: Rechtsklick -> View Page Source) habe ich die URL für die Upgrade-Oberfläche allerdings gefunden:

https://xxx.xxx.xxx.xxx/Upgrade_run.asp;session_id=0b1423e4bbbf83efb6aa48xxxxxxxxx

Die Session-ID am Ende der Adresse muss durch die ID ersetzt werden, die bei Aufruf der Weboberfläche an der URL angehängt ist. Die Session-ID ändert sich bei jedem Login.

Nun war es möglich, die Firmware-Datei hochzuladen. Leider brach der Upgrade-Prozess regelmäßig bei etwa 40% ab.

Grund dafür ist, dass vermutlich durch das Laden des falschen Untermenüs das Skript für das Firmware-Upgrade durch ein anderes ersetzt wird. Will man dennoch ein Firmware-Upgrade durchführen, so sind folgende Schritte notwendig:

  1. Installation des Firebug-Plugins für den Firefox-Browser. (oder eines anderen Plugins für einen beliebigen Browser, mit dem sich Quellcode und JavaScript-Variablen einer Webseite während der Anzeige manipulieren lassen)
  2. Einloggen in das Web-Interface und Aufruf der Firmware-Upgrade-Oberfläche (siehe oben).
  3. Firebug öffnen (F12)
  4. Im Reiter „HTML“: Suchen nach „apply.cgi“. Alle Fundstellen durch „upgrade.cgi“ ersetzen.
  5. Im Reiter „DOM“: Die Variable fname von „apply.cgi“ auf „upgrade.cgi“ ändern (mit Anführungszeichen!)
  6. Nun kann das Upgrade normal durchgeführt werden.

Inzwischen läuft der Adapter. Bisher bin  ich, abgesehen von den Startschwierigkeiten, sehr zufrieden! Die Sprachqualität ist sehr gut, subjektiv nochmals eine deutliche Steigerung zum Softphone auf dem Computer – trotz gleichem Codec und Sennheiser Headset.

Neue App: AmbianceLight

ambiant2blog

AmbianceLight ist die perfekte App um auf der nächsten Party für eine entspannte Atmosphäre zu sorgen! Ideal auch für gemütliche Sommerabende auf der Terasse!

AmbianceLight bietet angenehme Farben und weiche Farbübergänge. Am Besten kommen die Lichteffekte zur Geltung, wenn das Smartphone in eine Papiertüte gelegt wird. Dies sorgt für weiches, angenehmes Licht.

ambianceLightBlog

Einstellmöglichkeiten:

  • Dauer der Farbübergänge festlegen (kurz, mittel, lang)
  • Auswahl aus mehreren Farben für Start- und End-Farbe

ambient3blog

 

Download kostenlos über den Google-Play-Store

ic_launcher

(Durch Klick auf das Icon gelangen Sie zur Download-Seite im Google-Play-Store)

Native Spielereien unter Android

Da so ein Linux-System in der Hosentasche (= Android-Smartphone) doch etwas ganz nettes ist, habe ich versucht, ein kleines Hello-World-Programm direkt auf dem dem Android-System zugrundeliegenden Linux-System auszuführen. Das Programm wird also nicht unter der Dalvik-VM ausgeführt, sondern als „echtes“ Programm.

Als Hardware kommt bei mir ein Google Nexus One zum Einsatz, auf dem als Android-System ein CyanogenMod der Version 7.2.0 läuft – ich habe also volle Root-Rechte auf dem Gerät.

Da die meisten Android-Geräte – auch mein Nexus One – einen ARM-Prozessor enthalten, kann man nicht einfach den gcc-Compiler einer Linux-Distribution verwenden, die auf einem Notebook läuft. Man muss stattdessen Cross-Kompilieren – also auf einem Intel-System Maschinencode für ein ARM-System erstellen.

1. Toolchain installieren und Hello-World-Programm kompilieren

Dazu gibt es unter Debian eine Installationshilfe für die Toolchain, die sich einfach nutzen lässt: Emdebian. Diese lässt sich entsprechend dieser Anleitung installieren. Ich habe zusätzlich gleich mal die binutils installiert – das wird auf der Wiki-Seite im nächsten Abschnitt beschrieben.

Die für das Nexus One benötigte Architektur ist „armel“ – man kann also der Anleitung folgen.

Nach der Installation lässt sich bereits ein statisches Hello-World-Programm kompillieren:

#include <stdio.h>

main()
{
        printf("Hallo World!");

}

Durch Aufruf von folgendem Kommando wird das Programm kompiliert und die stdio-Bibliothek statisch gelinkt:

$ arm-linux-gnueabi-gcc -static -o helloWorld test.c

2. Binary auf das Android-Gerät übertragen Im ersten Schritt wird es am einfachsten sein, die entstandene Datei helloWorld auf die SD-Karte des Geräts zu übertragen (entweder direkt oder z.B. per adb push). Dort lässt es sich allerdings nicht ausführen. Ich habe mich dann dafür entschieden, das Binary nach /system/bin zu verschieben. Dadurch ist es automatisch im Suchpfad der Konsole und lässt sich wie jedes andere Programm aufrufen.

Allerdings ist die Systempartition unter Android als Read-Only gemountet – sie lässt sich also nicht beschreiben. Dies lässt sich ändern, indem man die Partition neu mountet. Hierzu verbindet man sich per adb shell mit dem Gerät und wechselt mittels su zum Benutzer root. Da ich die bash-Shell bevorzuge, starte ich diese am Schluss und moute das Dateisystem neu:

stef@thinkpad:~$ ./adb shell
# su
# bash
localhost / # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Mit folgendem Kommando kann das Programm endlich an seinen Bestimmungsort verschoben werden:

localhost / # mv /sdcard/helloWorld /system/bin/

Durch Aufruf von helloWorld lässt sich das Programm nun starten – wie erwartet zeigt es „Hello World“ an.


Quellen:

http://android-dls.com/wiki/index.php?title=Compiling_for_Android
http://chuacw.ath.cx/blogs/chuacw/archive/2011/02/25/remounting-android-rootfs.aspx

Dokutipp:
„Sklavenarbeit für unseren Fortschritt“

Gestern Abend befasste sich eine Dokumentation in der ARD mit dem schwierigen Thema der Rohstoffgewinnung für Elektronikprodukte.

Anhand verschiedener Geräte, die Elektronik beinhalten (Handy, Auto, Waschmaschine, Notebook) geht der Film auf Spurensuche und stattet den Minen, in denen bestimmte Rohstoffe gewonnen werden, einen Besuch ab. Die Dokumentation geht dabei auf die Rohstoffe Tantal (wird in Kondensatoren verbaut), Wolfram (im Film wird als Beispiel der Vibrationsalarm von Handys genannt), Zinn (wird im Lot zur Befestigung von Komponenten auf Platinen verwendet) und Gold (z.B. als Bonddrähte bei der Chipherstellung) ein.

Bei der Darstellung der Kleinminen, beispielsweise in Bolivien, wird auch erwähnt, dass nicht die gesamte Rohstoffmenge unter diesen Bedingungen abgebaut wird, sondern dass es sehr wohl auch industrialisierte Großbergwerke gibt, für die die dargestellten sozialen Probleme weniger existieren.

Wichtig finde ich vor allem die Aussagen des Films, dass sich die Situation der Menschen vor Ort durch reine Verbote des Imports der Rohstoffe, die unter den dargestellten Verhältnissen gewonnen werden, nicht verbessert, sondern verschlechtert. Zum Beispiel wird auf ein US-amerikanisches Verbot eingegangen, welches zur Folge hatte, dass zwar der industrielle Bergbau gestärkt wurde, im Gegenzug aber die Menschen in den Kleinminen wieder verarmten und der illegale Bergbau wieder zunahm. Es trat also genau jene Entwicklung ein, die eigentlich durch das Verbot verhindert werden sollte.

Doch so wie momentan kann es nicht weitergehen – die Bedingungen für die Menschen, die die Rohstoffe für unsere Produkte abbauen müssen verbessert werden. Welche Perspektiven gibt es hier? Auch auf diese Frage versucht der Film Antworten zu geben.

In der Dokumentation wird ein auf den ersten Blick vielversprechendes Projekt der Bundesrepublik Deutschland vorgestellt, das versucht, die Bedingungen in kongolesischen Minen zu verbessern ohne die lokale Bevölkerung um ihre Arbeitsmöglichkeit zu bringen. Ziel ist, dass Minen zertifiziert werden – dass also für Rohstoffe ein Siegel ähnlich dem Fairtrade-Siegel eingeführt wird.

Wie genau das Projekt des Bundesministeriums für wirtschaftliche Zusammenarbeit und Entwicklung dabei allerdings hinschaut wird in dem Film leider nicht deutlich. Ob man auf die bloße Frage an die Bergleute „Werden hier Kinder beschäftigt?“ oder „Zahlt ihr Schutzgelder?“ eine ehrliche Antwort bekommt, oder ob die Menschen aus Angst lieber die Unwahrheit sagen bleibt offen.

Auch auf das sogenannte „Urban Mining“ geht der Film am Ende kurz ein und stellt es als Alternative für die Zukunft vor. Allerdings wird wohl auch hier die soziale Frage zu klären sein, welche Perspektiven die Menschen, die momentan vom Bergbau leben beim Szenario „Rohstoffgewinnung durch Urban Mining“ haben werden. Dennoch denke ich, dass wir schon allein aus Gründen des Umweltschutzes dort hinkommen müssen.

Fazit: Eine sehr sehenswerte Dokumentation, die deutlich macht, wo eigentlich die Rohstoffe für die Produkte herkommen, die wir tagtäglich im Laden kaufen und die uns unser Leben erleichtern. Aber auch eine Dokumentation, die nicht nur die momentane Situation aufzeigt, sondern Lösungsansätze für die Problematik aufzeigen will.

[Link zur Beschreibung auf der ARD-Seite]

[Link zum Film in der ARD-Mediathek]