Bug 93261

Summary: [snd-usb-audio] Denon DA-300USB DAC playback fails
Product: Drivers Reporter: bugzilla.frnkcg
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.13.0 and later Subsystem:
Regression: No Bisected commit-id:
Attachments: Patch for version 3.13.0
Patch for version 3.19.0+
Dmesg output with kernel 3.19.0+
Patch for version 3.19.0+, compliant style

Description bugzilla.frnkcg 2015-02-14 16:34:07 UTC
Denon DA-300USB DAC is recognized by "aplay -L", but playback fails with error message:

"clock source 41 is not valid, cannot use"

Lsusb reports the device as:

Bus 002 Device 014: ID 154e:1003 D&M Holdings, Inc. (Denon/Marantz) 

Possible fix: treat this device the same as other Denon/Marantz devices, like in the patch below. Works in my case.

=============================================================================

--- linux-3.13.0/sound/usb/quirks.c.orig        2015-02-13 17:45:21.406145714 +0100
+++ linux-3.13.0/sound/usb/quirks.c     2015-02-13 17:27:24.116413460 +0100
@@ -1135,6 +1135,7 @@ void snd_usb_ctl_msg_quirk(struct usb_de
            (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) {
 
                switch (le16_to_cpu(dev->descriptor.idProduct)) {
+               case 0x1003: /* Denon DA-300USB */
                case 0x3005: /* Marantz HD-DAC1 */
                case 0x3006: /* Marantz SA-14S1 */
                        mdelay(20);
Comment 1 bugzilla.frnkcg 2015-02-14 16:35:15 UTC
Created attachment 166801 [details]
Patch for version 3.13.0
Comment 2 Takashi Iwai 2015-02-14 18:02:37 UTC
Marantz devices have a few other quirks to support DSD format.  Does yours also support it?
Comment 3 bugzilla.frnkcg 2015-02-15 12:53:24 UTC
Yes, it also supports DSD.
Comment 4 Takashi Iwai 2015-02-15 20:07:53 UTC
And can you test DSD functionality?  If yes, you can take a look at the latest code and enables the all places for your Denon device.
Comment 5 bugzilla.frnkcg 2015-02-15 21:29:08 UTC
I only have a few DSD files (both 5.6MHz and 2.8MHz), and those already seem to work OK with kernel version 3.13.0. This version only has one place with code for Denon / Marantz devices.

I saw the latest kernel on git has two more places. Would it make sense to try to backport those parts of the code to 3.13.0? I'm asking because I'm not sure yet whether I will be comfortable playing around with the latest kernel on my (only) desktop system.
Comment 6 Takashi Iwai 2015-02-16 06:33:35 UTC
Simply try the latest kernel as is.  The backport has always a risk of mistakes.
Usually you can install multiple kernels on a machine, and keep the good running one.
Comment 7 bugzilla.frnkcg 2015-02-17 17:16:21 UTC
Created attachment 167361 [details]
Patch for version 3.19.0+
Comment 8 bugzilla.frnkcg 2015-02-17 17:17:34 UTC
Created attachment 167371 [details]
Dmesg output with kernel 3.19.0+
Comment 9 Takashi Iwai 2015-02-17 17:20:57 UTC
Thanks.  Could you refresh the patch to follow the compliant style described in Documentation/SubmittingPatches?  Please give your authorship in From: header, put the proper Subject:, put a concise patch description and give your sign-off tag.
Comment 10 bugzilla.frnkcg 2015-02-17 18:27:51 UTC
Created attachment 167381 [details]
Patch for version 3.19.0+, compliant style

I hope this is compliant --- first time I am submitting a patch.
Comment 11 Takashi Iwai 2015-02-17 21:17:06 UTC
Thanks.  I submitted to ML and will merge to upstream later.  It'll be included in the stable kernel then.
Comment 12 bugzilla.frnkcg 2015-02-18 17:31:51 UTC
Cool. Thanks a lot!