Volumio Debian Buster Beta - Raspi images debugging

I did some more testing, I moved the SD-card from RPi0 with WiFi dongle to RPi0W and Hotspot was accessible. After connecting to my WiFi network, I put back the SD-card on RPi0 with WiFi dongle and it’s working fine.

It looks like the WiFi dongle has some problems in creating a hotspot, unfortunately the other dongle I have is not supported out-of-the-box by kernel 4.19

  • glitch on changing volume is still there.
  • Spotify, web radio and playback from NAS are OK.
  • GPIO plugins still not working

Is there something more I should test?

I can confirm mt7601u driver included in the kernel does not support AP mode, some modified drivers are available but nothing official for supporting that feature.

We pick up the firmware for this dongle from thefirmware-ralink package. If it’s not fixed/supported in the buster repo, not much we can do, sorry!

You reported more than just the the visual volume glitch correct? Does your mixer work directly with alsamixer? Cause then it’s a Volumio (backend/frontend) issue, and I will take a look there. I am assuming that the volume control works fine with a regular volumio build?

As for the GPIO plugins, the authors need to rebuild node modules, or you’ll can build the node modules for it yourself… You will need to install build-essential, and then head to the plugin’s dir (/data/plugins/... and run npm install

No problem, the goal was to verify if the issue was related to the build or to my crappy dongle.

I described the test I did in the post from Wed May 20 2020 17:47.
Volume control with speaker icons has problems with latest Volumio 2.773 too, but using the circle control works fine with that version.

I’ll try that

Could you please provide some more details about the procedure? I had a look but it’s not very clear to me.

Sure, say the plugin is GPIO Buttons - this is probably the error you get:

error: The plugin system_controller/gpio-buttons failed to load, setting it to stopped. Error: Error: The module '/data/p
May 27 10:09:41 volumio volumio[722]: was compiled against a different Node.js version using
May 27 10:09:41 volumio volumio[722]: NODE_MODULE_VERSION 57. This version of Node.js requires
May 27 10:09:41 volumio volumio[722]: NODE_MODULE_VERSION 83. Please try re-compiling or re-installing

So we need to recompile the native module epoll that is used to access the sys class…

# pick up some build tools
sudo apt install build-essential

cd /data/plugins/system_controller/gpio-buttons/
# Update the ancient onoff so that you can use  epoll@4.0.0
npm install --save onoff@6.0.0
# Restart volumio
volumio vrestart

That should work, hopefully there aren’t many breaking changes in onoff’s api from 1.xx to 6.xx :wink:
I believer there were a few more minor api fixes I had to do for onoff (to work with the Ampswitch plugin) but I won’t be near that device for a few weeks to check and confirm.

Thanks for the clear instructions, I followed them for both plugins and those are the results:

GPIO-Buttons can be enabled and works fine
GPIO-Control can’t be enabled

volumio[1638]: info: Enabling plugin gpio_control
volumio[1638]: info: Loading plugin "gpio_control"...
volumio[1638]: error: !!!! WARNING !!!!
volumio[1638]: error: The plugin system_controller/gpio_control failed to load, setting it to stopped. Error: Error: The module '/data/plugins/system_controller/gpio_control/node_modules/sleep/build/Release/node_sleep.node'
volumio[1638]: was compiled against a different Node.js version using
volumio[1638]: NODE_MODULE_VERSION 57. This version of Node.js requires
volumio[1638]: NODE_MODULE_VERSION 83. Please try re-compiling or re-installing
volumio[1638]: the module (for instance, using `npm rebuild` or `npm install`).
volumio[1638]: error: Stack trace: Error: The module '/data/plugins/system_controller/gpio_control/node_modules/sleep/build/Release/node_sleep.node'
volumio[1638]: was compiled against a different Node.js version using
volumio[1638]: NODE_MODULE_VERSION 57. This version of Node.js requires
volumio[1638]: NODE_MODULE_VERSION 83. Please try re-compiling or re-installing
volumio[1638]: the module (for instance, using `npm rebuild` or `npm install`).

Looks like you fixed onoff module, but the sleep module also needs to be rebuilt
You could first try rebuilding the existing module

cd /data/plugins/system_controller/gpio_control/
# Rebuild the existing modules - Hopefully onoff has already been upgraded at this stage do confirm from package.json
npm rebuild
# Which will probably fail to build and spit out nan and v8 errors  - you might have to bump up the `sleep` package similarly 
npm install --save onoff@6.2.0

PS: I can’t find the authors repo - but they could all switch to the newer versions of onoff/epoll/sleep while maintaining current and future compatibility…

I think there is a typo in your instructions, it should be this:

npm install --save sleep@6.2.0

BTW, with this additional step the plugin is working

Any other test you would like to have?
rpi0.png

Oops, sorry!

That is an interesting stack you got there - any posts about it? :slight_smile:

It’s the stack I’m using for testing your Volumio builds

  • Raspberry Pi Zero
  • Waveshare USB Hat (4 USB and USB-to-UART)
  • Home-made hat with 2x TFA9879 (I2S amplifiers), 2x SPH0645LM4H-B (I2S microphones), 1x RGB LED and 1x push button

The home-made hat was a hobby project I did while working at NXP. TFA9879 is a nice amplifier with HW volume control and HW equalizer. driver is already available in mainline kernel, but unfortunately I’m not able to create a proper dt-overlay for supporting it.

If someone is interested I can publish full design, several chinese manufacturers can produce few pieces (PCB+assembly) for little money.

Can we have a new build please? The latest release (26-5 - https://forum.volumio.org/changelog-t1575.html) has the volume issue resolved.
cheers

Hmm - if you are referring to to this fix (github.com/volumio/Volumio2/pull/1961) then it is already in there…

cd /volumio
git fetch --unshallow
git log
1 Like

Hi Volumio team

Here is some feedback on the latest build Volumio-3.008-2020-05-23-raspberry, running on Raspberry Pi 3B+ with 7" official touchscreen and IQaudio DAC Pro.

  • The kernel boot messages were displayed, no silent boot nor plymouth. I guess that was to be expected since it’s a testing image
  • I have connected to the Volumio automatic Wifi hotspot without problem and successfully accessed the Web GUI through the MDNS hostname (volumio.local)

It seems to be absolutely fine on this first run. I’ll come back and post more if I encounter problems.

I look forward to this Buster release !

EDIT : it looks like the chromium-browser package doesn’t install properly for the touchscreen plugin. See the logs : https://pastebin.com/s6hidykE. The package manager chooses to remove Chromium at the end, and the install hangs there.

EDIT 2 : It seems to be because of a wrongly defined dependency on libraspberrypi0. See this log : https://pastebin.com/V3nHYVQA

Looks like chromium depends on chromium-codecs-ffmpeg-extra and chromium-codecs-ffmpeg which depends on libraspberrypi0 ( and thus on raspberrypi-kernel which is currently pinned)

Are these codecs optional dependencies? I don’t have access to my pi right now, but does it help trying to install with the --no-install-recommends flag?

Either way, you can always disable this pinning (as with kodi) and it should install

The second hack works to complete the installation. But now I have rebooted into a kernel panic.

That’s not good! Could you pop your SD out and check if /boot/config.txt is empty?

@SuperBoby To me it seems the install script of the touch display plugin does not recognize that it is running on a Pi. In its line 3 the install script determines the hardware it is running on with HW=$(awk '/VOLUMIO_HARDWARE=/' /etc/*-release | sed 's/VOLUMIO_HARDWARE=//' | sed 's/\"//g'). Only if the result is “pi” the required libraspberrypi0_0.0.1_all.deb, raspberrypi-bootloader_0.0.1_all.deb and raspberrypi-kernel_0.0.1_all.deb are installed.

Further more chromium vesion would be 56.0.2924.84 (at least on the current jessie based Volumio version) and not 48.0.2564.82-0. The package chromium-browser_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb only gets downloaded if the hardware is not “pi”. Same goes for chromium-codecs-ffmpeg-extra_48.0.2564.82-0ubuntu0.15.04.1.1193_armhf.deb.

Hmm, that is my doing. I found pi to ambiguous a name when building the images, and instead called it:

VOLUMIO_HARDWARE="raspberry"
VOLUMIO_DEVICENAME="Raspberry Pi"

I just tried installing the chromium-browser, and phew that is a LOT of stuff for just a browser :wink:
So after ~1Gig of packages this is what I have:

volumio@volumio:~$ uname -a
Linux volumio 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
volumio@volumio:~$ cat /proc/cpuinfo | grep Model
Model           : Raspberry Pi 4 Model B Rev 1.1
volumio@volumio:~$ apt list --installed | grep chromium
chromium-browser-l10n/testing,now 78.0.3904.108-rpt1 all [installed,automatic]
chromium-browser/testing,now 78.0.3904.108-rpt1 armhf [installed]
chromium-codecs-ffmpeg-extra/testing,now 78.0.3904.108-rpt1 armhf [installed,automatic]

[OT Rant]

We should have a common way to figure out what hardware Volumio is running on, there seems to be a lot of glue code sprinkled around to do this. Even the Node backend doesn’t have this streamlined…
From the shell, it could be as simple as:

source /etc/os-release
echo $VOLUMIO_HARDWARE

[/OT Rant]

If VOLUMIO_HARDWARE is “raspberry” the hardware detection of the plugin will fail for, well, raspberries. The help documentation in the build script defines the names of the different hardware platforms. That’s what the plugin’s install script relies on.

+1 on a establishing a common way to figure out the hardware - albeit I think that’s what VOLUMIO_HARDWARE is/was intended for :wink:

1 Like