shairport auf dem DockStar

Der DockStar läuft mittlerweile sehr gut mit Debian Squeeze. Ein 3-€-USB-Sounddevice hängt auch dran, sodass ich mittlerweile schon ein bisschen mit Musikstreaming auf meine Heimkinoanlage im Wohnzimmer experimentiert habe. Der Artikel zu squeezeboxserver und squeezeslave folgt…

Nun gibt es aber ein weiteres cooles Stückchen Software für mich als Apple-User: shairport. Ein findiger US-Bastler hat seine alte AirportExpress-Basisstation auseinandergenommen und kurzerhand Apples privaten Schlüssel reverse-engineered. Damit hat er dann ein Perl-Skript geschrieben, dass das AirportExpress-Streaming in Software nachbildet.

Zur Installation auf dem DockStar mit Squeeze sind folgende Pakete notwendig:
openssl libao-common libao-dev libao4 libssl-dev libcrypt-openssl-rsa-perl pkg-config avahi-daemon avahi-utils libwww-perl libio-socket-inet6-perl

Dann das shairport-Paket runterladen, entpacken und erstmal das Makefile anpassen. Die Definition -D__i386 für den gcc gehört rausgeschmissen (wir sind ja auf armv5tel) und dann wird mit

make

auf durchkompiliert.

Nun kann man noch am Beginn der shairport.pl den Phantasie-Accesspointnamen umändern (Anzeigename im iTunes/iPhone) und dann das Ding starten.

./shairport.pl

Ich habe nun also shairport-0.03 installiert. Laufen tut es so aber leider noch nicht. Es taucht zwar im iTunes und am iPhone auf und lässt sich auch auswählen, beendet sich aber immer mit

new connection from fe80::210:xxxx:xxxx:xxxx
REQ: ANNOUNCE
REQ: SETUP
launched decoder: 25043 on port: 6000
REQ: RECORD
REQ: SET_PARAMETER

missing frame.
closed: IO::Socket::INET6=GLOB(0x178f640)
Segmentation fault
***CHILD EXITED***

Mal schaun woran das liegen könnte. Eventuell fehlerhafter RTP-Stream mit iTunes 10.2.1? An IPv6 unter MacOS liegt’s auf jeden Fall nicht, denn unter Windows und vom iPhone habe ich das selbe Fehlerbild.
Eventuell ist die ARM-Architektur schuld, denn da gibt’s in alac.c nur eine generische Funktion count_leading_zeros.
Oder libao4 unter Squeeze anstelle der empfohlenen libao2 (nur unter Lenny).

Trotz Startschwierigkeiten schon Mal gebührenden Dank an James Laird!

Posted in Apple, Computer, DockStar, Musik | Tagged , , , , | 14 Comments

Logitech-Support macht's wieder gut

Leider ist im Januar meine Logitech VX Nano kaputt gegangen. Der Empfänger wurde vom System erkannt, die Maus hat aber nicht mehr reagiert. Drum habe ich beim Logitech-Support angerufen und bekam eine Marathon Mouse M705 als Ersatz. Die VX Nano war nicht mehr lieferbar (ist wohl eine reine OEM-Maus).

Für die VX Nano hatte ich seinerzeit 35 € gezahlt, obwohl die UVP bei ca. 60 € lag glaube ich. Deshalb leider auch nur die M705 als Ersatz, obwohl sie qualitativ deutlich schlechter ist. Naja… Die M705 ist nun auch kaputt. Das Mausrad rastet auch im Hyperscroll-Modus ein…

Also gestern wieder ans Telefon gehockt, nochmal ganz freundlich gebettelt und eine Anywhere Mouse MX abgeschwatzt. Die entspricht mit der UVP von 70 € schon eher der VX Nano. Hätte ich nicht gesagt, dass ich ein gaaanz zufriedener Kunde sein werde, wenn ich nun das höherwertige Modell bekomme… :) Aber so hat Logitech alles richtig gemacht. Klar, hätten sie auch schon beim ersten Mal, aber was soll’s.

Posted in Computer | Tagged , , , | 2 Comments

How to install Debian on Seagate DockStar

This blog entry is supposed to be some kind of a step-by-step guide to install Debian Linux on a Seagate Dockstar. Be careful though! If something goes wrong you need special hardware to recover the brick! I’m not liable for any damage done to the unit or you! ;)
Don’t do this unless you seriously know what you are doing…

What you get:

  • Debian Lenny with sheeva.with-linux.com kernel
  • Installed to internal flash for fast boot etc.
  • Install thousands of pre-compiled software packages with APT

Continue reading

Posted in Computer | Tagged , , , , , , , , , , , , | 82 Comments

Winzcomputer

Durch wusel bin ich auf den Seagate Dockstar aufmerksam geworden. Das ist eigentlich eine Dockingstation für bestimmte externe 2,5″-Festplatten. Nur dass diese Dockingstation nicht einfach den USB-Anschluss durchschleift, sondern stattdessen einen GBit-LAN-Anschluss bietet und die eigenen Daten über die Cloud zur Verfügung stellt.

An und für sich ist das auch noch nicht das Killer-Feature. Aaaaber: Im Inneren des Dockstar werkelt ein sogenannter Plug Computer (Marvel Kirkwood mit 1,2 GHz, 128 MB DRAM). Uuuuund: Das Ding ist prädestiniert zum Basteln, denn es lässt sich relativ einfach ein Archlinux installieren, mit etwas mehr Aufwand die Distribution der eigenen Wahl (sofern sie die ARM-Architektur unterstützt).
Und das Schmankerl: Das gute Ding kostet neu mittlerweile nur 20 € zzgl. Versand (z.B. bei Atelco).

Ich habe also zwei davon bestellt. Einer kommt bei meinen Eltern an die FRITZ!Box, der andere bei mir. Dann jeweils eine 3,5″-HDD mit 2 TB Kapazität dran, damit ordentlich Platz ist. Ich plane nämlich, die Dinger als Fileserver für Backups laufen zu lassen. Inklusive Spiegelung der Daten auf dem jeweils anderen Dockstar. Somit habe ich eine räumliche Trennung gewährleistet, was im Brandfall (wollen wir es nicht hoffen) oder bei Einbruch-Diebstahl (die Erfahrung hatte ich leider schon) sehr hilfreich ist.

Bisher haben mich ja von einem permanent laufenden Server (alter PC) immer die Betriebskosten, Größe und Lautstärke abgehalten. Aber die 5 W Energieverbrauch des Dockstar (zzgl. HDD) bei einer Stellfläche von 86 x 85 mm sind superannehmbar. Und die Leistung passt offensichtlich auch bei 20 – 30 MB/s Schreiben über SMB (noch nicht selber getestet).

Mein derzeitiger Status Quo:
Ich bin mit dem Plugbox Linux basierend auf Archlinux nicht zufrieden und hätte lieber Debian oder Ubuntu auf den Dockstars. Das ist kein Ding der Unmöglichkeit, erfordert aber etwas mehr potentielles Nerd-Handwerk.

Es gibt nämlich speziell für den Dockstar keine fertige Distribution. Und eine Step-By-Step-Anleitung habe ich auch nicht gefunden. Also müssen die eigenen grauen Zellen etwas mehr angestrengt werden. So muss nämlich ein eigener U-Boot-Bootloader aus dem Quellcode gepatcht und kompiliert werden, da der Originale keinen USB-Boot einkompiliert hat (nur NAND und TFTP). Der eigene Bootloader wird dann vom Originalen aufgerufen (Chainloading). Wenn dabei etwas schief läuft muss der Dockstar geöffnet werden, um zum Debricken an die serielle Schnittstelle zu kommen.
Ist das Bootloader-Konstrukt lauffähig kann ein eigenes Linux von USB geladen werden. Bei Debian/Ubuntu lässt sich so ein Root-Filesystem, noch unter der originalen Seagate-/Pogoplug-Busybox, super mit debootstrap erstellen.

Soweit die Theorie. Die Praxis beinhaltet dann doch ein paar mehr Stolpersteine. Deshalb bin ich noch nicht ganz so weit. RootFS steht und läuft, das U-Boot muss aber noch gepatcht, gebacken und geflasht werden. Dann fehlt quasi “nur noch” die Einrichtung der Serverdienste und der Replikation ;)
Und damit andere von meiner Arbeit profitieren können, werde ich das ganze wohl auch in einer Anleitung niederschreiben. Dann gibt es nicht nur Archlinux und Gentoo, sondern auch Debian für den Dockstar.

Übrigens:
Das Marvell-Kirkwood-SoC kommt auch (aber nicht nur) in anderen Steckercomputern zum Einsatz (Pogoplug, Sheeva, Guruplug). Es bietet neben der Sheeva-ARM-CPU auch noch DDR2-Interface, PCI-Express, 2x GBit-LAN, SD-Card I/O, 1x USB 2.0, 2x S-ATA, S/PDIF- und MPEG-TS-Output, dazu 4-XOR-Einheiten (-> RAID-Beschleunigung), …
Alles in allem also ein sehr interessanter Chip ;)

Posted in Computer, Technik | Tagged , , , , , , , , , , , , , , , | 2 Comments

Schon wieder eBay-Ärger

Wegen eBay könnte ich auch schon wieder kotzen. Hab mal wieder ein paar Auktionen für gebrauchten IT-Kram reingestellt und ein paar Fragen dazu bekommen.

Die Krönung: Ein Typ, der fragt, wie viele Pins der Notebook-RAM hat. Gut, ich hätte es tatsächlich in der Artikelbeschreibung aufzählen können. Aber es ist ja nicht so, dass es nicht aus dem Artikelfoto und dem Rest der Angaben ersichtlich wäre.

 

Auch toll:

Ich habe eine Antwort auf eine Frage weggeschickt (über meinen E-Mail-Client, nicht über die eBay-Nachrichtenfunktion) und bekomme direkt wieder eine Mail vom Auktionshaus zurück:

Aufgrund von Sicherheitsbedenken hat eBay Ihre letzte E-Mail an ### nicht gesendet.
[...]
Für Anhänge sind folgende Format zulässig: .bmp, .gif, .jpg, .png, .tif

Supi, dass mein S/MIME-E-Mail-Zertifikat, was ja ein Sicherheitsfeature ist, als .pfx mitgeschickt werden will…

Posted in Allgemein, Internet | Tagged | Leave a comment

Kündigung einer HappyDigits-Mitgliedschaft

Da rege ich mich ja schon wieder drüber auf. Möchte meine HappyDigits-Karte loswerden und habe in den Tiefen des dämlichen HappyDigits-Portals eine Kontakt-Mail-Adresse gefunden. Als Antwort auf meine freundliche Kündigung und bitte um Löschung aller meiner Daten kam folgendes:

Sehr geehrter Herr Redmer,

mit großem Bedauern haben wir Ihren Kündigungswunsch erhalten.

Bitte haben Sie Verständnis, dass wir aus rechtlichen Gründen Ihre Kündigung in schriftlicher Form per Brief benötigen. Bitte senden Sie diese von Ihnen unterschriebene Mitteilung an das HappyDigits Service Center, 53248 Spich.

Viel Spaß mit HappyDigits wünscht
###
HappyDigits Service Team

Klasse! Online anmelden geht mit ein paar Klicks, aber eine Kündigung muss schriftlich sein?! Geht’s noch?

Hier meine Antwort:

Sehr geehrte Frau ###,

eine rechtliche Begründung für die Notwendigkeit einer schriftlichen Kündigung ist mir nicht bekannt. Nach bürgerlichem Gesetzbuch (§311 Abs. 1 BGB) herrscht in Deutschland Vertragsfreiheit. Diese beinhaltet unter anderem, dass, bis auf wenige Ausnahmen (die hier allerdings wohl kaum zutreffen), Verträge keinen Formvorschriften unterliegen. Dies bezieht sich im Weiteren auch auf die Form einer Beendigung solcher.

Bezüglich der Sicherheit meiner Identität möchte ich Sie darauf hinweisen, dass meine erste und auch diese E-Mail digital signiert sind. Es handelt sich um das weltweit standardisierte S/MIME-Format.
Durch die Beglaubigung der Echtheit meiner Person durch mehrere Personen im Rahmen der offenen Zertifizierungsstelle CAcert wird ein Maß an Zuverlässigkeit und Authentizität erreicht, das eine einfache Unterschrift nicht leisten kann und wird.

Ich bitte Sie aus oben aufgeführten Gründen noch einmal, meine Mitgliedschaft bei HappyDigits alsbald möglich zu beenden und jedwede an mich gewandte Werbung einzustellen. Sollte dies weiterhin nicht über den elektronischen Weg möglich sein, bitte ich Sie, mir einen Brief mit frankiertem Rückumschlag zuzusenden. Sie können dies gerne mit den auf meinem HappyDigits-Konto verbliebenen 299 Punkten verrechnen. Diese sollten bei Portokosten von 45 Cent pro Brief ausreichen. Ob diese Vorgehensweise allerdings gesamtbetriebswirtschaftlich gesehen günstiger für sie ist, als eine simple Möglichkeit, seine Mitgliedschaft online beenden zu können, sei dahingestellt.

Eine Anmerkung dazu noch:
Ich halte es für ausgesprochen kundenfeindlich,  zu werben mit “Online anmelden – bequem und kostenlos.” (Link), eine Abmeldung aber mit einer Hürde zu versehen, die absolut vermeidbar ist.

Mit freundlichen Grüßen,
Thomas Redmer

Bin mal gespannt auf die Reaktion… :)

Update:
Ich habe doch tatsächlich zwei Wochen später einen Brief mit meiner Kündigungsbestätigung bekommen. Es geht also doch :D

Posted in Allgemein | 2 Comments

MAMP + Passenger/mod_rails

Für den Fall, dass jemand unter Mac OS X das Apache-Modul mod_rails aka. Phusion Passenger in MAMP integrieren will: Hier eine kleine (zusammenkopierte) Anleitung.

  1. MAMP, Ruby und Rails sind selbstverständlich schon installiert
  2. mit “sudo -s” im Terminal in eine Root-Shell wechseln
  3. “gem install passenger” zum Installieren ausführen
  4. Apache-Version mit “/Applications/MAMP/Library/bin/httpd -v” herausfinden
  5. Zur vorhandenen Version passende Sourcen herunterladen von http://archive.apache.org/dist/httpd/ (z.B. httpd-2.0.59.tar.bz2 für MAMP 1.7)
  6. Datei entpacken, z.B. mit “tar -xvf httpd-2.0.59.tar.bz2″
  7. In den entpackten Ordner wechseln
  8. “./configure” ausführen und aus dem Fenster gucken
  9. Den “include”-Ordner aus den eben heruntergeladenen und konfigurierten Sourcen nach “/ 
    Applications/MAMP/Library/” kopieren
  10. “os/unix/os.h” aus den Sourcen nach “/Applications/MAMP/Library/ 
    include/” kopieren (also os.h liegt direkt in include)
  11. Diese Datei config_vars.mk herunterladen und in “/Applications/MAMP/Library/build/” ablegen
  12. “export APXS2=/Applications/MAMP/Library/bin/apxs” ausführen, damit das Passenger-Skript das Modul für den MAMP-Apache kompiliert (ansonsten nimmt es den Mac-OS-X-Apache als Ziel)
  13. “passenger-install-apache2-module” ausführen und den Anweisungen folgen
  14. Den vom Skript ausgegebenen Codeschnipsel zum Laden des Passenger-Moduls in “/Applications/MAMP/conf/apache/httpd.conf” einfügen
  15. In selber Datei einen Virtual Host für das Rails-Projekt anlegen
  16. Gegebenenfalls für den vHost die Option “RailsEnv development” setzen
  17. MAMP (neu)starten und freuen
Was nicht geht: Den Apache-Port auf 80 ändern. Dann wird der Apache von MAMP gezwungenermaßen als root ausgeführt. Passenger äußert dann Sicherheitsbedenken und verweigert seinen Dienst.
Warum das ganze? Ich hatte schon den Apache samt MySQL mit MacPorts installiert. Aber das Start-/Stopp-App von MAMP ist ein bisschen komfortabler als das Terminal. Und ich bin sooo faul ;)

Quellen:
http://code.google.com/p/phusion-passenger/issues/detail?id=3
http://code.google.com/p/phusion-passenger/issues/detail?id=12
http://groups.google.com/group/phusion-passenger/browse_thread/thread/e6dac9d5ea0de9c1

Posted in Computer, Webdesign | Tagged , , , , , , | 2 Comments

Übertragenes Datenvolumen aus dem pppd-Log bestimmen

Nicht, dass ich bei dem schönen spätsommerlichen Wetter hier in Erlangen nichts Besseres zu tun hätte. Aber sooo schwierig und zeitaufwendig war’s ja jetzt nicht *g*. Nachdem ich ein Bisschen auf dem Marktfest rumgebummelt habe und nun die Sonne leider schon wieder untergegangen ist… Hier mein kleines Traffic-Skript zur Auswertung des übertragenen PPP-Volumens. Sehr nützlich für meine Konfiguration “UMTS ohne Connection Manager“. Also, für den Fall, dass jemand einen Ansatz für OS X braucht:
Datenvolumen-Skript

P.S.: Kein Anspruch auf besonders guten Code oder pfiffige Umsetzung. But it works!

Posted in Computer, Internet | Tagged | 1 Comment

Überall ins Internet mit UMTS

Seit einigen Wochen kann ich nun auch mit meinem MacBook überall ins Internet. Ich habe dazu bei eBay einen Huawei E172 UMTS-/HSDPA-USB-Stick mit Vodafone-Branding, aber ohne Sim-/Net-Lock, ersteigert. Passt mit seinem glänzend weißen Gehäuse prima zum Mac^^ Als Tarif habe ich zu meinem bestehenden o2-Genion-S-Vertrag das Internet-Pack L hinzugebucht (das Pack M hatte ich ja vorher schon für’s iPhone).

Das heißt nun zusammengefasst:

  • theoretisch mit bis zu 7,2MBit/s Down- und 1,45MBit/s Upstream ins Netz
  • praktisch bei meinen Eltern mit 1,8MBit/s (und damit schneller als mit dem DSL-Anschluss) ins Netz, in Erlangen-Dechsendorf leider nur 384KBit/s (Zentrum 1,8MBit/s), Paderborn-Elsen hoffentlich wieder HSDPA
  • 10GB Übertragungsvolumen inklusive (danach Drosselung auf 64KBit/s) für 21,25€ (15% Online-Rabatt)

Bisher habe ich den grottigen o2-Connection-Manager zur Einwahl benutzt. Hatte aber zwischenzeitlich drei Kernel Panics, die Verbindung hat nie lange gehalten (vor allem bei Downloads, YouTube etc. abgekackt) und der Stick lief dann erst wieder nach Abziehen und Anstecken von/an USB, außerdem hat sich der Connection-Manager auch öfters mal verabschiedet (einmal war sogar die Online-Statistik weg). Ziemlich buggy das ganze also, und wenig Mac-like.

Naja, heute hab ich mir mal die (kleine) Mühe gemacht, den Connection-Manager durch eine manuell eingerichtete Einwahlverbindung zu ersetzen. Mac OS Leopard bringt von Haus aus eine keine .kext für den E172. Deshalb kopiert man mit
sudo cp -Rp /Applications/Connection_Manager.app/Contents/Drivers-x86/HuaweiDataCardDriver.kext /System/Library/Extensions
die Connection Manager Kernel Extension ins System. Nach einem Neustart (oder, ungetestet, “kill -1” an den kextd und Neueinstecken des Sticks) wird sie geladen.

Ich habe dann den Stick in den Netzwerkeinstellungen als Hersteller “Allgemein”, Modell “GPRS (GSM/3G)” eingerichtet. Als APN “surfo2″, Telefonnummer “*99#” und dann noch ein paar Einstellungen unter dem Reiter “PPP”. Nervige Nachfrage jede Viertelstunde ob die Verbindung noch benötigt wird aus und sowat. Achja, ganz wichtig: SIM-PIN-Abfrage über ein Handy für die Karte deaktivieren. Für die PIN-Eingabe gibt’s nämlich im OS kein Menü. Und danach direkt die Rufnummer für die Kartensperrhotline irgendwo hinterlegen, für den Fall des Falles.

Joa, nun läuft’s erstmal wie gewünscht. Zwei Stunden online, ca. 200MB Traffic und kein Absturz/Hänger. Langzeiterfahrungen exklusive. Aber es sieht gut aus. Und der dämliche Connection-Manager kann weg.

Und irgendwann bastel ich mir noch ein Bash-Skript, was das übertragene Datenvolumen eines Monats aus der /var/log/ppp.log bestimmt :D

Skorfulose:~ thomas$ grep bytes /var/log/ppp.log 
Sat Aug 23 14:29:45 2008 : Sent 382556 bytes, received 2541374 bytes.
Sat Aug 23 16:28:34 2008 : Sent 7086242 bytes, received 152994522 bytes.

Posted in Computer, Internet | Tagged , , , , , | 1 Comment

apt-get

Ein sudo apt-get install vi hat mir bei meinem Word-Problem leider auch nicht helfen können… ;)

Posted in Computer | Tagged , , | Leave a comment