[SOLVED] Pine A64 support

No worries, thanks for the time and effort you’ve put in already

This is very near to final version:

updates.volumio.org/pine64/volum … 64.img.zip

Known issues:

  • Wifi scanning does not work in hotspot mode, so network must be insterted manually (click on manual connection). I don’t think we’ll ever solve this because the capability of scanning while broadcasting is absent from the pine’s network card
  • Mpd scan seems a bit fragile (but this gave me the opportunity to spot a bug which was affecting lots of users, so at least I will find out how to fix it)

Let me know what you think!

I will give it a shot in the next few days. Really looking forward to it. Thanks for all your hard work!

This new version works fine for me. The wifi scannig working, my home network has been found but non chances to made it working.
With manual connectios, how has been suggested, working fine. Very good!
My setup is: pine64 2G + wifi-bluetooth module.
Audio output. I tryed with two devices and both working. One is a usb DAC (HiFimeDIY Sabre USB DAC ES9023), other is a cheap USB adapter
Good job :slight_smile:

Yep, works for me, too! (Only tried wired setup, though.)

Thank you so much for putting the until-now worthless Pine 64 of this coding novice to good use so I can have my Raspberry Pi freed up for one of the many available projects!

Very good!!! May I ask you a favour? Could you post in the Pine64’s forum announcing we’ve a beta out?
I’m asking so we might get some more feedback before releasing…

Yes Michelangelo, I did post on Pine64 forum is well.
ciao

I’ve been posting there all along and actually asked people to give us feedback here :slight_smile:
There have been a few…
Btw. waiting for tllim to finally deliver his long due DAC, sofar just vaporware but I have hopes :wink:

This is the thread: http://forum.pine64.org/showthread.php?tid=88
We’re in from about page 6…

Hi,

Great to see that there are plans for volumio Pine64 support!
I hope this isn’t too wildly off-topic, as I admit that I am not intending to use the device primarily to run volumio. Please stop reading and accept my apologies if you consider this an abuse of the forum!

I have one of these, which I am hoping to set up as a replacement squeezebox touch, playing audio through a sanskrit pro USB DAC.

I chose the pine64 (2GB version) because it was cheap, has dedicated USB and Gb ethernet busses and had a cheap, dedicated touchscreen that did not use the USB bus.

At the moment I have Armbian installed, the “Legacy” version of which is based on Longsleep 3.10.104 kernel. Unfortunately, mainline (currently 4.10) is still missing some necessary support for my system, which means that I can’t use it (although I have read that some important improvements were made to USB in 3.11).

I’d be very interested to know what audio optimisation tweaks, improvements and patches have been made in Volumio, including any kernel configurations for audio passthrough. For example which preempt model is used , which “tick” timer frequency and have any RT- patches been applied?

What about the SND_USB kernel module? Are any patches available to bring USB DAC, supported BIT depth and DSD support up-to date? One of the main reasons I am wanting to abandon my Squeezebox Touch and build my own device is that the touch doesn’t support usb pcm over 192/24 or dsd native (my dac doesn’t support DoP). So good, high bitrate support for both stream-types is important. PCM_32bit would also be nice to have.

I’d also be really interested to see a kernel .config, to know which parts of the kernel should be compiled as modules and which would be best built-in, for optimal digital audio throughput.

Are there any principles I should bare in mind when configuring a system for USB-audio passthrough?

I appreciate that there are differences between volumio running headless and squeezelite running with a jivelite interface, but many of the audio-optimisations will be similar.

I have downloaded volumio-2.061-2017-01-25-pine64 and will install, to see if I can use it as a base for the system, rather than Armbian.

Many thanks for any help you can give

BR.

–Marius–

Well, it has been a rough few days with the Pine running Volumio. It becomes completely unresponsive after it’s been on for more than a day, and sometimes a restart doesn’t fix it. Looks like I’ll be waiting for the next version and going back to the RPi for now.

This is something I cannot confirm at all, not from earlier test either.
Mine has been running for over 4 days now with a long playlist as to check stability.
You could have had a local network issue, not sure.
We are using the same kernel (Longsleep’s) as many other packages and have not experienced any issue with it so far.

The other thing is, pine64 does not like to be rebooted just like that.
Make sure it powered off and then wait at least 2-3 seconds (until power drained) before powering on again.
Nothing to do with Volumio, just the way it is…

Eager to get more feedback, you never know…

– Gé –

Marius,
I did not yet tweak/add/reconfigure other than the kernel options we need for running Volumio at the moment.
It is all based on Longsleep’s kernel, you are well acquainted with.
No RT-patches or preempt changes, no specific changes to USB Audio either and no plans in that direction either.
In case you are open to support us, we take your expertise gladly.

– Gé –

Hi Gé,

Thanks very much for your kind reply.

I have installed Volumio and taken a little look around. It looks great from the audio perspective, but I’m a little confused about the kernel as it seems to be preemptible:

root@volumio:~# uname -a Linux volumio 3.10.104 #13 SMP PREEMPT Mon Nov 21 20:35:42 CET 2016 aarch64 GNU/Linux root@volumio:~# ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:05 /sbin/init 2 ? S 0:00 [kthreadd] 3 ? S 0:00 [ksoftirqd/0] 5 ? S< 0:00 [kworker/0:0H] 7 ? S 0:00 [migration/0] 8 ? S 0:00 [rcu_preempt] ... ...

I also see at least one of the usb tweaks that may improve audio output over usb:

root@volumio:~# grep nrpacks=1 /etc/modprobe.d/* /etc/modprobe.d/alsa-base.conf:options snd-usb-audio nrpacks=1

I’d really love to help, if I can, but am not a coder/developer by any stretch of the imagination. I like to tinker.

My Pine64 is also not currently hooked up to any audio equipment. I’m just trying to get a basic system installed that will support what I want:

squeezelite, jivelite, USB output to my DAC, LCD screen support and touch.

I understand that volumio aims to be a headless system, so I’m working against you guys in trying to get the LCD/touch up and running, for jivelite.

Having said that, within my limitations, I’d be happy to test or try anything you like. As the system is not in production I’m not afraid of breaking it :wink:.

At the moment I’m trying to install a basic X and activate the LCD and touchscreen, but am failing so far. That should illustrate the very limited level of my abilities!

BR.

–Marius–

Marius, there is a plugin that you can install. Have a look at that, it might already cover what you are looking for.
– Gé –

Hi Gé,

Sounds good,

I’m having a little trouble with the web interface at the moment, which is spinning on /playback/

[code] tail -1000f volumio.log
2017-02-09T11:15:50.638Z - info: -------------------------------------------
2017-02-09T11:15:50.645Z - info: ----- Volumio2 ----
2017-02-09T11:15:50.646Z - info: -------------------------------------------
2017-02-09T11:15:50.647Z - info: ----- System startup ----
2017-02-09T11:15:50.647Z - info: -------------------------------------------
2017-02-09T11:15:50.905Z - info: Plugin folders cleanup
2017-02-09T11:15:50.905Z - info: Scanning into folder /volumio/app/plugins/
2017-02-09T11:15:50.906Z - info: Scanning category audio_interface
2017-02-09T11:15:50.908Z - info: Scanning category miscellanea
2017-02-09T11:15:50.910Z - info: Scanning category music_service
2017-02-09T11:15:50.912Z - info: Scanning category plugins.json
2017-02-09T11:15:50.913Z - info: Scanning category system_controller
2017-02-09T11:15:50.915Z - info: Scanning category user_interface
2017-02-09T11:15:50.916Z - info: Scanning into folder /data/plugins/
2017-02-09T11:15:50.916Z - info: Plugin folders cleanup completed
2017-02-09T11:15:50.919Z - info: Loading plugins from folder /volumio/app/plugins/
2017-02-09T11:15:50.926Z - info: Loading plugins from folder /data/plugins/
2017-02-09T11:15:50.930Z - info: Loading plugin “system”…
2017-02-09T11:15:50.986Z - info: Loading plugin “appearance”…
2017-02-09T11:15:51.356Z - info: Loading plugin “network”…
2017-02-09T11:15:51.450Z - info: Loading plugin “services”…
2017-02-09T11:15:51.457Z - info: Loading plugin “alsa_controller”…
2017-02-09T11:15:51.597Z - info: Loading plugin “volumio_command_line_client”…
2017-02-09T11:15:51.608Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:51.609Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:51.610Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:51.643Z - info: Loading plugin “upnp”…
2017-02-09T11:15:51.650Z - info: [1486638951650] Starting Upmpd Daemon
2017-02-09T11:15:51.668Z - info: CoreCommandRouter::executeOnPlugin: system , registerCallback
2017-02-09T11:15:51.670Z - info: Loading plugin “mpd”…
2017-02-09T11:15:51.754Z - info: Loading plugin “networkfs”…
2017-02-09T11:15:51.779Z - info: Loading plugin “alarm-clock”…
2017-02-09T11:15:51.933Z - info: Loading plugin “airplay_emulation”…
2017-02-09T11:15:51.942Z - info: [1486638951941] Starting Shairport Sync
2017-02-09T11:15:51.945Z - info: Loading plugin “last_100”…
2017-02-09T11:15:51.954Z - info: Loading plugin “webradio”…
2017-02-09T11:15:53.115Z - info: Loading plugin “i2s_dacs”…
2017-02-09T11:15:53.132Z - info: I2S DAC not set, start Auto-detection
2017-02-09T11:15:53.150Z - info: Loading plugin “my_volumio”…
2017-02-09T11:15:53.159Z - info: Loading plugin “volumiodiscovery”…
2017-02-09T11:15:53.248Z - info: Applying required configuration parameters for plugin volumiodiscovery
2017-02-09T11:15:53.307Z - info: CoreCommandRouter::executeOnPlugin: system , registerCallback
2017-02-09T11:15:53.310Z - info: Loading plugin “albumart”…
2017-02-09T11:15:53.332Z - info: Plugin example_plugin is not enabled
2017-02-09T11:15:53.334Z - info: Loading plugin “updater_comm”…
2017-02-09T11:15:53.528Z - info: Plugin mpdemulation is not enabled
2017-02-09T11:15:53.530Z - info: Loading plugin “rest_api”…
2017-02-09T11:15:53.546Z - info: Loading plugin “websocket”…
2017-02-09T11:15:53.589Z - info: ___________ START PLUGINS ___________
2017-02-09T11:15:53.596Z - info: CoreCommandRouter::volumioAddToBrowseSources[object Object]
2017-02-09T11:15:53.598Z - info: [1486638953597] CoreMusicLibrary::Adding element Last_100
2017-02-09T11:15:53.611Z - info: CoreCommandRouter::volumioAddToBrowseSources[object Object]
2017-02-09T11:15:53.612Z - info: [1486638953611] CoreMusicLibrary::Adding element Webradio
2017-02-09T11:15:53.617Z - info: Loading i18n strings for locale en

2017-02-09T11:15:53.650Z - info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
2017-02-09T11:15:53.663Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.664Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getAlsaCards
2017-02-09T11:15:53.673Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.674Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.675Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.676Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.677Z - info: CoreCommandRouter::executeOnPlugin: alsa_controller , getConfigParam
2017-02-09T11:15:53.693Z - info: BOOT COMPLETED
2017-02-09T11:15:53.742Z - info: [1486638953739] CoreStateMachine::resetVolumioState
2017-02-09T11:15:53.745Z - info: [1486638953743] CoreStateMachine::getcurrentVolume
2017-02-09T11:15:53.748Z - info: CoreCommandRouter::volumioRetrievevolume
2017-02-09T11:15:53.764Z - info: [1486638953761] CoreStateMachine::updateTrackBlock
2017-02-09T11:15:53.767Z - info: [1486638953765] CorePlayQueue::getTrackBlock
2017-02-09T11:15:53.828Z - info: Cannot read play queue form file
2017-02-09T11:15:53.939Z - info: MPD running with PID553 ,establishing connection
2017-02-09T11:15:53.974Z - info: Setting Device type: Pine64
2017-02-09T11:15:54.204Z - info: Cannot read I2C interface or I2C interface not presentError: Command failed: /usr/bin/sudo /usr/sbin/i2cdetect -y 1
sudo: no tty present and no askpass program specified

2017-02-09T11:15:54.309Z - info: [1486638954307] VolumeController:: Volume=undefined Mute =undefined
2017-02-09T11:15:54.318Z - info: [1486638954315] CoreStateMachine::pushState
2017-02-09T11:15:54.323Z - info: [1486638954320] CoreStateMachine::getState
2017-02-09T11:15:54.327Z - info: [1486638954324] CorePlayQueue::getTrack 0
2017-02-09T11:15:54.330Z - info: CoreCommandRouter::volumioPushState
2017-02-09T11:15:54.333Z - info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
2017-02-09T11:15:54.341Z - info: [1486638954339] interfaceApi::pushState
2017-02-09T11:15:54.346Z - info: [1486638954342] InterfaceWebUI::pushState
2017-02-09T11:15:54.376Z - info: Pushing Favourites {“service”:“mpd”,“uri”:"",“favourite”:false}
2017-02-09T11:15:54.385Z - info:
2017-02-09T11:15:54.475Z - info: mDNS: Found device Volumio
2017-02-09T11:15:54.580Z - info: Upmpdcli Daemon Started
2017-02-09T11:15:54.602Z - info: [1486638954599] Shairport-Sync Started
2017-02-09T11:15:55.384Z - info: Volumio called home
2017-02-09T11:15:56.784Z - info: CoreCommandRouter::volumioGetState
2017-02-09T11:15:56.785Z - info: [1486638956784] CoreStateMachine::getState
2017-02-09T11:15:56.786Z - info: [1486638956785] CorePlayQueue::getTrack 0
2017-02-09T11:15:56.787Z - info:
[1486638956786] ---------------------------- Client requests Volumio state
2017-02-09T11:15:56.791Z - info: [1486638956790] InterfaceWebUI::pushState
2017-02-09T11:15:56.818Z - info: [1486638956813] ------------------------------ 31ms
[/code]

so can’t look at plugins.

I tried:
rm -rf /data/configuration
killall node

It should start normally after that… Let me know

from github.com/volumio/Volumio2/issues/421

but apparently unrelated issue.

The i2c error is ok, it is just probing, pine64 is not using it (yet).
It should not be spinning on playback, but after a reboot that sometimes happens.
You may have to refresh your browser screen.
The plugins are in the system menu under Plugins, Search plugins, Miscelleanea

Hello again,

I had some problems with the previous sd-card becoming corrupt and spent last week working on the Armbian-based system.

Today I re-created the filesystem and have a bootable system again. I also installed the touch-screen plugin, which I see apt installed a lot of X-org packages.

Unfortunately, the pine64 lcd screen isn’t supported by xorg out of the box, so I do need to play about some more to make it work, but haven’t abandoned the project and will keep you posted.

One of the things I did last week was to compile a minimal RT kernel, after re-patching with the official kernel.org RT patch for 3.10.104 . I also included the USB audio-gadget module, which was deselected in the original config.

The kernel and the rest of the Armbian-based WIP is available at drive.google.com/open?id=0B1XH4 … 3hibkJ4QU0 for anyone who is interested.

I’m still having trouble with cold boots.

After I flash the volumio image, I can boot once and reboots have been fine,

but if I do a shutdown and power off the device, it fails to come up again at the next power on and the dirty bit gets set on partition 1.

Even after clearing the bit, the board then refuses to boot.

This is strange, because Armbian can be shut down and powered up again without problems.

Does anyone know how to work round this (aside from re-flashing for every cold boot)?

Can you share the boot logs?

Not sure how to get them.

After the boot fails, I can mount the /boot /volumio and /volumio_data partitions on my pc, but not sure where the live system resides. I tried unsquashing volumio/volumio_current.sqsh, but the most recent files in /var/log are from Jan 25th.

Where to I find the boot logs (the boot fails at an early stage, certainly before the ethernet port comes up).

BR.

–Marius–