[alsa-devel] [bug] SPDIF (digital-out) not working on NForce4/CK804
Hi all,
Sorry to bump in like this, but I was advised to submit a bug-report for the ALSA-drivers on my HTPC: no sound comes through out of my AVR when I select the digital output through SPDIF (TOSLINK).
The relevant parts of my HTPC are as follows: * CPU: Athlon64 X2 3800+ * Motherboard: ASUS A8N-SLI Deluxe motherboard (BIOS 1805) NForce4 with CK804 sound (relying on a Realtek ALC850 chip) * RAM: 2x 512 MB DDR-400 * GPU: nVidia Geforce GT240 (which carries a HDMI port and uses the snd- * Receiver: Marantz SR7500 (supporting both Dolby Digital 5.1 and DTS decoding), connected to motherboard's SPDIF TOSLINK port (optical) + JBL 5.1 speaker-set * OpenElec 4.2.0: Kernel 3.16.3, Alsa 1.0.28
Symptoms: Speaker-test does not produce any sound. Command used is as follows:
speaker-test -c2 -r 48000 -D hw:0,2
No sound either from other applications (such as XBMC 13.2).
SPDIF worked flawlessly on the exact same hardware & connections using Win7/XBMC. Sound does come through the SPDIF when I use hw:0,0 (= analog device).
Things tried (none working): * Blacklisting snd-hda-intel (= HDMI from my GPU) to make sure CK804 is the only sound chip visible.
* amixer set 'IEC958 Playback AC97-SPSA' Playback 100% unmute
* Contacted XBMC developer via IRC for investigation: concluded that problem would be with kernel driver, advised to create this bug-report.
* Tried another distro (Ubuntu from XBMCBuntu 13.0).
Further details which might be useful: * alsa-info.sh output: http://pastebin.com/Bp2ZGfZb
* /proc/asound/card0/ac97#0-0: http://pastebin.com/Q5y1J0Ra
* /proc/asound/card0/ac97#0-0+regs: http://pastebin.com/tBbTCxZg
Similar reports found (no working solution): http://mailman.alsa-project.org/pipermail/alsa-devel/2009-September/021336.h... http://askubuntu.com/questions/264272/no-sound-output-msi-k8n-neo4-ck804-ac9... http://askubuntu.com/questions/462605/new-install-of-ubuntu-14-04-trusty-3-a... https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615225 http://ehc.ac/p/alsa/mailman/message/25973743/ http://wiki.linuxmce.org/index.php/ASUS_A8N-SLI_Deluxe http://forum.xbmc.org/showthread.php?tid=156043&pid=1348176 http://forum.xbmc.org/showthread.php?tid=168608 http://ubuntuforums.org/showthread.php?t=2210288 http://cholla.mmto.org/computers/linux/sound/asus_a8ne.html http://www.nvnews.net/vbulletin/showthread.php?t=80521 ...
I am willing to test or provide further details where needed. I am new to Linux, but am a developer myself (C#) so I know how to look up some info... Hoping I haven't offended any of you with this post.
THNX, Bye!
Sorry to bump in like this, but I was advised to submit a bug-report for
the ALSA-drivers on my HTPC: no sound comes through out of my AVR when I select the digital output through SPDIF (TOSLINK).
The relevant parts of my HTPC are as follows: * CPU: Athlon64 X2 3800+ * Motherboard: ASUS A8N-SLI Deluxe motherboard (BIOS 1805) NForce4
with CK804 sound (relying on a Realtek ALC850 chip)
* RAM: 2x 512 MB DDR-400 * GPU: nVidia Geforce GT240 (which carries a HDMI port and uses the
snd-
* Receiver: Marantz SR7500 (supporting both Dolby Digital 5.1 and DTS
decoding), connected to motherboard's SPDIF TOSLINK port (optical) + JBL 5.1 speaker-set
* OpenElec 4.2.0: Kernel 3.16.3, Alsa 1.0.28
Symptoms: Speaker-test does not produce any sound. Command used is as follows:
speaker-test -c2 -r 48000 -D hw:0,2
No sound either from other applications (such as XBMC 13.2).
SPDIF worked flawlessly on the exact same hardware & connections using
Win7/XBMC.
Sound does come through the SPDIF when I use hw:0,0 (= analog device).
Things tried (none working): * Blacklisting snd-hda-intel (= HDMI from my GPU) to make sure CK804
is the only sound chip visible.
* amixer set 'IEC958 Playback AC97-SPSA' Playback 100% unmute
http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=31&am...
Take a look at alc850 datasheet
Simple mixer control 'IEC958 Playback AC97-SPSA',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 3 Mono: 0 [0%]
This is not volume control, it is SPDIF out Slot Assignment in ac97 link
You have to use iec958:CARD=CK804
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/NFORCE.c...
Simple mixer control 'IEC958 Playback Source',0 Capabilities: enum Items: 'PCM' 'Analog In' 'IEC958 In Item0: 'PCM'
* Contacted XBMC developer via IRC for investigation: concluded that
problem would be with kernel driver, advised to create this bug-report.
* Tried another distro (Ubuntu from XBMCBuntu 13.0).
Further details which might be useful: * alsa-info.sh output:http://pastebin.com/Bp2ZGfZb
* /proc/asound/card0/ac97#0-0:http://pastebin.com/Q5y1J0Ra * /proc/asound/card0/ac97#0-0+regs:http://pastebin.com/tBbTCxZg
Similar reports found (no working solution):
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-September/021336.h...
http://askubuntu.com/questions/264272/no-sound-output-msi-k8n-neo4-ck804-ac9...
http://askubuntu.com/questions/462605/new-install-of-ubuntu-14-04-trusty-3-a...
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615225 http://ehc.ac/p/alsa/mailman/message/25973743/ http://wiki.linuxmce.org/index.php/ASUS_A8N-SLI_Deluxe http://forum.xbmc.org/showthread.php?tid=156043&pid=1348176 http://forum.xbmc.org/showthread.php?tid=168608 http://ubuntuforums.org/showthread.php?t=2210288 http://cholla.mmto.org/computers/linux/sound/asus_a8ne.html http://www.nvnews.net/vbulletin/showthread.php?t=80521 ...
Hi,
Command tried:
speaker-test -c2 -r 48000 -D iec958:CARD=CK804,DEV=0
Still no sound coming through AVR...
For the sake of completeness, I provide a new alsa-info.sh output: http://sprunge.us/ZWLF (I blacklisted the snd_hda_intel this time just to be on the safe side).
The git-link below ( http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/NFORCE.c... ) seems to point to the .conf for nForce2/3; min is a nForce4 (don't know if nForce4 is supposed to use this same .conf).
THNX already, Bye! _____ *Gilles Hemberg* /gilles.hemberg@gmail.com/
On 03/10/2014 09:31, Raymond Yau wrote:>
Sorry to bump in like this, but I was advised to submit a bug-report
for the ALSA-drivers on my HTPC: no sound comes through out of my AVR when I select the digital output through SPDIF (TOSLINK).
The relevant parts of my HTPC are as follows: * CPU: Athlon64 X2 3800+ * Motherboard: ASUS A8N-SLI Deluxe motherboard (BIOS 1805)
NForce4 with CK804 sound (relying on a Realtek ALC850 chip)
* RAM: 2x 512 MB DDR-400 * GPU: nVidia Geforce GT240 (which carries a HDMI port and uses
the snd-
* Receiver: Marantz SR7500 (supporting both Dolby Digital 5.1
and DTS decoding), connected to motherboard's SPDIF TOSLINK port (optical) + JBL 5.1 speaker-set
* OpenElec 4.2.0: Kernel 3.16.3, Alsa 1.0.28
Symptoms: Speaker-test does not produce any sound. Command used is as follows:
speaker-test -c2 -r 48000 -D hw:0,2
No sound either from other applications (such as XBMC 13.2).
SPDIF worked flawlessly on the exact same hardware & connections
using Win7/XBMC.
Sound does come through the SPDIF when I use hw:0,0 (= analog device).
Things tried (none working): * Blacklisting snd-hda-intel (= HDMI from my GPU) to make sure
CK804 is the only sound chip visible.
* amixer set 'IEC958 Playback AC97-SPSA' Playback 100% unmute
http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=31&am...
Take a look at alc850 datasheet
Simple mixer control 'IEC958 Playback AC97-SPSA',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 3 Mono: 0 [0%]
This is not volume control, it is SPDIF out Slot Assignment in ac97 link
You have to use iec958:CARD=CK804
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/NFORCE.c...
Simple mixer control 'IEC958 Playback Source',0 Capabilities: enum Items: 'PCM' 'Analog In' 'IEC958 In Item0: 'PCM'
Command tried:
speaker-test -c2 -r 48000 -D iec958:CARD=CK804,DEV=0
Still no sound coming through AVR...
For the sake of completeness, I provide a new alsa-info.sh output:
http://sprunge.us/ZWLF(I blacklisted the snd_hda_intel this time just to be on the safe side).
The git-link below (
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/NFORCE.c...) seems to point to the .conf for nForce2/3; min is a nForce4 (don't know if nForce4 is supposed to use this same .conf).
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
Either use spdif over ac-link or you have to find out how to use nforce4 secondary spdif output
http://www.nvidia.com/page/pg_20041014863476.html
AUDIO
AC ’97 2.3 compliant interface
Supports 2, 4, 6, or 8-channel audio Dual AC-Link: supports up to two codecs Dual S/PDIF: supports two simultaneous digital outputs; handles stereo PCM or AC-3 output 16-bit or 20-bit stereo, 48kHz output and 16-bit input streams across AC-Link 24-bit, 96kHz stereo output on the secondary S/PDIF output
Sorry to bump in like this, but I was advised to submit a bug-report
for the ALSA-drivers on my HTPC: no sound comes through out of my AVR when I select the digital output through SPDIF (TOSLINK).
The relevant parts of my HTPC are as follows: * CPU: Athlon64 X2 3800+ * Motherboard: ASUS A8N-SLI Deluxe motherboard (BIOS 1805) NForce4
with CK804 sound (relying on a Realtek ALC850 chip)
* RAM: 2x 512 MB DDR-400 * GPU: nVidia Geforce GT240 (which carries a HDMI port and uses
the snd-
* Receiver: Marantz SR7500 (supporting both Dolby Digital 5.1 and
DTS decoding), connected to motherboard's SPDIF TOSLINK port (optical) + JBL 5.1 speaker-set
* OpenElec 4.2.0: Kernel 3.16.3, Alsa 1.0.28
Symptoms: Speaker-test does not produce any sound. Command used is as follows:
speaker-test -c2 -r 48000 -D hw:0,2
No sound either from other applications (such as XBMC 13.2).
SPDIF worked flawlessly on the exact same hardware & connections using
Win7/XBMC.
Sound does come through the SPDIF when I use hw:0,0 (= analog device).
Things tried (none working): * Blacklisting snd-hda-intel (= HDMI from my GPU) to make sure
CK804 is the only sound chip visible.
* amixer set 'IEC958 Playback AC97-SPSA' Playback 100% unmute
http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=31&am...
Take a look at alc850 datasheet
Simple mixer control 'IEC958 Playback AC97-SPSA',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 3 Mono: 0 [0%]
This is not volume control, it is SPDIF out Slot Assignment in ac97 link
Hi,
It works!
Solution (in OpenElec 4.2.0; settings on other distros would be similar): * Create custom asound.state in /storage/.config/ with the following contents: http://sprunge.us/SiHH (this state-file will, among other things, unmute the appropriate mixer controls, set proper output formats, ...).
* Load the above state file with the following command:
alsactl nrestore 0 -f /storage/.config/asound.state (replace the "0" with the card-number corresponding to CK804 on your system)
You may want to add this command to a custom autostart.sh in /storage/.config/ so the state is restored on every boot.
* Create intel8x0.conf in /storage/.config/modprobe.d/ with the following contents:
options snd-intel8x0 spdif_aclink=1 (I am told that this above setting depends on the specific motherboard, so this may not work for everyone: it does work on my ASUS A8N-SLI Deluxe)
This was the final setting that solved the issue for me. I did try this setting before, but it seems that some sources on the Internet had this mis-written as "options snd-intel-8x0 spdif_aclink=1" (notice the extra dash).
* In XBMC, select the SPDIF out as both the audio-device AND the passthrough device.
I wanted to post the solution that worked (in my case) here so others may be able to benefit from my experience.
Thank you very much for your input Raymond: really appreciated!
Bye! _____ *Gilles Hemberg* /gilles.hemberg@gmail.com/ On 04/10/2014 07:07, Raymond Yau wrote:
Command tried:
speaker-test -c2 -r 48000 -D iec958:CARD=CK804,DEV=0
Still no sound coming through AVR...
For the sake of completeness, I provide a new alsa-info.sh
output:http://sprunge.us/ZWLF(I blacklisted the snd_hda_intel this time just to be on the safe side).
The git-link below
(http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/NFORCE.c...) seems to point to the .conf for nForce2/3; min is a nForce4 (don't know if nForce4 is supposed to use this same .conf).
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
Either use spdif over ac-link or you have to find out how to use nforce4 secondary spdif output
http://www.nvidia.com/page/pg_20041014863476.html
AUDIO
AC ’97 2.3 compliant interface
Supports 2, 4, 6, or 8-channel audio Dual AC-Link: supports up to two codecs Dual S/PDIF: supports two simultaneous digital outputs; handles stereo PCM or AC-3 output 16-bit or 20-bit stereo, 48kHz output and 16-bit input streams across AC-Link 24-bit, 96kHz stereo output on the secondary S/PDIF output
Sorry to bump in like this, but I was advised to submit a
bug-report for the ALSA-drivers on my HTPC: no sound comes through out of my AVR when I select the digital output through SPDIF (TOSLINK).
The relevant parts of my HTPC are as follows: * CPU: Athlon64 X2 3800+ * Motherboard: ASUS A8N-SLI Deluxe motherboard (BIOS 1805)
NForce4 with CK804 sound (relying on a Realtek ALC850 chip)
* RAM: 2x 512 MB DDR-400 * GPU: nVidia Geforce GT240 (which carries a HDMI port and
uses the snd-
* Receiver: Marantz SR7500 (supporting both Dolby Digital 5.1
and DTS decoding), connected to motherboard's SPDIF TOSLINK port (optical) + JBL 5.1 speaker-set
* OpenElec 4.2.0: Kernel 3.16.3, Alsa 1.0.28
Symptoms: Speaker-test does not produce any sound. Command used is as follows:
speaker-test -c2 -r 48000 -D hw:0,2
No sound either from other applications (such as XBMC 13.2).
SPDIF worked flawlessly on the exact same hardware & connections
using Win7/XBMC.
Sound does come through the SPDIF when I use hw:0,0 (= analog
device).
Things tried (none working): * Blacklisting snd-hda-intel (= HDMI from my GPU) to make
sure CK804 is the only sound chip visible.
* amixer set 'IEC958 Playback AC97-SPSA' Playback 100% unmute
http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=31&am...
Take a look at alc850 datasheet
Simple mixer control 'IEC958 Playback AC97-SPSA',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 3 Mono: 0 [0%]
This is not volume control, it is SPDIF out Slot Assignment in ac97
link
It works!
Solution (in OpenElec 4.2.0; settings on other distros would be similar):
- Create custom asound.state in /storage/.config/ with the following
contents:http://sprunge.us/SiHH(this state-file will, among other things, unmute the appropriate mixer controls, set proper output formats, ...).
Load the above state file with the following command:
alsactl nrestore 0 -f /storage/.config/asound.state (replace the "0" with the card-number corresponding to CK804 on your
system)
You may want to add this command to a custom autostart.sh in
/storage/.config/ so the state is restored on every boot.
- Create intel8x0.conf in /storage/.config/modprobe.d/ with the following
contents:
options snd-intel8x0 spdif_aclink=1 (I am told that this above setting depends on the specific
motherboard, so this may not work for everyone: it does work on my ASUS A8N-SLI Deluxe)
This was the final setting that solved the issue for me. I did try this
setting before, but it seems that some sources on the Internet had this mis-written as "options snd-intel-8x0 spdif_aclink=1" (notice the extra dash).
- In XBMC, select the SPDIF out as both the audio-device AND the
passthrough device.
Advanced information - PCI Vendor/Device/Subsystem ID's !!-------------------------------------------------------
00:04.0 0401: 10de:0059 (rev a2) Subsystem: 1043:812a
You can add pci subsystem id into spdif_aclink_defaults
static struct snd_pci_quirk spdif_aclink_defaults[] __devinitdata = { SND_PCI_QUIRK(0x147b, 0x1c1a, "ASUS KN8", 1), { } /* end */ };
Simple mixer control 'IEC958 Playback AC97-SPSA',0 Capabilities: volume volume-joined Playback channels: Mono Capture channels: Mono Limits: 0 - 3 Mono: 0 [0%]
Does it use slot front left and front right slots for pcm playback?
Does it use spdif left/right slot for ac3 passthrough? default for alc850 after cold boot
Can it get signal from the other two setting : rear left/right slot or center/lfe slot?
participants (2)
-
Gilles Hemberg
-
Raymond Yau