-
Notifications
You must be signed in to change notification settings - Fork 235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AirPlay Outputs disappear #496
Comments
Can you investigate what the log says? I think even with the log level set to the default "log", you should see some message in the log when the outputs get removed. If you don't, then set the log level to "debug" (but please don't post the entire log here... just the part that concerns forked-daapd removing the output). |
Sure! See following after losing the “Living Room Express”:
[2018-02-23 11:28:08] [ LOG] lib: Library init scan completed in 1501 sec (0 changes)
[2018-02-23 12:08:19] [ LOG] cache: Beginning DAAP cache update
[2018-02-23 12:08:53] [ LOG] cache: DAAP cache updated
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:58:40] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:14:39] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:21:07] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:06:26] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:06:26] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
… On Feb 23, 2018, at 11:11 AM, ejurgensen ***@***.***> wrote:
Can you investigate what the log says? I think even with the log level set to the default "log", you should see some message in the log when the outputs get removed. If you don't, then set the log level to "debug" (but please don't post the entire log here... just the part that concerns forked-daapd removing the output).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#496 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ALYGko9R7mPCM9SV54ArVAFphC5WjaKPks5tXuM5gaJpZM4SRB2y>.
|
Here is an update where the rest of my AirPlay devices disappeared:
[2018-02-23 11:28:08] [ LOG] lib: Library init scan completed in 1501 sec (0 changes)
[2018-02-23 12:08:19] [ LOG] cache: Beginning DAAP cache update
[2018-02-23 12:08:53] [ LOG] cache: DAAP cache updated
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 12:35:22] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:34:08] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 13:58:40] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:04:10] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:14:39] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 14:21:07] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:06:26] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:06:26] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:33:42] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:33:42] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:47:34] [ LOG] mdns: Avahi Resolver failure: service '00254B071E5A@Audrey's Bedroom' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:47:34] [ LOG] mdns: Avahi Resolver failure: service '001FF3F4E6DC@Living Room Express' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:47:34] [ LOG] mdns: Avahi Resolver failure: service 'C869CD07FFC4@Family Room' type '_raop._tcp' proto 0: Timeout reached
[2018-02-23 15:47:34] [ LOG] mdns: Avahi Resolver failure: service 'D0034BF10027@Master Bedroom' type '_raop._tcp' proto 0: Timeout reached
… On Feb 23, 2018, at 11:11 AM, ejurgensen ***@***.***> wrote:
Can you investigate what the log says? I think even with the log level set to the default "log", you should see some message in the log when the outputs get removed. If you don't, then set the log level to "debug" (but please don't post the entire log here... just the part that concerns forked-daapd removing the output).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#496 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ALYGko9R7mPCM9SV54ArVAFphC5WjaKPks5tXuM5gaJpZM4SRB2y>.
|
This normally means that the service disappears, e.g. if it gets switched off. In this case it could be your wifi somehow being interrupted? So my suggestion would be to test with another router. |
However, I'm not sure I understand why the devices do not re-appear. Maybe there is a problem in forked-daapd there. Not sure how to reproduce that, though. |
All my devices are connected via Ethernet (no WiFi). My router is pfSense on a SuperMicro server motherboard so way overkill for my needs and solid as a rock. All (except for the Pi NIC) is Gigabit. No issues with my Mac mini and iTunes so it has to be Pi running forked-daapd.
… On Feb 24, 2018, at 9:49 AM, ejurgensen ***@***.***> wrote:
However, I'm not sure I understand why the devices do not re-appear. Maybe there is a problem in forked-daapd there. Not sure how to reproduce that, though.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#496 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ALYGktF7HjB8bXfQE2g2d-Z2_GIcOryWks5tYCFngaJpZM4SRB2y>.
|
Yes, then the issue must be somewhere else. I don't think I will be able to find out why Avahi is giving those resolver callbacks in your case. My own setup is also always on, and I don't see this. Instead I will try to produce the error by cutting a network connection and then re-establishing it. If the speaker does not come back, then there might be something I can do. |
Thank you!
… On Feb 25, 2018, at 03:59, ejurgensen ***@***.***> wrote:
Yes, then the issue must be somewhere else. I don't think I will be able to find out why Avahi is giving those resolver callbacks in your case. My own setup is also always on, and I don't see this.
Instead I will try to produce the error by cutting a network connection and then re-establishing it. If the speaker does not come back, then there might be something I can do.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Now I changed my ATV to Ethernet, and I tried the following:
In both instances I get the timeout message, but the ATV also got added again, as it should. So I am not able to reproduce what you are seeing. Two suggestions:
|
I am in exactly the same situation (version 25.0 on Raspberry Pi 3, server and ATVs connected via wired Ethernet on a rock-solid over-specified network, ATVs usable via other means, server showing no other issues, and seeing the ATV outputs disappear intermittently from forked-daapd). With debug turned on and restarting, the ATV endpoints are correctly discovered, then timed out three seconds later. mdns debug here - let me know if other parts of the debug (or anything else) would be useful. Thanks! |
Hi, I see a very similar problem intermittently, but it seems to be much more frequent with my apple devices (airport express) than with my pi zero W's. I have switched routers from airport extreme to netgear orbi and can see that the device is IP-connected via the router as well as recognized from airport utility on iphone/mac. I have 9 endpoints, including 2 ATVs and 1 firestick. I am wondering if there are some overloading issues on avahi? It seems that itunes (or the mac it is running on) is doing something to keep these devices alive/connected that the pi avahi is not. If I restart the forked-daapd server or the missing endpoint, it usually fixes the problem. Will investigate further... when I get time. |
If restarting forked-daapd helps then it makes me think that the problem is between avahi and forked-daapd. After restart forked-daapd gets a list of announcements from avahi, so that must mean avahi has registered all device announcements, but that some of those have not been sent on to forked-daapd. That could be a bug in forked-daapd, maybe under special conditions the service browsers don't register what avahi is notifying them about. Since I can't reproduce it would be great if you would investigate. Maybe run avahi-browse + forked-daapd with at least info log level. Then see if you can catch a device reappearing in avahi-browse that is not properly picked up by forked-daapd. |
Ok so my "Master Bathroom" airport express disappeared this morning from my outputs (not shown via mpc outputs or the iphone remote app) and reappeared when I did a "systemctl restart" of forked-daapd. Are there any "secret" items in the avahi-browse or forked-daapd logfiles before I post them? I see some hex strings that look like they might be secret? |
No, there shouldn't be anything secret, but you can remove the hex strings if you want. I'm mainly interested in seeing what events are registered by avahi and forked-daapd. |
Hi @ejurgensen , |
Your issue seems different than op's. The log shows that at 10:32 Avahi told forked-daapd to remove the service: I have an ATV4 to test with now, and I have found some problems with ipv6 that I have tried to fix in this branch: https://github.com/ejurgensen/forked-daapd/tree/mdns_revisited You are welcome to test, but I am not sure the issues I am fixing are related to yours. |
The mdns changes I made to fix the problems I saw with my own ATV4 are now in the master branch. Can't say if they fix any of the above issues. |
I've had my new ATV4 running for a couple of days now, and with latest fixes it seems to be stable. I have not seen the device disappear or being unconnectable. It would be great if you could test it as well. If you use my RPi version it is available in my repo as build 26.2.70. |
I still have this problem on raspbian stretch with 26.3.73.gitaa3aa38-2. $ avahi-browse -kt _raop._tcp
At the same time fordked-daapd reports: I do not have IPV6 and the Airplay devices work normally out of forked-daapd. |
What does the log say? Set the log level to ‘info’ or lower. |
[2018-11-02 13:44:49] [ INFO] raop: Adding AirPlay device 'Bose': password: 0, verification: 0, encrypt: 0, authsetup: 1, metadata: 0, type Other, address 192.168.1.141:1024 |
Ok. I’m afraid I can’t think of any solution, as you can see Avahi is saying the device is no longer there. If I could at least reproduce I could get a better understanding of what Avahi is doing - and why it is not at least notifying about device reappearance. |
But it seems that raop notifies when a device reappears, but forked-daapd does not catch it: [2018-11-02 21:34:09] [ LOG] mdns: Avahi Resolver failure: service '000C8A575193@Bose' type '_raop._tcp' proto 0: Timeout reached |
"raop" is part of forked-daapd, so when it says "Adding AirPlay device..." the device is certainly being added to forked-daapd's list. Can you can check the list with "mpc outputs"? Just to avoid client issues. |
At the moment of the log, forked-daapd shows only two outputs. After restarting avahi it shows them all. mpc outputsOutput 23091 (Ospiti) is enabled avahi-browse -kt _raop._tcp
systemctl restart avahi-daemonmpc outputsOutput 35944 (AppleTV) is disabled "Ospiti" is the only Airplay device directly managed on the same forked-daap server PI2 by shairport-sync. |
RESOLVED! I do not know what exactly was happening, but I had some arp and/or mcast problems due to the configuration of dns/avahi server. It had two ip addresses on the same interface, needed to distinguish services with different dns names. This leads to unstable mdns behavior. TY to all !! |
The problem is still there.
Both DAC and Apple TV work correctly but HomePod always disappear from the list with this error: It actually disappears from all custom AirPlay clients like AirFoil, etc, but it's always available on iOS and macOS! Furthermore, when I open iOS control center (even without streaming, just to check out) it shows "connecting..." on my HomePod for a sec and then metadata appears. And yeah, HomePod becomes visible for all clients including forked-daapd! This gets me to the point that HomePod goes in kind of a standby mode and native (iOS/macOS) clients have a magic ability to wake it up. With this thoughts I decided to go deeper and used Wireshark to look into the traffic between my macOS laptop and the HomePod. So now I have a different idea: maybe HomePod stops announcing itself over mdns while still being available to receive streams and answer requests? Let's have something like a "retain" or "cache" option for "airplay" config block. When set to true, it should keep the device listed even if Avahi suddenly fails with timeout. Such option will be very useful for my case and I'm sure there are lots of people experiencing same problems (I actually checked and found lots of reports). I'm still not sure this is a correct reason and solution, but I have no other ideas. |
Yes, such an option would be possible - setting it would just make forked-daapd not remove devices on mdns timeout, so quite easy to do. However, it is so so dirty that I'm not sure I can make myself do it. One idea: Perhaps iOS/macOS are actually using _airplay._tcp, and not _raop._tcp? If you have leave avahi-browse running with _airplay._tcp perhaps you can see if these announcements behave differently? |
@ejurgensen, ok, will try. About the dirty hack: you can unlist speaker when user tries to play audio through it and it appears offline. Looks not so dirty, just lazy state update |
@ejurgensen yay! Would be happy to test! I remember I had annoying problems with compiling forked-daapd on my RPi, so is there any chance of getting a Raspbian package? |
Sure, here is deb for Stretch: https://gyfgafguf.dk/temp/forked-daapd_26.3.75~rc4-2_armhf.deb |
Hmm... @ejurgensen I've installed this package and restarted my forked-daapd, but it looks like it didn't update. Btw I have 26.4 version but your package is named 26.3.75... |
Yeah that's not great. The change will of course not make work if _airplay._tcp also times out. Not sure what to do from here. Maybe I should try and get hold of a Homepod. I might revert the change in the meantime. I will leave the config option. Yes, it is 26.3 is a mistake, it should have been named 26.4. |
Hey, let's keep it for a while. |
…evice removal (issue owntone#496)" This reverts commit 1e05140.
Finally got to the bottom of this (for me). I have a managed switch at home but not an IGMP queries. If you have dumb switches they forward multicast to all ports. If your have a managed switch, it can snoop for IGMP packets to know which devices want each subscription. But you must have an IGMP querier running somewhere on the network. High end switches have one but most home stuff does not. You either need an IGMP querier or disable IGMP snooping. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736641 I tried to run a software IGMP queries but without success: |
Hello I still have the same problem with version Version 28.6 [2024-06-26 13:00:53] [ LOG] mdns: Avahi Resolver failure: service 'NodeRed' type '_airplay._tcp' proto 0: Timeout reached Any news on this? |
Well, I made a fix recently for an issue where OwnTone wouldn't detect when a speaker changed ip address, so there is a chance that this fix also helps with this issue. However, since I was never able to reproduce the above I can't really say. |
How can I get this fixed? It is very important for me to stay on Version 28.6, because with all later versions I have another issue. |
What issue is that? |
Ok maybe @hacketiwack can do something about that |
@pisabird what device are you using (I'm interested in the version of the web browser)? And which version of OwnTone are you using? |
Hello hacketiwack I am using iPhone mini 13 - Safari with IOS 16.6 - OwnTone 28.6 |
I deployed the version 28.6 of the official containerised version of OwnTone. Depending on which version you are using it can be that it is using older versions of JavaScript libraries. On my iPhone mini 13, the menu is showing up with the version 28.6 and the subsequent version, it works fine. Where do you get the installation package of OwnTone for your deployment? |
Could be also worth upgrading your iOS version to the 17.5.1 for security reasons. |
Hello Hacketiwack, No, you misunderstand. Version 28.6 is fine for me, but there is a problem with [2024-06-26 13:44:57] [ LOG] mdns: Avahi Resolver failure: service 'NodeRed' type '_airplay._tcp' proto 0: Timeout reached. I don’t update to the next version of OwnTone due to the problems with the speaker button on Safari. I use OwnTone on my Proxmox LXC Container Debian 11. Is there a possibility to get the fix from @ejurgensen for 28.6? I am very happy with my current iOS version. All the others have new designs and functions that I don't like. There is also a big change regarding the EU law that might not work for me. Thank you everyone for your great support. |
As I understand it, It does not have any direct connection to the web UI. All clear now. |
@pisabird you can't get fixes for already released versions. You wrote that "I don’t update to the next version of OwnTone due to the problems with the speaker button on Safari.", but it's unclear what those problems are. If you think there is a problem with the button then please add a new issue here on Github with a proper error description. |
Hello, I am now on 28.9 and I have still the problems on my HomePodMini.... Jul 16 09:23:48 OwnToneSelbst owntone[128]: [2024-07-16 09:23:48] [ LOG] mdns: Avahi Resolver failure: service 'NodeRed' type '_airplay._tcp' proto 0: Timeout reached |
Once or twice a day I find that all outputs except for the Computer itself disappear from both the forked-daapd web interface as well as Apple's Remote app on my iPhone and iPad. I presently have 2 Airport Expresses and 2 Apple TV 4's paired. I have to go to the terminal and issue a restart of forked-daapd to have them reappear. iTunes does not have any issue with the availability of these same AirPlay devices.
I'm running forked-daapd version 25.0 on a Raspberry Pi 3b.
Thanks...
The text was updated successfully, but these errors were encountered: