it:linux:openwrt_appletv

OpenWrt und AppleTv

  • Apple TV haengt ueber HDMI an einem Samsung Fernseher
  • Apple TV hat (weil er kein WPA-Enterprise kann) einen TP Link 1043 ND dabei, um Netzwerk-konnektivitaet per WLAN herzustellen
  • Am TP-Link haengt ein Arduino und ein Bastel-Board mit einer IR-LED um die Fernbedienung des Samsung TVs zu simulieren
  • Zusaetzlich gibt es ein IPad, welches mit dem AppleTV AirPlay machen moechte.
  • Samsung Fernseher schaltet nicht zwischen „normalen“ TV und Apple TV um, wenn AirPlay aktiv ist, da Apple TV immer ein HDMI Signal macht, wenn eingeschaltet.
  • Fuer AirPlay immer auf die Source Taste des TVs zu klopfen (und jedes mal Schalten 5s zu warten) macht keinen Spass
  • OpenWrt auf TP-Link Router
  • libipq und iptables koennen den gesamten Netzwerkverkehr des Apple TV analysieren
  • Herausfinden, welches Paket mit welchem Inhalt anzeigt, dass AirPlay aktiv ist und dann Source Signal ueber Arduino/Fernbedienungssimulation an den TV senden um die Quelle des TVs auf Apple TV zu schalten.
  • Wenn AirPlay vorbei, dann wieder zurueck auf normalen TV schalten.
  1. git clone git://git.openwrt.org/12.09/openwrt.git
    cd openwrt
    git clone git://git.openwrt.org/12.09/packages.git
  2. in feeds.conf.default folgende Zeile einfuegen:
    src-link bkb /tmp/openwrt/bkb_packages

    . Hierbei /tmp/ gegen den absoluten Pfad zum openwrt Verzeichnis ersetzen.

  3. appletv_utils_1043ndv1_2015-01-03.tar.bz2 im openwrt Verzeichnis entpacken
  4. make package/symlinks
  5. make
  6. Firmware befindet sich unter
    bin/ar71xx/

AppleTV/AirPlay spricht mDNS auf UDP 244.0.0.251 und Port 5353. Iptables wird angewiesen beim start des Daemons alle mDNS Pakete an die User-Space Queue zu senden. Diese sucht nach den Text Strings „iTunes_Ctrl_“ und „-iPad“ in den mDNS Paketen. Falls beide Strings gefunden werden, dann ist AirPlay aktiviert worden. Wurde jedoch nur der String „iTunes_Ctrl_“ gefunden, dann ist AirPlay deaktiviert worden.

  • it/linux/openwrt_appletv.txt
  • Zuletzt geändert: 2015/12/24 15:26
  • (Externe Bearbeitung)