Thanks. Output of speaker-test looks OK. The PCM Playback Route switch looks like set to HDMI, according to Audio configuration - Raspberry Pi Documentation . Please can you try the config in the last chapter (hdmi_drive=2)?
okay speakertest under a fresh install of Raspbian Buster works. Just tested & I'm hearing white noise from all 8 channels of the HDMI extractor as expected.
After doing a dist-upgrade, everything still worked as expected.
Next, I ran a 'rpi-update'... (I just remembered that that was the last thing I did a couple nights ago and I couldn't remember if I'd ever tested sound after that). After the Rpi-update audio stopped working. Not sure why.
I'm going to put a clean Raspbian Buster install back in, install and run PaXoRack before doing any other sort of updates and I'll report back shortly.
Thanks again
After doing a dist-upgrade, everything still worked as expected.
Next, I ran a 'rpi-update'... (I just remembered that that was the last thing I did a couple nights ago and I couldn't remember if I'd ever tested sound after that). After the Rpi-update audio stopped working. Not sure why.
I'm going to put a clean Raspbian Buster install back in, install and run PaXoRack before doing any other sort of updates and I'll report back shortly.
Thanks again
Just 2 cents - perhaps the rpi-update changes the config params and disables the HDMI audio output (that hdmi_drive=2)?
Just 2 cents - perhaps the rpi-update changes the config params and disables the HDMI audio output (that hdmi_drive=2)?
Sorry, I forgot to mention that I did uncomment the hdmi_drive=2 line in the config.txt. It didn't make a difference. Still no sound
Last edited:
I am glad you have found a way to make your 8ch HDMI work in alsa. As of the rpi-update problem, I would suggest to solve it in a different thread since it is not related to the main topic and is very RPi-specific (there are RPi specialists on this website, I have zero practical experience with RPi).
Does the working HDMI device appear in pulseaudio now (e.g. pacmd list-cards, or directly in PaXoRack GUI)?
Does the working HDMI device appear in pulseaudio now (e.g. pacmd list-cards, or directly in PaXoRack GUI)?
Does the working HDMI device appear in pulseaudio now (e.g. pacmd list-cards, or directly in PaXoRack GUI)?
No sir. No such luck. PaXoRack still only see's the mono device.
Code:
pi@raspberrypi:~ $ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.platform-soc_audio>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
profiles:
output:analog-mono: Analog Mono Output (priority 700, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <output:analog-mono>
sinks:
alsa_output.platform-soc_audio.analog-mono/#0: Built-in Audio Analog Mono
sources:
alsa_output.platform-soc_audio.analog-mono.monitor/#0: Monitor of Built-in Audio Analog Mono
ports:
analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
properties:
pi@raspberrypi:~ $
It looks like your PA somehow ignores the remaining devices. I found in your pa log this:
Perhpas module-card-restore Modules is causing the problem, using perhaps some corrupted config. Please remove all configs in home/pi/.config/pulse a retry.
Code:
I: [pulseaudio] module-card-restore.c: Successfully opened database file '/home/pi/.config/pulse/8b2d0a0058324ffb97e3c1f6a3bdffa4-card-database'.
Perhpas module-card-restore Modules is causing the problem, using perhaps some corrupted config. Please remove all configs in home/pi/.config/pulse a retry.
It's not clear at all to me how the different devices announced by alsa match to the different configurations (profiles?) that pulseaudio will show.
here's my output of "aplay -l":
I use mate-colume-control to switch card profiles, but for this screenshot I used pavucontrol as it is available more widely:
How do these profiles correlate with the alsa subdevices? Maybe DarpMalone just needs to switch to a different profile with pavucontrol? Just a guess...
here's my output of "aplay -l":
Code:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog [ALC269VC Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: U5 [ASUS XONAR U5], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: U5 [ASUS XONAR U5], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: U5 [ASUS XONAR U5], device 2: USB Audio [USB Audio #2]
Subdevices: 1/1
Subdevice #0: subdevice #0
I use mate-colume-control to switch card profiles, but for this screenshot I used pavucontrol as it is available more widely:
How do these profiles correlate with the alsa subdevices? Maybe DarpMalone just needs to switch to a different profile with pavucontrol? Just a guess...
Attachments
I think Profiles describes itIt's not clear at all to me how the different devices announced by alsa match to the different configurations (profiles?) that pulseaudio will show.
so there is a udev rule will maps a device to a particular config file (e.g. /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf) and that config file determines who the device to turned into a pulseaudio profile
It's not clear at all to me how the different devices announced by alsa match to the different configurations (profiles?) that pulseaudio will show.
PA profile definitions are part of PA in /usr/share/pulseaudio/alsa-mixer/profile-sets/ . The /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf describes the syntax and principle, plus profiles for general soundcards.
Maybe DarpMalone just needs to switch to a different profile with pavucontrol?
If you list your pacmd list-cards, you will see all your devices with all the profiles offered. The current profile should be in "active profile:" line. DarpMalone's list shows only the single mono card -> device -> profile. IMO his PA somehow detects his cards incorrectly and the detection outcome fits only the single mono profile out of the long list in /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
DarpMalone: please check that your /usr/share/pulseaudio/alsa-mixer/profile-sets/ contains the profiles. I have:
Code:
pavel@precision:/usr/share/pulseaudio/alsa-mixer/profile-sets$ ls -l
total 92
-rw-r--r-- 1 root root 18638 led 23 2019 default.conf
-rw-r--r-- 1 root root 1579 led 23 2019 dell-dock-tb16-usb-audio.conf
-rw-r--r-- 1 root root 5491 led 23 2019 force-speaker-and-int-mic.conf
-rw-r--r-- 1 root root 5456 led 23 2019 force-speaker.conf
-rw-r--r-- 1 root root 1284 led 23 2019 kinect-audio.conf
-rw-r--r-- 1 root root 2714 led 23 2019 maudio-fasttrack-pro.conf
-rw-r--r-- 1 root root 2769 led 23 2019 native-instruments-audio4dj.conf
-rw-r--r-- 1 root root 4999 led 23 2019 native-instruments-audio8dj.conf
-rw-r--r-- 1 root root 2713 led 23 2019 native-instruments-korecontroller.conf
-rw-r--r-- 1 root root 3778 led 23 2019 native-instruments-traktor-audio10.conf
-rw-r--r-- 1 root root 1583 led 23 2019 native-instruments-traktor-audio2.conf
-rw-r--r-- 1 root root 2741 led 23 2019 native-instruments-traktor-audio6.conf
-rw-r--r-- 1 root root 2419 led 23 2019 native-instruments-traktorkontrol-s4.conf
-rw-r--r-- 1 root root 1961 led 23 2019 sb-omni-surround-5.1.conf
-rw-r--r-- 1 root root 535 led 23 2019 steelseries-arctis-5-usb-audio.conf
-rw-r--r-- 1 root root 1637 led 23 2019 steelseries-arctis-7-usb-audio.conf
DarpMalone: please check that your /usr/share/pulseaudio/alsa-mixer/profile-sets/ contains the profiles. I have:
At a glance I see the following missing.
-rw-r--r-- 1 root root 535 led 23 2019 steelseries-arctis-5-usb-audio.conf
-rw-r--r-- 1 root root 1637 led 23 2019 steelseries-arctis-7-usb-audio.conf
Code:
pi@raspberrypi:/usr/share/pulseaudio/alsa-mixer/profile-sets $ ls -l
total 88
-rw-r--r-- 1 root root 18644 Feb 14 18:05 default.conf
-rw-r--r-- 1 root root 1579 Feb 14 18:05 dell-dock-tb16-usb-audio.conf
-rw-r--r-- 1 root root 5491 Feb 14 18:05 force-speaker-and-int-mic.conf
-rw-r--r-- 1 root root 5456 Feb 14 18:05 force-speaker.conf
-rw-r--r-- 1 root root 1284 Feb 14 18:05 kinect-audio.conf
-rw-r--r-- 1 root root 2714 Feb 14 18:05 maudio-fasttrack-pro.conf
-rw-r--r-- 1 root root 2769 Feb 14 18:05 native-instruments-audio4dj.conf
-rw-r--r-- 1 root root 4999 Feb 14 18:05 native-instruments-audio8dj.conf
-rw-r--r-- 1 root root 2713 Feb 14 18:05 native-instruments-korecontroller.conf
-rw-r--r-- 1 root root 3778 Feb 14 18:05 native-instruments-traktor-audio10.conf
-rw-r--r-- 1 root root 1583 Feb 14 18:05 native-instruments-traktor-audio2.conf
-rw-r--r-- 1 root root 2741 Feb 14 18:05 native-instruments-traktor-audio6.conf
-rw-r--r-- 1 root root 2419 Feb 14 18:05 native-instruments-traktorkontrol-s4.conf
-rw-r--r-- 1 root root 1961 Feb 14 18:05 sb-omni-surround-5.1.conf
-rw-r--r-- 1 root root 1631 Feb 14 18:05 steelseries-arctis-usb-audio.conf
That's fine, just a different version missing configs for specific soundcards.
Did removing the PA config dir make any difference?
Did removing the PA config dir make any difference?
That's fine, just a different version missing configs for specific soundcards.
Did removing the PA config dir make any difference?
No difference. I deleted the files, reopened PaXoverRack and there's no change.
Code:
pi@raspberrypi:~ $ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.platform-soc_audio>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
profiles:
output:analog-mono: Analog Mono Output (priority 700, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <output:analog-mono>
sinks:
alsa_output.platform-soc_audio.analog-mono/#0: Built-in Audio Analog Mono
sources:
alsa_output.platform-soc_audio.analog-mono.monitor/#0: Monitor of Built-in Audio Analog Mono
ports:
analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
properties:
I am going through your PA log. Search for "Checking for playback on" in your log. Your alsa refuses devices front:0 (used by stereo profiles), etc., only hw:0 (used by the mono profile). Therefore it takes only the mono profile as available. This is cause of the problem.
Please post output of:
aplay -L
aplay -v --dump-hw-params -D front:0 /dev/zero
Please post output of:
aplay -L
aplay -v --dump-hw-params -D front:0 /dev/zero
I am going through your PA log. Search for "Checking for playback on" in your log. Your alsa refuses devices front:0 (used by stereo profiles), etc., only hw:0 (used by the mono profile). Therefore it takes only the mono profile as available. This is cause of the problem.
Please post output of:
aplay -L
aplay -v --dump-hw-params -D front:0 /dev/zero
Sure thing.
aplay -L
Code:
pi@raspberrypi:~ $ aplay -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
jack
JACK Audio Connection Kit
pulse
PulseAudio Sound Server
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
dmix:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
dmix:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
dsnoop:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
hw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions
usbstream:CARD=ALSA
bcm2835 ALSA
USB Stream Output
aplay -v --dump-hw-params -D front:0 /dev/zero
Code:
pi@raspberrypi:~ $ aplay -v --dump-hw-params -D front:0 /dev/zero
ALSA lib conf.c:5014:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM front:0
aplay: main:828: audio open error: Invalid argument
Last edited:
You have your alsa config corrupted. Every alsa comes with a default set of configuration files which define general devices like front, surround51 etc for each soundcard. PA uses from for detection whether each profile should be made available. You do not have any. Alsa configs are /usr/share/alsa
Post here:
cat /usr/share/alsa/alsa.conf
ls -l /usr/share/alsa/pcm/
Post here:
cat /usr/share/alsa/alsa.conf
ls -l /usr/share/alsa/pcm/
You have your alsa config corrupted. Every alsa comes with a default set of configuration files which define general devices like front, surround51 etc for each soundcard. PA uses from for detection whether each profile should be made available. You do not have any. Alsa configs are /usr/share/alsa
Post here:
cat /usr/share/alsa/alsa.conf
ls -l /usr/share/alsa/pcm/
cat /usr/share/alsa/alsa.conf
Code:
i@raspberrypi:~ $ cat /usr/share/alsa/alsa.conf
#
# ALSA library configuration file
#
# pre-load the configuration files
@hooks [
{
func load
files [
"/etc/alsa/conf.d"
"/etc/asound.conf"
"~/.asoundrc"
]
errors false
}
]
# load card-specific configuration files (on request)
cards.@hooks [
{
func load
files [
{
@func concat
strings [
{ @func datadir }
"/cards/aliases.conf"
]
}
]
}
{
func load_for_all_cards
files [
{
@func concat
strings [
{ @func datadir }
"/cards/"
{ @func private_string }
".conf"
]
}
]
errors false
}
]
#
# defaults
#
# show all name hints also for definitions without hint {} section
defaults.namehint.showall on
# show just basic name hints
defaults.namehint.basic on
# show extended name hints
defaults.namehint.extended on
#
defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0
defaults.pcm.subdevice -1
defaults.pcm.nonblock 1
defaults.pcm.compat 0
defaults.pcm.minperiodtime 5000 # in us
defaults.pcm.ipc_key 5678293
defaults.pcm.ipc_gid audio
defaults.pcm.ipc_perm 0660
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format "unchanged"
defaults.pcm.dmix.card defaults.pcm.card
defaults.pcm.dmix.device defaults.pcm.device
defaults.pcm.dsnoop.card defaults.pcm.card
defaults.pcm.dsnoop.device defaults.pcm.device
defaults.pcm.front.card defaults.pcm.card
defaults.pcm.front.device defaults.pcm.device
defaults.pcm.rear.card defaults.pcm.card
defaults.pcm.rear.device defaults.pcm.device
defaults.pcm.center_lfe.card defaults.pcm.card
defaults.pcm.center_lfe.device defaults.pcm.device
defaults.pcm.side.card defaults.pcm.card
defaults.pcm.side.device defaults.pcm.device
defaults.pcm.surround21.card defaults.pcm.card
defaults.pcm.surround21.device defaults.pcm.device
defaults.pcm.surround40.card defaults.pcm.card
defaults.pcm.surround40.device defaults.pcm.device
defaults.pcm.surround41.card defaults.pcm.card
defaults.pcm.surround41.device defaults.pcm.device
defaults.pcm.surround50.card defaults.pcm.card
defaults.pcm.surround50.device defaults.pcm.device
defaults.pcm.surround51.card defaults.pcm.card
defaults.pcm.surround51.device defaults.pcm.device
defaults.pcm.surround71.card defaults.pcm.card
defaults.pcm.surround71.device defaults.pcm.device
defaults.pcm.iec958.card defaults.pcm.card
defaults.pcm.iec958.device defaults.pcm.device
defaults.pcm.modem.card defaults.pcm.card
defaults.pcm.modem.device defaults.pcm.device
# truncate files via file or tee PCM
defaults.pcm.file_format "raw"
defaults.pcm.file_truncate true
defaults.rawmidi.card 0
defaults.rawmidi.device 0
defaults.rawmidi.subdevice -1
defaults.hwdep.card 0
defaults.hwdep.device 0
defaults.timer.class 2
defaults.timer.sclass 0
defaults.timer.card 0
defaults.timer.device 0
defaults.timer.subdevice 0
#
# PCM interface
#
# redirect to load-on-demand extended pcm definitions
pcm.cards cards.pcm
pcm.default cards.pcm.default
pcm.sysdefault cards.pcm.default
pcm.front cards.pcm.front
pcm.rear cards.pcm.rear
pcm.center_lfe cards.pcm.center_lfe
pcm.side cards.pcm.side
pcm.surround21 cards.pcm.surround21
pcm.surround40 cards.pcm.surround40
pcm.surround41 cards.pcm.surround41
pcm.surround50 cards.pcm.surround50
pcm.surround51 cards.pcm.surround51
pcm.surround71 cards.pcm.surround71
pcm.iec958 cards.pcm.iec958
pcm.spdif iec958
pcm.hdmi cards.pcm.hdmi
pcm.dmix cards.pcm.dmix
pcm.dsnoop cards.pcm.dsnoop
pcm.modem cards.pcm.modem
pcm.phoneline cards.pcm.phoneline
pcm.hw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_PCM_DEVICE
]
default {
@func refer
name defaults.pcm.device
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.pcm.subdevice
}
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Direct hardware device without any conversions"
}
}
pcm.plughw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_PCM_DEVICE
]
default {
@func refer
name defaults.pcm.device
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.pcm.subdevice
}
}
type plug
slave.pcm {
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
hint {
show {
@func refer
name defaults.namehint.extended
}
description "Hardware device with all software conversions"
}
}
pcm.plug {
@args [ SLAVE ]
@args.SLAVE {
type string
}
type plug
slave.pcm $SLAVE
}
pcm.shm {
@args [ SOCKET PCM ]
@args.SOCKET {
type string
}
@args.PCM {
type string
}
type shm
server $SOCKET
pcm $PCM
}
pcm.tee {
@args [ SLAVE FILE FORMAT ]
@args.SLAVE {
type string
}
@args.FILE {
type string
}
@args.FORMAT {
type string
default {
@func refer
name defaults.pcm.file_format
}
}
type file
slave.pcm $SLAVE
file $FILE
format $FORMAT
truncate {
@func refer
name defaults.pcm.file_truncate
}
}
pcm.file {
@args [ FILE FORMAT ]
@args.FILE {
type string
}
@args.FORMAT {
type string
default {
@func refer
name defaults.pcm.file_format
}
}
type file
slave.pcm null
file $FILE
format $FORMAT
truncate {
@func refer
name defaults.pcm.file_truncate
}
}
pcm.null {
type null
hint {
show {
@func refer
name defaults.namehint.basic
}
description "Discard all samples (playback) or generate zero samples (capture)"
}
}
#
# Control interface
#
ctl.sysdefault {
type hw
card {
@func getenv
vars [
ALSA_CTL_CARD
ALSA_CARD
]
default {
@func refer
name defaults.ctl.card
}
}
hint.description "Default control device"
}
ctl.default ctl.sysdefault
ctl.hw {
@args [ CARD ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_CTL_CARD
ALSA_CARD
]
default {
@func refer
name defaults.ctl.card
}
}
}
type hw
card $CARD
hint.description "Direct control device"
}
ctl.shm {
@args [ SOCKET CTL ]
@args.SOCKET {
type string
}
@args.CTL {
type string
}
type shm
server $SOCKET
ctl $CTL
}
#
# RawMidi interface
#
rawmidi.default {
type hw
card {
@func getenv
vars [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
default {
@func refer
name defaults.rawmidi.card
}
}
device {
@func igetenv
vars [
ALSA_RAWMIDI_DEVICE
]
default {
@func refer
name defaults.rawmidi.device
}
}
hint.description "Default raw MIDI device"
}
rawmidi.hw {
@args [ CARD DEV SUBDEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
default {
@func refer
name defaults.rawmidi.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_RAWMIDI_DEVICE
]
default {
@func refer
name defaults.rawmidi.device
}
}
}
@args.SUBDEV {
type integer
default -1
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
hint {
description "Direct rawmidi driver device"
device $DEV
}
}
rawmidi.virtual {
@args [ MERGE ]
@args.MERGE {
type string
default 1
}
type virtual
merge $MERGE
}
#
# Sequencer interface
#
seq.default {
type hw
hint.description "Default sequencer device"
}
seq.hw {
type hw
}
#
# HwDep interface
#
hwdep.default {
type hw
card {
@func getenv
vars [
ALSA_HWDEP_CARD
ALSA_CARD
]
default {
@func refer
name defaults.hwdep.card
}
}
device {
@func igetenv
vars [
ALSA_HWDEP_DEVICE
]
default {
@func refer
name defaults.hwdep.device
}
}
hint.description "Default hardware dependent device"
}
hwdep.hw {
@args [ CARD DEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_HWDEP_CARD
ALSA_CARD
]
default {
@func refer
name defaults.hwdep.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_HWDEP_DEVICE
]
default {
@func refer
name defaults.hwdep.device
}
}
}
type hw
card $CARD
device $DEV
hint {
description "Direct hardware dependent device"
device $DEV
}
}
#
# Timer interface
#
timer_query.default {
type hw
}
timer_query.hw {
type hw
}
timer.default {
type hw
class {
@func refer
name defaults.timer.class
}
sclass {
@func refer
name defaults.timer.sclass
}
card {
@func refer
name defaults.timer.card
}
device {
@func refer
name defaults.timer.device
}
subdevice {
@func refer
name defaults.timer.subdevice
}
hint.description "Default timer device"
}
timer.hw {
@args [ CLASS SCLASS CARD DEV SUBDEV ]
@args.CLASS {
type integer
default {
@func refer
name defaults.timer.class
}
}
@args.SCLASS {
type integer
default {
@func refer
name defaults.timer.sclass
}
}
@args.CARD {
type string
default {
@func refer
name defaults.timer.card
}
}
@args.DEV {
type integer
default {
@func refer
name defaults.timer.device
}
}
@args.SUBDEV {
type integer
default {
@func refer
name defaults.timer.subdevice
}
}
type hw
class $CLASS
sclass $SCLASS
card $CARD
device $DEV
subdevice $SUBDEV
hint {
description "Direct timer device"
device $DEV
}
}
pi@raspberrypi:~ $
ls -l /usr/share/alsa/pcm/
Code:
pi@raspberrypi:~ $ ls -l /usr/share/alsa/pcm/
total 68
-rw-r--r-- 1 root root 805 May 7 10:04 center_lfe.conf
-rw-r--r-- 1 root root 762 May 7 10:04 default.conf
-rw-r--r-- 1 root root 1524 May 7 10:04 dmix.conf
-rw-r--r-- 1 root root 645 May 7 10:04 dpl.conf
-rw-r--r-- 1 root root 1538 May 7 10:04 dsnoop.conf
-rw-r--r-- 1 root root 752 May 7 10:04 front.conf
-rw-r--r-- 1 root root 1188 May 7 10:04 hdmi.conf
-rw-r--r-- 1 root root 1213 May 7 10:04 iec958.conf
-rw-r--r-- 1 root root 1314 May 7 10:04 modem.conf
-rw-r--r-- 1 root root 744 May 7 10:04 rear.conf
-rw-r--r-- 1 root root 744 May 7 10:04 side.conf
-rw-r--r-- 1 root root 906 May 7 10:04 surround21.conf
-rw-r--r-- 1 root root 884 May 7 10:04 surround40.conf
-rw-r--r-- 1 root root 987 May 7 10:04 surround41.conf
-rw-r--r-- 1 root root 986 May 7 10:04 surround50.conf
-rw-r--r-- 1 root root 937 May 7 10:04 surround51.conf
-rw-r--r-- 1 root root 985 May 7 10:04 surround71.conf
I see the problem. RPi does not have a card config file for bcm2835 in /usr/share/alsa/cards/ and the advanced PCMs are not loaded. Try to include the hdmi.conf config by calling:
A again check aplay -L whether some hdmi devices (required by PA) appear.
Code:
echo "<confdir:pcm/hdmi.conf>" > ~/.asoundrc
A again check aplay -L whether some hdmi devices (required by PA) appear.
I see the problem. RPi does not have a card config file for bcm2835 in /usr/share/alsa/cards/ and the advanced PCMs are not loaded. Try to include the hdmi.conf config by calling:
Code:echo "<confdir:pcm/hdmi.conf>" > ~/.asoundrc
A again check aplay -L whether some hdmi devices (required by PA) appear.
Okay, I've done that but the output of aplay -L is unchanged.
Code:
pi@raspberrypi:~ $ aplay -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
jack
JACK Audio Connection Kit
pulse
PulseAudio Sound Server
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
dmix:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
dmix:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
dsnoop:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
hw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions
usbstream:CARD=ALSA
bcm2835 ALSA
USB Stream Output
OK, let's create proper card file for your driver. Apparently just including hdmi.conf in .asoundrc does not work, probably requires some variables which are not set (CARD).
First we will learn what filename alsa expects (very likely bcm2835.conf, but let's be certain). Please output of:
If strace is not installed, please do so with
First we will learn what filename alsa expects (very likely bcm2835.conf, but let's be certain). Please output of:
Code:
strace -f aplay -L 2>&1 | grep -i bcm2835
If strace is not installed, please do so with
Code:
sudo aptitude install strace
- Home
- Source & Line
- PC Based
- Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux