Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1
    Junior Member
    Join Date
    Dec 2018
    Location
    The Netherlands
    Posts
    10

    Squeezeplay on Linux does not connect to Logitech Media Server

    Hi all,

    I am trying to get SqueezePlay on Linux (Lubuntu) working on my home network. For an unknown reason SqueezePlay Linux does not connect to LMS (Logitech Media Server) that is running on a Windows PC in the same network. I also installed SqueezePlay on a Windows PC in the same network, and in this case everything works fine.

    Details of my configuration:
    Linux PC running Lubuntu 16.04.5 32-bit
    Player: squeezeplay-pulse-7.8.0-1116-i386.tgz, downloaded from the LMS linux clients page on SourceForge (since this is my first post I am not allowed to insert an URL ...)
    Server: LMS 7.7.6, running on Windows 7 64-bit
    I can access the LMS web interface with Firefox on my Lubuntu system by entering the IP adress of the LMS server + port number 9000 in Firefox.

    The squeezeplay tarball is extracted to folder /opt/squeezeplay on my Lubuntu system, as instructed on the LMS linux clients page on SourceForge.
    After starting squeezeplay.sh in folder /opt/squeezeplay/bin, SqueezePlay starts up. After selecting the English language in the initial screen, Squeezeplay shows a Welcome screen that says "Let's get started by getting you connected to your network and music". After clicking Continue, for a second or so SqueezePlay shows "Connecting to mysqueezebox.com". I would have expected that SqueezePlay first tries to connect to LMS running on a Windows 7 system in my network. Maybe it does not see LMS and then tries to connect to mysqueezebox.com? Connecting to mysqueezebox.com does not work. Since I did not get a chance to enter username and password for mysqueezebox.com, I guess it is normal that SqueezePlay cannot connect to mysqeezebox.com.
    Finally I get following screen that says "Problem Connecting". After this final screen there is no possibility to enter the IP address of the LMS server manually.

    Can somebody help me with troubleshooting this connection problem with SqueezePlay on Linux?

    (PS: Screenshots below are shown in reversed order. Please excuse me for this inconvenience, this is my first post on this forum)

    Edit: The connection problem was caused by the firewall on the LMS client PC that runs Squeezeplay.
    Solutions for this problem are detailed out in post #16.

    Regards,
    CJS
    Attached Images Attached Images    
    Last edited by CJS; 2018-12-05 at 11:58. Reason: Added pointer to solutions for the connection problem

  2. #2
    Junior Member
    Join Date
    Dec 2018
    Location
    The Netherlands
    Posts
    10

    Problem partly solved

    FYI, I figured out what the problem was. It appears that a firewall called ufw was enabled on my Lubuntu system, that blocks traffic on ports that are used by Logitech Media Server. I should have thought of that. To allow communication between SqueezePlay and LMS, I needed to disable the firewall by means of the following command:

    sudo ufw disable

    After disabling the firewall Squeezebox Linux works fine.

    However I don't like to fully disable my firewall. I tried to enable the firewall again (sudo ufw enable) and open only ports 3483 and 9000 by means of following commands:
    sudo ufw allow 3483
    sudo ufw allow 9000

    For some this reason this does not work. Opening ports 3483 and 9000 appears not to be enough. Squeezeplay only works when I fully disable the firewall.
    Does anybody know which firewall rules I need to use to let Squeezeplay Linux work with firewall enabled?
    Last edited by CJS; 2018-12-02 at 15:50. Reason: Corrected my statement that opening ports 3843 and 9000 is enough to let Squeezeplay work. This statement was not correct.

  3. #3
    Member
    Join Date
    Sep 2017
    Location
    ┼kersberga, Sweden
    Posts
    57
    Quote Originally Posted by CJS View Post
    FYI, I figured out what the problem was. It appears that a firewall called ufw was enabled on my Lubuntu system, that blocks traffic on ports that are used by Logitech Media Server. I should have thought of that. To allow communication between SqueezePlay and LMS, I needed to disable the firewall by means of the following command:

    sudo ufw disable

    After disabling the firewall Squeezebox Linux works fine.

    However I don't like to fully disable my firewall. I tried to enable the firewall again (sudo ufw enable) and open only ports 3483 and 9000 by means of following commands:
    sudo ufw allow 3483
    sudo ufw allow 9000

    For some this reason this does not work. Opening ports 3483 and 9000 appears not to be enough. Squeezeplay only works when I fully disable the firewall.
    Does anybody know which firewall rules I need to use to let Squeezeplay Linux work with firewall enabled?
    What does
    Code:
    sudo ufw status verbose
    say? (A check to see the result of your firewall opening).

    I am not sure exactly what ports to open on the client side (ie for the SqueezePlay client) but a server minimum needs:
    Name: Squeezebox Server Discovery - Port number: 3483 - Protocol: UDP
    Name: Squeezebox Server Control - Port number: 3483 - Protocol: TCP
    Name: Squeezebox Server Web - Port Number: 9000 - Protocol: TCP
    In addition the port 9090 tcp is used for CLI-commands to the server.
    Make sure these ports are open for outbound traffic on your client.
    2 Touch, 1 Picoreplayer 4.1.0 on RaspBerry 3B with 7" display
    LMS latest nightly on Ubuntu 18.04.1 on Intel Core2 Duo E4500 @ 2.20GHz, 2GB
    All wired

  4. #4
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    16,474
    Server discovery by player also requires server to be able to receive Broadcast UDP packet on port 3483.

  5. #5
    Junior Member
    Join Date
    Dec 2018
    Location
    The Netherlands
    Posts
    10

    Firewall problem on Lubuntu

    Thanks for the suggestions.

    After entering firewall rules for ports 3483 and 9000 and enabling ufw, command
    Code:
    sudo ufw status verbose
    shows the following:
    Code:
    Status: active
    Logging: on (low)
    Default: deny (incoming), allow (outgoing), disabled (routed)
    New profiles: skip
    
    To                         Action      From
    --                         ------      ----
    3483/udp                   ALLOW IN    Anywhere                  
    3483/tcp                   ALLOW IN    Anywhere                  
    9000/tcp                   ALLOW IN    Anywhere                  
    3483/udp (v6)              ALLOW IN    Anywhere (v6)             
    3483/tcp (v6)              ALLOW IN    Anywhere (v6)             
    9000/tcp (v6)              ALLOW IN    Anywhere (v6)
    Outgoing traffic is allowed by default, and the firewall rules are supposed to allow incoming traffic on ports 3483 (udp and tcp) and 9000 (tcp).

    However Squeezeplay still can't connect to the LMS server. After starting Squeezeplay, the firewall log file /var/log/ufw.log shows the following (MAC address disguised for privacy reasons):
    Code:
    Dec  3 21:56:01 ATHLON5050 kernel: [ 2594.313035] [UFW BLOCK] IN=eth0 OUT= MAC=00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:00 SRC=192.168.0.101 DST=192.168.0.100 LEN=105 TOS=0x00 PREC=0x00 TTL=64 ID=23868 PROTO=UDP SPT=3483 DPT=40162 LEN=85
    192.168.0.101 is the ip address of the Windows 7 machine that runs LMS
    192.168.0.100 is the ip address of the Lubuntu machine that runs Squeezeplay

    Note [UFW BLOCK] in the ufw.log file.
    Wrong interpretation: Even though incoming traffic on port 3483 is supposed to be allowed by the firewall rule, UFW still blocks UDP traffic on this port.
    Corrected: The LMS server sends traffic from port 3483 (SPT) to port 40162 (DPT) on the client. I noticed after retrying a few times that LMS actually sends UDP data to random ports on the LMS client. UDP traffic on ports other than 3843 is blocked by the firewall on the LMS client.
    The result is that Squeezeplay can't receive UDP traffic from the LMS server. After disabling ufw everything works fine again.

    Suggestions on how to solve this firewall problem are welcome.
    Last edited by CJS; 2018-12-04 at 16:27.

  6. #6
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    16,474
    Quote Originally Posted by CJS View Post
    192.168.0.101 is the ip address of the Windows 7 machine that runs LMS
    192.168.0.100 is the ip address of the Lubuntu machine that runs Squeezeplay
    I think you have things backwards.

    LMS is runnig on Windows so communication will be from Lubuntu to Windows.

    Windows will need port 3483 & 9000 open as it is Receiving requests - i.e. the server
    Lubuntu is the source of connections so it will never received a 3483 or 9000 communication - it will make call from a random port number usually above 10000 to port 3483 or 9000

  7. #7
    Junior Member
    Join Date
    Dec 2018
    Location
    The Netherlands
    Posts
    10
    Quote Originally Posted by bpa View Post
    I think you have things backwards.

    LMS is runnig on Windows so communication will be from Lubuntu to Windows.

    Windows will need port 3483 & 9000 open as it is Receiving requests - i.e. the server
    Lubuntu is the source of connections so it will never received a 3483 or 9000 communication - it will make call from a random port number usually above 10000 to port 3483 or 9000
    Thanks for your help, but I don't understand.
    Actually PC Athlon5050 with ip address 192.168.0.100 is a dual boot PC that can boot into Windows 7 or into Lubuntu. I have Squeezeplay for Windows installed on the Windows partition of this PC, and Squeezeplay for Linux on the Lubuntu partition. Squeezeplay for Windows connects to LMS on the Windows 7 server with ip address 192.168.0.101 without problem, indicating that ports 3483 and 9000 on the Windows 7 server are open.
    Btw, I am 100% sure about the ip adresses of server and client.

    If I understand the UFW log file correctly, port 3483 on the LMS server is the source port (SRC=192.168.0.101, SPT=3483), and port 40162 on the Lubuntu client is the destination port (DST=192.168.0.100, DPT=40162). This would mean that the LMS server sends information from port 3483 to port 40162 of the LMS client, right? This is different from what you suggest, but it would explain why the LMS client on Lubuntu does not receive traffic from the LMS server, since port 40162 is blocked by the firewall on Lubuntu.

    Btw, UFW only logs traffic that is blocked. It seems to me that initial traffic sent by the LMS client is received by the LMS server, but that the traffic that is send back by the server is blocked by the firewall on the LMS client on Lubuntu. Later this week I will try to increase the ufw logging level. Maybe that will help to understand what is going on. For the time being I will just disable the firewall on the Lubuntu client.

  8. #8
    Member
    Join Date
    Sep 2017
    Location
    ┼kersberga, Sweden
    Posts
    57
    Quote Originally Posted by bpa View Post
    Lubuntu is the source of connections so it will never received a 3483 or 9000 communication - it will make call from a random port number usually above 10000 to port 3483 or 9000
    I think that LMS (the server) sends data as udp (ie, connectionless) to the client, but not necessarily to port 3483. The slim protocol were developed for devices without any firewalls active so there were no need to specify any specific udp port on the client. Looking at the ufw log extract by the OP LMS sends to udp port 40162 on the client (which is not open btw).
    I would suggest to open all udp ports on the client for traffic originating from LMS, eg:

    Code:
    sudo ufw allow proto udp from 192.168.0.101 to 192.168.0.100
    Should probably be checked by the 'sudo ufw status verbose', I am unsure if the syntax is entirely correct.
    2 Touch, 1 Picoreplayer 4.1.0 on RaspBerry 3B with 7" display
    LMS latest nightly on Ubuntu 18.04.1 on Intel Core2 Duo E4500 @ 2.20GHz, 2GB
    All wired

  9. #9
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    16,474
    Quote Originally Posted by CJS View Post
    Finally I get following screen that says "Problem Connecting". After this final screen there is no possibility to enter the IP address of the LMS server manually.
    Can you not do
    Squeezeplay >Settings > Advanced > Networking > Remote Libraries > Add New Library > input the IP address of the server you wish to connect to?


    edit:

    This thread seems to address same issue and post #6 seems ot indicate that reloads firewall may be necessary after chaging rules.
    https://forums.slimdevices.com/showt...o-media-server
    Last edited by bpa; 2018-12-03 at 17:48.

  10. #10
    Junior Member
    Join Date
    Dec 2018
    Location
    The Netherlands
    Posts
    10
    Thanks again BosseJ and bpa for the suggestions.

    I will try them later this week. I noticed that it is also possible to define application based rules in ufw. I am now thinking about defining a rule in ufw that allows incoming traffic on all ports for Squeezeplay, which is shown as process "jive" in the Lubuntu process monitor. When this works I will post my final solution in this thread.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •