-
Notifications
You must be signed in to change notification settings - Fork 77
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
Discovery is broken in Ruby 2.1 #23
Comments
Working on a fix. |
For me, this works fine with Ruby 2.0. In 2.1, it always times out. Not sure why. @jasperla I tried your patch but it didn't work for me. I'm on Mac OS X running Ruby 2.1-p0. |
I don't need that patch on Mac OS X with ruby 2.0. It was committed to OpenBSD as the setsockopt(2) flag needs to be an |
Oh ha. Well now that I know it's a 2.1 issue, it should be easier to track down. Switched to 2.0 to go through some of these issues for now. |
With 2.1 I think the way to set the socket options changed, i.e. the MULTICAST_TTL. |
Tried @socket.setsockopt Socket::Option.ipv4_multicast_ttl(2) with no luck |
Hey I try to run the latest version with 1.9.3-p484 :001 > system = Sonos::System.new
Timed out...
=> #<Sonos::System:0x0000000212f208 @topology=[], @groups=[], @devices=[]> 2.0.0-p353 :001 > system = Sonos::System.new
Timed out...
=> #<Sonos::System:0x00000002f49230 @topology=[], @groups=[], @devices=[]> 2.1.0 :001 > system = Sonos::System.new
Timed out...
=> #<Sonos::System:0x000000013926b8 @topology=[], @groups=[], @devices=[]> Good luck with fixing 👍 |
Thanks @fliiiix! So frustrating. For me 2.0.0-p353 works just fine. |
I debug it with wireshark, it's really a ugly piece of software. This sounds like firewall right? I disable my firewall. And now it work for me with:
So now I try to figure out how I need to configure my firewall to allow these traffic. |
I have the same issue whilst running an app within a docker container (using dokku) so my guess is that it is a routing issue. I've disabled ufw, and I can ping the Sonos box from within the container, but it still doesn't discover. My guess is because the container runs in a different/virtual network. I've just changed my method to:
|
For me, this works fine with Ruby 2.1 (2.1.0p0 (2013-12-25 revision 44422) from MacPorts). Mac OS X 10.9.1, Sonos 0.3.5 from Ruby Gems. |
|
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-openbsd] works fine for me still with sonos-0.3.6, so I'm inclined to close this issue. @soffes ? |
@dspeake: Your method alteration with the ip address of my router as a string works for me on OSX 10.10.5 and ruby 2.0.0p594 |
Hmm, maybe I spoke to soon or the most recent Sonos update broke it. Now auto-discovery is broken and the manual IP workaround is broken for me on Ruby 2.0, 2.1, and 2.2 |
This now works for me
|
ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-linux] with the firewall off works, with the firewall on doesn't. |
I got always this error, and I don't understand why.
The text was updated successfully, but these errors were encountered: