DietPi: creating a lean-and-mean Roon Bridge

Hi @Dan_Knight,

I’d like to give big shout to thank you for this fantastic distro and support you provide to us in Roon community!
Big, big thank you…!

Now, if I may ask for advise…:slight_smile: when I was going through Roon KB, I saw this link about Linux Audio and inside it talks about how to get Native DSD mode which as I can read, my DAC, Gustard X20u is supported.

https://kb.roonlabs.com/Audio_On_Linux

The problem though, I’ve no idea how to do this patch :slight_smile: and would really appreciate your advise please.

Thanks again.

3 Likes

Hi Noel,

Thanks :slight_smile:

Yep, looks like I may be able to patch this into kernel:

Which device are you using, RPi?

Note to self: RPi Stretch? https://github.com/lintweaker/xmos-native-dsd#alsa-lib

Henry, I believe you are describing an answer to my latest issue. I have successfully migrated all five of my RPi3s from the Raspbian Jessie Lite RoonBridge install to the DietPi. I must say that the install process through DIetPi is amazingly simple and fast.

I now have all five devices with the default standard “root” as host name and “dietpi” as password. However, I’d like to change the host name and password to a custom and more secure set and I see I can do that through the DietPi-config interface. When I do so, and reboot, I can’t login through the changed host name and password. Access denied.

After formatting and re-installing DietPi and RoonBridge on one of the RPi3s three times, I realize that it is not me. There is something one must do to enable a changed host name and password.

Henry references deleting some file within the Linux file system, presumably after doing the dietpi-config change to the host name and password, but before the reboot, to fix this. I need more specific Linux command assistance to follow what I need to do. Can one of you folks detail out for me and others? Thanks much. JCR

1 Like

If you logged in before, your Mac adds an RSA key to the specific hostname/IP of that Pi. If/when the hostname/IP changes, your Mac flags this as a possible intrusion: the system you are trying to connect to, does not longer appear to be the same machine as previously.

The hostname/IP/key combinations are logged into a text file in your home folder. To access it, open Terminal.app and type

nano .ssh/known_hosts

Move your cursor to the offending line(s) and use CTRL-K to delete the line (you can delete all if you want to).

Save and close: CTRL-X, Y.

When reconnecting to your Pi(s), your Mac will now see them ‘as new’ and ask to to store the key to the new hostname.

3 Likes

also… no need to change hostname/password afterwards: just configure as you like “dietpi.txt” file before first boot :wink:

2 Likes

@Dan_Knight @RBM I have a strange DPi question. I’ve got 3 DPis networked and working swell with Roon, 2 using Meridian Explorer2s, and 1 using an AudioQuest Dragonfly 1.2. All work perfectly with Roon.

I subscribe to the Berlin Phils Digital Concert Hall and Met Opera on Demand and stream audio from them via Shairport to the DPis. The DPis using the Meridian Explorer2s work perfectly. The DPi using the AQ Dragonfly plays mainly “hiss” with some audio present at a much lower level.

I’ve got all DPis setup the same using USB Audio DAC sound card and the filtering that disables HDMI and limits the processor. I’ve re flashed the SD card and reinstalled all software with the same results. I’m stumped.

Any thoughts?

Thanks,
BW

1 Like

Worked a treat!! Thanks Dan. FYI I was building it for a headless pi zero with an IQAudio DAC. Ended up building the image on a Pi 3 and then moving the SD card back to the Pi zero.

Brilliant, love DietPi!

Bob

1 Like

Thanks, @Dan_Knight I am actually looking to find a way to use DIetPi as a DLNA/UPnP client. Not a server.

1 Like

@fritzg
Depends on your tolerance for extreme tinkering I guess :slight_smile: Control point choices for linux are scarce even on the big platforms. If you have a gui, UPPlay is the simplest. Not a renderer though.

The same developer did quite a bit of work to get some upnp functionality in mpd, now incorporated in (at least) the git version. So, if compiled with --enable-upnp, mpd has a upnp database plugin. Unfortunately this is the extent of the documentation. The gist of this approach, as I understand it, is translating upnp into something mpd understands, allowing it to serve as “client” and a sort of quasi-renderer of files served via upnp.

Using this I was able to get playback in mpd with a minimserver library. That was in Arch Linux though so whether this is possible in diet pi, not sure, but maybe helpful as a proof of concept. If mpd is available on diet pi and is compiled with --enable-upnp, I could see it being possible without too much work.

If I’ve misunderstood what you mean by client, disregard.

2 Likes

@lorin i installed mpd from the dietpi menu, how would I use the --enable-upnp command?

1 Like

Hi Dan, yes I am using RPI 3.

Looking forward to this Dan - thanks a lot!

1 Like

Hi Bob,

I need to update the ShairPort-Sync binaries for DietPi (2.8 current, 3.0.2 available). I’am hoping this will resolve the issue.

I’ll let you know when its completed and ready for testing:

@Bob_Worley

All done, available in DietPi v147 update.
You can test this manually now, please see the following to update your Shairport sync on DietPi to 3.0.2:

We’ve also enabled SOXR interpolation by default this time round. Should help to reduce the “low floor” hiss.

Let us know if this update fixes the issue. If not, we’ll probably need to debug the USB DAC.

Thank you sir!

Since my Linux skills are minimal and DietPi is so intuitive for one lacking said skills, I’m going to wait until version 147 hits before I test the possible fix. I’ll let you know how it goes.

1 Like

No worries. Although, it may be 1-2 weeks before v147 is released.

@Dan_Knight Can you tell me how I would use the --enable-upon command in dietpi to install the aforementioned plugin in to mpd?

Not sure, appears upnp is not part of the standard MPD:
https://linux.die.net/man/5/mpd.conf

root@DietPi:~# mpd --enable-upnp
cmdline: invalid option: --enable-upnp

https://www.lesbonscomptes.com/pages/mpd-upnp.html
The code for the UPNP plugin has been modified/integrated into the MPD release 19

Not the case:

root@DietPi:~# mpd -V
Music Player Daemon 0.19.19

I believe this may be an optional compile option, instead of cmdline. I’ll take a look.

. So, if compiled with --enable-upnp

@lorin nailed it, completely missed that lol

@fritzg

Yep, compile option. I’ll need to recompile MPD with this enabled.

checking for UPNP... yes

I’ll let you know when its completed and ready for testing:

Thanks! I’ll need a bit of a walk thru on how to update and test.

Fg

Neat! Sorry I didn’t mean to create work for anyone :innocent:

Sorry if I was unclear @fritzg, the option first has to be enabled by the creator of the package. But with that, simply adding the following in ~/.config/mpd/mpd.conf should result in upnp servers showing in mpd clients.

  database {
          plugin "upnp"
}

The database plugin is set to “simple” by default so either change that, or add the above if no reference to database exists in mpd.conf. There are no options for upnp. The plug n play part of it should work straight away but…no warranty is implied!

1 Like