View previous topic :: View next topic |
Author |
Message |
qwert380 n00b
Joined: 30 Mar 2006 Posts: 19 Location: Europe
|
Posted: Tue Nov 07, 2006 4:02 pm Post subject: ALSA snd_hda_intel:ICH7+ALC882 , "PASS_THROUGH" no |
|
|
Hello all,
My new PC is here with the latest HW and as usuall problems are here as well.
Problem: I am not able to get AC3 on the digital out when watching DVDs.
The idea is to use external decoder for surround sound. Coaxial_digital_out from PC is connected to Coax_input in home theater receiver. Connection is checked ( it was working for a couple of years with my previous setup). MB is ASUS N4L-VM:ICH7 + Realtek ALC882. ALSA support is using kernel modules ( tried to build in the kernel as well ). There are no errors during startup or modules reload. Analog_out works fine. I can watch DVDs using xine with audio sent to analog_out ( default xine config STEREO 2.0 ). When I change option "SPEAKER_SETUP" to "PASS_THROUGH" I get "Audio output unavailable. Device is busy. ()". Mplayer is also not able to use dig_out. I tried to use different module options with no success. All devices are unmuted in mixer.
Anybody made "PASS_THROUGH" working on ICH7+ALC882?
br, qwert.
Code: |
# lspci
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
# lsmod
Module Size Used by
snd_pcm_oss 29408 0
snd_mixer_oss 13504 1 snd_pcm_oss
snd_hda_intel 13012 1
snd_hda_codec 122304 1 snd_hda_intel
snd_pcm 57092 3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_timer 16324 1 snd_pcm
snd 38500 8 snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
soundcore 6752 1 snd
snd_page_alloc 7176 2 snd_hda_intel,snd_pcm
# uname -r
Code:
2.6.17-gentoo-r8
# cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfebfc000 irq 16
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC882 Analog [ALC882 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: ALC882 Digital [ALC882 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
# cat /proc/asound/card0/codec#0 |grep Codec
Code:
Codec: Realtek ALC882
# cat /proc/asound/version
Code:
Advanced Linux Sound Architecture Driver Version 1.0.11rc4 (Wed Mar 22
10:27:24 2006 UTC).
# cat /etc/modules.d/alsa
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-hda-intel
# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
#
|
|
|
Back to top |
|
|
BradN Advocate
Joined: 19 Apr 2002 Posts: 2391 Location: Wisconsin (USA)
|
Posted: Tue Nov 07, 2006 5:33 pm Post subject: |
|
|
I believe the Intel HDA driver is relatively new, and for quite a while, had bad compatability problems particularly on some laptops. It wouldn't surprise me if the digital out is broken on some implementations, or perhaps there's some options or tricks that need to be done to get it to work. For now, I'd recommend just using analog output and hopefully the driver improves.
Also, I'm not sure what PASS_THROUGH does, but maybe it's enough to just change the output device to get digital out... for example, set the alsa output device in the program to hw:0,2 and see if it works. |
|
Back to top |
|
|
qwert380 n00b
Joined: 30 Mar 2006 Posts: 19 Location: Europe
|
Posted: Tue Nov 07, 2006 6:03 pm Post subject: |
|
|
Thanks for replay.
PASS_THROUGH is basically tells the driver to take AC3(DD or DTS) stream from DVD and pass it directly to the digital_out.
OK, I tried "hw:0,2" and it is still the same:
Code: |
audio_alsa_out: snd_pcm_open() of hw:0,2 failed: Device or resource busy
audio_alsa_out: >>> check if another program already uses PCM <<<
audio_out: open failed!
|
I agree that it takes time to get new HW to work properly in Linux. Looks like I've to watch DVD with stereo only.
br, qwert. |
|
Back to top |
|
|
BradN Advocate
Joined: 19 Apr 2002 Posts: 2391 Location: Wisconsin (USA)
|
Posted: Tue Nov 07, 2006 8:14 pm Post subject: |
|
|
I take it it's not possible to get 5.1 digital audio without using pass-through? Like, I know a lot of cards can do analog output where obviously the signal is decoded in software, but I've never played around with the stuff to find out if uncompressed 5.1 audio can be sent digitally. |
|
Back to top |
|
|
qwert380 n00b
Joined: 30 Mar 2006 Posts: 19 Location: Europe
|
Posted: Tue Nov 07, 2006 9:45 pm Post subject: |
|
|
Both ways are possible. To make it all analog you need to use 3 jacks and decoding is done internaly ( here is codec quality is important ). Pass_through option passes stream digitally. ALSA should provide corresponding devices. Player SW should be configured according to the device connected. I was using "pass_through" for a few years already. It worked good on my old ASUS P4P800. |
|
Back to top |
|
|
BradN Advocate
Joined: 19 Apr 2002 Posts: 2391 Location: Wisconsin (USA)
|
Posted: Wed Nov 08, 2006 4:03 pm Post subject: |
|
|
Right, but I was referring to digital 5.1 audio, not analog. If it's only the pass-through option that fails, maybe 5.1 uncompressed digital would work if it's possible. |
|
Back to top |
|
|
kptn_kermit n00b
Joined: 29 Apr 2004 Posts: 45 Location: Austria
|
Posted: Wed Apr 11, 2007 12:17 pm Post subject: |
|
|
I have a different problem, but maybe someone can help me here, cause its the same audio card.
The problem is, I do not have any sound output from my ALC 882 in an ASUS Laptop W2J (built in speakers and any matching audio jack with earphones, and yes I unmuted all what's possible). I do not get any errors installing hda-intel or using any kind of media output (audacious, cat /dev/urandom > /dev/dsp, mplayer etc.) but I also cannot hear anything. Additionaly the built in micro seems to work, cause I get visual responses of audio signals in recording software.
Could it be that the digital output somehow mutes/impede the analog audio output ?
Any hints are highly welcome !
Cause I am not the big hardware expert, maybe somebody can find a hint in my specs and/or configs:
Code: |
localhost modules.d # lspci -v
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
Subsystem: ASUSTeK Computer Inc. Unknown device 1971
Flags: bus master, fast devsel, latency 0, IRQ 23
Memory at febfc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [70] Express Unknown type IRQ 0
|
Code: |
localhost modules.d # cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfebfc000 irq 23
|
Code: |
localhost modules.d # cat /proc/asound/card0/codec#0 |grep Codec
Codec: Realtek ALC882
|
Code: |
localhost modules.d # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC882 Analog [ALC882 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC882 Digital [ALC882 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
Subdevices: 1/1
Subdevice #0: subdevice #0
|
Code: |
localhost modules.d # uname -r
2.6.19-gentoo-r5
|
Code: |
localhost modules.d # cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.14rc3.
Compiled on Apr 11 2007 for kernel 2.6.19-gentoo-r5 (SMP).
|
Code: |
localhost modules.d # cat /etc/modules.d/alsa
# Alsa kernel modules' configuration file.
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-hda-intel
# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
#
|
|
|
Back to top |
|
|
kptn_kermit n00b
Joined: 29 Apr 2004 Posts: 45 Location: Austria
|
Posted: Wed Apr 11, 2007 12:23 pm Post subject: |
|
|
And my /etc/asound.state:
Code: |
localhost modules.d # cat /etc/asound.state
state.Intel {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Front Playback Volume'
value.0 31
value.1 31
}
control.2 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Front Playback Switch'
value.0 true
value.1 true
}
control.3 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Mic Playback Volume'
value.0 0
value.1 0
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Mic Playback Switch'
value.0 true
value.1 true
}
control.5 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Line Playback Volume'
value.0 31
value.1 31
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Line Playback Switch'
value.0 true
value.1 true
}
control.7 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'CD Playback Volume'
value.0 31
value.1 31
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'CD Playback Switch'
value.0 true
value.1 true
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Aux Playback Volume'
value.0 11
value.1 11
}
control.10 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Aux Playback Switch'
value.0 true
value.1 true
}
control.11 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Capture Volume'
value.0 31
value.1 31
}
control.12 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 false
value.1 false
}
control.13 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Capture Volume'
index 1
value.0 31
value.1 31
}
control.14 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
index 1
value.0 false
value.1 false
}
control.15 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Capture Volume'
index 2
value.0 31
value.1 31
}
control.16 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
index 2
value.0 false
value.1 false
}
control.17 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic
comment.item.1 Line
comment.item.2 CD
comment.item.3 Aux
iface MIXER
name 'Input Source'
value Mic
}
control.18 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic
comment.item.1 Line
comment.item.2 CD
comment.item.3 Aux
iface MIXER
name 'Input Source'
index 1
value CD
}
control.19 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic
comment.item.1 Line
comment.item.2 CD
comment.item.3 Aux
iface MIXER
name 'Input Source'
index 2
value Mic
}
control.20 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.21 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.22 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.23 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value false
}
control.24 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Off-hook Switch'
value false
}
control.25 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Caller ID Switch'
value false
}
control.26 {
comment.access 'read write user'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
comment.tlv '0000000100000008ffffec1400000014'
iface MIXER
name 'PCM Playback Volume'
value.0 255
value.1 255
}
}
|
|
|
Back to top |
|
|
rada Apprentice
Joined: 21 Oct 2005 Posts: 202 Location: Ottawa, Canada
|
Posted: Wed Apr 18, 2007 11:12 pm Post subject: |
|
|
Ive had the same problems, pass through does not work with this driver. The only way I had it working was selecting hw=0,0 in mplayer with nothing else playing. This worked ok for most digital streams from my hard drive but not for a DTS-WAV cd I have. Anyway I ordered a Sound Blaster mp3+ for this purpose as I've given up with the hda-intel driver.
@kptn: try adding: Code: | options snd-hda-intel model=z71v position_fix=2 | to /etc/modules.d/alsa |
|
Back to top |
|
|
kptn_kermit n00b
Joined: 29 Apr 2004 Posts: 45 Location: Austria
|
|
Back to top |
|
|
|