x86 No Audio ALSA Errors and Hardware Assignments

Good day! I have been looking for a bitperfect, hifi and multichannel audio player for a long time. I am hoping that Volumio will be the player for me :slight_smile:

I’m running a VM dedicated to volumio-2.673-2019-12-01-x86. I’ve given it 8MB ram allocation and 2 threads on one core in the server. It has a dedicated Geforce GT710 with HDMI audio that is passed through to the VM and isolated from anything else. The video and audio portions of this card are specifically passed through. A VBIOS dump from this card is used in the passthrough.

This configuration installs and boots up fine logs.volumio.org/volumio/P7EA2TF.html but it does not play back any audio. The web interface works great. The HDMI video output on the TV mirrors my actions in the web interface. Every playback attempt shows the attached Alsa Error alsaerror.JPG. The file time playback counter does not begin to count/spin and the file never appears to begin playback

I enabled SSH and checked the output of aplay -l with this result :
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0

When I look in the GUI for playback devices I only see - playbackoptions.JPG - There are no other options in the drop down.

I made some attempts to poke around via SSH. If I edit the config file sudo nano /etc/mpd.conf
to

audio_output {
type “alsa”
name “alsa”
device “hw:0,7”

or with the same results

audio_output {
type “alsa”
name “alsa”
device “hw:0,3”

I then execute the reboot command.
My desired mixer type is None and it is set as such.
If I SSH and check, those changes are temporarily persistent. The player then populates properly, the timer begins to count and the file encoding details display. Unfortunately there is still no audio. The volume is set at 100 and not adjustable.

If I then try to change the Mixer Type to Software it resets my changes above and the config changes to:
audio_output {
type “alsa”
name “alsa”
device “softvolume”
dop “no”
and I get this error - softvolume.JPG

If I change the mixer to Hardware it resets my config to this:
audio_output {
type “alsa”
name “alsa”
device “hw:0,0”
which I then edit to this
audio_output {
type “alsa”
name “alsa”
device “hw:0,3”

The mixer is now set to hardware.
If I SSH and check, those changes are temporarily persistent. The player then populates properly, the timer begins to count and the file encoding details display. Unfortunately there is still no audio. The volume is is adjustable to 100 and not muted. There is no output.

This is the log file for that last status - logs.volumio.org/volumio/6IhSscK.html

I look forward to further exploring your player, but, I’m stuck for now. Thank you for the support!

hi!
have a look at /data/configuration/audio_interface/alsa_controller/config.json to see what is configured in volumio.
changing mpd.conf is not the good way it is populate by volumio when you save config
One thing, your device is not hw:0,7 but hw:7,0…

hw:0,7 seems correct, because it is card 0, device 7
Not showing it in the volumio UI is because of a missing configuration entry, we would add that once the issue has been cleared and appears generic for that card.
But I’m a little puzzled because it does not give any sound after setting it in mpd.conf.
Just a thought, could you check alsamixer and verify the default on that device is not muted?
Sometimes that happens, in case you can change it with alsamixer and you reboot, it should have been be persisted.

Thank you for your prompt replies! :slight_smile: I am extremely busy tonight and have to work early tomorrow, I hope to get into this again tomorrow evening or Saturday. I do not want you to feel like your efforts have been wasted. Thank you!!!

D

I assure you I will continue this. I was sent on the road for work and I don’t have access to this equipment for testing remotely… soon! I hope Friday night or Saturday next weekend I will have your tests complete and some data for a response. I look forward to relaxing and truly enjoying some hifi fruits of our efforts. Thank you.

I got home early!!

I currently have the mpd.conf set to hardware 0,7 and mixer set to “none” via the GUI. This is the configuration where it will appear to play a file with volume fixed at 100 and no audio output.

The mpd.conf file dump is:

[code]# Decoder ################################################################

###############################################################################

Audio Output

resampler {
plugin “soxr”
quality “high”
threads “1”
}

audio_output {
type “alsa”
name “alsa”
device “hw:0,7”
dop “no”

}

audio_output {
type “fifo”
enabled “no”
name “multiroom”
path “/tmp/snapfifo”
format “44100:16:2”
}

#replaygain “album”
#replaygain_preamp “0”
volume_normalization “no”
###############################################################################

MPD Internal Buffering

audio_buffer_size “2048”
buffer_before_play “10%”
###############################################################################

Resource Limitations

#connection_timeout “60”
max_connections “20”
max_playlist_length “81920”
max_command_list_size “81920”
max_output_buffer_size “81920”
###############################################################################

Character Encoding

filesystem_charset “UTF-8”
id3v1_encoding “UTF-8”
###############################################################################
[/code]

The config.json dump is:

{ "volumestart": { "type": "string", "value": "disabled" }, "volumemax": { "type": "string", "value": "100" }, "volumecurvemode": { "type": "string", "value": "logarithmic" }, "outputdevice": { "type": "string", "value": "0" }, "mixer_type": { "type": "string", "value": "None" }, "mixer": { "type": "string", "value": "" }, "volumesteps": { "type": "string", "value": "10" }, "outputdevicename": { "type": "string", "value": "HDA NVidia" } }

I’m not familiar with Alsamixer.

When I logged in this was the default view
defaultalsa.jpg

It shows two outputs, correct? S/pdif and S/pdif1 with S/pdif 1 muted? I pressed right arrow, M and it changed to
alsaunmute.JPG

Rebooting, the hw0,7 and the unmute of s/pdif1 stucks, but still no audio.
I edited the mpd.conf to hw0,3, rebooted and the unmute still sticks, the file still plays on the counter but no audio. HDMI output is functional this whole time. The back of the video card has VGA, DVI and HDMI.

Here are the other Alsa hardware screens:

alsaplayback.JPG

alsacards.JPG

alsadevices.JPG

One more:

alsatimers.JPG

There is a large reply posted before these two recent picture posts. It has config dumps and some more details…

I got a message saying it is subject to “moderator approval”. These are now slightly out of order - sorry :slight_smile:

don’t worry about the blocked posts, sometimes the forum software kicks in and blocks a post.
I have no idea what the criteria for such an action is, there was nothing wrong with your posts.

Back to the issue, I’m supposed to know the answer to this, but honestly, I don’t (yet) :astonished:
As already written, the fact it does not show up in the playback configuration is a missing profile for the NVIDIA card.
That would be the smallest problem, for testing it is ok to change mpd.conf instead.

The config seems to be ok, just make sure you test as follows:
After changing mpd.conf, you need to make sure mpd gets restarted.
You can use “killall node” for that, it just takes a minute or so to restart volumio that way.
Otherwise you can’t test as after a reboot, the mpd setting will be set top the default again.

I like solving problems… I’m happy to help. I spent hours on this playing with settings, trying to load nvidia drivers, learning how to expand the image, trying to install the kernel headers, etc… :slight_smile: I’m learning.

There is supposed to be an audio/alsa capabilities application here - volkerschatz.com/noise/alsa.html#alsacap It interested me but I had trouble figuring out how to install that.

I feel like the clue is in LSPCI how it is showing a single video card as two separate PCI devices, correct?
03:00.0 VGA compatible controller: NVIDIA Corporation Device 128b (rev a1)
04:00.0 Audio device: NVIDIA Corporation Device 0e0f (rev a1)

I feel like that should be displayed as 03:00.0 and 03:00.1, correct?

This script - lacocina.nl/detect-alsa-output-capabilities
outputs:

speaker-test outputs:

My current mpd.conf. Unfortunately hw 0,3 and 0,7 don’t output any audio - they do show the counter moving with no ALSA error. :frowning:

[code][sudo] password for volumio:
GNU nano 2.2.6 File: /etc/mpd.conf Modified

            quality "high"
            threads "1"

}

audio_output {
type “alsa”
name “alsa”
device “hw:0,3”
dop “no”

}

audio_output {
type “fifo”
enabled “no”
name “multiroom”
path “/tmp/snapfifo”
format “44100:16:2”
}

#replaygain “album”
#replaygain_preamp “0”
volume_normalization “no”
###############################################################################

MPD Internal Buffering

audio_buffer_size “2048”
buffer_before_play “10%”
###############################################################################

Resource Limitations

#connection_timeout “60”
max_connections “20”
max_playlist_length “81920”
max_command_list_size “81920”
max_output_buffer_size “81920”
###############################################################################

Character Encoding

filesystem_charset “UTF-8”
id3v1_encoding “UTF-8”
###############################################################################
[/code]

Output of LSPCI

volumio@guildnoise:~$ lspci 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller 00:01.0 PCI bridge: Red Hat, Inc. Device 000c 00:01.1 PCI bridge: Red Hat, Inc. Device 000c 00:01.2 PCI bridge: Red Hat, Inc. Device 000c 00:01.3 PCI bridge: Red Hat, Inc. Device 000c 00:01.4 PCI bridge: Red Hat, Inc. Device 000c 00:07.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #1 (rev 03) 00:07.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #2 (rev 03) 00:07.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #3 (rev 03) 00:07.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Control ler #1 (rev 03) 00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (r ev 02) 00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SA TA Controller [AHCI mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02) 01:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controll er (Copper) (rev 03) 02:00.0 Communication controller: Red Hat, Inc Device 1043 (rev 01) 03:00.0 VGA compatible controller: NVIDIA Corporation Device 128b (rev a1) 04:00.0 Audio device: NVIDIA Corporation Device 0e0f (rev a1)

Dump of alsabase.conf

[code]# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

Cause optional modules to be loaded above generic modules

install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }

Keep snd-pcsp from beeing loaded as first soundcard

options snd-pcsp index=-2

Keep snd-usb-audio from beeing loaded as first soundcard

#options snd-usb-audio index=-2

Prevent abnormal drivers from grabbing index 0

options snd-hda-intel index=1
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio nrpacks=1

USB DACs will have device number 5 in whole Volumio device range

options snd-usb-audio index=5
options snd-hda-intel index=0
[/code]

Dump of sudo nano /data/configuration/audio_interface/alsa_controller/config.json

{ "volumestart": { "type": "string", "value": "disabled" }, "volumemax": { "type": "string", "value": "100" }, "volumecurvemode": { "type": "string", "value": "logarithmic" }, "outputdevice": { "type": "string", "value": "0" }, "mixer_type": { "type": "string", "value": "Hardware" }, "mixer": { "type": "string", "value": "IEC958" }, "volumesteps": { "type": "string", "value": "10" }, "outputdevicename": { "type": "string", "value": "HDA NVidia" } }

One additional clue…

When I edit mpd.conf, the killall node command doesn’t make anything take effect.

If I start at hw0,0 with the red alsa error and I then edit mpd.conf, I can try to play again, I still get the red alsa error.
If I enter killall node, I try to play again I get the red alsa error, but my new setting hw0,7 has persisted.
I enter “reboot” command and the player fully reboots. Then the play counter will count and the mpd.conf still persists at hw0,7.

I’m really looking forward to winning this one!! Please let me know what else to check :slight_smile:

Open alsamixer, select the nvidia soundcard (in case you have more than one) and make sure, your two outputs outputs are not muted.
When muted, they will show as “MM” instead of “00”. You can tab between the outputs, you can toggle mute/ unmute with the “m”-key.

How to open the alsa mixer ?

Please be so kind and also google a little so that you know where alsamixer is used for.
Then open a terminal (see the documentation at https://volumio.github.io/docs/ )
The command to open the mixer is “alsamixer”, no worry you can’t break anything…

I am 100% sure they show 00. I’ll try and grab a screencap for you. Is there any plans to release in a newer kernel version of Debian or Ubuntu? Is it possible that my x86 hardware / soundcard combination is too new for this kernel/driver version?

bump

:frowning: Any ideas or fringe tests to complete?

Is it possible to run Volumio in a newer linux distro?

yes, we’re working on a buster based x86 version, hope to pick this up in the next few weeks.
Too many other things got us stuck the last few weeks, sorry about that.

Send me a PM with your email, no guarantee, but a version that may show progress. No myVolumio in it.

Thank you! I’m happy to help. I tried to send a PM but it says you have them disabled. I think I found your email on here - you should have an email sent to - volumio@bxxxxxn.xx I’ll run any tests, custom work or anything as directed. I greatly appreciate the support.