Der 25€ Airtunes Client

Vor einigen Tagen habe ich ja beschrieben wie ich Airtunes (also Airplay nur für Musik) nutze um in der ganzen Wohnung Musik zu streamen.

Wie ich damals schon sagte liegt die krux in den Clients, denn wenn man alles nach Apples willen aufbaut dann ist man sehr schnell sehr viel Geld los. Gebrauchte Airport Express werden ab 50€ in der Bucht gehandelt. Neu muss man für das aktuell Mode gut 100€ hinblättern. Dafür kriegt man fast schon ein Apple TV.

Dank der Software Shairport geht es auch günstiger. Denn damit kann man so gut wie alles worauf Linux läuft und das über eine Netzwerkschnittstelle und eine Soundkarte verfügt zum Airplay Client machen.

640px-RaspberryPi

Jetzt brauchen wir nur noch die passende Hardware. Wenn es um DIY, Linux und Kleinstrechner geht dann lautet seit gut zwei Jahren das Zauberwort Raspberry Pi. Auch wenn ich das Projekt für extrem spannend halte und selbst eine solch kleine Platine mein eigen nenne denke ich nicht das der Pi für den Einsatzzweck als Airtunes Client prädestiniert ist. Warum? Er ist ein einfach zu teuer. Das fängt beim Board mit 35€ an. Dann braucht man noch ein Netzteil, Gehäuse, Wlan Adapter, eine USB Soundkarte (kein Onboard DAC vorhanden also schlechter Sound) usw. Am Ende ist man weit über dem Preis einer gebrauchten Airport Express, man kann dafür fast schon eine neue kaufen. Knut Welzel hat das in seinem Blog einmal sehr schön aufgeschlüsselt. Wen das nicht abschreckt, vielleicht weil er alles schon rumliegen hat findet dort auch die passende Anleitung für den Pi.

im121114001_1

Ich suchte aber weiter und da viel mir mein alter TP Link TL-WR703N Minirouter in die Hände. Darauf läuft OpenWRT, er hat einen USB Port für die USB Soundkarte und Wlan schon an Board. Der Nachteil an dem Gerät, richtig günstig gibt es Ihn nur in China, via ebay für ca. 19€. Dafür muss man Wochenlang auf Ihn warten und dann hängt der vielleicht beim Zoll. Wenn man mehrer davon auf einmal bestellt werden auch auf jeden Fall Zollgebühren fällig. Desweiteren erlauben die 4MB flash nicht die gleichzeitige Installation der OpenWRT Gui und Shairport. Wen das aber nicht abschreckt der  kann sich für ca. 20€ einen Airtunes Client bauen. Einfach einen WR703N + 1€ USB Soundkarte auf China bestellen. Die passende Software (nebst anleitung zum selber kompilieren) gibt es hier. Nehmt nur NICHT den WR702N, den bekommt man auch günstig in Deutschland, er ist aber nicht für OpenWRT geeignet.

9051051090D187B6E1FB44418EE866DD

Also ging die Suche weiter, bis ich die meiner Meinung nach perfekte Hardwareplattform gefunden hatte. Wirklich weit suchen musste ich nicht, denn ich wurde wieder bei TP- Link fündig. Und zwei beim TL-WR710N. Man kann Ihn problemlos in Deutschland kaufen. Die Preise beginnen bei ca. 20€, er wird von OpenWRT (Trunk) unterstützt und bietet mit 8MB Flash. Des weiteren ist der Stromschluss schon integriert also kein Extra kabel zu nem kleinen Netzteil. Dazu noch eine 3€ USB Soundkarte von CSL Compuer (eBay) oder ein paar USB Lautsprecher ala Logitech S-150 und der Spass kann beginnen.

Fertige Firmware zum flashen (für WR710N)

Zuerst eine Warnung: Wenn man einen Firmwareflash durchführt besteht immer die Gefahr das etwas schief geht. Geht euer Router beim flashen kaputt dann ist das nicht mein Problem. Ich habe die Firmware auf einigen WR710N ohne Probleme getestet und hatte dabei keine Probleme.

Die fertige Firmware ist die schnellste Art zum Ziel zu kommen. Ladet euch zuerst das Archiv mit den Firmware Files herunter:

OpenWRT-710N-Shairport

Wenn Ihr das Archiv entpackt habt findet Ihr drei Dateien vor. Ein MD5sums, wie der Name schon sagt findet Ihr darin die Checksums um zu überprüfen ob die Firmware Dateien beschädigt sind. Ausserdem findet eine openwrt-ar71xx-generic-tl-wr710n-v1-squashfs-factory.bin und eine openwrt-ar71xx-generic-tl-wr710n-v1-squashfs-sysupgrade.bin.

Der Name dürfte ja schon ein bisschen was über den Einsatzzweck verraten. Die factory.bin benötigt Ihr um auf einen neuen WR710N OpenWRT zu flashen. Die Sysupgrade.bin müsst ihr benutzen wenn der Router schon unter OpenWRT läuft. Wenn Ihr wisst welche Datei Ihr braucht dann benennt sie einfach in openwrt.bin um. Nicht das das Webinterface bei dem langen Namen Probleme macht.

Die Prozedur ist eigentlich recht überschaubar. Schließt den WR710N an euren Router oder Switch zuhause an und startet Ihn (Wan/Lan Port benutzen!). Der Router ist so voreingestellt das er als eigene IP 192.168.0.254 verwendet, Ihr müsst also sehen das euer PC im gleichen Subnet hängt. Nun Navigiert mit euren Browser zum Web Interface des Routers,die Standardeinstellungen für User und Passwort sind admin/admin.

Sucht in dem Webinterface nun dem Punkt um ein Firmwareupdate auszuführen. Dort wählt Ihr nun die vorher ausgesuchte factory.bin aus und startet das Update. Wartet nun bis der Router rebootet. Das kann ein paar Minuten dauern.

Nun kommt Ihr nicht mehr auf das Webinterface des Router, keine Angst er ist nicht tot. Standardmäßig verwendet OpenWRT die 192.168.1.1 als Standard IP. Stellt euren Rechner also dementsprechend ein. Nun sind noch ein paar kleinere Modifikationen nötig. Dafür benötigt Ihr ein Terminal Programm, Linux und Mac OS User nehmen einfach das im Betriebssystem integrierte, Windows User nehmen Putty.

Stellt nun eine Telnet Verbindung zur 192.168.1.1 her. Wen alles gut gelaufen meldet sich dort der WR710N mit frischem OpenWRT.

Nun tippt den Befehl passwd ein und drückt enter. Nun werdet Ihr nach einem neuen Root Passwort für den Router gefragt.

Nachdem Ihr ein Passwort gesetzt habt wird der Telnet Client deaktiviert und Ihr habt nur noch per SSH Zugriff auf den Router bzw. über das Web Interface.

In der Kommandozeile könnt Ihr nun auch noch in der Datei /etc/config/airplay den Namen eures Airplay Clients anpassen.

Wenn das passiert ist dann könnt Ihr die Kommandozeile verlassen und auf das Web-Interface wechseln. Dort könnt Ihr die Netzwerkeinstellungen an eure Vorstellungen anpassen. Soll der Router sich ein einem bestehenden Wlan anmelden? Oder soll er selbst als Access Point dienen und einen Lan Anschluss ins Wlan weiter reichen? Welcher Ethernet Schnittstelle soll per  DHCP eine Adresse bekommen? Das bleibt euch überlassen.

Wenn Ihr alles richtig eingerichtet habt dann sollte sich in eurem iTunes oder auf eurem iPhone ein neuer Airplay Client mit dem Name WR710N melden, oder dem Namen den Ihr Ihm gegeben habt.

Viel Spass

36 Gedanken zu „Der 25€ Airtunes Client“

  1. hi! top, danke für die anleitung. genau sowas habe ich gesucht. nur leider hakt es jetzt bei mir. nach dem flashen einer neuen 710N (EU) v1.1 und neustart leuchtet die lampe blau aber ich kann nicht via 192.168.1.1 drauf zugreifen. obwohl ich mich in dem selben subnetz bewege. telenet findet unter 192.168.1.1 auch nichts. komischerweise zeigt die fritzbox aber unter netzwerk eine verbindung zu openwrt unter der IP 192.168.1.6 an … aber auch hier kann ich nicht via telent drauf zugreifen (time out). ist das ding gebrickt? danke! jose

  2. Hey Björn, super, vielen Dank! Wegen deines prekompilierten Images habe ich mir die Kiste bestellt. Ich hoffe, du hast keine Backdoor / Sinkholing Trunk eingebaut? LG

    1. Nö da brauchste keine Angst zu haben. Ich kann aber natürlich nicht für den Quellcode von OpenWRT garantieren das er fehlerfrei ist. Da der Airtunes Client jedoch nur im LAN erreichbar sein sollte, sollte es dort keine Probleme geben.

  3. Hallo Björn!

    Danke, dein Image ist live. Funktioniert super! Manchmal habe ich allerdings hiccups mit shairport, meinst du, das liegt am buffer size? Hast du damit experimentiert? Die CPU des WR710N ist wohldimensioniert und hat bei aktiver Wiedergabe eines ALAC-Streams via shairport einen mittleren Load von 0.17.

    Welche opkg-Sourcen schlägst du vor? Die packages.gz gibts ja nicht mehr.

    Hast du Reaver und die aircrack-ng-Suite zum Laufen bekommen?

    Danke & LG

    1. Ganz ehrlich, ich habe Shairport nie mit ALAC Dateien ausprobiert.

      Tritt das Problem nur bei WLAN auf oder auch wenn das Gerät per Ethernet verbunden ist. Klar du kannst mit der Buffersize ein bisschen spiele und schauen ob das was ändert.

      Die Frage mit den Package sourcen versteh ich nicht ganz, opkg sollte doch vorinstalliert sein, oder? Ich habe das Gerät jedoch auch nur exklusiv als Shairport Client in Gebrauch, von daher habe ich opkg auf dem Gerät nie benötigt.

      Mit Reaver, Aircrack etc. biste wohl besser beim minipwner Projekt aufgehoben. VOrallem da man sich mit den PRogrammen in Deutschland in einer rechtlichen Grauzone befindet.

  4. Von Zeit zu Zeit bekomme ich im dmesg:

    [45098.950000] WARNING: at /home/bjoern/openwrt/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/compat-wireless-2014-01-23.1/net/mac80211/agg-tx.c:694 ieee80211_start_tx_ba_cb+0xbc/0x12c [mac80211]()

    LG Jose

  5. Hallo Björn, kann ich den TP link Repeater mit Soundkarte lt. deiner Beschreibung auch als externe Soundkarte für meinen Win 7 PC einrichten und dann wie den TERRATEC AIR BEATS HD 130644, AirPlay/DLNA Drahtlose 802.11b/g/n Access-Point WL-Repeater, Musikwiedergabe betreiben ?
    Danke für eine Antwort
    Grüße
    Gunnar

    1. Also die Frage ist in Endeffekt ob man das Terratec Gerät mir dieser Lösung hier ersetzen kann? Die Unterschiede sind das das Terratec Gerät neben Airplay auch DLNA unterstützt. Ein DLNA Client lässt sich unter OpenWRT wahrscheinlich per MPD nachrüsten ist bei meinem Image aber nicht der Fall. Des weiteren hat das Terratec Gerät noch einen SPDIF Ausgang, den könnte man am 25€ Client mit einer passenden Soundkarte auch nachrüsten. Hab bloss keine Ahnung wie teuer einem das kommt.

  6. Das Image funktioniert hervorragend. Danke dafür!

    Wäre es möglich den ALSAEQUAL oder einen anderen Euqalizer auf dem WR710N zu installieren. Das würde mir die Auswahl der passenden Lautsprecher deutlich erleichtern.

    Grüße

    1. Ehrlich gesagt, keine Ahnung. Vor allem müsste es ja eine Headless Lösung sein, mehr als ne Commandline hat man ja nicht. Für mich macht es aber auch keinen Sinn, denn für guten Sound müsste ich erstmal eine vernünftige USB Soundkarte anschließen und die ist nicht günstig.
      Bei mir ist diese Client für die Beschallung des Kinderzimmers verantwortlich, dementsprechend sind auch die Ansprüche an die Soundqualität nicht sehr hoch.
      Wenn man wirklich guten Sound haben möchte ist es wohl eher Ratsam einen 5.1 Receiver mit integriertem Airplay zu benutzen oder eine ähnlich Lösung.

  7. Ich dachte auch an eine Headless Lösung. Schließlich will ich den EQ nur ein einziges Mal ein und dann auch so belassen. Ich habe eine simple USB Soundkarte genommen und kann mich über die Soundqualität nicht beklagen.

    Es geht mir schlichtweg darum, den Lautsprechen ein wenig den Tiefgang zu drosseln damit die Küche nicht dröhnt. 😉 Am Raspberry ist das mit ALSAEQUAL überhaupt kein Problem. Mit OpenWRT kenne ich mich aber leider nicht aus.

    Einen 5.1 Receiver mit integriertem Airplay halte ich für die Küche ein wenig überdimensioniert. 😛

  8. Tolle Anleitung. Danke!

    Funktioniert das Teil dann auch noch gleichzeitig als WLAN-Router (habe ich nämlich noch keinen) und kann den zusätzlich für AIrPlay an die Stereoanlage anschließen?

    1. Ich muss ganz ehrlich zugeben das ich nicht mehr weiss ob ich PPPoE in dem Firmware Image integriert habe. Sollte aber drin sein.
      Ich würde dieses Gerät jedoch nicht als Router nehmen, die zwei Ethernet Ports wäre mir zu wenig. Hier ist es cleverer einen besser ausgestatteten OpenWRT- fähigen Router zu nehmen und darauf Airplay zu installieren.

      1. Will nur 2 Geräte über WLAN an dem Router betreiben und den dann noch für die Musikübertragung zur Stereoanlage nutzen. Brauche sogar nicht mal PPPoE, da mein Kabelmodem schon eingewählt alles am Ethernetport ausgibt. Dann würds sowieso gehen weil der Router nur AP für 2 WLAN-Clients wäre und Airplay über den USP-Port gleichzeitig geht, oder?

  9. Moin Björn!

    Zu erst, DANKE für deine Arbeit und das bereitstellen des kompletten Pakets!
    Glatte EINS!

    Prinzipiell funktioniert es nach wenigen Einstellungen tadellos, so lange man nur diesen einen 710N als Zuspieler verwendet. Ich nutze jedoch auch die Lautsprecher an meinem MB-Pro und einen Airpot Express zur gleichen Zeit. Der 710N ist zeitlich gut eine Sekunde hinterher!

    Ich habe selber mich ‚umgelesen‘ und scheinbar liegt das am Buffer… Anscheinend muss ich gesehen, dass meine Fähigkeiten sich doch beschränken… gibt es eine chance, dass du das angleichst, oder wie sieht es aus mit der Implementierung von sharepoint-sync?
    Würde das Sinn machen?

    Ganz herzlichen Dank schon einmal vorweg!

    Grüße aus Hannover!
    Matthias

    1. Ich glaube ab Freitag habe ich endlich Urlaub, dann kann ich ir das ganze mal wieder anschauen.
      Vielleicht lösen sich mit ner neuen Version von OpenWRT auch meine Probleme mit den Logitech USB Speakern.

    1. Okay ich habe eine neue Version fertig, aber nur mal eben kurz geschaut ob Sie auch funktionstüchtig ist.
      Ich werd schauen ob ich es morgen schaffe das ganze zusammenzupacken und hochzuladen. Dafür ist es mir heute nämlich ein bisschen spät. Wenn ich Zeit habe schreib ich auch noch einen kurzen Walkthrought wie man sich die FW selber erstellen kann.

  10. Hat der WR710N auch GPIOs die man irgendwo abgreifen kann.
    Ich hab bei mir nämlich nen Raspberry mir Shairport zu laufen der per Bash-Script immer die Anlage ans Netz bringt, sobald ich den Stream beginne und nach ner bestimmten Zeit ohne Musik auch wieder trennt. Kann man sowas auch mit OpenWrt realisieren?

    1. Mit OpenWrt wird das sicher möglich sein. Meines wissen bietet der WR710N jedoch keine frei zugänglichen GPIO’s bzw. ich habe im OpenWRT Wiki dazu keine Infos gefunden.
      Ich glaube da fährst du mit dem rPi besser.

      1. Schade. Hab auch mal nach dem 703 geschaut. Aber hab ihn selbst in China nicht so günstig gefunden wie du geschrieben hast. Die sehen Beide so aus als könnte man da ne kleine USB-Soundkarte direkt reinbasteln. Was denkst du? Prinzipiell finde ich den 710 auch interessanter wegen GUI und Shairport zusammen.

        1. Vergiss den WR703N dafür. Die 4MB Flash sind auf jeden Fall zu wenig. Ich weiss gar nicht ob man OpenWRT inkl. Shairport soweit runter bekommt wenn man z.B. LuCi weglässt. Das bedeutet aber einen großen Komfortverlust.
          Eine andere Tatsache ist das man natürlich mit viel Basteln nen USB Hub etc einbauen kann. Dafür sollte man aber schon guten Löt- Equiptment und eine sehr ruhige Hand haben. Ich habe mir so nen kleinen zerstört als ich versucht habe an die interne Serielle Schnittstelle zu kommen.
          Der WR710N ist auf jeden Fall die bessere Wahl. Er ist relativ günstig und mit USB Boxen wie den Logitech S150 kann man sich das basteln sparen.

  11. Kannst du das neue Image zum Download bereitstellen? Ist dort dann „Shairport Sync“ eingebaut? Eine Tutorial zur Erstellung der Firmware wäre großartig!

  12. Mit Netzwerkkabel funktioniert bei mir alles. Aber per Wlan leider nicht. Ich hab in openwrt mich ins wlan eingeloggt. Aber wenn ich das Netzwerkkabel abziehen kann ich mich weder ins openwrt einloggen oder per airplay zugreifen.
    Jemand eine Idee?

      1. Hallo
        Ich habe nun auch das Problem, dass AirPlay nur mit LAN Kabel funktioniert. Im WLAN sehe ich den TP Link aber er bietet keinen Service an.
        Habe es mit Chaos calmer 15.01 versucht. Hier ist es auch so.
        Wie muss ich das WLAN einrichten?
        Gruß Tobias

  13. Ich habe einen Delay von ca. 3 Sek. wenn ich verschiedenen AirPlay Clients anspiele. Gibt es dafür eine einfache Lösung?

    Des Weiteren würde ich den Namen des Airplay Clients gerne anpassen…

    1. Moin wenn du es nicht schon nutzt dann solltest du vielleicht die Version der Firmware mit Shairport sync ausprobieren

      Wie du den Namen der Clients einstellst steht doch in der Anleitung. Einfach per SSH auf den Client verbinden dann kannst du mit dem Editor deiner Wahl den Namen in der /etc/config/airplay Datei anpassen.

Schreibe einen Kommentar

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