Das Apple TV registriert sich nach der Vergabe einer IP Adresse in Bonjour.
Das tut es allerdings nur wenn es glaubt, dass seine DHCP Lease erneuert wurde.
Die meisten Router sind Mist was DHCP Leasees angeht.
http://www.schoenbuchsoft.de/Grundlagen/jon2/chapter6/jon6.07.html
Also setzt man entweder die DHCP Lease Time am WLAN Router runter, damit das Apple TV öfter seine Lease erneuert,
oder man konfiguriert das ATV statisch.
Das zweite Problem ist, dass die Registrierund in Bonjour über Multicast erfolgt.
Manche Router leiten diese Pakete manchmal nicht weiter, also hat niemand "gehört" dass das ATV jetzt an ist.
Fazit: Es liegt fast immer am Router.
Pro Tipp: Man extrahiert sich die DNS TXT und PTR records mit "dns-sd" und "mDNSResponder" und verdrahtet sie in seinen eigenen DNS.
Diesen DNS fügt man als "Search Domain" am Rechner hinzu und hat nie wieder Probleme.
(Unter Verwendung statischer IP's natürlich)
EDIT: Ein bisschen Voodoo
Wer suchet:
Code:
[mau@macpro] sudo killall -INFO mDNSResponder
[mau@macpro] sudo less /var/log/system.log
Der findet sein Apple TV:
Code:
[mau@macpro] dns-sd -B _airplay._tcp
Browsing for _airplay._tcp
DATE: ---Sun 28 Jul 2013---
22:17:46.364 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
22:17:46.365 Add 2 5 local. _airplay._tcp. Bedroom Apple TV
^C
[mau@macpro] dns-sd -Z _airplay._tcp
Browsing for _airplay._tcp
DATE: ---Sun 28 Jul 2013---
22:18:03.082 ...STARTING...
; To direct clients to browse a different domain, substitute that domain in place of '@'
lb._dns-sd._udp PTR @
; In the list of services below, the SRV records will typically reference dot-local Multicast DNS names.
; When transferring this zone file data to your unicast DNS server, you'll need to replace those dot-local
; names with the correct fully-qualified (unicast) domain name of the target host offering the service.
_airplay._tcp PTR Bedroom\032Apple\032TV._airplay._tcp
Bedroom\032Apple\032TV._airplay._tcp SRV 0 0 7000 Bedroom-Apple-TV-5.local. ; Replace with unicast FQDN of target host
Bedroom\032Apple\032TV._airplay._tcp TXT "deviceid=9C:20:7B:E6:6B:CB" "features=0x5a7ffff7" "flags=0x4" "model=AppleTV3,1" "pk=030b90bfde28ae1b018238cfbae021673c49b866eb9c9d9a4147dea882070e32" "srcvers=160.10" "vv=1"
Code:
[mau@macpro] ping Bedroom-Apple-TV-5.local
PING bedroom-apple-tv-5.local (192.168.2.163): 56 data bytes
64 bytes from 192.168.2.163: icmp_seq=0 ttl=64 time=15.220 ms
64 bytes from 192.168.2.163: icmp_seq=1 ttl=64 time=6.120 ms
Dieseen Eintrag miacht man sich dann in seinem DNS. Nat[rlich unter einer Domain.
Gebraucht wird
PTR Record
SRV Record
TXT Record
A Record
Steht alles in dem dump von dns-sd
Man muss nur das '.local' durch seine domain ersetzen und die SRV PTR und TXT records in sein Zonefile schreiben.
Funktioniert toll mit ein bisschen know-how.