Airsonos auf einem RaspberryPi unter Arch Linux

Nachdem cashy in seinem Blog erwähnt hat, dass es airsonos gibt (wovon ich vorher noch nie gehört habe) musste ich mich schnell ans Werk machen um diese Funktion in mein Sonos-System zu implementieren.

Ich hatte noch einen RaspberryPi übrig und habe darauf mittels Noobs „Arch Linux“ installiert.

Das folgende soll nur eine Kurzanleitung der airsonos Installation sein; mit der heißen Nadel gestrickt (mehr oder weniger ein Log der SSH Session) ohne Anspruch auf Fehlerfreiheit und Vollständigkeit 😉

Raspberry auf 1GHz übertakten

„Turbo-Block“ auskommentieren und neustarten:

[root@alarmpi ~]# vi /boot/config.txt
(...)
##Turbo
arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6
(...)

[root@alarmpi ~]# reboot

Pakete installieren

(kann man auch zusammenfassen)

[root@alarmpi ~]# pacman -Sy
:: Synchronizing package databases...
 core 154.9 KiB 147K/s 00:01 [######################################] 100%
 extra 2.2 MiB 695K/s 00:03 [######################################] 100%
 community 2.3 MiB 631K/s 00:04 [######################################] 100%
 alarm 28.9 KiB 28.3M/s 00:00 [######################################] 100%
 aur 62.5 KiB 361K/s 00:00 [######################################] 100%

[root@alarmpi ~]# pacman -Sy nodejs
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
resolving dependencies...
looking for inter-conflicts...

Packages (1): nodejs-0.10.30-1

Total Download Size: 3.77 MiB
Total Installed Size: 16.03 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 nodejs-0.10.30-1-armv6h 3.8 MiB 745K/s 00:05 [######################################] 100%
(1/1) checking keys in keyring [######################################] 100%
(1/1) checking package integrity [######################################] 100%
(1/1) loading package files [######################################] 100%
(1/1) checking for file conflicts [######################################] 100%
(1/1) checking available disk space [######################################] 100%
(1/1) installing nodejs [######################################] 100%
Optional dependencies for nodejs
 python2: for node-gyp
synchronizing filesystem...


[root@alarmpi ~]# pacman -Sy python2
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
resolving dependencies...
looking for inter-conflicts...

Packages (2): sqlite-3.8.6-1 python2-2.7.8-1

Total Download Size: 9.17 MiB
Total Installed Size: 60.86 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 sqlite-3.8.6-1-armv6h 395.0 KiB 309K/s 00:01 [######################################] 100%
 python2-2.7.8-1-armv6h 8.8 MiB 1734K/s 00:05 [######################################] 100%
(2/2) checking keys in keyring [######################################] 100%
(2/2) checking package integrity [######################################] 100%
(2/2) loading package files [######################################] 100%
(2/2) checking for file conflicts [######################################] 100%
(2/2) checking available disk space [######################################] 100%
(1/2) installing sqlite [######################################] 100%
(2/2) installing python2 [######################################] 100%
Optional dependencies for python2
 tk: for IDLE
synchronizing filesystem...


[root@alarmpi ~]# export PYTHON='/usr/bin/python2'
[root@alarmpi ~]# pacman -Sy make
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
resolving dependencies...
looking for inter-conflicts...

Packages (5): gc-7.4.2-1 guile-2.0.11-1 libatomic_ops-7.4.2-1 libltdl-2.4.2-12 make-4.0-2

Total Download Size: 3.65 MiB
Total Installed Size: 15.12 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 libltdl-2.4.2-12-armv6h 143.3 KiB 320K/s 00:00 [######################################] 100%
 make-4.0-2-armv6h 360.0 KiB 1017K/s 00:00 [######################################] 100%
 libatomic_ops-7.4.2-1-armv6h 57.1 KiB 3.98M/s 00:00 [######################################] 100%
 gc-7.4.2-1-armv6h 194.6 KiB 1621K/s 00:00 [######################################] 100%
 guile-2.0.11-1-armv6h 2.9 MiB 3.71M/s 00:01 [######################################] 100%
(5/5) checking keys in keyring [######################################] 100%
(5/5) checking package integrity [######################################] 100%
(5/5) loading package files [######################################] 100%
(5/5) checking for file conflicts [######################################] 100%
(5/5) checking available disk space [######################################] 100%
(1/5) installing libltdl [######################################] 100%
(2/5) installing libatomic_ops [######################################] 100%
(3/5) installing gc [######################################] 100%
(4/5) installing guile [######################################] 100%
(5/5) installing make [######################################] 100%
synchronizing filesystem...


[root@alarmpi ~]# pacman -Sy gcc
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
resolving dependencies...
looking for inter-conflicts...

Packages (5): binutils-2.24-1 cloog-0.18.1-2 isl-0.12.2-1 libmpc-1.0.2-2 gcc-4.8.2-7

Total Download Size: 20.44 MiB
Total Installed Size: 84.29 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 binutils-2.24-1-armv6h 3.6 MiB 2.34M/s 00:02 [######################################] 100%
 libmpc-1.0.2-2-armv6h 52.2 KiB 51.0M/s 00:00 [######################################] 100%
 isl-0.12.2-1-armv6h 324.2 KiB 21.1M/s 00:00 [######################################] 100%
 cloog-0.18.1-2-armv6h 56.1 KiB 18.3M/s 00:00 [######################################] 100%
 gcc-4.8.2-7-armv6h 16.4 MiB 7.04M/s 00:02 [######################################] 100%
(5/5) checking keys in keyring [######################################] 100%
(5/5) checking package integrity [######################################] 100%
(5/5) loading package files [######################################] 100%
(5/5) checking for file conflicts [######################################] 100%
(5/5) checking available disk space [######################################] 100%
(1/5) installing binutils [######################################] 100%
(2/5) installing libmpc [######################################] 100%
(3/5) installing isl [######################################] 100%
(4/5) installing cloog [######################################] 100%
(5/5) installing gcc [######################################] 100%
synchronizing filesystem...

airsonos installieren

[root@alarmpi ~]# npm install airsonos -g

> ursa@0.8.0 install /usr/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/ursa
> node-gyp configure build && node install.js


(...)


[root@alarmpi ~]# airsonos
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Searching for Sonos devices on network...
Setting up AirSonos for Schlafzimmer {192.168.22.135:1400}
Setting up AirSonos for Küche {192.168.22.142:1400}
Setting up AirSonos for Wohnzimmer {192.168.22.107:1400}
Setting up AirSonos for Bad {192.168.22.144:1400}
^C

airsonos als Service starten und den Raspberry neustarten

[root@alarmpi ~]# vi /etc/systemd/system/airsonos.service
#########################################################################
#
# airsonos.service
# systemd service: start the airsonos-server
#
#########################################################################

[Unit]
Description=Start airsonos server

[Service]
Type=simple
ExecStart=/usr/bin/airsonos

[Install]
WantedBy=multi-user.target

# EOF
[root@alarmpi ~]# systemctl enable airsonos.service
ln -s '/etc/systemd/system/airsonos.service' '/etc/systemd/system/multi-user.target.wants/airsonos.service'
[root@alarmpi ~]# reboot

Fertig :)

(Ich hoffe ich habe nichts vergessen/übersprungen…)

DHL Express und die Packstation

Irgendwie hab ich es im Moment auch mit den Versanddienstleistern… letztens Hermes und heute DHL Express.

Wie kommt DHL Express darauf, dass es eine gute Idee währe als Auricher mal eben nach Bremen zu fahren um eine Lieferung abzuholen die nicht in die Packstation passt??? Haben die schon mal auf die Landkarte geguckt? Ich mein, ist ja nicht grad mein Hobby, für ein Paket jeweils 2 Stunden nach Bremen hin und zurück zu fahren.

Zumal das „Express“ ja auch noch andeuten sollte, dass man seine Ware etwas schneller bekommt, und nicht das man selbst dafür fahren muss… Manchmal fass ich mir echt an den Kopf. Klar, die Sendung ist zu groß… versteh ich. Nur was bringt mir der Packstations-Service, wenn man die Sendung nicht mal in der nächstgelegenen Post-Filiale abholen kann was ich in diesem Fall noch verstanden und akzeptiert hätte. Gnädigerweise hat man die Möglichkeit bei einer Zweitzustellung seitens DHL eine alternative Adresse anzugeben.

Hermes Versand

Heute hat sich das (Achtung Ironie) super Image von Hermes mal wieder bestätigt.

Ich hatte schon Sorge, als ich gelesen habe, dass meine bestellten Gläser mit Hermes versendet werden. Naja gut, dachte ich. Vielleicht schaffen die es ja ausnahmsweise mal ein Paket vernünftig anzuliefern. Die Hoffnung stirbt bekanntlich zuletzt… Und sie ist mit eintreffen des Hermes Paketes gestorben.

Okay, sie haben es geschafft, nur 2 der 3 Kartons zu zerstören… Soll man das nun als guten Willen deuten, oder haben sie einfach nur schlampig ihren Job gemacht? Hätten sie ihren Job richtig gemacht, währen wenigsten alle 3 Pakete kaputt gewesen.

Ich bin ja mal gespannt. Nächste Woche werden neue Gläser geliefert und die alten mitgenommen. Natürlich wieder per Hermes…

Wieso lassen sich Versandhändler eigentlich noch auf Hermes ein? Zum Glück hab ich von Amazon noch kein Paket mit Hermes bekommen…

Meterware…

Kritkmails an Shops werden ja meißt schnell in Ablage P verschoben und mit vordefinierten Textbausteinen beantwortet…

Wenn man sich einen Artikel als Meterware mit frei wählbarer Länge bestellt, kann man doch eigentlich davon ausgehen, dass man einen Artikel in der gewünschten Länge und nicht mehrere Teile bekommt, oder?

Auch wenn es mir nichts mehr bringt, der Shop „Schlauchverkauf HUW UG“ sollte hier mal als Negativbeispiel „beworben“ werden. Gekauft habe ich dort (als geplantes Geschenk) einen 80 Meter Gardena Gartenschlauch. Dieser Schlauch sollte in einem Führungssystem eingesetzt und benutzt werden, wo es sich nicht gut macht wenn dort Verbinder verbaut werden. Da ich sonst keinen Shop gefunden habe, der Meterware anbietet, habe ich beim „Schlauchverkauf“ bestellt. Lieferung erfolgte auch prompt. Aber als ich das Paket aufmachte, traute ich meinen Augen nicht. Darin lagen, schön abgepackt, ein 50 Meter und ein 30 Meter Ende. Bravo…, rechnen können die beim Schlauchverkauf anscheinend, aber denken wohl eher nicht. Kein Hinweis bei der Bestellung, kein Hinweis auf der Artikelseite und auch keine Begrenzung bei der frei wählbaren Länge.

Wenn ich das gewollt hätte, hätte ich mir auch selbst anderswo 30m + 50m zu einem deutlich günstigeren Preis bestellen können! Klar, ich erwarte nun nicht, dass ich dann auch 3km am Stück bestellen kann, aber 80m ist ja nun keine exorbitante Länge.

Ein Anruf bei der Firma war auch eher ernüchternd. „Ja sie haben Meterware bestellt, aber länger als 50 Meter gibt es keine Gartenschläuche“.

Und warum gebt ihr Kunden dann die Möglichkeit mehr als 50 Meter zu bestellen?!

Einen Rücksendeaufkleber habe ich bekommen, aber das Geschenk ist natürlich nun gelaufen…

Mein Weg zum HTC Desire Custom Rom

Eigentlich war ich mit meinem HTC Desire ja ganz zufrieden. Mir hat nichts gefehlt und trotz vieler Meldungen und Tutorials, wie einfach es doch ist ein Custom Rom zu installieren, hatte ich irgendwie nie die Lust dazu.

Meine Meinung änderte sich, als ich dann bei Cashy im Blog gelesen hab, dass durch ein aktuelles Radio Update der Empfang spührbar verbessert werden könne. Aber was währe denn ein super neue RadioSoftware mit einem alten Betriebssystem… nene, wenn schon denn schon. Auf auf in den Update Marathon.

Gerootet hatte ich mein Gerät vorher schon einmal. Ging ganz easy mit unrevoked3 aufm Mac. Anschließen, Knöpfchen drücken, warten, fertig! Meine Apps habe ich mit Titanium Backup gesichert und die SMS noch gesondert per Backup-Funktion in Go SMS Pro.

Vor dem Flashen noch ein Nandroid Backup und ab gehts: Radio Update, Cyanogen 7.0.3 und Google Apps geflashed.

Da ich eh noch eine 8GB MicroSD Karte rumliegen hatte, habe ich diese für meine Versuche genutzt. So bleibt die originale 4GB als Backup erhalten. Vorher hatte ich diese noch eben per ROM Manager partitioniert, welches ich nun mit Simple2Ext ausnutzen kann. Apps werden nun per Symlink immer auf die SD Karte installiert, obwohl Android meint, es schreibt auf den lokalen Speicher.

Nach dem Flashen und der Ersteinrichtung kann man sich Titanium Backup wieder aus dem Market ziehen, und alle gewünschen UserApps und die unkritischen(!) Systemeinstellungen wiederherstellen. Macht bloß nicht den Fehler und versucht alles wiederherzustellen. Das geht schief. Beschränkt euch aufs absolut notwendigste. WLAN Keys, Bookmarks usw. Alle anderen Einstellungen kann man ja schnell wieder vornehmen. So lernt man sein „neues“ System auch gleich wieder etwas kennen 😉

Zum Schluss noch die SMS in Go SMS wiederhergestellt und fertig ists. Im Moment vermisse ich noch nichts. Falls ja, hab ich immer noch meine alte SD Karte, und zur Not das Nandroid Backup.

OS X Mail – Ein Konto, verschiedene Absender

In Dirks Blog habe ich relativ schnell die Lösung gefunden, wie man mehrere Absender-Adressen in einem Mail Account kombiniert.

Einfach in den Einstellungen von OS X Mail im betreffenden Account im Feld „E-Mail-Adresse:“ mehrere eMail-Adressen, durch Kommas getrennt, eintragen. So stehen diese beim Senden von Mails als Auswahlbox zur Verfügung.

Ausführlich beschrieben steht es noch einmal im Artikel von Dirk Weise.

IMAP System-Folder in OS X Mail definieren

Eigentlich eine kleine Einstellung… wenn man weiß wo man diese findet.

Es geht um die speziellen IMAP-Folder wie „Drafts“, „Trash“, „Spam“ und „Sent“.

Da es, soweit ich weiß, keinen Standard gibt wie man diese IMAP-Folder benennen sollte, tuen es sich die Mail-Clients teilweise schwer, diese auf einem IMAP Server zu finden und zu nutzen. Eigentlich in jedem Mail Client eine kleine Einstellungssache. Meißtens in der Account Verwaltung. Aber dort konnte ich bei OS X Mail nichts finden. Entnervt gab ich schnell auf, es gab ja in OS X noch vieles Anderes zu erkunden und zu konfigurieren. Mit meinem Roundcube Webclient war ich immer zufrieden und ich wollte ihn auch weiterhin nutzen.

Nun packte mich aber die Neugier. Irgendwo und irgendwie muss das doch gehen… Google -> siehe da… so einfach ist das…

Einfach den entsprechenden noch nicht zugewiesenen Ordner öffnen (z.B. Trash), im Menü unter „Postfach“ -> „Dieses Postfach verwenden für“ -> „Papierkorb“. Und schon wird dieser Ordner als Papierkorb im OS X Mailprogramm benutzt. Analog macht man dies dann mit den anderen 3 verfügbaren Systemordnern Spam, Gesendet und Entwürfe.

OS X Mail - System-Folder

 

Ob ich mir nun meinen Webclient abgewöhne und mehr den lokalen Mail-Client verwende? Mal schaun…

Firefox Trackpad-Tuning

Was braucht ein eingefleischter Windows-User auf seinem MacBook? Ganz klar, Firefox. Da ich ja schon von Anfang an von der Gesten-Steuerung begeistert war, war ich sehr erfreut, dass diese im Firefox auch schon beinahe sehr gut unterstützt wird. Eines fehlte mir jedoch…. Da ich sehr viel mit Tabs arbeite, war es immer umsändlich, nur um mal eben das Tab zu wechseln, ein neues zu öffnen oder ein altes zu schließen, den Pointer an die richtige Stelle zu bewegen oder die Tastatur zu bemühen. Kurz gegoogelt und auf Macwrench die Lösung für meine Probleme gefunden.

Da ich Pinch-to-Zoom im Firefox nicht benötige, habe ich diese beiden Funktionen mit Tab öffnen und schließen belegt.

  • Finger zusammen -> Zoom out -> Tab zu
  • Finger auseinander -> Zoom in -> Neues Tab
  • als Gimmik, beim „Zoom in“ mit gedrückter Shift Taste wird kein neues Tab aufgemacht, sondern ein (evtl. versehentlich) geschlossenes Tab wieder geöffnet.

Weiterhin habe ich die bisher von Firefox ungenutzen „swipe“-Gesten mit den Funktionen „nächster Tab“ und „vorheriger Tab“ belegt.

Das ganze sieht dann so aus (Einstellungen unter der Adresse about:config):

Firefox Gesten-Einstellungen

Achja, bevor ich es vergesse. Wie Caschy angekündigt hat, ist die finale Version von Firefox 4 erschienen. Noch nicht auf der Mozilla.com Startseite zu sehen, aber die Datei kann schon per Direktlink (Windows / OS X) runtergeladen werden. Auf einem Windows-Desktop habe ich es schon getestet, macht Laune und sieht gut aus. Kommt mir auch subjektiv schneller vor als die 3er Version.

MacBook Pro, das etwas andere Notebook

Wie ein Windowsuser auf OS X kommt? Ganz einfach: Ein neues Notebook musste her… nicht sofort aber auch nicht erst in einem Jahr. So machte ich mich also Monatelang auf die Suche nach einem neuen Notebook. Testberichte gelesen, jeden MediaMarkt Prospekt abgewartet (vielleicht ist ja irgendwann das Notebook in „meiner“ Traumkombination dabei?) und Amazon, sowie Notebooksbilliger.de dutzendfach durchsucht…

Irgendwann stand ich dann zwischen der Entscheidung Sony VAIO F13Z8E oder MacBook Pro 13″. Beides solide Notebooks mit Chiclet-Tastatur (wollte ich haben) und einer gewissen Qualität, die man bei anderen Herstellern vergeblich sucht. Ich nutze mein Notebook nur zum Surfen, Schreiben und Chatten, sowie die anderen Kleinigkeiten, die man so nebenbei macht (Musik und Podcasts hören, etc…). Dafür ist das MacBook eigentlich ideal. Schön kompakt, Tastaturbeleuchtung, … aber OS X? Hmm… sollte ich mich als langjäriger Windows-Nutzer wirklich mit OS X beschäftigen wollen?

Ein paar Mal habe ich mir MacBooks in den verschiedensten Elektronik-Märkten angeschaut. Von Mal zu Mal gefielen sie mir besser. Besonders das Touchpad, ähm Trackpad, hat es mir angetan. Die verfügbaren Gesten sind einfach der Hammer und übertreffen die Multitouch-Touchpads „normaler“ Notebooks um längen. Dann noch die excellente Verarbeitung und die kompakten Abmessungen (13 Zoll), kombiniert mit der neuesten Hardware-Generation: „Haben wollen, sofort!“

Dem Gegenüber stand das Sony VAIO F13Z8E. Ein Nachfolger des F13Z1E, welches in allen Testberichten sehr unangenehm durch häufig laute Lüfter und ein Fiepen aufgefallen ist. Sollte Sony es mit dem F13Z8E endlich (seit der F11-Serie) geschafft haben das Problem in den Griff zu bekommen? Im Laden lässt sich sowas immer schwer sagen… zu laute Umgebung und zu wenig Zeit zum Testen. Testberichte gab es auch noch keine. Nur ein paar Amazon-Rezensionen, welche aber auch eine hohe Lüfteraktivität berichteten. Zwar im Rahmen, aber nicht wirklich leise. Wenn man es aber genau bedenkt, brauche ich die Features des Sony VAIO gar nicht. Wozu ein 16 Zoll Gerät mit FullHD, Core i7 und (mittelmäßiger) GeForce Grafikkarte, wenn ich nur hier ein da ein bisschen tippe, Videos gucke und Musik höre? Richtig. Vollkommen übertrieben.

Im Endeffekt habe ich mich dann für das kleinste MacBook Pro mit 13″ Display, Core i5 und 4GB RAM entschieden, da es für mich die meißten Vorteile bietet und dazu auch noch über 300 Euro günstiger, als das Sony war. Gewünscht hätte ich mir zwar das 15″ MacBook Pro, aber das sprengt absolut den Preisrahmen.

MacBook Pro 13″. Kaufen. Mitnehmen. Auspacken. Wow!

 

Soweit ich das nun nach dem ersten Tag beurteilen kann, gefällt mir aber der Formfaktor des 13″ Modells. Mal sehen ob ich das nach ein paar Wochen immer noch sagen kann.

Da hier ein Umsteiger von Windows 7/XP auf Mac OS X schreibt (zumindest für den Bereich Notebook), wird es in der nächsten Zeit aufgrund der Umsteiger -Fragen und „-Probleme“ sicher die einen oder anderen Blog-Posts mit Hinweisen und Tipps geben. Eine Doku für mich und vielleicht eine Hilfe für andere Umsteiger :)