Roon Extension Manager now included in DietPi (v6.10)

@Andy_Spinks, @Jense,

I can reproduce the Denon install issue, I have to dive into it…

1 Like

That would be very good.

Hopefully you can fix the problem.

Thanks, @Jan_Koudijs! I was able to set up logging and start generating a log file, but I couldn’t get the log file transferred to Windows. I installed Putty and tried multiple variations of the SCP, PSCP, and PSFTP commands without success. Since then I haven’t had a chance to get back to it.

For what it’s worth, I tried Extension Manager on a Sparky SBC running DietPi, and the Denon Extension installed OK there. (DietPi on the Sparky uses a different version of Linux, I believe.)

The problem has been reported before but i forgot about it:

It remains a mystery to me why the postinstall script runs on some platforms but does not on others, even with the same npm and Node.js versions :confused:

Only thing I can come up with at this moment is something that might be a workaround:

  • Connect to your DietPi using ssh
    ssh root@<ip address>
  • Install the Denon extension manually with the --ignore-scripts option
    npm install --ignore-scripts -g https://github.com/docbobo/roon-extension-denon.git
  • Now get to the Extension Manager on your Roon Remote, select the Extension Manager from the System category and perform the Restart action
  • Open the Extension Manager again and go the the Denon extension, it should be reported as Stopped. You can now perform the Start action.

With these steps I get it running on DietPi but I don’t know if it works correctly as I don’t own a Denon or Marantz receiver.

@Jense, @Andy_Spinks, please let me know if this works.

1 Like

The workaround worked for me.
Thank you for your effort.
everything works now

1 Like

Hi Jan,
Sorry I forgot to reply earlier. This workaround got me up and running. It did crash at some point over the last few days, but I was able to set it up again. I restarted it with logging this time in case it crashes again. Thanks yet again!

With the release of version 0.9.0 of the Extension Manager more extensions become available after the installation of Docker. On DietPi it is easy to add Docker to the mix, you can install it via the dietpi-software installer. Docker can be found in the ‘System Stats / Management’ group within ‘Software Optimized’.

Alternatively, you can install from the command line:

dietpi-software install 162

If you perform a clean install you have to install both the Extension Manager and Docker:

dietpi-software install 86 162

I created two videos, one that demonstrates the clean install:


And one that demonstrates the upgrade:

I wanted to add a few notes about how to retrieve log files from Roon Extension Manager on DietPi using a Windows PC. In brief, here’s what you have to do:

Enable logging in Extension Manager, restart it, then restart (with logging enabled) any extensions you are running. This will start generating the log files.

Install PuTTY on Windows, if you haven’t already done so.

Log in to the DietPi machine, run dietpi-software and change the SSH server to OpenSSH. Install and reboot. (Dropbear apparently does not support SCP.)

Open a Windows Command prompt and enter a command like this:
pscp -scp root@<ip>:/root/.RoonExtensions/lib/log/roon-extension-manager.log <local directory>
Of course, you will replace <ip> with the IP address of your DietPi machine and replace <local directory> with the destination folder path on the Windows PC, e.g., C:\Users\myuserid\Desktop

Hopefully this will be helpful for those like me who are primarily Windows users and can only do Linux with very, very specific instructions. :rofl:

3 Likes

Good evening guys.

I did a clean install of DietPi on my old Raspberry Pi Model B+ and ran into issues:

root@DietPi:~# systemctl status roon-extension-manager
● roon-extension-manager.service - Roon Extension Manager
Loaded: loaded (/etc/systemd/system/roon-extension-manager.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-04-07 22:31:34 CEST; 3min 42s ago
Main PID: 862 (roon-extension-)
Memory: 8.9M
CGroup: /system.slice/roon-extension-manager.service
├─862 /bin/sh /root/.RoonExtensions/bin/roon-extension-manager.sh
└─863 node .

Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! code ELIFECYCLE
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! errno 1
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! utf-8-validate@5.0.2 install: node-gyp-build
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! Exit status 1
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR!
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! Failed at the utf-8-validate@5.0.2 install script.
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! This is probably not a problem with npm. There is likely additional logging output
above.
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! A complete log of this run can be found in:
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: npm ERR! /root/.npm/_logs/2020-04-07T20_33_04_709Z-debug.log
Apr 07 22:33:04 DietPi roon-extension-manager.sh[862]: 2020-04-07T20:33:04.824Z - Err: Installation failed: utf-8-validate@^5.0.2

Any Ideas?..

The log file might provide some further details:

cat /root/.npm/_logs/2020-04-07T20_33_04_709Z-debug.log

If it is big it might be handy to upload it somewhere and share a link.

TBH i just reinstalled DietPi on my leftover raspberry pi 4 and now it works.

I think the problem was that I manually changed the keyboard layout from utf-8-eng to de…

With my clean install now, I changed it via the dietpi-setup

1 Like

Hi @Jan_Koudijs.

I have just installed Extension Manager and Docker on a Raspberry Pi Zero running DietPi, hoping to get going with the Entrypoints extension. As far as I can tell, this has worked and the service is running.
Unfortunately though, when I check in Roon, the Extension Manager doesn’t show up.

Any suggestions for what to check? Many thanks

On what OS is your Roon core running? Any firewall active on this core machine?

My Core is running ROCK on a NUC.
Other extensions appear just fine.
Running Extension Manager on my iMac works fine.
It’s just the Pi Zero W + DietPi where this doesn’t show.

OK, that is useful information. It might be something Pi Zero specific, I don’t think I have had any success or failure feedback on it from other users.

If you log into dietpi, and stop the service:

systemctl stop roon-extension-manager

Then switch to the Extension Manager directory:

cd .RoonExtensions/lib/node_modules/roon-extension-manager

And run it from the command line:

node .

Does it keep on running, what output do you get on the console, any errors?

Here is the output:

> root@DietPi:~/.RoonExtensions/lib/node_modules/roon-extension-manager# node .
> { 'roon-extension-manager': '0.11.8',
>   'roon-extension-manager-updater': '0.4.0' }
> Docker for Linux found: Version 19.03.13
> 2020-09-22T20:49:44.005Z - Inf: Installing peer dependency: utf-8-validate@^5.0.2...
> gyp ERR! configure error 
> gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
> gyp ERR! stack     at PythonFinder.failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:484:19)
> gyp ERR! stack     at PythonFinder.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:406:16)
> gyp ERR! stack     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:16)
> gyp ERR! stack     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)
> gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16
> gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/isexe/index.js:42:5
> gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
> gyp ERR! stack     at FSReqCallback.oncomplete (fs.js:158:21)
> gyp ERR! System Linux 5.4.51+
> gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
> gyp ERR! cwd /root/.RoonExtensions/lib/node_modules/roon-extension-manager/node_modules/utf-8-validate
> gyp ERR! node -v v11.15.0
> gyp ERR! node-gyp -v v3.8.0
> gyp ERR! not ok 
> npm WARN ws@7.3.1 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
> 
> npm ERR! code ELIFECYCLE
> npm ERR! errno 1
> npm ERR! utf-8-validate@5.0.2 install: `node-gyp-build`
> npm ERR! Exit status 1
> npm ERR! 
> npm ERR! Failed at the utf-8-validate@5.0.2 install script.
> npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
> 
> npm ERR! A complete log of this run can be found in:
> npm ERR!     /root/.npm/_logs/2020-09-22T20_50_13_422Z-debug.log
> 
> 2020-09-22T20:50:13.521Z - Err: Installation failed: utf-8-validate@^5.0.2

You can install python with:

apt-get install python

Then check again how far it gets.

the perils of Diet-Pi sometimes

Got there eventually - thanks for your help @Jan_Koudijs.
I needed to install Python as suggested, but also the DietPi -> Software Additional -> Build-Essentials package first in order for Python to install.
Then finally Extension Manager is running.

Now on to getting EntryPoints running…

1 Like