<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Lack of hardware volume no longer supported with HifimeDIY Tiny"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99607">99607</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Lack of hardware volume no longer supported with HifimeDIY Tiny
</td>
</tr>
<tr>
<th>Product</th>
<td>PulseAudio
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>alsa
</td>
</tr>
<tr>
<th>Assignee</th>
<td>pulseaudio-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>an.inbox@free.fr
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>pulseaudio-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>lennart@poettering.net
</td>
</tr></table>
<p>
<div>
<pre>Hi,
I'm using a HifimeDIY Tiny USB DAC
(<a href="http://hifimediy.com/DACs/ready-made-dacs/tiny-dac">http://hifimediy.com/DACs/ready-made-dacs/tiny-dac</a>), which doesn't support
hardware volume (fixed analog gain). This used to work on Debian Jessie, but no
longer with Stretch.
This USB DAC is peculiar: it has a first DAC, the TI Burr-Brown, which is only
used for its USB interface. Its analog interface is not connected nor used, but
the Burr-Brown SPDIF output is connected to the input of a Sabre DAC. It's the
Sabre that is actually used to generate the analog output. And the set-up has a
fixed analog gain, so the volume control must be done in software.
In Debian Jessie, I could see the two outputs of the Burr-Brown under
pulseaudio, analog and SPDIF (IEC958). Analog was the default and of course
gave no output, but I just had to select the IEC958 output to get a working
system, with proper volume control.
Now on Stretch I don't see the IEC958 output at all. The output is configured
as analog stereo by default, and I do have audio output! So the SPDIF output of
the burr-Brown must be used then? However pulseaudio/alsa believe there is
hardware volume control, which is not the case: if the volume is at any value
but zero, then the output level is full blast. It's really a step function:
mute or max output.
I guess this could be solved in one of two ways?:
1) show back the IEC958 option
2) disable hardware volume control for this card
I've tried to look for ways to do this without success, but then Linux sound
support is new to me so I may have missed something. Thanks for any
help/pointer.
I add some info on the dongle as seen by the system:
== pacmd list-cards (just the dongle) ===========================
index: 2
name: <alsa_card.usb-Burr-Brown_from_TI_USB_Audio_DAC-00>
driver: <module-alsa-card.c>
owner module: 29
properties:
alsa.card = "2"
alsa.card_name = "USB Audio DAC"
alsa.long_card_name = "Burr-Brown from TI USB Audio DAC at
usb-0000:00:14.0-1, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:14.0-usb-0:1:1.0"
sysfs.path =
"/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/sound/card2"
udev.id = "usb-Burr-Brown_from_TI_USB_Audio_DAC-00"
device.bus = "usb"
device.vendor.id = "08bb"
device.vendor.name = "Texas Instruments"
device.product.id = "2706"
device.product.name = "PCM2706 Audio Codec"
device.serial = "Burr-Brown_from_TI_USB_Audio_DAC"
device.string = "2"
device.description = "PCM2706 Audio Codec"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
profiles:
output:analog-mono: Analog Mono Output (priority 200,
available: unknown)
output:analog-stereo: Analog Stereo Output (priority 6000,
available: unknown)
off: Off (priority 0, available: unknown)
active profile: <output:analog-stereo>
sinks:
alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo/#2: PCM2706
Audio Codec Analog Stereo
sources:
alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo.monitor/#3:
Monitor of PCM2706 Audio Codec Analog Stereo
ports:
analog-output: Analog Output (priority 9900, latency offset 0
usec, available: unknown)
properties:
== pacmd list-sources (only USB DAC) =====================
index: 3
name:
<alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1040
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100%
/ 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
monitor_of: 2
card: 2 <alsa_card.usb-Burr-Brown_from_TI_USB_Audio_DAC-00>
module: 29
properties:
device.description = "Monitor of PCM2706 Audio Codec Analog
Stereo"
device.class = "monitor"
alsa.card = "2"
alsa.card_name = "USB Audio DAC"
alsa.long_card_name = "Burr-Brown from TI USB Audio DAC at
usb-0000:00:14.0-1, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:14.0-usb-0:1:1.0"
sysfs.path =
"/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/sound/card2"
udev.id = "usb-Burr-Brown_from_TI_USB_Audio_DAC-00"
device.bus = "usb"
device.vendor.id = "08bb"
device.vendor.name = "Texas Instruments"
device.product.id = "2706"
device.product.name = "PCM2706 Audio Codec"
device.serial = "Burr-Brown_from_TI_USB_Audio_DAC"
device.string = "2"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
== lsusb -d 08bb:2706 -v ==========================
Bus 001 Device 005: ID 08bb:2706 Texas Instruments PCM2706 Audio Codec
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x08bb Texas Instruments
idProduct 0x2706 PCM2706 Audio Codec
bcdDevice 1.00
iManufacturer 1 Burr-Brown from TI
iProduct 2 USB Audio DAC
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 190
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 40
bInCollection 1
baInterfaceNr( 0) 1
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 3
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 3
bSourceID 1
bControlSize 1
bmaControls( 0) 0x01
Mute Control
bmaControls( 1) 0x02
Volume Control
bmaControls( 2) 0x02
Volume Control
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 3 Discrete
tSamFreq[ 0] 32000
tSamFreq[ 1] 44100
tSamFreq[ 2] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 512 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 2
bBitResolution 16
bSamFreqType 3 Discrete
tSamFreq[ 0] 32000
tSamFreq[ 1] 44100
tSamFreq[ 2] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0060 1x 96 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 512 Decoded PCM samples
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 36
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>