Upgrade to Volumio 3 - GPOI plugin missing

Thanks! Can you explain how to “rebuild the node modules”

I think that’s why my playback stopped after I installed this plugin with the instructions above.

Failed to open “alsa” (alsa); Error opening ALSA device “volumio”; snd_pcm_hw_params() failed: Input/output error

first of all, you have to install build-essentials

sudo apt update
sudo apt -y install build-essential

for GPIO_Control

cd /data/plugins/system_controller/gpio_control/
npm install --save onoff@6.0.0
npm install --save sleep@6.2.0

for GPIO_Buttons

cd /data/plugins/system_controller/gpio-buttons/
npm install --save onoff@6.0.0

I don’t think the issue is related, those plugins should not affect the playback. What instructions did you use?

I followed ashthespy instructions in post 7. I didnt know those instructions included the rebuild. Thanks!

However, I am still getting the error above with my HiFiBerry DAC2 HD.

I was playing music, while installing the plugin. Enabled the plugin. I touched what I thought are the two pins I need to touch to get play/pause to work but I get this "Failed to open alsa” error and my music stops and will not play again. I will now rebuild the SD card from the image I saved.

You not using pins that are used by the DAC?

HiFiBerry DAC2 HD

GPIO2-3 (pins 3 and 5) are used by our products for configuration of the DAC and the clock circuit. GPIOs 18-21 (pins 12, 35, 38 and 40) are used for the sound interface. GPIO16 is used internally to reset the DA



Thanks. I resolved my issue. Appreciate it.

Thanks for the feedback!

@ ashthespy

your streamlined instruction worked fine for me Volumio 3.179

Many Thanks!

I have tried Volumio 3 with Audiophonics DAC I-Sabre ES9038Q2M with RPI 4 and encountered an issue with GPIO plugin - once I install it and activate it, the volume control stops working. It still plays music but at a constant volume level. Do you have any idea how to fix this?


I have additional question – if I want to use one GPIO PIN (=one external button) to both put RPI to sleep/shut it down (with GPIO plugin) and wake it up again, I can only use GPIO PIN 3 (as far as I know, grounding PIN 3 is the only way how to wake up RPI). However, if DAC uses GPIO PIN 3, the above cannot be done without interfering with DAC operations… Does anyone have any idea how to solve this?

I tried to intall the GPIO buttons plugin as described by ashthespy.
When it comes to “sudo apt-get -y install build-essential” a message “… not enough free
disk space” appears.

According to Filelight (a disk information tool) the size of volumio_data is just 131,6 MiB which seems to explain it.

But the strange thing is that the partion manager shows volumio_data with a size of 4,91 GiB.

Any ideas what’s going on here?

please run:
touch /boot/resize-volumio-datapart

resize-volumio-datapart has no effect with Volumio 3, at boot time Volumio now always checks whether there is free space and acts accordingly.

1 Like

Those are the sizes of the initial image, not the sizes after a first boot.
Run the tool on the SD card again after you once booted from it.

The question is, what does df -h say during runtime?
The size of the overlay file system determines the available space.
We have previous reports with some SD cards not working properly where overlay fs not using the whole data partition.

Which tool are you talking about?

volumio@volumio:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 2.5G 425M 1.9G 19% /imgpart
/dev/loop0 364M 364M 0 100% /static
overlay 132M 23M 100M 19% /
devtmpfs 445M 0 445M 0% /dev
tmpfs 484M 0 484M 0% /dev/shm
tmpfs 484M 5.2M 479M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 484M 0 484M 0% /sys/fs/cgroup
tmpfs 484M 0 484M 0% /var/spool/cups
tmpfs 484M 32K 484M 1% /tmp
tmpfs 20M 32K 20M 1% /var/log
tmpfs 484M 0 484M 0% /var/spool/cups/tmp
/dev/mmcblk0p1 92M 54M 38M 59% /boot
/dev/sda1 59G 56G 2.6G 96% /media/VOLUMIO
tmpfs 97M 0 97M 0% /run/user/1000

By the way it’s a new installation of the latest Volumio version on a Transcend microSD 300S (8GB / class10) running on a Pi3B with Hifiberry Digi. The Pi and the HB Digi work well with V2.9.17 installed on another SD card.

It appears that overlay fs has not been extended to the size of the data partition.
We had a similar situation with someone else last week, he eventually used another tool to flash the image. Try Rufus and see if that works.

I’ve been trying to get this plugin to work on Volumio 3.198. It installs fine, and I can change the settings in Volumio.

Once I assign all the buttons and turn on the plugin, it shows as On but Inactive (instead of On and Active).

In the logs I see this:

info: Enabling plugin gpio-buttons
info: Loading plugin “gpio-buttons”…
info: GPIO-Buttons initialized
info: PLUGIN START: gpio-buttons
info: GPIO-Buttons: Reading config and creating triggers…
info: GPIO-Buttons: playPause on pin 7
info: Error: Error: EBUSY: resource busy or locked, write

Any idea how to troubleshoot and resolve this?

Using Rufus did the trick!
The GPIO Buttons plugin installation went well and everything works.

Thanks for the help.

Hi, I’m using Volumio 3 on Raspberry 4 facing the same issue with GPIO plugin - it is on but inactive. It works with 2.9 version, what is the “Rufus” trick?

Due to a filesystem problem, the plugin couldn’t be installed (see my post from January 30). Flashing the SD card with Rufus (instead of Etcher) solved the filesystem problem.