Code Schnipsel – Hacks für eine WiFi-SD-Card

Bei einer SD-Karte mit WiFi hat man bisher ungeahnte Möglichkeiten, denn dort gibt es nicht nur Speicher. Bei einer Karte wie der Transcend WiFi-SD arbeitet ein Linux, was nicht nur die Peripherie für eine Funkschnittstelle bedient, sondern auch einige interessante Dienste bereitstellt. Manche von denen aktiviert man erst, wenn man etwas hinter die Kulissen schaut.

Oben genannte Karte bietet nicht nur einen eigenen Hotspot, sondern kann sich interessanterweise auch in ein bestehendes WLAN einwählen. Hat man also die Transcend mittels Android-App dazu grundlegend eingerichtet (WLAN-Zugangsdaten des eigenen Netzwerks), kann man weitere Einstellungen auch über dessen Weboberfläche vornehmen.
 
Auf der Karte laufen von Hause aus ein
– busybox-Linux
– ein Boa Webserver (als Single Task Webserver)

 
Um wirklich in das System einzugreifen, ist es möglich, eine “autorun.sh” in das Wurzelverzeichnis des SD-Speichers zu stellen. Nachdem die SD-Karte stromlos gemacht wurde, werden beim nächsten Hochfahren dann die im Skript befindlichen Anweisungen abgearbeitet. So startet man mittels
 
tcpsvd -E 0 21 ftpd -w /mnt/sd
 
einen FTP-Dienst mit Schreibzugriff, so dass man nun in der Lage ist, vom Netzwerk aus Dateien auf die SD-Karte zu schieben. Das geht dann zum Beispiel mit einer Datei “test.txt” in das Zielverzeichnis “temp” wie folgt in Python:
 
ftp = ftplib.FTP(‘192.168.178.42’, ‘admin’, ‘admin’)
ftp.cwd(“/temp”)
f = open(“/home/…/test.txt”, “r”)
ftp.storbinary(“STOR test.txt”, f)
f.close()

 
Die FTP-Zugangsdaten (“admin”) sind die gleichen, wie über die Weboberfläche eingestellt. Und die IP-Adresse ist diejenige, mit welcher sich die Karte vorher im eigenen Netzwerk angemeldet hat. Sogar die Installation einer neuen busybox-Version ist möglich. Am einfachsten geht das mit folgenden Einträgen:
 
cp /mnt/sd/busybox* /sbin/busybox
chmod a+x /sbin/busybox

 
Das neue Busybox platziert man vor dem Kopieren in einem Unterverzeichnis auf dem SD-Speicher und setzt noch entsprechende Rechte. Theoretisch kann man so zu einer früheren Version zurückkehren oder aber eben neue Systemfunktionen realisieren oder neue Anwendungen aufspielen. Etwas Vorsicht ist natürlich geboten. Mittels
 
rcS6
 
in der “autorun.sh” erhält man außerdem Telnet. Bleiben wir bei unserer IP “192.168.178.42” (somit muss ich nicht die nervigen “xxx” schreiben), so kann man anschließend ganz simpel mittels
 
# telnet 192.168.178.42
 
zugreifen. Nun kann man ein paar nutzvolle Infos aus dem Filesystem ziehen. Wie zum Beispiel:
 
# cat /etc/version.txt
Product Name : KeyASIC WIFI-SD
Firmware Version : V147
Build Date : 19 FEB 2013
Revision : V147
WiFi Model : Atheros AR6003 11n
Linux Kernel : 2.6.32.28
Busybox : 1.18.5


 
Und die komplette “Untersuchung” könnt ihr dann auf http://www.smartewelt.de/sw4/?q=node/169 weiterlesen. Jedenfalls das kleinste Linux-Embedded-System, mit welchem ich mich bisher befasst habe. Viel Spaß beim eigenen Experimentieren!
 

Swen Hopfe

 

Teilen in...
Share on FacebookShare on Google+Tweet about this on TwitterShare on XingShare on LinkedIn

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.