Thank you for your donation!


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


Problem: UPnP Client not discoverable after a period of time
#1
Hi,

I mainly use UPnP client with Bubble UPnP as the controller. When it's running it's great. However I discover the next day that the UPnP Client is not discoverable by Bubble untill I restart UPnP from the web UI.

I'm using 5.2 on a Pi and see the same behaviour on both Pi's I have set up with Mo0de.

With debug logging on I've not discovered anything of note.

Is there anything I can do to help debug?

Cheers

Bump
Reply
#2
(05-14-2019, 07:38 AM)bump_here Wrote: Hi,

I mainly use UPnP client with Bubble UPnP as the controller. When it's running it's great. However I discover the next day that the UPnP Client is not discoverable by Bubble untill I restart UPnP from the web UI.

I'm using 5.2 on a Pi and see the same behaviour on both Pi's I have set up with Mo0de.

With debug logging on I've not discovered anything of note.

Is there anything I can do to help debug?

Cheers

Bump

Ugh.

Did you see this behavior with previous versions of moOde? Do you leave moOde running 24/7 or power it down at the end of the day? Have you tried enabling upmpdcli logging to get more info (which requires hand editing /etc/upmpdcli.conf from the command line)?

I'll have to set aside a player to do a multi-day test but can't get to it until late today at the earliest.

Regards,
Kent
Reply
#3
Setting upmpdcli.conf log level to 2 has yielded nothing so far. I'll try it set to 5.

I do leave them running 24/7.

I'm recently new to Mo0de, having previously used Volumio. So I can't comment on previous versions.
Reply
#4
(05-14-2019, 02:06 PM)bump_here Wrote: Setting upmpdcli.conf log level to 2 has yielded nothing so far. I'll try it set to 5.

...

It's incredibly verbose at that level. Be prepared for more than you wanted to know about UPnP messages!

Shouldn't matter, but are you using any of the UPnP plugins: Tidal, Qobuz, Google Play?
Reply
#5
I'm just using Bubble UPnP as a controller to pull music from Serviio running on my media server. Not using any of the plugins.

Interestingly I'm not seeing anything in the logs

Code:
pi@Office:/var/log $ ls -lah
total 1.1M
drwxr-xr-x  7 root     root     4.0K May 14 19:19 .
drwxr-xr-x 12 root     root     4.0K Dec 10 16:20 ..
-rw-r--r--  1 root     root        0 May 14 15:40 alternatives.log
drwxr-xr-x  2 root     root     4.0K May 14 14:41 apt
-rw-r-----  1 root     adm       31K May 14 19:34 auth.log
-rw-r--r--  1 root     root     4.6K May 14 19:19 boot.log
-rw-r--r--  1 root     root        0 May 14 15:40 bootstrap.log
-rw-------  1 root     utmp        0 Nov 13 14:02 btmp
-rw-r-----  1 root     adm      435K May 14 19:36 daemon.log
-rw-r-----  1 root     adm      9.1K May 14 19:19 debug
-rw-r--r--  1 root     root        0 May 14 15:40 dpkg.log
-rw-r--r--  1 root     root        0 May 14 15:40 faillog
-rw-r--r--  1 root     root     1.4K Dec 10 17:04 fontconfig.log
-rw-r-----  1 root     adm       24K May 14 19:34 kern.log
-rw-rw-r--  1 root     utmp     286K May 14 19:22 lastlog
-rw-r-----  1 root     adm       23K May 14 19:34 messages
-rw-r--r--  1 minidlna minidlna    0 May 14 15:40 minidlna.log
-rw-rw-rw-  1 root     root     8.1K May 14 19:34 moode.log
-rw-rw-rw-  1 upmpdcli root        0 May 14 14:45 moodeupnp.log
drwxr-xr-x  2 mpd      audio    4.0K Dec 10 16:33 mpd
drwxr-xr-x  2 root     adm      4.0K Dec 10 16:21 nginx
-rw-------  1 root     root      281 May 14 19:19 php7.0-fpm.log
-rw-rw-rw-  1 root     root        0 May 14 15:40 php_errors.log
-rw-r--r--  1 root     root        0 May 14 15:40 regen_ssh_keys.log
drwxr-x---  3 root     adm      4.0K Dec 10 16:22 samba
-rw-r--r--  1 root     root        0 May 14 19:19 shairport-sync.log
-rw-r-----  1 root     adm      459K May 14 19:36 syslog
drwxr-xr-x  2 root     root     4.0K May 25  2017 sysstat
-rw-r-----  1 root     adm       190 May 14 19:19 user.log
-rw-rw-r--  1 root     utmp     4.5K May 14 19:22 wtmp
pi@Office:/var/log $
Reply
#6
Seemingly the logs are ending up in syslog

Code:
pi@Office:/var/log $ tail -20 /var/log/syslog
May 14 19:48:49 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:50 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:51 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:52 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:53 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:54 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:55 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:56 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:57 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:58 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:48:59 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:00 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:01 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:02 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:03 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:04 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:05 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:06 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:07 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
May 14 19:49:08 Office upmpdcli[933]: :4:src/mpdcli.cxx:292::MPD AUDIO FORMAT: 44100 samps/S 160 kbits/S 24 bits 2 channels
pi@Office:/var/log $

Despite the config set in  /etc/upmpdcli.conf



Code:
pi@Office:/var/log $ cat /etc/upmpdcli.conf
# The XML tags in the comments are used to help produce the documentation
# from the sample/reference file, and not at all at run time, where
# comments are just comments. Edit at will.

# The command line options have higher priorities than the values in
# this file.

# <grouptitle>Upmpdcli general parameters</grouptitle>
friendlyname = Office
ohproductroom = Office
iconpath = /usr/share/upmpdcli/moode_audio.png

# <var name="logfilename" type="fn"><brief>Log file
# name.</brief><descr>Defaults to stderr. This can also be specified as -d
# logfilename.</descr></var>
logfilename = /var/log/moodeupnp.log

# <var name="loglevel" type="int" values="0 5 2"><brief>Log
# level.</brief><descr>Can also be specified as -l loglevel.</descr></var>
loglevel = 5

# <var name="checkcontentformat" type="bool" values="1"><brief>Check that
# input format is supported.</brief><descr>Extract the protocolinfo
# information from the input metadata and check it against our supported
# formats. Set this option to 0 if a control point or media server sends
# good audio data with bad metadata.</descr></var>
checkcontentformat = 1

# <grouptitle>TIDAL streaming service parameters</grouptitle>
# <var name="tidaluser" type="string"><brief>Tidal user name.</brief>
# <descr>Your Tidal login name.</descr></var>
# <var name="tidalpass" type="string"><brief>Tidal password.</brief>
# <descr>The password for your Tidal account.</descr></var>
# <var name="tidalquality" type="cstr" "values="low high lossless">
# <brief>Tidal stream quality.</brief> <descr>'low' and 'high' are aac
# streams. 'lossless' is FLAC and will only work if your subscription
# allows it.</descr></var>
#tidaluser = my username (email)
#tidalpass = mypassword
#tidalquality = lossless

# <var name="qobuzuser" type="string"><brief>Qobuz user name.</brief>
# <descr>Your Qobuz login name.</descr></var>
# <var name="qobuzpass" type="string"><brief>Qobuz password.</brief>
# <descr>The password for your Qobuz account.</descr></var>
# <var name="qobuzformatid" type="cstr" "values="5 7">
# <brief>Qobuz stream quality.</brief> <descr>5 for mp3/320, 7 for FLAC if
# your subscription allows it.</descr></var>
#qobuzuser = myusername
#qobuzpass = mypassword or my password MD5sum
#qobuzformatid = 7

# <grouptitle>Google Music streaming service parameters</grouptitle>
# <var name="gmusicuser" type="string"><brief>Google Music user name.</brief>
# <descr>Your Google Music login name (probably a gmail address).</descr></var>
# <var name="gmusicpass" type="string"><brief>Google Music password.</brief>
# <descr>The password for your Google Music account.</descr></var>
# <var name="gmusicquality" type="cstr" "values="hi med low">
# <brief>Google Music stream quality.</brief> <descr>'hi' for mp3/320, 'med'
# for mp3/160, 'low' for mp3/128.</descr></var>
# <var name="gmusicdeviceid" type="string"> <brief>Google Music device
# id.</brief> <descr>Your system MAC address will be used by default, but
# this will count against the maximum count of registered devices for this
# account.  You can set the gmusicdeviceid value to the device ID from a
# phone or tablet on which you also use Google Play Music.</descr></var>
#gmusicuser = me@gmail.com
#gmusicpass = agoodpassword
#gmusicquality = med
#gmusicdeviceid =

# <grouptitle>Audio control hooks</grouptitle>

# <var name="onstart" type="fn"><brief>Command to run when playback is
# about to begin.</brief><descr>Specify the full path to the program,
# e.g. /usr/bin/logger.</descr></var>
#onstart =

# <var name="onplay" type="fn"><brief>Command to run when MPD state
# switches to "PLAY".  </brief><descr>Specify the full path to the program,
# e.g. /usr/bin/logger.</descr></var>
#onplay =

# <var name="onpause" type="fn"><brief>Command to run when MPD state
# switches to "PAUSE".  </brief><descr>Specify the full path to the program,
# e.g. /usr/bin/logger.</descr></var>
#onpause =

# <var name="onstop" type="fn"><brief>Command to run when MPD state switches to
# "STOP".</brief><descr>Specify the full path to the program,
# e.g. /usr/bin/logger.</descr></var>
#onstop =

# <var name="externalvolumecontrol" type="fn"><brief>Use external command
# to manage the the sound volume (0/1).</brief><descr>This is used in the
# case where MPD is unable to control the volume, but some other command
# can, for example if you have an external amp on which it is possible to
# set and read the volume through scripts. If set, the calls to MPD to set
# and read the volume will be replaced by executions of 'onvolumechange'
# and 'getexternalvolume'</descr></var>
#externalvolumecontrol = 

# <var name="getexternalvolume" type="fn"><brief>Command to run for reading
# the sound volume.</brief><descr>The command should write a 0-100 numeric
# value to stdout.</descr></var>
#getexternalvolume =

# <var name="onvolumechange" type="fn"><brief>Command to run to set the
# volume.</brief><descr>Used when 'externalvolumecontrol' is set.
# Specify the full path to the program, which is called with the volume as
# the first argument, e.g. /some/script 85.</descr></var>
#onvolumechange =

radiolist = /etc/upmpdcli-radio.conf
pi@Office:/var/log $ 


Which is a bit odd
Reply
#7
IIRC, I found that upmpdcli didn't have write permission to /var/log but I can't find my notes. Try dumping the log to /tmp/moodeupnp.log instead.
Reply
#8
That's not made any difference
Reply
#9
(05-14-2019, 07:18 PM)bump_here Wrote: That's not made any difference

Yeah, there's something funky going on with the logfile.

Almost any place I try to place the logfile I get an error of the form:

Code:
May 15 10:13:02 moode50lr upmpdcli[1091]: :2:src/main.cxx:504::chown(/var/log/moodeupnp.log) : errno : 2

I've been too lazy to chase down the permissions problem although I have my suspicions. 

The upmpdcli.conf file helpfully explains that the default is stderr which is why you're seeing upmpdcli messages in /var/log/syslog. I've been making do by grep'ping it for "upmpdcli".

Bottom line: Haven't been able to repo your experience yet. I set up a player yesterday and upmpdcli was still running today when I fired up BubbleUPnP on my phone.

Regards,
Kent
Reply
#10
The Pi I'm having the issue on is a Pi2 Model B from 2015 which appears to be a Sony manufactured unit if that helps?


pi@Office:~ $ cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}' | sed 's/^1000//'
a01041

According to this list https://elinux.org/RPi_HardwareHistory
Reply


Forum Jump: