Bugzilla – Bug 17453
new radio doesn't see SBS (discovery broken?)
Last modified: 2011-08-20 08:20:25 UTC
I just got a new white radio. I entered the MAC address in my DHCP tables, successfully configured the radio with my Wi-Fi details, and registered ownership with my email address and password. It updated to 7.6.0 r9458 fine. I can ping the radio from the server. I can ssh into the radio and ping the server. When I select "My Music" on the radio, I see: To enable "My Music" download the Squeezebox Server software from www.mysqueezebox.com and make sure it's installed and running on a computer on the network. There are four servers running SBS (r33094) on my network at the moment. I wasn't sure whether to file this as a radio problem or an SBS issue, but a tcpdump seems to be telling me that the radio is broadcasting to find a server, but none of the servers are replying. [root@panic /home/clover/ip]# tcpdump -i re0 host bibble tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on re0, link-type EN10MB (Ethernet), capture size 96 bytes 12:33:17.179523 IP bibble.xenopsyche.com.17784 > 255.255.255.255.17784: UDP, length 27 12:33:17.181285 IP bibble.xenopsyche.com.44620 > 255.255.255.255.3483: UDP, length 37 I know how to get around this by entering each server address manually (using Add Library), but it's a bit of a pain. I suspect this is something to do with my network setup, 10.0.0.0/16. Radio and all servers have the correct netmask.
Don't worry too much about this, looks like it's a FreeBSD-ism. My radio saw my Ubuntu SBS OK as soon as I started it up. Don't you just hate it when you think "aha!" and then your patch doesn't work? Platform OS changed from "All" to "Other".
Could there be some firewall on the FreeBSD machine causing problems ?
Thanks for looking, Erland. No, it's because FreeBSD handles broadcasts differently from everything else that I've seen. Usually, if you send a datagram to 255.255.255.255, it's broadcast through every interface, so every device on every local network gets to see it. FreeBSD doesn't like this, and expects you to select a network to broadcast on by using subnet-specific addresses, e.g. in my case, 10.0.0.0/16 would require a broadcast to 10.0.255.255. There's a settable IP-level option which permits the "old-style" broadcast, but I can't get it to work properly -- the broadcasts go out OK, but no broadcasts ever come in. I'm researching how to do network-specific broadcasts, but in order to do these I need to figure out the correct netmask from the IP address of SBS, and there doesn't seem to be a nice way to do that. I could parse the output from ifconfig, but that seems both messy and a bit risky when we're down in the guts of SBS's networking code. Any suggestions welcome!