Volumio 2 on Rock64

Hello! Just checking in to see how progress is going.

Thank you gkkpch.
I have tested my rock64 with volumio2.
ES9023 pi-HAT DAC does not work, no sound.
ES9038Q2M DAC wired connected by using Pi-P5+ I2S BUS works fine. Good sound.
However there is NAS problem.
NAS mount is successful, but no music files scanning.
Only local and USB memory music files shown in browsing.

Sorry, I totally missed your post :blush:
It is not possible to add Volumio to an existing distro, we build our own Debian jessie (stretch is in the planning) with volumio-specific packages, including a quashed root filesystem and filesystem overlay, all initiated from our initramfs.
If there is anything specific missing in our Debian distro, just say. In case it makes sense for others and it does not blow up the size of our image, I might add it.

A new version of Volumio for Rock64 has been added, see the OP.
Apart from newest Volumio functionality, this version has support for Realtek RT5370 wireless devices.

Hi OP, are you able to point to the resources on how to wire ROCK64 to a DAC HAT (I suppose it is going through I2S), thanks in advance.

You don’t wire it to the hat. The hat sits right on the top perfectly. There are a set of pins just for that. You will need to move a jumper on the hat, though, as it is set by default to use the optical rather than the analog outs.

That only applies to the Rock64 Audio HAT (yes, mind the jumper) and older RPi B HATs (the ones with the additional connector).
Any other HAT won’ t work other than by wiring them, look for the RPI B and rock64 pinout and let me know in case you get stuck.

From the older PI HATs only “simple” DACs work correctly, the Rock64 kernel only has a generic I2S driver (also with limitations as to the different formats it can handle).
You might have to configure “Resampling” in case you run into this issue.
There is nothing we can do about that, we have to take the kernel as it comes.

Thanks for the explanation, very helpful. :slight_smile:

And big thanks for the port, I have 2 RPi 3B, 2 RPi 3B+ and a TInkerboard, Rock64 sounded the best. I don’t know the difference between the kernel’s update cycle between these boards, but Rock64, as its name implies, rocks !! Please keep up the great work!

New version 2.462, see opening post

  • Fixed soft reboot issue
  • Support for additional wifi dongles

Hi, im trying to use my PIFI Digi DAC+ with Rock64 but its not working, the DAC lights come up but not sound unfortunately, any tips on how can i make this DAC working with volumio on rock64?

Also im trying to use a LCD 16X2 I2C and it seems that I2C interface is not enabled, when i try to enable it via dts overlay the output is:

enable_dtoverlay i2c0 i2c@ff150000 okay bash: enable_dtoverlay: command not found

ps: I tested the both the LCD screen and DAC with a Raspberry Pi 2 with Volumio and it work fine.

PI and rock64 DAC compatibility is limited to the old PI HATs.
They will fit on what Pine calls the PI-P5+ connector on the rock64 board, that is where the i2s pins are located, not on the 40-pin connector.
Don’t ask me why they designed it like that, but this is the reason why your PIFI won’t work.

How did you expect DT overlay to work? Please explain. I2C is supported, but not via DT overlays as I do not support its configuration and have no plans. Perhaps you mixed it up with the way Armbian configures it. We don’t use Armbian other than u-boot.
For connecting LCDs I have to refer to the rock64 forum, you might find useful information there.

Thank you for the info, i guess my PIFI is a not go then :neutral_face:

Can you tell me if this DAC will work with rock64?
ebay.com/itm/HIFI-DAC-Audio … SwaK1bSe6G

Also, i was expecting to use the LCD the same way i do with Raspberry pi, with Python libraries, i first get the address with: sudo i2cdetect -y 1, get the adress, point inside my scripts and iḿ done, however, with rock64 i am not able to get a valid address for my LCD screen with i2cdetect command.

1 Like

All devices linked to gpio pins seem to have been disabled in the last rock64 community kernel I used.
Unlike the initial kernel I started with last year, this also includes i2c unfortunately, but does not count for i2s.
This obviously happened at the same time when DT overlay was introduced.

3 Things need to be done before you can use it:

  • recompile the kernel to enable access to the device tree config filesystem
  • add the ‘enable_dtoverlay‘ script, so i2c can be switched on/off on-the-fly using the config filesystem
  • changes to the Volumio build scripts to activate these changes.

Technically the DAC you mentioned should work, it has the right connector, so attaches correctly to the i2s pins.
Question though: how are you going to reach the i2c pins when the DAC HAT is to be used at the same time?

Thanks for the info, since rock64 is the only board i have laying around that technically works with Volumio i though i could buy the DAC i pointed to you and then sell the one i have that wont work, that would be cheaper than buying another Raspberry Pi, all those things are a bit expensive in my country so i gotta make the right move. However, i think i dont have the knowledge to recompile the kernel to enable the overlays unfortunately.

I mounted the board in a case in a way that i solder the wires that goes to the LCD screen from the bottom of the board, while the DAC sits on the top, that way i can use both :wink:

Thanks again for the attention.

Sorry, nobody expects you to do this :wink:
It is something I added to my todo list for the next release.
Unfortunately, this will not happen anytime soon :unamused:

The DAC should be OK though, but you will have to test it yourself.

Good to hear it will be in the next release :slight_smile:

I just ordered the DAC, that will take maybe a couple months to arrive so time is not the problem, i`ll be happy to test everything when is ready.

As soon as the DAC arrives i report back here, maybe it can help other people.


Noted :smiley:

Hello, reporting back here

The DAC i ordered worked like a charm!

Looking forward for the next update, hopefully with dt_overlay scripts enabled :smiley:


yep, i’m back adding my bits.
I already added dtoverlay support to the kernel, added the dtoverlay enable/disable script and for i2c this seems to work OK.
Hope to finish this the next few days and report back.