Bug 115641 - No sound on Sound Blaster ZxR 1102:0012
Summary: No sound on Sound Blaster ZxR 1102:0012
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-31 17:51 UTC by Robin Kauffman
Modified: 2018-10-06 19:57 UTC (History)
4 users (show)

See Also:
Kernel Version: 4.6.0-rc1-00501-gb5517f8 (rebase of agd5f's drm-next-4.7-wip-polaris, commit 92399287bd0814b57a2c4a1f05d559f0fa1f1ee5, on top of Linus' master, commit f55532a0c0b8bb6148f4e07853b876ef73bc69ca, plus EFI quilt, KDBUS submodule, airlied reversions)
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Output of /usr/sbin/alsa_info.sh (version 1.1.0) (87.55 KB, text/plain)
2016-03-31 17:51 UTC, Robin Kauffman
Details
Output of /usr/sbin/alsa-info.sh with snd_hda_intel.probe_mask=,,2 in the kernel cmdline (110.81 KB, text/plain)
2016-04-22 18:47 UTC, Robin Kauffman
Details

Description Robin Kauffman 2016-03-31 17:51:55 UTC
Created attachment 211301 [details]
Output of /usr/sbin/alsa_info.sh (version 1.1.0)

Creative Labs Sound Blaster ZxR, worked (briefly) under Windows 10 (before the driver crashed and W10 ate the driver install).  Hardware is assumed to be functional.  No change in audio output connections since device was functioning.

All audio output happens through line-out and headphone jacks (headphones are plugged into the Creative Labs headphone/mic doodad, headphone connection worked under W10; speakers are plugged into analog line out, speakers worked under W10).  Would test S/PDIF / ToSlink, but have no devices to test with.

Intel HDA driver and CA0132 codec/DSP driver are compiled as modules.

Relevant kernel output follows:
[   30.949900] ACPI Error: Method parse/execution failed [\_SB.PCI0.VGA.ATC0] (Node ffff8802368a7168), AE_NOT_FOUND
[   30.972795] snd_hda_codec_ca0132 hdaudioC2D1: autoconfig for CA0132: line_outs=1 (0xd/0x0/0x0/0x0/0x0) type:speaker
[   30.972797] snd_hda_codec_ca0132 hdaudioC2D1:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   30.972798] snd_hda_codec_ca0132 hdaudioC2D1:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   30.972798] snd_hda_codec_ca0132 hdaudioC2D1:    mono: mono_out=0x0
[   30.972799] snd_hda_codec_ca0132 hdaudioC2D1:    inputs:
[   30.972800] snd_hda_codec_ca0132 hdaudioC2D1:      Mic=0x12
[   31.008143] usbcore: registered new interface driver btusb
[   31.093370]  (20160108/psparse-542)
[   31.100455] ACPI Error: Method parse/execution failed [\_SB.PCI0.VGA.ATCS] (Node ffff8802368a7140), AE_NOT_FOUND (20160108/psparse-542)
[   32.881650] snd_hda_codec_ca0132 hdaudioC2D1: ca0132 DSP downloaded and running
[   33.118917] snd_hda_codec_ca0132 hdaudioC2D2: autoconfig for CA0132: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[   33.146357] snd_hda_codec_ca0132 hdaudioC2D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   33.166711] snd_hda_codec_ca0132 hdaudioC2D2:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   33.185769] snd_hda_codec_ca0132 hdaudioC2D2:    mono: mono_out=0x0
[   33.201453] snd_hda_codec_ca0132 hdaudioC2D2:    dig-out=0xc/0x0
[   33.216351] snd_hda_codec_ca0132 hdaudioC2D2:    inputs:
[   33.229157] snd_hda_codec_ca0132 hdaudioC2D2:      Aux=0x11
[   33.242721] snd_hda_codec_ca0132 hdaudioC2D2:    dig-in=0xe
[   33.833394] snd_hda_codec_ca0132 hdaudioC2D2: ca0132 DSP downloaded and running
[   34.070348] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Volume:0 is already present
[   34.093860] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Switch:0 is already present
[   34.117374] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Volume:0 is already present
[   34.138792] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Switch:0 is already present
[   34.160282] snd_hda_intel 0000:01:00.0: control 2:0:0:Analog-Mic2 Capture Volume:0 is already present
[   34.184880] snd_hda_intel 0000:01:00.0: control 2:0:0:Analog-Mic2 Capture Switch:0 is already present
[   34.209462] snd_hda_intel 0000:01:00.0: control 2:0:0:What U Hear Capture Volume:0 is already present
[   34.234019] snd_hda_intel 0000:01:00.0: control 2:0:0:What U Hear Capture Switch:0 is already present
[   34.258609] snd_hda_intel 0000:01:00.0: control 2:0:0:Mic1-Boost (30dB) Capture Switch:0 is already present
[   34.284775] snd_hda_intel 0000:01:00.0: control 2:0:0:HP/Speaker Playback Switch:0 is already present
[   34.309383] snd_hda_intel 0000:01:00.0: control 2:0:0:AMic1/DMic Capture Switch:0 is already present
[   34.333707] snd_hda_intel 0000:01:00.0: control 2:0:0:HP/Speaker Auto Detect Playback Switch:0 is already present
[   34.361450] snd_hda_intel 0000:01:00.0: control 2:0:0:AMic1/DMic Auto Detect Capture Switch:0 is already present
[   34.388943] snd_hda_intel 0000:01:00.0: control 2:0:0:Surround Playback Switch:0 is already present
[   34.413167] snd_hda_codec_ca0132: probe of hdaudioC2D2 failed with error -16
[   34.432685] snd_hda_codec_ca0132 hdaudioC2D2: autoconfig for CA0132: line_outs=2 (0xb/0x11/0x0/0x0/0x0) type:line
[   34.460482] snd_hda_codec_ca0132 hdaudioC2D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   34.480887] snd_hda_codec_ca0132 hdaudioC2D2:    hp_outs=2 (0x10/0xf/0x0/0x0/0x0)
[   34.500245] snd_hda_codec_ca0132 hdaudioC2D2:    mono: mono_out=0x0
[   34.515968] snd_hda_codec_ca0132 hdaudioC2D2:    dig-out=0xc/0xd
[   34.530915] snd_hda_codec_ca0132 hdaudioC2D2:    inputs:
[   34.543784] snd_hda_codec_ca0132 hdaudioC2D2:      Mic=0x12
[   34.557410] snd_hda_codec_ca0132 hdaudioC2D2:      Line=0x13
[   34.571236] snd_hda_codec_ca0132 hdaudioC2D2:    dig-in=0xe
[   35.161458] snd_hda_codec_ca0132 hdaudioC2D2: ca0132 DSP downloaded and running
[   35.398269] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Volume:0 is already present
[   35.421806] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Switch:0 is already present
[   35.445317] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Volume:0 is already present
[   35.466812] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Switch:0 is already present
[   35.488217] snd_hda_intel 0000:01:00.0: control 2:0:0:Analog-Mic2 Capture Volume:0 is already present
[   35.512708] snd_hda_intel 0000:01:00.0: control 2:0:0:Analog-Mic2 Capture Switch:0 is already present
[   35.537198] snd_hda_intel 0000:01:00.0: control 2:0:0:What U Hear Capture Volume:0 is already present
[   35.561674] snd_hda_intel 0000:01:00.0: control 2:0:0:What U Hear Capture Switch:0 is already present
[   35.586141] snd_hda_intel 0000:01:00.0: control 2:0:0:Mic1-Boost (30dB) Capture Switch:0 is already present
[   35.612166] snd_hda_intel 0000:01:00.0: control 2:0:0:HP/Speaker Playback Switch:0 is already present
[   35.636637] snd_hda_intel 0000:01:00.0: control 2:0:0:AMic1/DMic Capture Switch:0 is already present
[   35.660800] snd_hda_intel 0000:01:00.0: control 2:0:0:HP/Speaker Auto Detect Playback Switch:0 is already present
[   35.688375] snd_hda_intel 0000:01:00.0: control 2:0:0:AMic1/DMic Auto Detect Capture Switch:0 is already present
[   35.715690] snd_hda_intel 0000:01:00.0: control 2:0:0:Surround Playback Switch:0 is already present
[   35.739656] snd_hda_codec_ca0132: probe of hdaudioC2D2 failed with error -16
[   35.759122] snd_hda_codec_generic hdaudioC2D2: autoconfig for Generic: line_outs=2 (0xb/0x11/0x0/0x0/0x0) type:line
[   35.787257] snd_hda_codec_generic hdaudioC2D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   35.807833] snd_hda_codec_generic hdaudioC2D2:    hp_outs=2 (0x10/0xf/0x0/0x0/0x0)
[   35.827362] snd_hda_codec_generic hdaudioC2D2:    mono: mono_out=0x0
[   35.843235] snd_hda_codec_generic hdaudioC2D2:    dig-out=0xc/0xd
[   35.858331] snd_hda_codec_generic hdaudioC2D2:    inputs:
[   35.871305] snd_hda_codec_generic hdaudioC2D2:      Mic=0x12
[   35.885055] snd_hda_codec_generic hdaudioC2D2:      Line=0x13
[   35.899053] snd_hda_codec_generic hdaudioC2D2:    dig-in=0xe
[   35.915825] snd_hda_intel 0000:01:00.0: control 2:0:0:Surround Playback Switch:0 is already present
[   35.939710] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Volume:0 is already present
[   35.960976] snd_hda_intel 0000:01:00.0: control 2:0:0:Capture Switch:0 is already present
[   35.982329] snd_hda_intel 0000:01:00.0: control 2:0:0:IEC958 Default PCM Playback Switch:0 is already present
[   36.008876] snd_hda_codec_generic: probe of hdaudioC2D2 failed with error -16
[   36.027081] hdaudio hdaudioC2D2: Unable to bind the codec
[   36.649442] snd_hda_codec_ca0132 hdaudioC2D1: ca0132 DSP downloaded and running

Output of alsa_info.sh is attached.

Please let me know if you require any more information, or output from a different (newer? (version 1.1.0 is the version of my alsa-utils/libs/etc, so I thought that would be more helpful)) version of alsa_info.sh, or anything that sysfs et al might provide that isn't here.

        -Robin K.
Comment 1 Raymond 2016-04-01 02:11:09 UTC
Codec: Creative CA0132 Address: 1 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x11020011 Subsystem Id: 0x11020033 Revision Id: 0x100918

Codec: Creative Generic Address: 2 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x11020011 Subsystem Id: 0x1102003f Revision Id: 0x100918

Try probe_mask to use only one codec
Comment 2 Raymond 2016-04-01 03:52:45 UTC
[ 13.316022] ALSA device list
: [ 13.321061] No soundcards found.

Do your system have other problem since it is strange that no sound card found, your sound were detected around 23 seconds? 

XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e g happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Comment 3 Robin Kauffman 2016-04-01 16:32:58 UTC
(In reply to Raymond from comment #2)
> [ 13.316022] ALSA device list
> : [ 13.321061] No soundcards found.
> 
> Do your system have other problem since it is strange that no sound card
> found, your sound were detected around 23 seconds? 
> 
> XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid
> 1000! (This could e g happen if you try to connect to a non-root PulseAudio
> as a root user, over the native protocol. Don't do that.)

As far as I know, I don't have any other issues with hardware or my Linux kernel's ability to detect hardware.  It *is* odd that the detection of the CA0132 comes a bit late (just about the last hardware device to be detected).

Since alsa_info.sh was in /usr/sbin/, I ran it as root via su (meaning the environment from UID 1000 was preserved).  I *shouldn't* have any UID 0 process connecting to my PulseAudio daemon, but it's not impossible.  I just hope it isn't happening (beyond possibly alsa_info.sh, given that I ran it as UID 0 with UID 1000's environment).
Comment 4 Raymond 2016-04-01 16:49:38 UTC
But your ca0132 was detected twice and the driver warn about duplicate controls
Comment 5 Raymond 2016-04-01 17:01:42 UTC
[ 32.881650] snd_hda_codec_ca0132 hdaudioC2D1: ca0132 DSP downloaded and running 
[ 33.118917] snd_hda_codec_ca0132 hdaudioC2D2: autoconfig for CA0132: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line 
[ 33.146357] snd_hda_codec_ca0132 hdaudioC2D2: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) 
[ 33.166711] snd_hda_codec_ca0132 hdaudioC2D2: hp_outs=0 (0x0/0x0/0x0/0x0/0x0) 
[ 33.185769] snd_hda_codec_ca0132 hdaudioC2D2: mono: mono_out=0x0 
[ 33.201453] snd_hda_codec_ca0132 hdaudioC2D2: dig-out=0xc/0x0 
[ 33.216351] snd_hda_codec_ca0132 hdaudioC2D2: inputs: [ 33.229157] snd_hda_codec_ca0132 hdaudioC2D2: Aux=0x11 
[ 33.242721] snd_hda_codec_ca0132 hdaudioC2D2: dig-in=0xe 

[ 33.833394] snd_hda_codec_ca0132 hdaudioC2D2: ca0132 DSP downloaded and running 
[ 34.070348] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Volume:0 is already present 
[ 34.093860] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback Switch:0 is already present

Seem load dsp firmware twice
Comment 6 Robin Kauffman 2016-04-01 17:09:42 UTC
(In reply to Raymond from comment #1)
> Codec: Creative CA0132 Address: 1 AFG Function Id: 0x1 (unsol 1) Vendor Id:
> 0x11020011 Subsystem Id: 0x11020033 Revision Id: 0x100918
> 
> Codec: Creative Generic Address: 2 AFG Function Id: 0x1 (unsol 1) Vendor Id:
> 0x11020011 Subsystem Id: 0x1102003f Revision Id: 0x100918
> 
> Try probe_mask to use only one codec

No success yet with sound_hda_intel.probe_mask=1, will keep trying.
Comment 7 Robin Kauffman 2016-04-01 17:50:18 UTC
(In reply to Raymond from comment #5)
> [ 32.881650] snd_hda_codec_ca0132 hdaudioC2D1: ca0132 DSP downloaded and
> running 
> [ 33.118917] snd_hda_codec_ca0132 hdaudioC2D2: autoconfig for CA0132:
> line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line 
> [ 33.146357] snd_hda_codec_ca0132 hdaudioC2D2: speaker_outs=0
> (0x0/0x0/0x0/0x0/0x0) 
> [ 33.166711] snd_hda_codec_ca0132 hdaudioC2D2: hp_outs=0
> (0x0/0x0/0x0/0x0/0x0) 
> [ 33.185769] snd_hda_codec_ca0132 hdaudioC2D2: mono: mono_out=0x0 
> [ 33.201453] snd_hda_codec_ca0132 hdaudioC2D2: dig-out=0xc/0x0 
> [ 33.216351] snd_hda_codec_ca0132 hdaudioC2D2: inputs: [ 33.229157]
> snd_hda_codec_ca0132 hdaudioC2D2: Aux=0x11 
> [ 33.242721] snd_hda_codec_ca0132 hdaudioC2D2: dig-in=0xe 
> 
> [ 33.833394] snd_hda_codec_ca0132 hdaudioC2D2: ca0132 DSP downloaded and
> running 
> [ 34.070348] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback
> Volume:0 is already present 
> [ 34.093860] snd_hda_intel 0000:01:00.0: control 2:0:0:Master Playback
> Switch:0 is already present
> 
> Seem load dsp firmware twice

Yep, and I assume that's because the codec driver is trying to probe/instantiate both slots for the ca0132.  I'm sure it's non-ideal, but don't know if it's problematic enough to be causing my issues.  Have set sound_hda_intel.probe_mask=1 by removing devices, unloading the sound_hda_* modules, reloading snd_hda_intel with probe_mask=1, and then sending a '1\n' to /sys/bus/pci/rescan.  DSP firmware only gets loaded once, but no sound (yet).  Haven't tried probe_mask=2, nor have I tried passing snd_hda_intel.probe_mask=2 in as a kernel commandline option (will do next boot).
Comment 8 Raymond 2016-04-02 01:38:12 UTC
Did yoiu specify imdex simce you have three hda controllers ?
Comment 9 Takashi Iwai 2016-04-05 13:15:45 UTC
Interesting that the board has two codecs.  How many physical I/Os does the Creative sound board have?

In anyway, the Creative board is the third entry, and the codecs are found on address 1 and 2.  So you'll need to pass probe_mask=,,2 or probe_mask=-1,-1,2  (where 2 mean the address 1; for address 2, use 4 instead of 2).
Comment 10 Robin Kauffman 2016-04-22 18:47:58 UTC
Created attachment 213711 [details]
Output of /usr/sbin/alsa-info.sh with snd_hda_intel.probe_mask=,,2 in the kernel cmdline

Tried booting with snd_hda_intel.probe_mask=,,2 and still couldn't get any analog sound.  Attached is the output of /usr/sbin/alsa-info.sh.
Comment 11 Robin Kauffman 2016-04-22 18:55:44 UTC
(In reply to Takashi Iwai from comment #9)
> Interesting that the board has two codecs.  How many physical I/Os does the
> Creative sound board have?
> 
> In anyway, the Creative board is the third entry, and the codecs are found
> on address 1 and 2.  So you'll need to pass probe_mask=,,2 or
> probe_mask=-1,-1,2  (where 2 mean the address 1; for address 2, use 4
> instead of 2).

Hi Takashi-
    Sorry for not responding sooner.  I tried booting with snd_hda_intel.probe_mask=,,2, and it still doesn't seem to work.  In answer to your question, the ZxR has just two channels of analog audio out, but has a headphone and speaker port.  I'm *guessing* you can't send two channels to the headphone port and two other channels to the speaker port simultaneously, but I could be wrong.  With the daughterboard attached (seems to just house analog logic and extra ports), you can run two channels of line-in-level analog audio into the card.  The main card features a headphone jack which I *believe* is single-channel, although I'm not 100% sure there either.  Finally, the daughtercard adds a ToSlink output and a ToSlink input for digital audio I/O.

    Should I try booting with snd_hda_intel.probe_mask=,,4?

        -Robin K.
Comment 12 Robin Kauffman 2016-04-22 18:57:27 UTC
(In reply to Takashi Iwai from comment #9)
> Interesting that the board has two codecs.  How many physical I/Os does the
> Creative sound board have?
> 
> In anyway, the Creative board is the third entry, and the codecs are found
> on address 1 and 2.  So you'll need to pass probe_mask=,,2 or
> probe_mask=-1,-1,2  (where 2 mean the address 1; for address 2, use 4
> instead of 2).

Also, apologies for the dmesg in the most recent alsa-info.sh output lacking anything useful about snd_hda_intel/patch_ca0132.  The kernel I'm running tends to spam dmesg with '[drm] rcu slot is busy' and anything that showed up at first boot has long been pushed off the ring buffer.
Comment 13 Robin Kauffman 2016-04-25 00:36:25 UTC
probe_mask=,,4 seems to have the same issue.  Should I go for broke and try probe_mask=,,8?
Comment 14 Raymond 2016-04-25 03:02:36 UTC
http://support.creative.com/kb/ShowArticle.aspx?sid=112337


Software features	With DBPro connection	Without DBPro connection
Cinematic (SBZ Control Panel)	Yes	No
Advanced Features (SBZ Control Panel)	Yes	No
SPDIF Out (Windows Control Panel)	Yes	No
SPDIF IN (Windows Control Panel)	Yes	No
AUX-IN (Windows Control Panel)	Yes	No
Comment 15 Raymond 2016-04-25 03:55:24 UTC
do it mean jack detection does not work since none of those jacks in your alsa-info return TRUE
Comment 16 Raymond 2016-04-25 11:48:30 UTC
which codec still appear when you disconnect DBpro cable ?
Comment 17 Patrick 2016-05-15 15:33:31 UTC
Output with disconnected daughter board:
http://www.alsa-project.org/db/?f=faf934a02535b47660c4785efe2011f543655677
Comment 18 Robin Kauffman 2018-10-06 19:57:40 UTC
Works with Conrad McAdams' patchset[1] (and the AE-5 commits[2] in Takashi Iwai's sound.git repo[3], which I only merged in to get the ZxR patchset (which included modifications to the AE-5 additions) to apply cleanly), since merged[4] into tawai's sound.git[3] and presumably (soon-to-be-)queued for inclusion in the upstream kernel.

1. https://lore.kernel.org/patchwork/series/367898/mbox/
2. bf85a91c2f96cf022ada65921d2805fa87f15b8f..edb1b3abdb20597d92a68c34afba9b01848b2acf
3. https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
4. 4b432ad4ca8cd63ab1c0b45d9af2d1fe7796944d..96395e86e3f4c7f520bb7c53c7eee41b1992ebc2

Note You need to log in before you can comment on or make changes to this bug.