Posts: 13
Threads: 3
Joined: Mar 2019
Reputation:
0
Hi,
I just installed moode 4.4 for the first time on a new RPi3B+ with a HifiBerry Amp2.
There are multiple issues with this system.
1) ssh:
When I connect to moode via ssh, the connection hangs after the password authentication. After some trying, I noticed, that it hangs whenever a pseudo-terminal is requested:
hangs: ssh pi@192.168.0.7
works: ssh pi@192.168.0.7 date
hangs: ssh -t pi@192.168.0.7 date
works: ssh pi@192.168.0.7 bash
The last command allows me to get some sort of interactive shell. But without a terminal, it is rather limited.
2) bluetooth connection:
when I connect to it from my Android phone or Ubuntu laptop, it pairs, but then drops the connection immediately. The logs hinted at a trust issue and I came across moode's bt.sh script. Running "bt.sh -s" manually made the system trust the two devices. I was subsequently able to play music from my Android phone. But it didn't do the job for the laptop. In any case, I shouldn't have to run manual scripts for new devices. And as I said, I still can't stream anything from my laptop.
3) bluetooth skipping:
When I stream music from my phone to moode, the audio skips/cuts out every few seconds. The two devices are in close proximity (1 m max) and the RPi is in a simple plastic case.
Any ideas about how to solve these issues? I was also considering going for an older release of moode in the hope of what I'm seeing are new 4.4 issues, but the releaes notes of 4.4 state "Support for Raspberry Pi 3A+" (this should be 3B+, I guess) as a new feature, so I'm guessing, older versions won't work with my hardware.
Posts: 13,450
Threads: 305
Joined: Mar 2018
Reputation:
545
Post the output from System info and I'll have a look.
Posts: 13
Threads: 3
Joined: Mar 2019
Reputation:
0
03-05-2019, 11:29 AM
(This post was last modified: 03-05-2019, 02:18 PM by Tim Curtis.
Edit Reason: put log output in code box
)
Hi Tim,
thanks. I did some more digging and I solved some of the issues, but not all.
1) the ssh issue seems to be something related to my local wireless and possibly mtu, but it isn't clear. Still trying to figure out the exact details, but my gut feeling at the moment is, that it isn't moode's fault.
2) pairing bluetooth devices still doesn't work without using the command line. I need to execute "sudo /var/www/command/bt.sh -s" for it to trust a newly paired device. Otherwise, moode disconnects it immediately even though it shows up as paired in the gui.
3) the bluetooth skipping/cutting out magically disappeared since yesterday.
4) Speaker sharing doesn't seem to work. I enabled it in the settings. However, when I connect the second device, the syslog shows:
Mar 5 22:03:07 moode kernel: [ 2060.130498] input: 40:40:A7 0:4B:A2 as /devices/virtual/input/input5
Mar 5 22:03:07 moode systemd[1]: Started BlueAlsa-Aplay.
Mar 5 22:03:07 moode bluealsa-aplay[9714]: /usr/bin/bluealsa-aplay: Couldn't open PCM: Device or resource busy
I then need to disconnect all bluetooth devices and re-connect the one I want to play from.
5) Streaming from my ubuntu laptop seems to be this issue with pulseaudio on the sending side and not moode's fault: https://gitlab.freedesktop.org/pulseaudi...issues/591
Thus, issues 2) and 4) remain as probably being moode's fault. If you could have a look at them and/or point me into the direction to dig further, that would be great.
My system info is as follows:
Code:
S Y S T E M P A R A M E T E R S
Date and time = 2019-03-05 22:18:02
System uptime = up 49 minutes
Timezone = Australia/Sydney
moOde = Release 4.4 2018-12-09
Host name = moode
ETH0 IP = unassigned
ETH0 MAC = b8:27:eb:27:30:03
WLAN0 IP = 192.168.0.17
WLAN0 MAC = b8:27:eb:72:65:56
WiFi country = AU
HDWR REV = Pi-3B+ 1GB v1.3
SoC = BCM2835
CORES = 4
ARCH = armv7l
RASPBIAN = 9.6
KERNEL = 4.14.84-v7+
KTIMER FREQ = 100 Hz
USB BOOT = enabled
Warranty = OK
ROOT size = 2.9G
ROOT used = 74%
ROOT avail = 742M
FS expand = not expanded
MEM free = 648 MB
MEM used = 62 MB
Temperature = 68.2°C
CPU GOV = performance
MPD SCHDPOL = TS
P3-WIFI = On
P3-BT = On
HDMI = On
ETH0 CHECK = On
MAX USB CUR = Off
UAC2 FIX = Off
ETHPORT FIX = Off
SSH server = Off
LED0 = on
LED1 = on
C O R E S E R V E R S
PHP-FPM = 7.0.30
NGINX = 1.10.3
SQLite = 3.16.2
C P U L O A D
CPU %usr %sys %idle
all 0.88 0.63 98.49
0 1.52 0.51 97.98
1 0.50 1.00 98.50
2 0.50 0.50 99.00
3 1.01 0.50 98.49
P R O C E S S L O A D
PRI RTPRIO COMMAND %MEM PSR %CPU
19 - sysinfo.sh 0.2 3 1.3
19 - systemd-journal 0.7 3 1.0
19 - kworker/u8:3 0.0 2 0.7
19 - bluealsa 0.3 3 0.6
19 - less 0.0 3 0.6
19 - kworker/u8:0 0.0 1 0.5
19 - worker.php 1.3 3 0.3
19 - kworker/u8:1 0.0 1 0.3
19 - rsyslogd 0.2 1 0.2
C L O C K F R E Q U E N C I E S
arm = 1200 MHz pwm = 0 MHz
core = 400 MHz emmc = 199 MHz
h264 = 300 MHz pixel = 25 MHz
isp = 300 MHz vec = 126 MHz
v3d = 300 MHz hdmi = 163 MHz
uart = 48 MHz dpi = 0 MHz
SD card = 50 MHz
S Y S T E M V O L T A G E S
core = 1.2313V
sdram controller = 1.2500V
sdram I/O = 1.2500V
sdram chip = 1.2250V
U I C U S T O M I Z A T I O N S
Theme = Standard
Accent color = Emerald
Alpha blend = 1.0
Adaptive background = No
Background image = No
Playback history = No
Extra metadata = Yes
Artist list order = Artist
Compilation rollup = No
Compilation excludes = greatest hits
Cover search pri = Embedded cover
Hi-res covers = Auto
Pixel ratio = 1
Cover backdrop = No
Cover blur = 20px
Cover scale = 1.25
A U D I O P A R A M E T E R S
Audio device = HiFiBerry DAC+
Interface = I2S
Hdwr volume = Controller detected
Mixer name = Digital
Output stream = S16_LE / 44100
ALSA version = 1.1.3-5+rpi3
SoX version = 0.1.2-2
Volume knob = 50
Volume mute = Unmuted
Bluetooth controller = On
Airplay receiver = Off
Spotify receiver = On
Squeezelite = Off
UPnP client = Off
DLNA server = Off
Rotary encoder = Off
Encoder params = 100 2 3 4 5
Crossfeed = Off
Parametric EQ = Off
Graphic EQ = Off
Auto-shuffle = Off
Autoplay = Off
MPD crossfade = Off
M P D S E T T I N G S
Version = 0.20.20
Volume control = software
ALSA device = hw:0
SoX resampling = disabled
SoX quality = very high
SoX multithreading = off
Audio buffer (kb) = 4096
Buffer before play = 10%
Output buffer size (kb) = 81920
Volume normalization = No
DSD over PCM (DoP) = no
Replay gain = off
B L U E T O O T H S E T T I N G S
Bluetooth ver = 5.49
Bluealsa ver = 1.2.0
Speaker sharing = Yes
Resume MPD = No
A I R P L A Y S E T T I N G S
Version = 3.2.2
Friendly name = Moode Airplay
ALSA device = hw:0
Volume mixer = auto
Resume MPD = No
Output bit depth = S16
Output sample rate = 44100
Session interruption = no
Session timeout (ms) = 120
Audio buffer (secs) = 0.0
S P O T I F Y S E T T I N G S
Friendly name = Moode Spotify
ALSA device = default:CARD=sndrpihifiberry
Resume MPD = No
Bit rate = 160
Initial volume = 0
Volume curve = Logarithmic
Volume normalization = No
Normalization pregain = 0
S Q U E E Z E L I T E S E T T I N G S
Version = 1.8.7-1052 "DSD/SRC enabled"
Friendly name = Moode
ALSA device = hw:0
ALSA params = 80:4::1
Output buffers = 40000:100000
Task priority = 45
Codec list = flac,pcm,mp3,ogg,aac,alac,dsd
Resume MPD = No
Other options = -W -D 500 -R E -S /var/loca
M O O D E L O G
20190305 212856 worker: - Start
20190305 212856 worker: Successfully daemonized
20190305 212856 worker: Integrity check ok
20190305 212856 worker: Session loaded
20190305 212856 worker: Debug logging (on)
20190305 212856 worker: - Platform
20190305 212857 worker: Host (moode)
20190305 212857 worker: Hdwr (Pi-3B+ 1GB v1.3)
20190305 212857 worker: Arch (armv7l)
20190305 212857 worker: Rasp (9.6)
20190305 212857 worker: Kver (4.14.84-v7+)
20190305 212857 worker: Ktyp (Standard)
20190305 212857 worker: Gov (performance)
20190305 212857 worker: Rel (Moode 4.4 2018-12-09)
20190305 212857 worker: Upd (None)
20190305 212857 worker: MPD (0.20.20)
20190305 212857 worker: USB boot enabled
20190305 212857 worker: File system not expanded yet
20190305 212858 worker: HDMI port on
20190305 212858 worker: File check ok
20190305 212858 worker: - Network
20190305 212858 worker: eth0 exists
20190305 212858 worker: eth0 wait 0 for IP address
20190305 212901 worker: eth0 wait 1 for IP address
20190305 212904 worker: eth0 wait 2 for IP address
20190305 212907 worker: eth0 wait 3 for IP address
20190305 212910 worker: eth0 wait 4 for IP address
20190305 212913 worker: eth0 wait 5 for IP address
20190305 212924 worker: eth0 wait 6 for IP address
20190305 212927 worker: eth0 wait 7 for IP address
20190305 212930 worker: eth0 wait 8 for IP address
20190305 212933 worker: eth0 wait 9 for IP address
20190305 212936 worker: eth0 address not assigned
20190305 212936 worker: wlan0 exists
20190305 212936 worker: wifi country (AU)
20190305 212936 worker: wlan0 trying SSID (VOOF!!!-5G)
20190305 212936 worker: wlan0 (192.168.0.17)
20190305 212936 worker: - Audio
20190305 212936 worker: ALSA outputs unmuted
20190305 212936 worker: ALSA card number (0)
20190305 212936 worker: Audio out (I2S audio device)
20190305 212936 worker: Audio dev (HiFiBerry DAC+)
20190305 212936 worker: ALSA mixer name (Digital)
20190305 212936 worker: MPD volume control (software)
20190305 212936 worker: Hdwr volume controller exists
20190305 212936 worker: Chip options (Burr Brown PCM5122)
20190305 212936 worker: - Services
20190305 212936 worker: Reset renderer active
20190305 212938 worker: MPD started
20190305 212938 worker: MPD scheduler policy (time-share)
20190305 212938 worker: Configure MPD outputs
20190305 212938 readMpdResponse(): reading response
20190305 212938 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 212938 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 212938 readMpdResponse(): reading response
20190305 212938 readMpdResponse(): success $str=(OK)
20190305 212938 readMpdResponse(): success $resp[0]=(outputid: 0)
20190305 212938 worker: MPD output 1 ALSA default (on)
20190305 212938 worker: MPD output 2 ALSA crossfeed (off)
20190305 212938 worker: MPD output 3 ALSA parametric eq (off)
20190305 212938 worker: MPD output 4 ALSA graphic eq (off)
20190305 212938 worker: MPD output 5 ALSA bluetooth (off)
20190305 212938 worker: MPD crossfade (off)
20190305 212938 worker: (librespot --name "Moode Spotify" --bitrate 160 --initial-volume 0 --cache /var/local/www/spotify_cache --disable-audio-cache --backend alsa --device "plughw:0" --onevent /var/local/www/commandw/spotevent.sh > /dev/null 2>&1 &)
20190305 212938 worker: Spotify receiver started
20190305 212938 worker: Bluetooth controller started
20190305 212946 worker: Bluetooth controller initialized
20190305 212946 worker: - Music sources
20190305 212946 worker: USB sources (none attached)
20190305 212946 worker: NAS sources (none configured)
20190305 212946 worker: - Miscellaneous
20190305 212946 worker: Volume level (50) restored
20190305 212946 readMpdResponse(): reading response
20190305 212946 readMpdResponse(): success $str=(OK)
20190305 212946 readMpdResponse(): success $resp[0]=(OK)
20190305 212946 worker: Maintenance interval (21600)
20190305 212946 worker: Screen saver activation (Never)
20190305 212946 worker: Watchdog started
20190305 212946 worker: Ready
20190305 214108 engine-mpd: Connect
20190305 214108 engine-mpd: Session loaded
20190305 214108 engine-mpd: Open socket
20190305 214108 readMpdResponse(): reading response
20190305 214108 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214108 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214108 engine-mpd: Get initial status
20190305 214108 readMpdResponse(): reading response
20190305 214108 readMpdResponse(): success $str=(OK)
20190305 214108 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214108 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214108 engine-mpd: Generating enhanced metadata
20190305 214108 readMpdResponse(): reading response
20190305 214108 readMpdResponse(): success $str=(OK)
20190305 214108 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214108 readMpdResponse(): reading response
20190305 214108 readMpdResponse(): success $str=(OK)
20190305 214108 readMpdResponse(): success $resp[0]=(directory: RADIO)
20190305 214108 readMpdResponse(): reading response
20190305 214108 readMpdResponse(): success $str=(OK)
20190305 214108 readMpdResponse(): success $resp[0]=(playlist: RADIO/RSI - Rete Tre.pls)
20190305 214108 enhanceMetadata(): Radio station
20190305 214108 engine-mpd: Metadata returned to client: Size=(30)
20190305 214109 readMpdResponse(): reading response
20190305 214109 readMpdResponse(): success $str=(OK)
20190305 214109 readMpdResponse(): success $resp[0]=(file: http://listen.sub.fm/hi/;&type=mp3)
20190305 214109 engine-mpd: Connect
20190305 214109 engine-mpd: Session loaded
20190305 214109 engine-mpd: Open socket
20190305 214109 readMpdResponse(): reading response
20190305 214109 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214109 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214109 engine-mpd: Get initial status
20190305 214109 readMpdResponse(): reading response
20190305 214109 readMpdResponse(): success $str=(OK)
20190305 214109 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214109 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214109 engine-mpd: Idle
20190305 214109 engine-mpd: Wait for idle timeout
20190305 214109 readMpdResponse(): reading response
20190305 214119 waitWorker(): Start (, w_active=0)
20190305 214119 waitWorker(): End (, w_active=0)
20190305 214120 engine-mpd: Connect
20190305 214120 engine-mpd: Session loaded
20190305 214120 engine-mpd: Open socket
20190305 214120 readMpdResponse(): reading response
20190305 214120 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214120 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214120 engine-mpd: Get initial status
20190305 214120 readMpdResponse(): reading response
20190305 214120 readMpdResponse(): success $str=(OK)
20190305 214120 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214120 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214120 engine-mpd: Generating enhanced metadata
20190305 214120 readMpdResponse(): reading response
20190305 214120 readMpdResponse(): success $str=(OK)
20190305 214120 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214120 enhanceMetadata(): Radio station
20190305 214120 engine-mpd: Metadata returned to client: Size=(30)
20190305 214120 engine-mpd: Connect
20190305 214120 engine-mpd: Session loaded
20190305 214120 engine-mpd: Open socket
20190305 214120 readMpdResponse(): reading response
20190305 214120 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214120 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214120 engine-mpd: Get initial status
20190305 214120 readMpdResponse(): reading response
20190305 214120 readMpdResponse(): success $str=(OK)
20190305 214120 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214120 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214120 engine-mpd: Idle
20190305 214120 engine-mpd: Wait for idle timeout
20190305 214120 readMpdResponse(): reading response
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 214136 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 214136 engine-mpd: resp[0]=(changed: mixer)
20190305 214136 engine-mpd: resp[0]=(changed: mixer)
20190305 214136 engine-mpd: Get new status
20190305 214136 engine-mpd: Get new status
20190305 214136 readMpdResponse(): reading response
20190305 214136 readMpdResponse(): reading response
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214136 engine-mpd: Idle timeout event=(changed: mixer)
20190305 214136 engine-mpd: Generating enhanced metadata
20190305 214136 engine-mpd: Idle timeout event=(changed: mixer)
20190305 214136 engine-mpd: Generating enhanced metadata
20190305 214136 readMpdResponse(): reading response
20190305 214136 readMpdResponse(): reading response
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $str=(OK)
20190305 214136 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214136 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214136 enhanceMetadata(): Radio station
20190305 214136 enhanceMetadata(): Radio station
20190305 214136 engine-mpd: Metadata returned to client: Size=(31)
20190305 214136 engine-mpd: Metadata returned to client: Size=(31)
20190305 214137 waitWorker(): Start (, w_active=0)
20190305 214137 waitWorker(): End (, w_active=0)
20190305 214138 engine-mpd: Connect
20190305 214138 engine-mpd: Session loaded
20190305 214138 engine-mpd: Open socket
20190305 214138 readMpdResponse(): reading response
20190305 214138 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214138 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214138 engine-mpd: Get initial status
20190305 214138 readMpdResponse(): reading response
20190305 214138 readMpdResponse(): success $str=(OK)
20190305 214138 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214138 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214138 engine-mpd: Generating enhanced metadata
20190305 214138 readMpdResponse(): reading response
20190305 214138 readMpdResponse(): success $str=(OK)
20190305 214138 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214138 enhanceMetadata(): Radio station
20190305 214138 engine-mpd: Metadata returned to client: Size=(30)
20190305 214138 engine-mpd: Connect
20190305 214138 engine-mpd: Session loaded
20190305 214138 engine-mpd: Open socket
20190305 214138 readMpdResponse(): reading response
20190305 214138 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214138 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214138 engine-mpd: Get initial status
20190305 214138 readMpdResponse(): reading response
20190305 214138 readMpdResponse(): success $str=(OK)
20190305 214138 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214138 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214138 engine-mpd: Idle
20190305 214138 engine-mpd: Wait for idle timeout
20190305 214138 readMpdResponse(): reading response
20190305 214150 readMpdResponse(): success $str=(OK)
20190305 214150 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 214150 engine-mpd: resp[0]=(changed: mixer)
20190305 214150 engine-mpd: Get new status
20190305 214150 readMpdResponse(): reading response
20190305 214150 readMpdResponse(): success $str=(OK)
20190305 214150 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214150 engine-mpd: Idle timeout event=(changed: mixer)
20190305 214150 engine-mpd: Generating enhanced metadata
20190305 214150 readMpdResponse(): reading response
20190305 214150 readMpdResponse(): success $str=(OK)
20190305 214150 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214150 enhanceMetadata(): Radio station
20190305 214150 engine-mpd: Metadata returned to client: Size=(31)
20190305 214157 waitWorker(): Start (, w_active=0)
20190305 214157 waitWorker(): End (, w_active=0)
20190305 214157 engine-mpd: Connect
20190305 214157 engine-mpd: Session loaded
20190305 214157 engine-mpd: Open socket
20190305 214157 readMpdResponse(): reading response
20190305 214157 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214157 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214157 engine-mpd: Get initial status
20190305 214157 readMpdResponse(): reading response
20190305 214157 readMpdResponse(): success $str=(OK)
20190305 214157 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214157 engine-mpd: UI state=(reconnect), MPD state=(stop)
20190305 214157 engine-mpd: Generating enhanced metadata
20190305 214157 readMpdResponse(): reading response
20190305 214157 readMpdResponse(): success $str=(OK)
20190305 214157 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214157 enhanceMetadata(): Radio station
20190305 214157 engine-mpd: Metadata returned to client: Size=(30)
20190305 214158 engine-mpd: Connect
20190305 214158 engine-mpd: Session loaded
20190305 214158 engine-mpd: Open socket
20190305 214158 readMpdResponse(): reading response
20190305 214158 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214158 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214158 engine-mpd: Get initial status
20190305 214158 readMpdResponse(): reading response
20190305 214158 readMpdResponse(): success $str=(OK)
20190305 214158 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214158 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214158 engine-mpd: Generating enhanced metadata
20190305 214158 readMpdResponse(): reading response
20190305 214158 readMpdResponse(): success $str=(OK)
20190305 214158 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214158 enhanceMetadata(): Radio station
20190305 214158 engine-mpd: Metadata returned to client: Size=(30)
20190305 214158 engine-mpd: Connect
20190305 214158 engine-mpd: Session loaded
20190305 214158 engine-mpd: Open socket
20190305 214158 readMpdResponse(): reading response
20190305 214158 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214158 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214158 engine-mpd: Get initial status
20190305 214158 readMpdResponse(): reading response
20190305 214158 readMpdResponse(): success $str=(OK)
20190305 214158 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214158 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214158 engine-mpd: Idle
20190305 214158 engine-mpd: Wait for idle timeout
20190305 214158 readMpdResponse(): reading response
20190305 214218 readMpdResponse(): success $str=(OK)
20190305 214218 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 214218 engine-mpd: resp[0]=(changed: mixer)
20190305 214218 engine-mpd: Get new status
20190305 214218 readMpdResponse(): reading response
20190305 214218 readMpdResponse(): success $str=(OK)
20190305 214218 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214218 engine-mpd: Idle timeout event=(changed: mixer)
20190305 214218 engine-mpd: Generating enhanced metadata
20190305 214218 readMpdResponse(): reading response
20190305 214218 readMpdResponse(): success $str=(OK)
20190305 214218 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214218 enhanceMetadata(): Radio station
20190305 214218 engine-mpd: Metadata returned to client: Size=(31)
20190305 214220 waitWorker(): Start (, w_active=0)
20190305 214220 waitWorker(): End (, w_active=0)
20190305 214220 engine-mpd: Connect
20190305 214220 engine-mpd: Session loaded
20190305 214220 engine-mpd: Open socket
20190305 214220 readMpdResponse(): reading response
20190305 214220 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214220 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214220 engine-mpd: Get initial status
20190305 214220 readMpdResponse(): reading response
20190305 214220 readMpdResponse(): success $str=(OK)
20190305 214220 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214220 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214220 engine-mpd: Generating enhanced metadata
20190305 214220 readMpdResponse(): reading response
20190305 214220 readMpdResponse(): success $str=(OK)
20190305 214220 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214220 enhanceMetadata(): Radio station
20190305 214220 engine-mpd: Metadata returned to client: Size=(30)
20190305 214220 engine-mpd: Connect
20190305 214220 engine-mpd: Session loaded
20190305 214220 engine-mpd: Open socket
20190305 214220 readMpdResponse(): reading response
20190305 214220 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214220 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214220 engine-mpd: Get initial status
20190305 214220 readMpdResponse(): reading response
20190305 214220 readMpdResponse(): success $str=(OK)
20190305 214220 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214220 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214220 engine-mpd: Idle
20190305 214220 engine-mpd: Wait for idle timeout
20190305 214220 readMpdResponse(): reading response
20190305 214228 waitWorker(): Start (, w_active=0)
20190305 214228 waitWorker(): End (, w_active=0)
20190305 214229 engine-mpd: Connect
20190305 214229 engine-mpd: Session loaded
20190305 214229 engine-mpd: Open socket
20190305 214229 readMpdResponse(): reading response
20190305 214229 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214229 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214229 engine-mpd: Get initial status
20190305 214229 readMpdResponse(): reading response
20190305 214229 readMpdResponse(): success $str=(OK)
20190305 214229 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214229 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214229 engine-mpd: Generating enhanced metadata
20190305 214229 readMpdResponse(): reading response
20190305 214229 readMpdResponse(): success $str=(OK)
20190305 214229 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214229 enhanceMetadata(): Radio station
20190305 214229 engine-mpd: Metadata returned to client: Size=(30)
20190305 214229 engine-mpd: Connect
20190305 214229 engine-mpd: Session loaded
20190305 214229 engine-mpd: Open socket
20190305 214229 readMpdResponse(): reading response
20190305 214229 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214229 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214229 engine-mpd: Get initial status
20190305 214229 readMpdResponse(): reading response
20190305 214229 readMpdResponse(): success $str=(OK)
20190305 214229 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214229 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214229 engine-mpd: Idle
20190305 214229 engine-mpd: Wait for idle timeout
20190305 214229 readMpdResponse(): reading response
20190305 214429 waitWorker(): Start (, w_active=0)
20190305 214429 waitWorker(): End (, w_active=0)
20190305 214429 engine-mpd: Connect
20190305 214429 engine-mpd: Session loaded
20190305 214429 engine-mpd: Open socket
20190305 214429 readMpdResponse(): reading response
20190305 214429 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214429 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214429 engine-mpd: Get initial status
20190305 214429 readMpdResponse(): reading response
20190305 214429 readMpdResponse(): success $str=(OK)
20190305 214429 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214429 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214429 engine-mpd: Generating enhanced metadata
20190305 214429 readMpdResponse(): reading response
20190305 214429 readMpdResponse(): success $str=(OK)
20190305 214429 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214429 enhanceMetadata(): Radio station
20190305 214429 engine-mpd: Metadata returned to client: Size=(30)
20190305 214429 engine-mpd: Connect
20190305 214429 engine-mpd: Session loaded
20190305 214429 engine-mpd: Open socket
20190305 214429 readMpdResponse(): reading response
20190305 214429 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214429 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214429 engine-mpd: Get initial status
20190305 214429 readMpdResponse(): reading response
20190305 214429 readMpdResponse(): success $str=(OK)
20190305 214429 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214429 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214429 engine-mpd: Idle
20190305 214429 engine-mpd: Wait for idle timeout
20190305 214429 readMpdResponse(): reading response
20190305 214436 waitWorker(): Start (, w_active=0)
20190305 214436 waitWorker(): End (, w_active=0)
20190305 214437 engine-mpd: Connect
20190305 214437 engine-mpd: Session loaded
20190305 214437 engine-mpd: Open socket
20190305 214437 readMpdResponse(): reading response
20190305 214437 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214437 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214437 engine-mpd: Get initial status
20190305 214437 readMpdResponse(): reading response
20190305 214437 readMpdResponse(): success $str=(OK)
20190305 214437 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214437 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 214437 engine-mpd: Generating enhanced metadata
20190305 214437 readMpdResponse(): reading response
20190305 214437 readMpdResponse(): success $str=(OK)
20190305 214437 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 214437 enhanceMetadata(): Radio station
20190305 214437 engine-mpd: Metadata returned to client: Size=(30)
20190305 214437 engine-mpd: Connect
20190305 214437 engine-mpd: Session loaded
20190305 214437 engine-mpd: Open socket
20190305 214437 readMpdResponse(): reading response
20190305 214437 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 214437 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 214437 engine-mpd: Get initial status
20190305 214437 readMpdResponse(): reading response
20190305 214437 readMpdResponse(): success $str=(OK)
20190305 214437 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 214437 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 214437 engine-mpd: Idle
20190305 214437 engine-mpd: Wait for idle timeout
20190305 214437 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 215533 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 215533 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 215533 engine-mpd: resp[0]=(changed: mixer)
20190305 215533 engine-mpd: resp[0]=(changed: mixer)
20190305 215533 engine-mpd: resp[0]=(changed: mixer)
20190305 215533 engine-mpd: Get new status
20190305 215533 engine-mpd: Get new status
20190305 215533 engine-mpd: Get new status
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 215533 engine-mpd: resp[0]=(changed: mixer)
20190305 215533 engine-mpd: Get new status
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 215533 engine-mpd: Idle timeout event=(changed: mixer)
20190305 215533 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 215533 engine-mpd: Generating enhanced metadata
20190305 215533 engine-mpd: Idle timeout event=(changed: mixer)
20190305 215533 engine-mpd: Idle timeout event=(changed: mixer)
20190305 215533 engine-mpd: Generating enhanced metadata
20190305 215533 engine-mpd: Generating enhanced metadata
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 engine-mpd: Idle timeout event=(changed: mixer)
20190305 215533 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 215533 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 215533 engine-mpd: Generating enhanced metadata
20190305 215533 enhanceMetadata(): Radio station
20190305 215533 enhanceMetadata(): Radio station
20190305 215533 readMpdResponse(): reading response
20190305 215533 engine-mpd: Metadata returned to client: Size=(31)
20190305 215533 engine-mpd: Metadata returned to client: Size=(31)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 215533 enhanceMetadata(): Radio station
20190305 215533 engine-mpd: Metadata returned to client: Size=(31)
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 215533 enhanceMetadata(): Radio station
20190305 215533 engine-mpd: Metadata returned to client: Size=(31)
20190305 215533 engine-mpd: Connect
20190305 215533 engine-mpd: Session loaded
20190305 215533 engine-mpd: Open socket
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 215533 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 215533 engine-mpd: Get initial status
20190305 215533 readMpdResponse(): reading response
20190305 215533 readMpdResponse(): success $str=(OK)
20190305 215533 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 215533 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 215533 engine-mpd: Idle
20190305 215533 engine-mpd: Wait for idle timeout
20190305 215533 readMpdResponse(): reading response
20190305 220405 readMpdResponse(): success $str=(OK)
20190305 220405 readMpdResponse(): success $resp[0]=(changed: mixer)
20190305 220405 engine-mpd: resp[0]=(changed: mixer)
20190305 220405 engine-mpd: Get new status
20190305 220405 readMpdResponse(): reading response
20190305 220405 readMpdResponse(): success $str=(OK)
20190305 220405 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 220405 engine-mpd: Idle timeout event=(changed: mixer)
20190305 220405 engine-mpd: Generating enhanced metadata
20190305 220405 readMpdResponse(): reading response
20190305 220405 readMpdResponse(): success $str=(OK)
20190305 220405 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 220405 enhanceMetadata(): Radio station
20190305 220405 engine-mpd: Metadata returned to client: Size=(31)
20190305 220405 engine-mpd: Connect
20190305 220405 engine-mpd: Session loaded
20190305 220405 engine-mpd: Open socket
20190305 220405 readMpdResponse(): reading response
20190305 220405 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 220405 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 220405 engine-mpd: Get initial status
20190305 220405 readMpdResponse(): reading response
20190305 220405 readMpdResponse(): success $str=(OK)
20190305 220405 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 220405 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 220405 engine-mpd: Idle
20190305 220405 engine-mpd: Wait for idle timeout
20190305 220405 readMpdResponse(): reading response
20190305 221304 waitWorker(): Start (snd-config, w_active=0)
20190305 221304 waitWorker(): End (snd-config, w_active=0)
20190305 221304 waitWorker(): Start (snd-config, w_active=0)
20190305 221304 waitWorker(): End (snd-config, w_active=0)
20190305 221305 engine-mpd: Connect
20190305 221305 engine-mpd: Session loaded
20190305 221305 engine-mpd: Open socket
20190305 221305 readMpdResponse(): reading response
20190305 221305 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 221305 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 221305 engine-mpd: Get initial status
20190305 221305 readMpdResponse(): reading response
20190305 221305 readMpdResponse(): success $str=(OK)
20190305 221305 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 221305 engine-mpd: UI state=(undefined), MPD state=(stop)
20190305 221305 engine-mpd: Generating enhanced metadata
20190305 221305 readMpdResponse(): reading response
20190305 221305 readMpdResponse(): success $str=(OK)
20190305 221305 readMpdResponse(): success $resp[0]=(file: http://stream.radioactive.fm:8000/ractive)
20190305 221305 enhanceMetadata(): Radio station
20190305 221305 engine-mpd: Metadata returned to client: Size=(30)
20190305 221305 engine-mpd: Connect
20190305 221305 engine-mpd: Session loaded
20190305 221305 engine-mpd: Open socket
20190305 221305 readMpdResponse(): reading response
20190305 221305 readMpdResponse(): success $str=(OK MPD 0.20.0)
20190305 221305 readMpdResponse(): success $resp[0]=(OK MPD 0.20.0)
20190305 221305 engine-mpd: Get initial status
20190305 221305 readMpdResponse(): reading response
20190305 221305 readMpdResponse(): success $str=(OK)
20190305 221305 readMpdResponse(): success $resp[0]=(volume: 50)
20190305 221305 engine-mpd: UI state=(stop), MPD state=(stop)
20190305 221305 engine-mpd: Idle
20190305 221305 engine-mpd: Wait for idle timeout
20190305 221305 readMpdResponse(): reading response
Posts: 13,450
Threads: 305
Joined: Mar 2018
Reputation:
545
Hi,
I took the liberty of placing the log output in a code box for readability. Code box is the 5th button from the right on the toolbar when composing a post.
I'm not sure what's causing the pairing/trust issue but generally you will want to have moOde bluetooth in "SCAN for devices" mode and then initiate the connection/pairing from the client either during the SCAN or right after it finishes. For example my iPhone is not too picky when it comes to connecting but my iPad won't successfully connect until right after the SCAN finishes.
Bluetooth speaker sharing is something that IOS supports well but I'm not sure about Android etc since I don't have any of those devices. Speaker sharing configures MPD bluetooth output to route audio through ALSA dmix. This should allow multiple clients to stream audio at same time to moOde Bluetooth.
You can check the file below to confirm that dmix issuing used
cat /etc/bluealsaaplay.conf
Speaker sharing on
AUDIODEV=btaplay_dmix
Speaker sharing off
AUDIODEV=plughw:0,0
Posts: 13
Threads: 3
Joined: Mar 2019
Reputation:
0
Hi Tim, thanks.
I had a look at the bluealsaaplay.conf and it was wrong. Despite sharing being activated in the gui, it was set to "plughw:0,0". After I changed it manually, speaker sharing started to work as expected. Thus, there is probably a bug in how the gui settings are processed.
With the scanning option, connecting a bluetooth device eventually works. However, it is a bit clunky that one can't just connect any new device without having to scan, pair and reconnect in various orders until it eventually works.
Basically, there would have to be something like in this solution here: https://stackoverflow.com/questions/3023...-in-bluez5 (including the set_trusted() call mentioned in a comment). But I don't know which program handles the pairing in moode so I don't know whether that's easy to fix.
Using the scan function, it is the line
Code: echo -e "trust $y\nquit" | bluetoothctl >/dev/null
inside the bt.sh script that makes bluez trust any device it scanned for.
Posts: 6,030
Threads: 177
Joined: Apr 2018
Reputation:
235
@ kaymes
Interesting thread, especially with the stackoverflow post you found. I need to do my homework on this one.
BlueTooth in Linux today feels as sketchy to me as WiFi used to back in the kernel 2.x days. It's getting better but moOde (and all its competitors) are very dependent on developments outside the project.
Case in point: the clash between pulseaudio and bluez-alsa regarding what the A2DP spec says about RTP payload type. That problem's been known for several years. Looks like the fix was finally accepted into pulseaudio master just a month ago. We are in the midst of another such clash between the mpd developer and the bluez-alsa developer regarding their readings of the alsa specs. No progress yet on this one.
None of my Android devices have a BT pairing/connecting problem with moOde but they are all pure Google Android, e.g., Nexus tablets and phone. From time to time others have reported problems with old, third-party Android devices. AFAIK, Tim and others have not had problems with iOS devices.
For the record, what is the Android phone you are using? And what version of Android?
As an aside, I am curious about your problem with ssh, something I've never come across (assuming sshd is running and the appropriate port is open). I would have suggested it might be your router blocking client-to-client communication but you say the problem arises only when ssh invokes a pseudo-terminal. What makes you think it might be your WiFi or MTU? Have you tried a wired Ethernet connection to prove or disprove this conjecture?
Regards,
Kent
Posts: 13
Threads: 3
Joined: Mar 2019
Reputation:
0
@Kent
My phone is a Sony Xperia Z5 Compact E5823 running Android 7.11.
My laptop runs Ubuntu 18.04. I re-compiled pulseaudio to use the correct RTP, so that's working now.
Both devices connect fine once they are set to "trusted" the first time. The hassle is really getting the "trust" into bluez after the initial pairing (or after explicitly un-pairing them in moode). Once the trust is established, re-connecting works like a charm. Getting moode's bluez to "trust" a device it has never seen before requires the strange procedure of pairing, scanning and reconnecting until it works for the first time.
Regarding the ssh issue: the moode RPi is connected via Wifi, so is my Ubuntu Laptop. I also have another RPi running libreElec which is connected to the router using an ethernet cable. I can ssh from the laptop to libreElec and from libreElec to moode without issues. Laptop to moode is sketchy and tends to fail almost always with ssh sessions that request a terminal (-t). It appears to be related to Wifi to Wifi somehow. I initially jumped to the MTU issue because I've seen similar hang-behaviour being caused by too high MTU settings and ICMP messages being filtered by firewalls that are too eager. Also, when I first lowered the MTU on the moode box, it appeared solved at first. But the next day it caused trouble even with lowered MTU and sometimes it worked with high MTU and lots of data being transferred. Thus, now, I don't think, it's the MTU. I've seen some posts on the internet that hint towards IPQos settings for ssh. And, of course, I also need to double check that my Laptop on a cable works fine.
In any case, an annoying (yet interesting) problem. I'm keen to get to the bottom of it, but for now, I have the workaround to use the libreElec box as a proxy, so other issues have a higher priority.
Posts: 13
Threads: 3
Joined: Mar 2019
Reputation:
0
@ TheOldPresbyope
So I think, I solved the ssh issue. I added the line
to the sshd_config on the moode box and restarted ssh. Now everything seems to work.
This seems to be a fairly common issue if you google for it.
I don't know how common it is, but if it's common enough, it might be worth shipping moode with this setting. Since all connections to moode tend to happen locally in the LAN anyway, it shouldn't make much of a difference what qos flags are used.
Posts: 6,030
Threads: 177
Joined: Apr 2018
Reputation:
235
(03-06-2019, 05:50 AM)kaymes Wrote: @TheOldPresbyope
So I think, I solved the ssh issue. I added the line
to the sshd_config on the moode box and restarted ssh. Now everything seems to work.
This seems to be a fairly common issue if you google for it.
I don't know how common it is, but if it's common enough, it might be worth shipping moode with this setting. Since all connections to moode tend to happen locally in the LAN anyway, it shouldn't make much of a difference what qos flags are used.
I see an array of Google-search results, but fundamentally it's a router problem, which helps explain why I haven't seen it in any of my work: https://wiki.debian.org/SSH#Resolution_with_IPQoS_0x00
Given you're the first to mention the problem in this forum, I'm inclined to say it isn't common on an absolute basis. I suppose reducing the IPQoS to "best effort" wouldn't be an issue in this application, but it's Tim's call all the way. A counterargument is that the OpenSSH folk have actually increased the default IPQoS setting last year ( https://cvsweb.openbsd.org/src/usr.bin/s...c#rev1.284). That's newer than the version used in Raspbian.
Regards,
Kent
|