OK ! Here I am listening to Roon/HQP on a Raspberry Pi NAA. It replaced a 5m Belkin USB cable. This is how I got there. It’s aimed squarely at someone with some familiarity with computers, but not necessarily Linux, so apologies if it’s very basic level. It’s also Windows based so apologies for that, and it’s long. but now I’m all apologied out so you’ll just have to wear that.
The goal here was a minimal headless installation, nothing not needed to get HQP by Ethernet in and hi res (including DSD) by USB out to my DAC (Auralic Vega). In future I may expand it to do WiFi and RoonSpeakers, but for now it is just an Ethernet NAA.
Hardware
Raspberry Pi 2 Model B (1 GB)
FLIRC Case
Switching Power Supply (5v, micro USB) (to be replaced by a Powerbank battery, but used for setup)
Verbatim MicroSDHC card (8 GB)
SanDisk MobileMate Duo USB/MicroSD reader
Ethernet CAT6 patch cable (5m)
Mapleshade USB cable (1m)
Install the Pi in the FLIRC case, 4 screws and a double sided sticky pad. Very clean case construction, looks good.
Load the MicroSD into the USB reader and plug it into a PC. Note the drive letter assigned to the card/reader.
Operating System
After reading
this comparison 28 I decided to go with DietPi rather than Raspbian Lite. Also
@muski has said everything that needs to be said about installing Raspbian Lite.
I downloaded
DietPi (Jessie) 42 from Fuzon. The price was pretty good (free, donations accepted). Incidentally the names of Debian Linux releases are characters from “Toy Story”. “Jessie” is the latest stable release with a later version, “Stretch”, out for testing. Unzip/Extract the downloaded archive. DietPi_v102_RPi-(Jessie) is the disk image file which we are about to write to the SDmicro card so put it somewhere you can easily browse to (desktop was good for me).
If you haven’t got a disk imager, download and install
Win32 Disk Imager 5. After install, open it and browse to the image file. Select the drive letter corresponding to the card/reader.
Now STOP. Take a sip of your favoured beverage (Pikes Clare Valley Shiraz 2013 worked for me) and double check that drive letter. Writing a disk image to a drive other than the one you intend results in much weeping, wailing and gnashing of teeth. So don’t do that.
When the image has finished writing, remove the MicroSD card from the reader and plug it into the Pi (it goes in electrodes up on the Pi). Connect the Pi by Ethernet to your router and power up the Pi. You will see some light activity on the Pi as the filesystem expands itself. The Pi will reboot twice during this process.
While the Pi was digesting the OS I went into the router LAN settings and configured a fixed IP address for the Pi. I used the one assigned by DHCP and wrote it down so I could remember it when starting an SSH terminal session. (Edit: Don’t do this, it can cause problems. Leave everything to DHCP for the moment and we will change to a static IP address later. For the moment, just note the IP address assigned by DHCP).
If you don’t have an SSH terminal program you like, download and install
PuTTY 4. Open PuTTY and point it at the IP address of the Pi (check it in the router if you didn’t configure a fixed address as above) and open an SSH terminal session. Login as “root”, password “dietpi”. DietPi will update itself and reboot the Pi again, closing your recently opened terminal window.
Reopen PuTTY as above and DietPi will start it’s configuration steps. It will firstly ask if you want to use a USB drive. I said no to this because the NAA doesn’t have any real need for disk access (I think) and I was content to use the microSD card if it did.
DietPi will then take you to it’s software setup menu:
- I didn’t install any DietPi Optimised Software. There is an audio package, but it is not necessary for the NAA.
- I did install the ALSA audio system from the Additional Linux Software. This is necessary (and sufficient) for USB audio output.
- Dropbear is the SSH server we want.
- I chose None for File Server.
- I chose None for Log System.
- DietPi Config:
You can change the default user/password here. I didn’t bother.
Check that Autostart is set to option 7. Starts without a login.
Then hit “Install Go” and watch the fireworks as DietPi configures itself and ALSA. I had a hang while this happened, but I just went back and did the above again and it finished fine second time around. It will reboot again after configuration is complete.
Network Audio Daemon
Incidentally a daemon in LInux is the equivalent of a service in Windows. Starts automatically and all that style of thing.
We don’t need to install the ALSA utils. That all happened when we selected ALSA in the DietPi software config above.
We do, however, have to get the NAA software from Signalyst. I opted for the first armhf (being the chipset in the Pi) Stretch version, networkaudiod_3.1.0-25_armhf.deb, rather than the later 3.1.1-27 version because the later version requires a later C++ library than DietPi Jessie has. I may set out how to upgrade in a later post, but for the moment lets go with what worked.
So the two Linux commands I used were:
sudo wget
https://www.signalyst.eu/bins/naa/v3/stretch/networkaudiod_3.1.0-25_armhf.deb 57
sudo dpkg -i networkaudiod_3.1.0-25_armhf.deb
(Edit: This last line used to have a duplicated package, which I copied from elsewhere but was unnecessary and potentially causing issues, my apologies)
After the NAA has configured itself, type exit to terminate the SSH session.
Now connect a USB cable from the Pi to your DAC. After a short pause, open HQP and change the name of the NAA in Tools/Network Naming. Then go to Settings/Backend and choose Network Audio Adapter. You should now see your NAA and DAC in the Device menu ( it saw the Vega through an Uptone Regen), select them.
You may have to reconfigure HQP settings for the new device, then have a listen.
I found things in general improved with the Ethernet/Pi/Mapleshade combination compared to the Belkin USB cable. There were some pops and artifacts at first, but after a while everything settled down and the Vega exact clock seems much happier with this combination.
Next, possibly upgrading to 3.1.1-27 and battery power for the Regen and Pi.
Edit: The Vega DAC takes DSD 128 by DoP which is all that I have tested. Rene and Jussi have set out below how to get up to DSD 512 direct using Raspbian Lite (Stretch) and the latest version NAA. Thanks guys!