Mini PC Intel Atom Z8300 - problem with 808622A8 sound

Hi,

trying to get a Trekstor W3 Mini PC running with Volumio I stuck in a problem.
My plan is to use che HDMI output to connect to an external amplifier.
Booting the uefi image from USB works well, network is running.

The audio device ist not running / is not supported by Volumio.
When trying to start a playback I get the message in a red overlay box:

“hw:nodev,0” no such device

During the setup assistant there is no audio device to select.

The device is doing well under WIN10.
WIN shows in the device list:

  • ES8316 AudCodec Device
    and
  • Intel SST Audio Device (WDM)

I’m using the latest Volumio version 2.348 (x64)

I also foud an image based on a newer kernel (4.12.8) that gkkpch provided in Summer 2017. I tried the experimental image on my Trekstor W3 Mini PC. This is an Intel x64 Atom Z8300 architecture. The image worked completely fine (GUI, network, USB, etc) - except of the intel hda sst sound chip 808622A8. I got this message in dmesg:

intel_sst_acpi 808622A8:00: No matching machine driver found

This is a little step better than the actual Volumio 2.348 image that does not recognize the chip at all. But unfortunately this does not help me getting the Mini PC running with Volumio. I also found several firmware binaries at intel (most likely these two are relevant: IntcSST2.bin, fw_sst_22a8.bin) and tried to install them in /lib/firmware. This makes no difference. I also spent some hours trying to get modules loaded, drivers built, configurations changed. But I unfortunately had no success.

gkkpch meant: “Firmware only won’t do, you probably need a kernel driver module to actually load it, and that one appears to be missing at the moment.”

I found a rather good tutorial to compile and install drivers via dpkg here:
wiki.ubuntu.com/Audio/UpgradingAlsa/DKMS
Unfortunately there are only oem-audio-hda-drivers matching kernel versions 3.13, 3.16 and 3.19 - Volumio 2.348 is based on 3.18.

So at the moment I’m at my wits’ end.

Please help me get this Intel hda sst 808622A8 running.

Best regards and have a nice weekend,
Robert

Yes, unfortunately Volumio X86 is not quite ready for this and I can’t help very much on the short-term.
It is due to the fact we are still running Debian Jessie, which is based on an older kernel version (smallest problem) and older jessie firmware packages (a bigger issue).

You are not the only one complaining about missing newer drivers for (new) hardware), partly new firmware is also needed.
We do recognise the need but there are two issues here.

  • one is the updated kernel and supported drivers (think we have this covered, with perhaps a little manual work)
  • the second one is supported firmware (not covered with jessie).

The solution would have been been to add the missing drivers to the experimental kernel and add firmware packages from Debian stretch manually, one by one. This is not as easy as you might think, because there are hundreds of different new hardware configurations out there.
As Debian stretch is on the plan anyway and lifting jessie up-to “standard” would mean quite a lot of work, that work would not make any sense on the long term.

So, we will not put any work in the current jessie version, but instead supplying an up-to-date kernel and port Volumio to Debian stretch (x86), relying on a big pile of tested and available firmware coming with it.
It still needs to be scheduled, hoping (but not promising) for spring 2018…

In case you have the skills and time to help out, you are very welcome and get all the support you need.

Hi Gé,

Tanks a lot for your detailed answer. I can see that investing time in porting Volumio to Debian Stretch makes a lot more sense than concerning every new hardware combination in the old kernel environment one after the other. So I will keep my fingers crossed for the port being completed soon. :wink:

Unfortunately my days as an active software developer are over since a couple of years now. You might not want me to stir up your project with tainted code. :confused: So my help for you will be limited to testing release candidates or any experimental packages on the equipment I have. I will be happy to do that. Just drop me a line anytime there is something you want to be tested.

May be I will try to build a Debian Stretch image and test if my hardware is willing to work with that anyway. I will let you know about my experiments.

Best regards,
Robert

Hi,

here I’m back with some more information. I tried a debian stretch live image including the “non-free” firmware packages. Now the system seems to be recognized and the firmware / drivers seem to be loaded correctly. Here is some information about the system and drivers, modules, devices, etc.:

Linux version 4.14.0-3-amd64 (debian-kernel@lists.debian.org) (gcc version 7.2.0 (Debian 7.2.0-19)) #1 SMP Debian 4.14.13-1 (2018-01-14)

dmesg | grep 8086

[ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.182247] sysfs: cannot create duplicate filename ‘/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/808622C1:00/OVT I2680:00/power_resources_D0/LNXPOWER:0a’
[ 0.183035] sysfs: cannot create duplicate filename ‘/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/808622C1:00/HIM X5040:00/power_resources_D0/LNXPOWER:0a’
[ 0.204704] sysfs: cannot create duplicate filename ‘/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/808622C1:01/HIM X5040:01/power_resources_D0/LNXPOWER:10’
[ 0.205460] sysfs: cannot create duplicate filename ‘/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/808622C1:01/OVT I2680:01/power_resources_D0/LNXPOWER:10’
[ 0.251583] pci 0000:00:00.0: [8086:2280] type 00 class 0x060000
[ 0.252136] pci 0000:00:02.0: [8086:22b0] type 00 class 0x030000
[ 0.252505] pci 0000:00:03.0: [8086:22b8] type 00 class 0x048000
[ 0.252853] pci 0000:00:0b.0: [8086:22dc] type 00 class 0x118000
[ 0.253202] pci 0000:00:14.0: [8086:22b5] type 00 class 0x0c0330
[ 0.253639] pci 0000:00:1a.0: [8086:2298] type 00 class 0x108000
[ 0.254118] pci 0000:00:1f.0: [8086:229c] type 00 class 0x060100
[ 0.258470] acpi 80862288:00: Device [PWM1] is in always present list
[ 2.868763] 8086228A:00: ttyS1 at MMIO 0x91822000 (irq = 39, base_baud = 2764800) is a 16550A
[ 2.876926] 8086228A:01: ttyS2 at MMIO 0x91820000 (irq = 40, base_baud = 2764800) is a 16550A
[ 3.237164] mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA
[ 3.261177] mmc1: SDHCI controller on ACPI [80860F14:01] using ADMA
[ 3.305743] mmc2: SDHCI controller on ACPI [80860F14:03] using ADMA
[ 15.023653] intel_sst_acpi 808622A8:00: LPE base: 0x91400000 size:0x200000
[ 15.027910] intel_sst_acpi 808622A8:00: IRAM base: 0x914c0000
[ 15.041453] intel_sst_acpi 808622A8:00: DRAM base: 0x91500000
[ 15.041465] intel_sst_acpi 808622A8:00: SHIM base: 0x91540000
[ 15.041475] intel_sst_acpi 808622A8:00: Mailbox base: 0x91544000
[ 15.041482] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
[ 15.041888] intel_sst_acpi 808622A8:00: Got drv data max stream 25
[ 15.258602] intel_sst_acpi 808622A8:00: firmware: direct-loading firmware intel/fw_sst_22a8.bin

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: Audio [Intel HDMI/DP LPE Audio], device 0: HdmiLpeAudio [Intel HDMI/DP LPE Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Audio [Intel HDMI/DP LPE Audio], device 1: HdmiLpeAudio [Intel HDMI/DP LPE Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Audio [Intel HDMI/DP LPE Audio], device 2: HdmiLpeAudio [Intel HDMI/DP LPE Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

cat /proc/asound/version

Advanced Linux Sound Architecture Driver Version k4.14.0-3-amd64.

cat /proc/asound/cards

0 [Audio ]: HdmiLpeAudio - Intel HDMI/DP LPE Audio
Intel HDMI/DP LPE Audio

cat /proc/asound/pcm

00-00: HdmiLpeAudio : Intel HDMI/DP LPE Audio : playback 1
00-01: HdmiLpeAudio : Intel HDMI/DP LPE Audio : playback 1
00-02: HdmiLpeAudio : Intel HDMI/DP LPE Audio : playback 1

cat /proc/asound/modules

0 snd_hdmi_lpe_audio

cat /proc/asound/devices

2: [ 0] : control
3: [ 0- 0]: digital audio playback
4: [ 0- 1]: digital audio playback
5: [ 0- 2]: digital audio playback
33: : timer

cat /proc/bus/pci/devices

0000 80862280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 iosf_mbi_pci
0010 808622b0 77 90000004 0 8000000c 0 1001 0 c0002 1000000 0 10000000 0 40 0 20000 i915
0018 808622b8 ff 91000000 0 0 0 0 0 0 400000 0 0 0 0 0 0
0058 808622dc 79 91818004 0 0 0 0 0 0 1000 0 0 0 0 0 0 proc_thermal
00a0 808622b5 76 91800004 0 0 0 0 0 0 10000 0 0 0 0 0 0 xhci_hcd
00d0 80862298 ff 91700000 91600000 0 0 0 0 0 100000 100000 0 0 0 0 0
00f8 8086229c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lpc_ich

cat /proc/modules | grep snd

snd_soc_rt5670 131072 0 - Live 0xffffffffc0afc000
snd_soc_rt5645 151552 0 - Live 0xffffffffc0864000
snd_intel_sst_acpi 16384 1 - Live 0xffffffffc085a000
snd_intel_sst_core 65536 1 snd_intel_sst_acpi, Live 0xffffffffc0849000
snd_soc_sst_atom_hifi2_platform 110592 1 snd_intel_sst_core, Live 0xffffffffc07a6000
snd_soc_rt5640 118784 0 - Live 0xffffffffc0824000
snd_soc_rt5651 86016 0 - Live 0xffffffffc080e000
snd_soc_rl6231 16384 4 snd_soc_rt5670,snd_soc_rt5645,snd_soc_rt5640,snd_soc_rt5651, Live 0xffffffffc0796000
snd_soc_sst_match 16384 1 snd_intel_sst_acpi, Live 0xffffffffc0753000
snd_soc_core 258048 5 snd_soc_rt5670,snd_soc_rt5645,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5640,snd_soc_rt5651, Live 0xffffffffc07ce000
snd_hdmi_lpe_audio 28672 0 - Live 0xffffffffc078e000
snd_compress 24576 1 snd_soc_core, Live 0xffffffffc0744000
snd_pcm 118784 7 snd_soc_rt5670,snd_soc_rt5645,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5640,snd_soc_rt5651,snd_soc_core,snd_hdmi_lpe_audio, Live 0xffffffffc0762000
snd_timer 36864 1 snd_pcm, Live 0xffffffffc0719000
snd 94208 6 snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_hdmi_lpe_audio,snd_compress,snd_pcm,snd_timer, Live 0xffffffffc0701000
soundcore 16384 1 snd, Live 0xffffffffc0613000

lsmod | grep snd

snd_soc_rt5670 131072 0
snd_soc_rt5645 151552 0
snd_intel_sst_acpi 16384 1
snd_intel_sst_core 65536 1 snd_intel_sst_acpi
snd_soc_sst_atom_hifi2_platform 110592 1 snd_intel_sst_core
snd_soc_rt5640 118784 0
snd_soc_rt5651 86016 0
snd_soc_rl6231 16384 4 snd_soc_rt5670,snd_soc_rt5640,snd_soc_rt5645,snd_soc_rt5651
snd_soc_sst_match 16384 1 snd_intel_sst_acpi
snd_soc_core 258048 5 snd_soc_rt5670,snd_soc_rt5640,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5645,snd_soc_rt5651
snd_hdmi_lpe_audio 28672 0
snd_compress 24576 1 snd_soc_core
snd_pcm 118784 7 snd_soc_rt5670,snd_hdmi_lpe_audio,snd_soc_rt5640,snd_soc_sst_atom_hifi2_platform,snd_soc_rt5645,snd_soc_core,snd_soc_rt5651
snd_timer 36864 1 snd_pcm
snd 94208 6 snd_compress,snd_hdmi_lpe_audio,snd_timer,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm
soundcore 16384 1 snd

ls /proc/bus/pci/00/

00.0 02.0 03.0 0b.0 14.0 1a.0 1f.0

aplay -L

null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Audio
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Default Audio Device
sysdefault:CARD=Audio
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Default Audio Device
dmix:CARD=Audio,DEV=0
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample mixing device
dmix:CARD=Audio,DEV=1
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample mixing device
dmix:CARD=Audio,DEV=2
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample mixing device
dsnoop:CARD=Audio,DEV=0
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample snooping device
dsnoop:CARD=Audio,DEV=1
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample snooping device
dsnoop:CARD=Audio,DEV=2
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct sample snooping device
hw:CARD=Audio,DEV=0
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct hardware device without any conversions
hw:CARD=Audio,DEV=1
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct hardware device without any conversions
hw:CARD=Audio,DEV=2
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Direct hardware device without any conversions
plughw:CARD=Audio,DEV=0
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Hardware device with all software conversions
plughw:CARD=Audio,DEV=1
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Hardware device with all software conversions
plughw:CARD=Audio,DEV=2
Intel HDMI/DP LPE Audio, Intel HDMI/DP LPE Audio
Hardware device with all software conversions

Now I can use the devices
hw:CARD=Audio,DEV=2
and
plughw:CARD=Audio,DEV=2
for playback music over HDMI. Excellent!

The only ‘tiny’ thing I’m missing is a Volumio version based on Linux version 4.14.0-3-amd64 including the non/free firmware packages.
I keep my fingers crossed that the port to debian stretch will not face any problems and will be available soon.
If you need any tests to be done on an intel atom platform please feel free to ask me, I’ll do it.

Best regards,
Robert

Hi them all,

after an excellent support and lots of work by gkkpch ( thanks a lot !!! ) I’m very glad to say: My device Trekstor W3 Mini PC is running! :laughing:

There was a driver missing that is responsible for loading the firmware (which was also missing) into the sound chip.
Another challenge was to add the matching codec.

Finaly the solution consists mainly of the following steps (gkkpch please complete or correct if necessary):

  • Kernel 4.12.9+ x86 / i386
  • Driver for intel_sst_acpi
  • Firmware for the 808622A8 sound chip
  • Codec ES8316

Fabulous! :smiley:

With a happy glance I can report this issue resolved.

Once again: Thanks a lot gkkpch! It was my pleasure to provide you with my test results! It was a perfect rally playing images and logs.

Best regards,
Robert

yes, a very pleasant experience which lead to better Intel Baytrail/Cherrytrail support.

Edited: I’ll add the link later
For the ones who are also interested (not just for CherryTrail), I plan a new experimental version here based on Linux kernel 4.12.9
HDMI Audio is working with this Z8300 Atom PC, but ES8316 codec support is not finished, so the 3.5mm jack may still not work.
Later kernel versions are posing a little problem at the moment, as firmware has been removed from the kernel tree as of kernel version 4.13.x.
We will now need to add it to our build scripts and will take some time and effort to complete.

No need to say, experimental dev versions do not get any guarantee and do not oblige me to do anything :smiley:
But feedback is always welcome as it helps in preparing for a fully supported Debian stretch based x86 image.

– Gé –

I have an Alfawise X5 - also a Mini-PC, but with Z8350 CPU.
I would be happy to test an experimental image.

This type of Mini-PCs are nearly sold daily at Amazon at theirs “Lightning Deals”, or Gearbest or so.

They are the easy way for me to let be Volumio the “Chief of my Ears” in the house.
They seems faster than my Raspi2, i think.

Thank you for an Image :mrgreen:
jo01

Sorry, about my english, left school in 1981 :unamused:

We want to make sure booting from eMMC is also working, that is not the case yet.
This means it takes a little longer, probably no image before the end of the week.

Hi,

just in order to keep those of you informed who are curiously awaiting a new experimental image for the x86 platforms:

It will take another couple of days to create and test the new version to be published. Gé managed to get the boot procedure running with my Trekstor W3 starting from the internal eMMC! So please donate another bit of patience - it is worthwhile. :unamused:

Best audiophile regards,
Robert

i have every amount of time :mrgreen:
thank you very much for your work

jo01

There seem to be loads of different Intel Lake and Atom board configurations, a single dev version now is not going to cover them all.
What used to be a fairly “easy” job to build a kernel for x86 volumio requirements, is becoming a little more complicated because of the many different drivers and firmwares which are not or not yet fully supported in Linux kernel 4.x.x (we’re experimenting with 4.12x).
It will take some time to get this done properly, so be warned.
It may also be that some hardware configurations will never work.
Whenever we release a DEV version, it may improve things, but there will be no guarantee it will cover your Intel Lake or Atom hardware 100%.

As mentioned before, we depend on your feedback, we do not have the means and opportunity to test all possible X86 hw configurations.
(comparing with an RPI: the RPI is an RPI and looks and behaves the same as all the other RPIs).
That said, testing is still going on, we encountered a regression related to the introduction of eMMC support on X86 and need some to fix it.
Hopefully we have an image sometime during the upcoming week.

– Gé –

I dont know if this info will help:
There is a version of a Ubuntu:
linuxiumcomau.blogspot.com/2017/ … eta-1.html

On these Mini-PCs from beelink (& their clones/ OEMs) this Ubuntu is working.
There ar working HDMI / LAN / Audio thru HDMI. :wink:

The company beelink (bee-link.com) seems for me to be the creator of the most Z8300/Z8350-Mini-PCs.

@Gé: good luck with your work :stuck_out_tongue:

jo01

@jo01,
our Debian based Volumio distro works fine on a Trekstor Mini PC (see Robert’s opening post) and an AZW Z83 II, which is technically nearly identical to a Beelink BT3). There are still limitations, unfortunately, Beelink removed all it forum references to Z83, so it is very difficult to find proper information. I was aware of your link, I used it for solving wifi issues.
So far, HDMI audio output is working, booting from eMMC is ok and I located the firmware and nvram txt file for the Z83’s wireless (a Broadcom AP6255, combined Bluetooth and WLAN), which is now working fine. My image works, we need to verify this with the Trekstor, as it might have a different WLAN/Bluetooth chip.
On both, the audio jack is not working. The (different) drivers are there, but both not recognized by ALSA. I know that mainline has updated drivers, but I cannot use them. From version 4.13.x, kernels do not suppy firmware anymore, this needs to be added to distro build procedures, which currently is out-of-scope for experimenting. We’re “stuck” at kernel 4.12.9+ for the moment.

Hope to finish regression testing this week (I need to ensure our 3.18.25 based released versions still work with the new build), after that I can publish a link to an experimental dev version.

The Alfawise X5 is a Version of the AZW Z83 II, on the “motherboard” there is a label “Z83 II 5”
there are pictures on:
freaktab.com/forum/tv-player-sup … ndroid-5-1

so… Perhaps your image will work for me.

The internal 3,5mm-jack i have “replaced” with the USB-Connector: amazon.de/gp/product/B01N905VOY/
Therefor the Original-X86-Image works with an old Speaker :slight_smile:
jo01

There is a new image for those interested in testing a version with support for eMMC as a boot device:
Dev Version 2.374
It also has better support for Intel Atom Baytrail and Cherrytrail devices, HDMI Audio should now work.
Models with Broadcom wifi/bluetooth combos should have working wireless.
Feedback and suggestions are welcome.
Please note that this version does not yet support copying to an internal eMMC via the System menu.
You need to flash it manually.

Disclaimer This is a development version and not a released Volumio image. Use it at you own risk!!
Do not expect Dev versions to be up- or downgradable.
Anticipate that you will loose all your data when you decide to switch to another version.
Note that Dev versions can cause unexpected results as they have not been tested as thoroughly as a new release.

I also just picked up one of the Z83-II “clones” from Ameridroid (ameridroid.com/products/z83-ii).

What is the easiest way to flash directly to the eMMC? The only way I know is to boot up on one USB boot linux OS and flash the image located on another mounted USB drive.

I will be giving this image a shot either way.

Broadcom Wifi works great, no sound from HDMI, which is not an issue for me, but would be nice to have the option.

HDMI is selectable (HDMI/DP LPE Audio) but fails.

Happy to get wifi!

EDIT: I found instructions in another post, running great off eMMC, same behavior as above.

Thank you!

Hi Zhillsguy,

could you please try to configure “Playback Options” -> “Audio resampling” and set the target sampling rate to 48 kHz. This works fine for me playing files with 44.1 kHz sampling rate over HDMI - though the sound quality is not optimal because of the resampling.

Files with 48kHz sampling rate or higher (96kHz, 192kHz) work fine over HDMI here.

Cheers,
Robert

@Zhillsguy, that looks like the same unit I have worked with here.
Audio Jack and SD card reader don’t work (yet), other than that it should be OK.
A little slow on graphic performance (I think I missed 2D-Acceleration), but use as headless seems fine.
USB Audio is excellent, plays my full range of test files right up to 32bit/384KHz.

Volumio already has an option to clone a running instance to another connected device, prohibited that device is equal or larger in size.
In the released version it only shows/ works for x86 models when an internal or external HDD/USB device is connected. I’m modifying it to work with eMMC as well and hope to finish this soon.

@Zhillsguy:
Perhaps you may post the thread in this thread, in case that somebody may use the information of the other thread :laughing:

Thank you,
jo01

@gkkpch
Thanks for your work.

Today i have time to test your image :smiley: Now i have sound over HDMI.
This cheap clones of the Z83-II from beelink are for me a good way to place them in the most rooms in my house.

So now i dare to order two more boxes.
I have a Raspi3 also: but with cover, power adapter, sdcard i am also at 60 to 70 euros for each Raspi3
And this are only few euro difference to the Z83-II-Clones.

That’s why I’m so happy about your image from the 3.3.

Thanks again.
jo01 :smiley: