SPDIF output not working, is it an alsa bug?
I have Debian Squeeze installed on a Lenovo Thinkpad T400. It is on a advanced mini dock which has SPDIF output. I have confirmed SPDIF output works in Windows.
I cannot get it to output in debian, it maybe an alsa bug. The fix is listed below but how do I apply it?
Here is the relevant output:
cat /proc/asound/card0/codec#0:
Code:
Codec: Conexant CX20561 (Hermosa)
Address: 0
Function Id: 0x1
Vendor Id: 0x14f15051
Subsystem Id: 0x17aa211c
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=4, o=0, i=0, unsolicited=1, wake=0
IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0
Amp-Out vals: [0x21 0x21]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=0
Amp-Out vals: [0x4a 0x4a]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Node 0x12 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0
Amp-Out vals: [0x00]
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
Amp-In vals: [0x00 0x00] [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Connection: 2
0x1d* 0x17
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=0
Amp-In vals: [0x00 0x00]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: setting=D0, actual=D0
Connection: 1
0x18
Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x0000001c: OUT HP Detect
Pin Default 0x022140f0: [Jack] HP Out at Ext Front
Conn = 1/8, Color = Green
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=37, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x10* 0x11
Node 0x17 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-In vals: [0x03 0x03]
Pincap 0x00001224: IN Detect
Vref caps: 50 80
Pin Default 0x61a190f0: [N/A] Mic at Sep Rear
Conn = 1/8, Color = Pink
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=38, enabled=1
Power: setting=D0, actual=D0
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
Amp-In vals: [0x03 0x03]
Pincap 0x00001224: IN Detect
Vref caps: 50 80
Pin Default 0x02a190f0: [Jack] Mic at Ext Front
Conn = 1/8, Color = Pink
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=39, enabled=1
Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x00000014: OUT Detect
Pin Default 0x40f000f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=37, enabled=1
Power: setting=D0, actual=D0
Connection: 2
0x10* 0x11
Node 0x1a [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x00010010: OUT EAPD
EAPD 0x2: EAPD
Pin Default 0x901701f0: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power: setting=D0, actual=D0
Connection: 2
0x10* 0x11
Node 0x1b [Pin Complex] wcaps 0x400500: Mono
Pincap 0x00010010: OUT EAPD
EAPD 0x2: EAPD
Pin Default 0x40f001f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Power: setting=D0, actual=D0
Connection: 2
0x10* 0x11
Node 0x1c [Pin Complex] wcaps 0x400701: Stereo Digital
Pincap 0x00000010: OUT
Pin Default 0x40f001f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power: setting=D0, actual=D0
Connection: 1
0x12
Node 0x1d [Pin Complex] wcaps 0x40040b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x2f, mute=0
Amp-In vals: [0x03 0x03]
Pincap 0x00000020: IN
Pin Default 0x90a601f0: [Fixed] Mic at Int N/A
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Power: setting=D0, actual=D0
Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono
aplay -L
Code:
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
HDA Intel, CONEXANT Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, CONEXANT Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
HDA Intel, Conexant Digital
IEC958 (S/PDIF) Digital Audio Output
aplay -l
Code:
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
amixer:
Code:
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 74
Mono:
Front Left: Playback 33 [45%] [-41.00dB] [on]
Front Right: Playback 33 [45%] [-41.00dB] [on]
Simple mixer control 'PCM',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958 Default PCM',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Digital',0
Capabilities: cvolume penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 120
Front Left: Capture 0 [0%] [-30.00dB]
Front Right: Capture 0 [0%] [-30.00dB]
Simple mixer control 'Docking Mic',0
Capabilities: volume pswitch penum
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 80
Front Left: 0 [0%] [-74.00dB] Playback [off]
Front Right: 0 [0%] [-74.00dB] Playback [off]
Simple mixer control 'External Mic',0
Capabilities: volume pswitch penum
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 80
Front Left: 0 [0%] [-74.00dB] Playback [off]
Front Right: 0 [0%] [-74.00dB] Playback [off]
Simple mixer control 'Internal Mic',0
Capabilities: volume pswitch penum
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 80
Front Left: 0 [0%] [-74.00dB] Playback [off]
Front Right: 0 [0%] [-74.00dB] Playback [off]
I've unmuted S/PDIF and S/PDIF Default PCM in alsamixer.
I have also tried putting the following asound.conf:
Code:
pcm.!default {
type plug
slave {
pcm "iec958:CARD=Intel"
rate 48000
format S16_LE
}
}
Also tried adding similar options to modprobe.conf but it didn't work.
This guy found a bug in alsa where the SPDIF pin out is wrong:
http://git.alsa-project.org/?p=alsa-...ec1cd1553a49e1
He said to do the following:
Quote:
Can you check if the SPDIF pin is actually enabled (look at
/proc/asound/cardxx/codec#xx) as OUT. I had a similar problem a long
time ago on a Lenovo W500, enabling the pin with a one-line verb for the
connexant 5051 solved the problem.
The SPDIF is already configured as OUT according to the output above. How do I enable the pin with a one-line verb?