Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Problem: No Receivers Discovered
#1
I have set up multi room sender and 2x receivers, but the sender can't discover them. One of them was discovered briefly one time, but never again.

IGMP  snooping and mDNS are enabled


Thoughts on troubleshooting this?

Thanks
Reply
#2
Here are  the commands (by example) used to do the network scan for Receivers.

Code:
# Scan the given subnet for hosts with open port 6600 (MPD) and then parse out the IP addresses. Note the netmask is assumed to be /24 (255.255.255.0)

sudo nmap -Pn -p6600 --open 192.168.1.0/24 -oG /tmp/mpd_nmap.scan >/dev/null
cat /tmp/mpd_nmap.scan | grep "6600/open" | cut -f 1 | cut -d " " -f 2

# Pick an IP address from the list and then enter the URL below in a Browser.

http://192.168.1.121/command/?cmd=trx-control.php -rx

Look for "On" or 'Off' in the status line thats returned. Either of these values will indicate a Receiver has been found.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
(04-28-2024, 01:38 PM)Tim Curtis Wrote: Here are  the commands (by example) used to do the network scan for Receivers.

Code:
# Scan the given subnet for hosts with open port 6600 (MPD) and then parse out the IP addresses. Note the netmask is assumed to be /24 (255.255.255.0)

sudo nmap -Pn -p6600 --open 192.168.1.0/24 -oG /tmp/mpd_nmap.scan >/dev/null
cat /tmp/mpd_nmap.scan | grep "6600/open" | cut -f 1 | cut -d " " -f 2

# Pick an IP address from the list and then enter the URL below in a Browser.

http://192.168.1.121/command/?cmd=trx-control.php -rx

Look for "On" or 'Off' in the status line thats returned. Either of these values will indicate a Receiver has been found.

Thanks Tim, but how do I use this to troubleshoot why nothing is being discovered?

Edit: I've only just seen the code block scrolls (mobile) I'll do some more investigation into this shortly
Reply
#4
(04-28-2024, 01:38 PM)Tim Curtis Wrote: Here are  the commands (by example) used to do the network scan for Receivers.

Code:
# Scan the given subnet for hosts with open port 6600 (MPD) and then parse out the IP addresses. Note the netmask is assumed to be /24 (255.255.255.0)

sudo nmap -Pn -p6600 --open 192.168.1.0/24 -oG /tmp/mpd_nmap.scan >/dev/null
cat /tmp/mpd_nmap.scan | grep "6600/open" | cut -f 1 | cut -d " " -f 2

# Pick an IP address from the list and then enter the URL below in a Browser.

http://192.168.1.121/command/?cmd=trx-control.php -rx

Look for "On" or 'Off' in the status line thats returned. Either of these values will indicate a Receiver has been found.

Tim,

I get the following error when running the command above

Code:
nmap: Target.cc:503: void Target::stopTimeOutClock(const timeval*): Assertion `htn.toclock_running == true' failed.                                                                                                

Aborted

Though I know the IP address of both of the receivers I have set up, and when i run the second command, the both return "On" in the status line.
Reply
#5
The raw commands allow you to see exactly what is being used to perform the "Discover receivers" function.

I would start by entering the http URL in your Browser to see if you can contact one of the Receivers via HTTP. If that works then try running the nmap command. If it returns nothing then it would suggest one of the following:

- Port scans are being blocked on your network
- Network is not using typical 255.255.255.0 subnet mask

Note that nmap defaults to using a TCP SYN scan technique.
Code:
-sS (TCP SYN scan)
SYN scan is the default and most popular scan option for good reasons. It can be performed quickly, scanning thousands of ports per
second on a fast network not hampered by restrictive firewalls. It is also relatively unobtrusive and stealthy since it never completes
TCP connections. SYN scan works against any compliant TCP stack rather than depending on idiosyncrasies of specific platforms as Nmap's
FIN/NULL/Xmas, Maimon and idle scans do. It also allows clear, reliable differentiation between the open, closed, and filtered states.

This technique is often referred to as half-open scanning, because you don't open a full TCP connection. You send a SYN packet, as if you
are going to open a real connection and then wait for a response. A SYN/ACK indicates the port is listening (open), while a RST (reset)
is indicative of a non-listener. If no response is received after several retransmissions, the port is marked as filtered. The port is
also marked filtered if an ICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13) is received. The port is also considered open
if a SYN packet (without the ACK flag) is received in response. This can be due to an extremely rare TCP feature known as a simultaneous
open or split handshake connection (see https://nmap.org/misc/split-handshake.pdf).

Enter nmap --help to see the various options. For more details enter man nmap.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#6
(04-29-2024, 12:56 PM)downriver_bob Wrote:
(04-28-2024, 01:38 PM)Tim Curtis Wrote: Here are  the commands (by example) used to do the network scan for Receivers.

Code:
# Scan the given subnet for hosts with open port 6600 (MPD) and then parse out the IP addresses. Note the netmask is assumed to be /24 (255.255.255.0)

sudo nmap -Pn -p6600 --open 192.168.1.0/24 -oG /tmp/mpd_nmap.scan >/dev/null
cat /tmp/mpd_nmap.scan | grep "6600/open" | cut -f 1 | cut -d " " -f 2

# Pick an IP address from the list and then enter the URL below in a Browser.

http://192.168.1.121/command/?cmd=trx-control.php -rx

Look for "On" or 'Off' in the status line thats returned. Either of these values will indicate a Receiver has been found.

Tim,

I get the following error when running the command above

Code:
nmap: Target.cc:503: void Target::stopTimeOutClock(const timeval*): Assertion `htn.toclock_running == true' failed.                                                                                                

Aborted

Though I know the IP address of both of the receivers I have set up, and when i run the second command, the both return "On" in the status line.

Strange error. What model Pi are you running the command on?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#7
Is your network using 255.255.255.0 subnet mask or something else?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#8
(04-29-2024, 01:12 PM)Tim Curtis Wrote:
(04-29-2024, 12:56 PM)downriver_bob Wrote:
(04-28-2024, 01:38 PM)Tim Curtis Wrote: Here are  the commands (by example) used to do the network scan for Receivers.

Code:
# Scan the given subnet for hosts with open port 6600 (MPD) and then parse out the IP addresses. Note the netmask is assumed to be /24 (255.255.255.0)

sudo nmap -Pn -p6600 --open 192.168.1.0/24 -oG /tmp/mpd_nmap.scan >/dev/null
cat /tmp/mpd_nmap.scan | grep "6600/open" | cut -f 1 | cut -d " " -f 2

# Pick an IP address from the list and then enter the URL below in a Browser.

http://192.168.1.121/command/?cmd=trx-control.php -rx

Look for "On" or 'Off' in the status line thats returned. Either of these values will indicate a Receiver has been found.

Tim,

I get the following error when running the command above

Code:
nmap: Target.cc:503: void Target::stopTimeOutClock(const timeval*): Assertion `htn.toclock_running == true' failed.                                                                                                

Aborted

Though I know the IP address of both of the receivers I have set up, and when i run the second command, the both return "On" in the status line.

Strange error. What model Pi are you running the command on?

This was on an Rpi 4
Reply
#9
(04-29-2024, 01:18 PM)Tim Curtis Wrote: Is your network using 255.255.255.0 subnet mask or something else?

It is a /24 network.

It seems the firewall was blocking something. After disabling all the rules and then successfully running a scan, with the rules re-enabled the receivers are discovered.
Reply
#10
(04-29-2024, 01:18 PM)Tim Curtis Wrote: Is your network using 255.255.255.0 subnet mask or something else?

And now when I try again with all firewall rules disabled I get the same error and no receivers are discovered
Reply


Forum Jump: