[pulseaudio-discuss] Driver falls back to software volume

peterten01 at yahoo.com peterten01 at yahoo.com
Wed Dec 21 14:54:14 UTC 2016


Hi,

I'd like to provide an ALSA driver which is designed to support pulseaudio by default (if that is possible).
The driver works fine with aplay and alsamixer. It provides 6 channels and volume controls.
- One 'Master Playback Volume' (Mono)
- One 'PCM Playback Volume' (6 channels)

However, when I want to add an alsa-sink in pulseaudio the hw volume is not used.

I call:
pacmd load-module module-alsa-sink device=hw:2 control='MOST Mixer'

syslog says:

Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] reserve-wrap.c: Successfully acquired reservation lock on device 'Audio2'
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] reserve-wrap.c: Successfully create reservation lock monitor for device 'Audio2'
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Trying hw:2 with SND_PCM_NO_AUTO_FORMAT ...
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Managed to open hw:2
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: cannot disable ALSA period wakeups
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Maximum hw buffer size is 140 ms
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Set buffer size first (to 96000 samples), period size second (to 96000 samples).
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Device hw:2 doesn't support 44100 Hz, changed to 48000 Hz.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Device hw:2 doesn't support 2 channels, changed to 6.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: ALSA period wakeups were not disabled
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Successfully opened device hw:2.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:2'
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-mixer.c: Probing path 'MOST Mixer'
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-mixer.c: Probe of element 'MOST Mixer' succeeded (volume=0, switch=0, enumeration=0).
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Probed mixer path MOST Mixer:
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-mixer.c: Path MOST Mixer ((null)), direction=1, priority=0, probed=yes, supported=yes, has_mute=no, has_volume=no, has_dB=no, min_volume=0, max_volume=0, min_dB=inf, max_dB=-inf
Dec 21 15:29:49 kar-dk-m21106-m1 kernel: [ 1647.611918] most-snd: volume_info()
Dec 21 15:29:49 kar-dk-m21106-m1 kernel: [ 1647.611923] most-snd: volume_get()
Dec 21 15:29:49 kar-dk-m21106-m1 kernel: [ 1647.611928] most-snd: volume_info()
Dec 21 15:29:49 kar-dk-m21106-m1 kernel: [ 1647.611930] most-snd: volume_get()
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] module-device-restore.c: Restoring volume for sink alsa_output.hw_2.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] module-device-restore.c: Restored volume: 0:  80% 1:  80% 2:  80% 3:  80% 4:  80% 5:  80%
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] module-device-restore.c: Restoring mute state for sink alsa_output.hw_2.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c: Default and alternate sample rates are the same.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c: Created sink 2 "alsa_output.hw_2" with sample spec s16le 6ch 48000Hz and channel map front-left,front-right,rear-left,rear-right,front-center,lfe
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.resolution_bits = "16"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.api = "alsa"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.class = "sound"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.class = "generic"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.subclass = "generic-mix"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.name = "most_snd_tx"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.id = "mdev0-ep01"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.subdevice = "0"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.subdevice_name = "subdevice #0"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.device = "0"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.card = "2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.card_name = "Microchip MOST:2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.long_card_name = "Microchip MOST:2 at usb_device 1-4:1.2, ch 0"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.bus_path = "/devices/virtual/sound/card2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     sysfs.path = "/devices/virtual/sound/card2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.string = "hw:2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.buffering.buffer_size = "80640"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.buffering.fragment_size = "5040"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.access_mode = "mmap+timer"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.description = "Microchip MOST:2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     alsa.mixer_name = "MOST Mixer"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] sink.c:     device.icon_name = "audio-card"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] source.c: Created source 3 "alsa_output.hw_2.monitor" with sample spec s16le 6ch 48000Hz and channel map front-left,front-right,rear-left,rear-right,front-center,lfe
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] source.c:     device.description = "Monitor of Microchip MOST:2"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] source.c:     device.class = "monitor"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Using 16.0 fragments of size 5040 bytes (8.75ms), buffer size is 80640 bytes (140.00ms)
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Time scheduling watermark is 6.12ms
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: hwbuf_unused=0
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: setting avail_min=6427
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-mixer.c: Activating path MOST Mixer
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-mixer.c: Path MOST Mixer ((null)), direction=1, priority=0, probed=yes, supported=yes, has_mute=no, has_volume=no, has_dB=no, min_volume=0, max_volume=0, min_dB=inf, max_dB=-inf
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Driver does not support hardware volume control, falling back to software volume control.
Dec 21 15:29:49 kar-dk-m21106-m1 pulseaudio[1940]: [pulseaudio] alsa-sink.c: Driver does not support hardware mute control, falling back to software mute control. 



I appreciate any hint that helps to get hw volume control running.
Can you help?

Best regards
Peter


More information about the pulseaudio-discuss mailing list