Thank you for your donation!


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


SSH & Bluetooth issues with new moode 4.4 install
#1
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.
Reply
#2
Post the output from System info and I'll have a look.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
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:A7Big Grin0: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
Reply
#4
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
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#5
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.
Reply
#6
@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
Reply
#7
@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.
Reply
#8
@TheOldPresbyope

So I think, I solved the ssh issue. I added the line
Code:
IPQoS cs0 cs0
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.
Reply
#9
(03-06-2019, 05:50 AM)kaymes Wrote: @TheOldPresbyope

So I think, I solved the ssh issue. I added the line
Code:
IPQoS cs0 cs0
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
Reply


Forum Jump: