[alsa-devel] Acer Ferrari 5000
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
I'm currently running 2.6.28-9-generic (Ubuntu 9.04). All my info is below, what can I do to get everything exposed and working?
00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01) Subsystem: Acer Incorporated [ALI] Device 010a Flags: bus master, slow devsel, latency 64, IRQ 16 Memory at b0000000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: HDA Intel Kernel modules: snd-hda-intel
HDA Intel 0000:00:14.2: PCI INT A disabled HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 hda-intel: Invalid position buffer, using LPIB read method instead. hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj. hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x101f000a hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x101f000a
(methinks these timeouts are no good)
devices: 2: : timer 3: [ 0- 4]: digital audio capture 4: [ 0- 0]: digital audio playback 5: [ 0- 0]: digital audio capture 6: [ 0] : control
pcm0c/info: card: 0 device: 0 subdevice: 0 stream: CAPTURE id: ALC883 Analog name: ALC883 Analog subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 1
pcm0p/info: card: 0 device: 0 subdevice: 0 stream: PLAYBACK id: ALC883 Analog name: ALC883 Analog subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 0
pcm4c/info: card: 0 device: 4 subdevice: 0 stream: CAPTURE id: ALC883 Analog name: ALC883 Analog subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 1
codec#0: Codec: Conexant ID 2bfa Address: 0 Vendor Id: 0x14f12bfa Subsystem Id: 0x1025010a Revision Id: 0x90000 Modem Function Group: 0x2
codec#1: Codec: Realtek ALC883 Address: 1 Vendor Id: 0x10ec0883 Subsystem Id: 0x10ec0883 Revision Id: 0x100002 No Modem Function Group found Default PCM: N/A Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=2, o=0, i=0, unsolicited=1, wake=0 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0 Node 0x02 [Audio Output] wcaps 0x11: Stereo Converter: stream=5, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x03 [Audio Output] wcaps 0x11: Stereo Converter: stream=5, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x04 [Audio Output] wcaps 0x11: Stereo Converter: stream=5, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x05 [Audio Output] wcaps 0x11: Stereo Converter: stream=5, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0x1e]: 16 20 24 32 formats [0x1]: PCM Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x08, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x98 0x98] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x160]: 44100 48000 96000 bits [0x6]: 16 20 formats [0x1]: PCM Connection: 1 0x23 Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In Amp-In caps: ofs=0x08, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x80 0x80] Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x160]: 44100 48000 96000 bits [0x6]: 16 20 formats [0x1]: PCM Connection: 1 0x22 Node 0x0a [Audio Input] wcaps 0x100391: Stereo Digital Converter: stream=0, channel=0 SDI-Select: 0 Digital: Digital category: 0x0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0x1e]: 16 20 24 32 formats [0x1]: PCM Unsolicited: tag=00, enabled=0 Connection: 1 0x1f Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Connection: 10 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 Node 0x0c [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0 Amp-Out vals: [0x15 0x15] Connection: 2 0x02 0x0b Node 0x0d [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0 Amp-Out vals: [0x15 0x15] Connection: 2 0x03 0x0b Node 0x0e [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x04 0x0b Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80] Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x05 0x0b Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x12 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000003e: IN OUT HP Detect Trigger Pin Default 0x01014030: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000003e: IN OUT HP Detect Trigger Pin Default 0x01011031: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black DefAssociation = 0x3, Sequence = 0x1 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d* 0x0e 0x0f 0x26 Node 0x16 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000003e: IN OUT HP Detect Trigger Pin Default 0x01016032: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange DefAssociation = 0x3, Sequence = 0x2 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e* 0x0f 0x26 Node 0x17 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000003e: IN OUT HP Detect Trigger Pin Default 0x01012033: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey DefAssociation = 0x3, Sequence = 0x3 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 5 0x0c 0x0d 0x0e 0x0f* 0x26 Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000173e: IN OUT HP Detect Trigger Vref caps: HIZ 50 GRD 80 Pin Default 0x01a19850: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000173e: IN OUT HP Detect Trigger Vref caps: HIZ 50 GRD 80 Pin Default 0x02a19c80: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x8, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Pincap 0x0000173e: IN OUT HP Detect Trigger Vref caps: HIZ 50 GRD 80 Pin Default 0x01813050: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x0000173e: IN OUT HP Detect Trigger Vref caps: HIZ 50 GRD 80 Pin Default 0x02214c40: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0xc0: OUT HP VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 5 0x0c* 0x0d 0x0e 0x0f 0x26 Node 0x1c [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x99331150: [Fixed] CD at Int ATAPI Conn = ATAPI, Color = Black DefAssociation = 0x5, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x1d [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x00000100: [Jack] Line Out at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0x0, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital Pincap 0x00000010: OUT Pin Default 0x01441170: [Jack] SPDIF Out at Ext Rear Conn = RCA, Color = Black DefAssociation = 0x7, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Connection: 1 0x06 Node 0x1f [Pin Complex] wcaps 0x400200: Mono Digital Pincap 0x00000020: IN Pin Default 0x01c46160: [Jack] SPDIF In at Ext Rear Conn = RCA, Color = Orange DefAssociation = 0x6, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono Processing caps: benign=0, ncoeff=17 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x22 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x23 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] Amp-Out caps: N/A Amp-Out vals: [0x00 0x00] Connection: 11 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x25 [Audio Output] wcaps 0x11: Stereo Converter: stream=0, channel=0 PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Node 0x26 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x80 0x80] Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=0 Amp-Out vals: [0x00 0x00] Connection: 2 0x25 0x0b
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I'm currently running 2.6.28-9-generic (Ubuntu 9.04). All my info is below, what can I do to get everything exposed and working?
Please run alsa-info.sh with --no-upload option, and attach the generated file. This will contain more comprehensive information. The script is found at http://www.alsa-project.org/alsa-info.sh
thanks,
Takashi
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
I'm currently running 2.6.28-9-generic (Ubuntu 9.04). All my info is below, what can I do to get everything exposed and working?
Please run alsa-info.sh with --no-upload option, and attach the generated file. This will contain more comprehensive information. The script is found at http://www.alsa-project.org/alsa-info.sh
thanks,
Takashi
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now. Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
Takashi
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
On Mon, Mar 23, 2009 at 6:40 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote:
GIven the recent changes in gnome land (pulseaudio), I'd like to be able to get alsa support for my hardware fixed up. My biggest annoyance right now is that when I plug headphones in, it doesn't mute the speakers. Another issue I have is that I'd like to have support for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
OK, I've bolted your master branch in your git tree onto my kernel:
[10580.958816] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [10581.101270] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input8
My mixer controls are very similar to what I got before, except now Front controls both the front speakers, and the headphones. Plugging in and unplugging the headphone jack still has no effect. There is also a "Beep" control now.
There is still no PCM device labled hdmi, and outputting to iec958 device doesn't get me any audio output via HDMI.
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a [11027.813799] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
while playing audio.
I've attached the associated alsa-info.txt
At Mon, 23 Mar 2009 07:42:25 -0700, Russ Dill wrote:
[1 <text/plain; UTF-8 (quoted-printable)>] On Mon, Mar 23, 2009 at 6:40 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote:
At Sat, 21 Mar 2009 22:23:15 -0700, Russ Dill wrote: > > GIven the recent changes in gnome land (pulseaudio), I'd like to be > able to get alsa support for my hardware fixed up. My biggest > annoyance right now is that when I plug headphones in, it doesn't mute > the speakers. Another issue I have is that I'd like to have support > for audio out on HDMI (which is supported by Vista). On with the show.
Try the later version of alsa-driver or kernel, and pass model=auto. As default model=acer is chosen for ALC883 with Acer vendor SSID, and it's known that it doesn't match with the recent Acer laptops at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
OK, I've bolted your master branch in your git tree onto my kernel:
[10580.958816] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [10581.101270] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input8
My mixer controls are very similar to what I got before, except now Front controls both the front speakers, and the headphones. Plugging in and unplugging the headphone jack still has no effect.
See below.
There is also a "Beep" control now.
It's a new feature in the new version.
There is still no PCM device labled hdmi, and outputting to iec958 device doesn't get me any audio output via HDMI.
Right, it's apparently not set by BIOS, so the driver can't detect it.
How is the HDMI connected? Is it from the graphic chip/board or any other route? In the latter case, an HDMI transmitter (codec) is connected to the main audio controller, typically in the 4th slot (codec#3). In the former case, it usually appears as an individual PCI device.
If the SPDIF digital device is supposed to be HDMI, then it's a bug of BIOS. In that case, using "iec958" is the right choice.
Anyway, you could build the driver with --with-debug=verbose configure option and try to pass probe_mask=0x1ff. This will force to probe all codec slots. See kernel messages.
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a
Hm. Judging from alsa-info output, the verb looks correct, it's PCM parameter inquiry against the widget 0x06. So, your hardware is really flaky. What happens if you add codec->bus->needs_damn_long_delay = 1; in patch_realtek.c:patch_alc883() ?
[11027.813799] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
This should be the side-effect of the codec communication error above.
while playing audio.
I've attached the associated alsa-info.txt
...
control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 false value.1 false
Unmute "Headphone" switch.
Takashi
On Mon, Mar 23, 2009 at 7:57 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 07:42:25 -0700, Russ Dill wrote:
[1 <text/plain; UTF-8 (quoted-printable)>] On Mon, Mar 23, 2009 at 6:40 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote: > At Sat, 21 Mar 2009 22:23:15 -0700, > Russ Dill wrote: >> >> GIven the recent changes in gnome land (pulseaudio), I'd like to be >> able to get alsa support for my hardware fixed up. My biggest >> annoyance right now is that when I plug headphones in, it doesn't mute >> the speakers. Another issue I have is that I'd like to have support >> for audio out on HDMI (which is supported by Vista). On with the show. > > Try the later version of alsa-driver or kernel, and pass model=auto. > As default model=acer is chosen for ALC883 with Acer vendor SSID, > and it's known that it doesn't match with the recent Acer laptops > at all. The BIOS auto-parsing mode would work better recently.
I still get dmesg errors (audio does play though):
[229513.339812] hda-intel: Invalid position buffer, using LPIB read method instead. [229513.436583] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
The Center mixer control now controls my left laptop speaker and the LFE mixer control controls the right speaker. The Surround control that used to control the laptop speakers now does nothing.
Attempting to MUTE the LFE channel, the audio skipped a bit and I got:
[229698.556044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x10db0001 [229699.561017] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db0001
My system just hung (likely due to wireless drivers) and I rebooted and with model=auto again, the mixer controls are different. There is no LFE or Center controls, but there is an added Headphone volume control (which does nothing). Front controls the headphone volume, nothing controls the speaker volume.
I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
My laptop has an internal microphone, two internal speakers, a headphone jack, a mic in jack, a line in jack, and digital audio out via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
OK, I've bolted your master branch in your git tree onto my kernel:
[10580.958816] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [10581.101270] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input8
My mixer controls are very similar to what I got before, except now Front controls both the front speakers, and the headphones. Plugging in and unplugging the headphone jack still has no effect.
See below.
There is also a "Beep" control now.
It's a new feature in the new version.
There is still no PCM device labled hdmi, and outputting to iec958 device doesn't get me any audio output via HDMI.
Right, it's apparently not set by BIOS, so the driver can't detect it.
How is the HDMI connected? Is it from the graphic chip/board or any other route? In the latter case, an HDMI transmitter (codec) is connected to the main audio controller, typically in the 4th slot (codec#3). In the former case, it usually appears as an individual PCI device.
There are no other sound related PCI devices, and my graphics chip is an R500 which doesn't support audio, so it must be coming from a digital interface of SB450.
If the SPDIF digital device is supposed to be HDMI, then it's a bug of BIOS. In that case, using "iec958" is the right choice.
But I haven't been able to get it working under Linux.
Anyway, you could build the driver with --with-debug=verbose configure option and try to pass probe_mask=0x1ff. This will force to probe all codec slots. See kernel messages.
I must be building differently, I'll translate that to CONFIG_SND_DEBUG=y and CONFIG_SND_DEBUG_VEBOSE=y. Where is the configure script?
[13329.546638] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [13329.546650] hda_intel: codec_mask forced to 0xff [13330.581024] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000 [13331.585015] hda_intel: Codec #2 probe error; disabling it... [13332.620024] hda_intel: Codec #3 probe error; disabling it... [13332.756133] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input9
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a
Hm. Judging from alsa-info output, the verb looks correct, it's PCM parameter inquiry against the widget 0x06. So, your hardware is really flaky. What happens if you add codec->bus->needs_damn_long_delay = 1; in patch_realtek.c:patch_alc883() ?
Doesn't seem to have an effect, its easy to reproduce my switching a control while music is playing.
[13932.100052] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db2001
[11027.813799] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
This should be the side-effect of the codec communication error above.
while playing audio.
I've attached the associated alsa-info.txt
...
control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 false value.1 false
Unmute "Headphone" switch.
I've tried, hotplugging the headphones has no effect whether or not this switch is on or off.
At Mon, 23 Mar 2009 08:24:45 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 7:57 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 07:42:25 -0700, Russ Dill wrote:
[1 <text/plain; UTF-8 (quoted-printable)>] On Mon, Mar 23, 2009 at 6:40 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 04:54:34 -0700, Russ Dill wrote: > > On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote: > > At Sat, 21 Mar 2009 22:23:15 -0700, > > Russ Dill wrote: > >> > >> GIven the recent changes in gnome land (pulseaudio), I'd like to be > >> able to get alsa support for my hardware fixed up. My biggest > >> annoyance right now is that when I plug headphones in, it doesn't mute > >> the speakers. Another issue I have is that I'd like to have support > >> for audio out on HDMI (which is supported by Vista). On with the show. > > > > Try the later version of alsa-driver or kernel, and pass model=auto. > > As default model=acer is chosen for ALC883 with Acer vendor SSID, > > and it's known that it doesn't match with the recent Acer laptops > > at all. The BIOS auto-parsing mode would work better recently. > > I still get dmesg errors (audio does play though): > > [229513.339812] hda-intel: Invalid position buffer, using LPIB read > method instead. > [229513.436583] hda-intel: IRQ timing workaround is activated for card > #0. Suggest a bigger bdl_pos_adj.
These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
Which alsa-driver are you using now? At best, try the latest alsa-driver snapshot from ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz or the sound git tree at git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
> The Center mixer control now controls my left laptop speaker and the > LFE mixer control controls the right speaker. The Surround control > that used to control the laptop speakers now does nothing. > > Attempting to MUTE the LFE channel, the audio skipped a bit and I got: > > [229698.556044] hda_intel: azx_get_response timeout, switching to > polling mode: last cmd=0x10db0001 > [229699.561017] hda_intel: azx_get_response timeout, switching to > single_cmd mode: last cmd=0x10db0001 > > My system just hung (likely due to wireless drivers) and I rebooted > and with model=auto again, the mixer controls are different. There is > no LFE or Center controls, but there is an added Headphone volume > control (which does nothing). Front controls the headphone volume, > nothing controls the speaker volume. > > I've been unable to hear digital output (mplayer -ao alsa:device=iec958).
The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
> My laptop has an internal microphone, two internal speakers, a > headphone jack, a mic in jack, a line in jack, and digital audio out > via hdmi.
And alsa-info output? Use model=auto from now on. The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
OK, I've bolted your master branch in your git tree onto my kernel:
[10580.958816] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [10581.101270] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input8
My mixer controls are very similar to what I got before, except now Front controls both the front speakers, and the headphones. Plugging in and unplugging the headphone jack still has no effect.
See below.
There is also a "Beep" control now.
It's a new feature in the new version.
There is still no PCM device labled hdmi, and outputting to iec958 device doesn't get me any audio output via HDMI.
Right, it's apparently not set by BIOS, so the driver can't detect it.
How is the HDMI connected? Is it from the graphic chip/board or any other route? In the latter case, an HDMI transmitter (codec) is connected to the main audio controller, typically in the 4th slot (codec#3). In the former case, it usually appears as an individual PCI device.
There are no other sound related PCI devices, and my graphics chip is an R500 which doesn't support audio, so it must be coming from a digital interface of SB450.
If the SPDIF digital device is supposed to be HDMI, then it's a bug of BIOS. In that case, using "iec958" is the right choice.
But I haven't been able to get it working under Linux.
Then something is still missing...
Anyway, you could build the driver with --with-debug=verbose configure option and try to pass probe_mask=0x1ff. This will force to probe all codec slots. See kernel messages.
I must be building differently, I'll translate that to CONFIG_SND_DEBUG=y and CONFIG_SND_DEBUG_VEBOSE=y. Where is the configure script?
It was about alsa-driver tarball. If you build directly from sound.git tree (I suppose right?), these two kconfigs correspond.
[13329.546638] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [13329.546650] hda_intel: codec_mask forced to 0xff [13330.581024] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000 [13331.585015] hda_intel: Codec #2 probe error; disabling it... [13332.620024] hda_intel: Codec #3 probe error; disabling it... [13332.756133] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input9
So, it's not in the codec slot#3, too.
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a
Hm. Judging from alsa-info output, the verb looks correct, it's PCM parameter inquiry against the widget 0x06. So, your hardware is really flaky. What happens if you add codec->bus->needs_damn_long_delay = 1; in patch_realtek.c:patch_alc883() ?
Doesn't seem to have an effect, its easy to reproduce my switching a control while music is playing.
[13932.100052] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db2001
Hmm. What about setting enable_msi=1?
[11027.813799] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
This should be the side-effect of the codec communication error above.
while playing audio.
I've attached the associated alsa-info.txt
...
control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 false value.1 false
Unmute "Headphone" switch.
I've tried, hotplugging the headphones has no effect whether or not this switch is on or off.
I guess the communication with the codec gets already screwed up, thus it couldn't be handled properly any more.
I'm not sure what is the reason, but what I can say is that ATI controller is pretty unstable regarding HD-audio.
Takashi
On Mon, Mar 23, 2009 at 8:45 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 08:24:45 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 7:57 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 07:42:25 -0700, Russ Dill wrote:
[1 <text/plain; UTF-8 (quoted-printable)>] On Mon, Mar 23, 2009 at 6:40 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 06:36:06 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 5:51 AM, Takashi Iwai tiwai@suse.de wrote: > At Mon, 23 Mar 2009 04:54:34 -0700, > Russ Dill wrote: >> >> On Mon, Mar 23, 2009 at 3:54 AM, Takashi Iwai tiwai@suse.de wrote: >> > At Sat, 21 Mar 2009 22:23:15 -0700, >> > Russ Dill wrote: >> >> >> >> GIven the recent changes in gnome land (pulseaudio), I'd like to be >> >> able to get alsa support for my hardware fixed up. My biggest >> >> annoyance right now is that when I plug headphones in, it doesn't mute >> >> the speakers. Another issue I have is that I'd like to have support >> >> for audio out on HDMI (which is supported by Vista). On with the show. >> > >> > Try the later version of alsa-driver or kernel, and pass model=auto. >> > As default model=acer is chosen for ALC883 with Acer vendor SSID, >> > and it's known that it doesn't match with the recent Acer laptops >> > at all. The BIOS auto-parsing mode would work better recently. >> >> I still get dmesg errors (audio does play though): >> >> [229513.339812] hda-intel: Invalid position buffer, using LPIB read >> method instead. >> [229513.436583] hda-intel: IRQ timing workaround is activated for card >> #0. Suggest a bigger bdl_pos_adj. > > These are no errors. You can ignore for now.
ok, but the "azx_get_response timeout" ones seem to be as audio glitches when the occur.
Does it happen with model=auto? The driver doesn't work without that option, as I mentioned.
> Which alsa-driver are you using now? At best, try the latest > alsa-driver snapshot from > ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz > or the sound git tree at > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
I'm currently using whatever comes in 2.6.28 with ubuntu. I'll try out the git tree.
Bah, that's way too old to debug...
>> The Center mixer control now controls my left laptop speaker and the >> LFE mixer control controls the right speaker. The Surround control >> that used to control the laptop speakers now does nothing. >> >> Attempting to MUTE the LFE channel, the audio skipped a bit and I got: >> >> [229698.556044] hda_intel: azx_get_response timeout, switching to >> polling mode: last cmd=0x10db0001 >> [229699.561017] hda_intel: azx_get_response timeout, switching to >> single_cmd mode: last cmd=0x10db0001 >> >> My system just hung (likely due to wireless drivers) and I rebooted >> and with model=auto again, the mixer controls are different. There is >> no LFE or Center controls, but there is an added Headphone volume >> control (which does nothing). Front controls the headphone volume, >> nothing controls the speaker volume. >> >> I've been unable to hear digital output (mplayer -ao alsa:device=iec958). > > The device is likely not "iec958" but "hdmi".
no such device exists with model=auto (or without setting model).
Yes, too old version :)
>> My laptop has an internal microphone, two internal speakers, a >> headphone jack, a mic in jack, a line in jack, and digital audio out >> via hdmi. > > And alsa-info output? Use model=auto from now on. > The default model (acer) doesn't work obviously for your laptop.
It was attached to the previous email
Ah, overlooked. Thanks.
But better the one from the latest driver...
Takashi
OK, I've bolted your master branch in your git tree onto my kernel:
[10580.958816] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [10581.101270] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input8
My mixer controls are very similar to what I got before, except now Front controls both the front speakers, and the headphones. Plugging in and unplugging the headphone jack still has no effect.
See below.
There is also a "Beep" control now.
It's a new feature in the new version.
There is still no PCM device labled hdmi, and outputting to iec958 device doesn't get me any audio output via HDMI.
Right, it's apparently not set by BIOS, so the driver can't detect it.
How is the HDMI connected? Is it from the graphic chip/board or any other route? In the latter case, an HDMI transmitter (codec) is connected to the main audio controller, typically in the 4th slot (codec#3). In the former case, it usually appears as an individual PCI device.
There are no other sound related PCI devices, and my graphics chip is an R500 which doesn't support audio, so it must be coming from a digital interface of SB450.
If the SPDIF digital device is supposed to be HDMI, then it's a bug of BIOS. In that case, using "iec958" is the right choice.
But I haven't been able to get it working under Linux.
Then something is still missing...
Is there any information I could obtain by booting into Vista?
Anyway, you could build the driver with --with-debug=verbose configure option and try to pass probe_mask=0x1ff. This will force to probe all codec slots. See kernel messages.
I must be building differently, I'll translate that to CONFIG_SND_DEBUG=y and CONFIG_SND_DEBUG_VEBOSE=y. Where is the configure script?
It was about alsa-driver tarball. If you build directly from sound.git tree (I suppose right?), these two kconfigs correspond.
[13329.546638] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [13329.546650] hda_intel: codec_mask forced to 0xff [13330.581024] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000 [13331.585015] hda_intel: Codec #2 probe error; disabling it... [13332.620024] hda_intel: Codec #3 probe error; disabling it... [13332.756133] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/input/input9
So, it's not in the codec slot#3, too.
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a
Hm. Judging from alsa-info output, the verb looks correct, it's PCM parameter inquiry against the widget 0x06. So, your hardware is really flaky. What happens if you add codec->bus->needs_damn_long_delay = 1; in patch_realtek.c:patch_alc883() ?
Doesn't seem to have an effect, its easy to reproduce my switching a control while music is playing.
[13932.100052] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db2001
Hmm. What about setting enable_msi=1?
[11027.813799] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
This should be the side-effect of the codec communication error above.
while playing audio.
I've attached the associated alsa-info.txt
...
control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 false value.1 false
Unmute "Headphone" switch.
I've tried, hotplugging the headphones has no effect whether or not this switch is on or off.
I guess the communication with the codec gets already screwed up, thus it couldn't be handled properly any more.
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
I'm not sure what is the reason, but what I can say is that ATI controller is pretty unstable regarding HD-audio.
Takashi
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
Takashi
On Mon, Mar 23, 2009 at 9:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
[ Working on testing patch... ]
The audio does work over HDMI though, Vista has better support for connecting to HDTV and getting the video modes right, so I was watching a DVD. Out of curiosity, I checked a box in the audio configuration for digital output, and sound started coming out of the TV.
I'll boot into Vista in a while to try to find out which device driver is doing which thing, but I'm fairly certain its the base audio driver.
At Mon, 23 Mar 2009 09:40:46 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 9:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
[ Working on testing patch... ]
The audio does work over HDMI though, Vista has better support for connecting to HDTV and getting the video modes right, so I was watching a DVD. Out of curiosity, I checked a box in the audio configuration for digital output, and sound started coming out of the TV.
Do you mean it working on Linux? When "IEC958 Default PCM" is set to on, the analog PCM outputs are also routed to the digital output automatically. So you should be hearing the sound played via aplay.
The "iec958" PCM device is for the exclusive digital output, mainly for the raw digital stream like AC3. If it's being used with the analog streams at the same time, you won't be able to open it.
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Anyway, my previous test patch is independent from the model problem. It's still helpful to know whether it can solve the codec communication errors with model=auto.
thanks,
Takashi
On Mon, 2009-03-23 at 18:07 +0100, Takashi Iwai wrote:
At Mon, 23 Mar 2009 09:40:46 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 9:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
[ Working on testing patch... ]
The audio does work over HDMI though, Vista has better support for connecting to HDTV and getting the video modes right, so I was watching a DVD. Out of curiosity, I checked a box in the audio configuration for digital output, and sound started coming out of the TV.
Do you mean it working on Linux? When "IEC958 Default PCM" is set to on, the analog PCM outputs are also routed to the digital output automatically. So you should be hearing the sound played via aplay.
No such luck. Enabling it and playing audio (that comes out on the speakers) does not cause an audio signal to be sent on the HDMI cable.
The "iec958" PCM device is for the exclusive digital output, mainly for the raw digital stream like AC3. If it's being used with the analog streams at the same time, you won't be able to open it.
On the Vista side, it refers to the digital output both as S/PDIF digital output and "Real Panel Optical Jack". It is definitely part of the realtek high def audio driver. The realtek config app gives a choice for default audio output; speakers or digital.
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
--- sound/pci/hda/patch_realtek.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bf7e64e..88b674e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -8655,6 +8655,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), + SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x013e, "Acer Aspire 4930G", ALC888_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0x013f, "Acer Aspire 5930G",
At Mon, 23 Mar 2009 10:45:52 -0700, Russ Dill wrote:
On Mon, 2009-03-23 at 18:07 +0100, Takashi Iwai wrote:
At Mon, 23 Mar 2009 09:40:46 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 9:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
[ Working on testing patch... ]
The audio does work over HDMI though, Vista has better support for connecting to HDTV and getting the video modes right, so I was watching a DVD. Out of curiosity, I checked a box in the audio configuration for digital output, and sound started coming out of the TV.
Do you mean it working on Linux? When "IEC958 Default PCM" is set to on, the analog PCM outputs are also routed to the digital output automatically. So you should be hearing the sound played via aplay.
No such luck. Enabling it and playing audio (that comes out on the speakers) does not cause an audio signal to be sent on the HDMI cable.
OK, then it could be rather the video-driver side problem. Typically, there must be a register control to enable/disable the HDMI audio in the video controller.
The "iec958" PCM device is for the exclusive digital output, mainly for the raw digital stream like AC3. If it's being used with the analog streams at the same time, you won't be able to open it.
On the Vista side, it refers to the digital output both as S/PDIF digital output and "Real Panel Optical Jack". It is definitely part of the realtek high def audio driver. The realtek config app gives a choice for default audio output; speakers or digital.
In ALC883 codec, there is actually a digital I/O and snd-hda-intel enabled it. However, how the rest is handled (i.e. SPDIF or HDMI) is out of the scope of the audio codec.
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
Takashi
sound/pci/hda/patch_realtek.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bf7e64e..88b674e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -8655,6 +8655,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE),
- SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_ACER_ASPIRE), SND_PCI_QUIRK(0x1025, 0x013e, "Acer Aspire 4930G", ALC888_ACER_ASPIRE_4930G), SND_PCI_QUIRK(0x1025, 0x013f, "Acer Aspire 5930G",
-- 1.6.0.4
Anyway, my previous test patch is independent from the model problem. It's still helpful to know whether it can solve the codec communication errors with model=auto.
[ 715.680015] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [ 716.684012] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [ 717.688024] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [ 718.708012] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [ 719.712011] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [ 738.813550] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
thanks,
Takashi
On Mon, Mar 23, 2009 at 2:57 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 10:45:52 -0700, Russ Dill wrote:
On Mon, 2009-03-23 at 18:07 +0100, Takashi Iwai wrote:
At Mon, 23 Mar 2009 09:40:46 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 9:36 AM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 09:27:24 -0700, Russ Dill wrote:
I'm testing with the acer-aspire quirk set, and things seem to be working rather well. The headphone plug/unplug detection and speaker muting actually work :) However, I'm still not getting HDMI audio working. I'm not that familiar with IEC958, how should I have the switches set? I currently have both IEC958 and IEC958 Default PCM on. I've tried with mplayer -ao alsa:device=iec958 <mp3 file>
Basically it should be OK. I guess it's rather an issue of the video driver side. If the video driver doesn't support HDMI audio output, it doesn't work, of course.
[ Working on testing patch... ]
The audio does work over HDMI though, Vista has better support for connecting to HDTV and getting the video modes right, so I was watching a DVD. Out of curiosity, I checked a box in the audio configuration for digital output, and sound started coming out of the TV.
Do you mean it working on Linux? When "IEC958 Default PCM" is set to on, the analog PCM outputs are also routed to the digital output automatically. So you should be hearing the sound played via aplay.
No such luck. Enabling it and playing audio (that comes out on the speakers) does not cause an audio signal to be sent on the HDMI cable.
OK, then it could be rather the video-driver side problem. Typically, there must be a register control to enable/disable the HDMI audio in the video controller.
I'm checking with the xorg ati list to see if they have any info. Next time I have my laptop open I'll check for info on the HDMI/DVI encoder chip.
The "iec958" PCM device is for the exclusive digital output, mainly for the raw digital stream like AC3. If it's being used with the analog streams at the same time, you won't be able to open it.
On the Vista side, it refers to the digital output both as S/PDIF digital output and "Real Panel Optical Jack". It is definitely part of the realtek high def audio driver. The realtek config app gives a choice for default audio output; speakers or digital.
In ALC883 codec, there is actually a digital I/O and snd-hda-intel enabled it. However, how the rest is handled (i.e. SPDIF or HDMI) is out of the scope of the audio codec.
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
At Mon, 23 Mar 2009 15:28:57 -0700, Russ Dill wrote:
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
Did you try my test patch?
Takashi
On Mon, Mar 23, 2009 at 3:45 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:28:57 -0700, Russ Dill wrote:
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
Did you try my test patch?
It is with the patch:
[16877.337044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [16878.341056] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16879.345036] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16880.380016] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16881.384022] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a
Takashi
At Mon, 23 Mar 2009 15:48:19 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:45 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:28:57 -0700, Russ Dill wrote:
BTW, I found why model=auto doesn't work well on your machine. It's because (again) of BIOS. It doesn't set the codec SSID properly so the driver doesn't accept the HP auto-toggle and other features.
So, in your case, using model=acer-aspire would be likely the best choice (supposing it matches with most functionality). If you have no problem (at least regressions) with this model, I'll add the entry to point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
Did you try my test patch?
It is with the patch:
[16877.337044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [16878.341056] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16879.345036] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16880.380016] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16881.384022] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a
Interesting, this is again the same verb. So, there seems something unstable regarding the digital PCM...
And do you still have the problem with HP plugging?
Takashi
On Mon, Mar 23, 2009 at 3:55 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:48:19 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:45 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:28:57 -0700, Russ Dill wrote:
> BTW, I found why model=auto doesn't work well on your machine. > It's because (again) of BIOS. It doesn't set the codec SSID properly > so the driver doesn't accept the HP auto-toggle and other features. > > So, in your case, using model=acer-aspire would be likely the best > choice (supposing it matches with most functionality). If you have no > problem (at least regressions) with this model, I'll add the entry to > point to model=acer-aspire
Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
Did you try my test patch?
It is with the patch:
[16877.337044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [16878.341056] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16879.345036] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16880.380016] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16881.384022] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a
Interesting, this is again the same verb. So, there seems something unstable regarding the digital PCM...
And do you still have the problem with HP plugging?
There seems to be some confusion. All I'm doing right now is playing audio through the analog PCM. After a while, I get that dmesg output and HP plugging stops working.
Being able to pipe audio out HDMI is a seperate issue.
At Mon, 23 Mar 2009 16:12:38 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:55 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:48:19 -0700, Russ Dill wrote:
On Mon, Mar 23, 2009 at 3:45 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 23 Mar 2009 15:28:57 -0700, Russ Dill wrote:
> > BTW, I found why model=auto doesn't work well on your machine. > > It's because (again) of BIOS. It doesn't set the codec SSID properly > > so the driver doesn't accept the HP auto-toggle and other features. > > > > So, in your case, using model=acer-aspire would be likely the best > > choice (supposing it matches with most functionality). If you have no > > problem (at least regressions) with this model, I'll add the entry to > > point to model=acer-aspire > > Add Acer Ferrar 5000 Quirk to Intel HDA driver
Thanks, a similar fix was already merged now.
It all works for a while, but eventually I'll get a "azx_get_response timeout, switching to polling mode: last cmd=0x10bb2001" and it no longer responds to headphone plug events without an unload/reload of the module.
Did you try my test patch?
It is with the patch:
[16877.337044] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [16878.341056] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16879.345036] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16880.380016] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a [16881.384022] hda_intel: azx_get_response timeout (ERROR): last cmd=0x106f000a
Interesting, this is again the same verb. So, there seems something unstable regarding the digital PCM...
And do you still have the problem with HP plugging?
There seems to be some confusion. All I'm doing right now is playing audio through the analog PCM. After a while, I get that dmesg output and HP plugging stops working.
Yes, that's what I understood, too. The driver still queries the PCM parameter for the digital output widget because you turn on "IEC958 Default PCM" switch, thus the signal is still routed to the digital, too.
The below is another test patch to reduce this problem (hopefully). It basically caches the parameter values to avoid superfluous queries. It's against the very latest alsa-driver snapshot. Apply it in addition to the previous test patch.
thanks,
Takashi
---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index a4e5e59..1d88e2f 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -1053,6 +1053,8 @@ EXPORT_SYMBOL_HDA(snd_hda_codec_cleanup_stream); /* FIXME: more better hash key? */ #define HDA_HASH_KEY(nid,dir,idx) (u32)((nid) + ((idx) << 16) + ((dir) << 24)) #define HDA_HASH_PINCAP_KEY(nid) (u32)((nid) + (0x02 << 24)) +#define HDA_HASH_PARPCM_KEY(nid) (u32)((nid) + (0x03 << 24)) +#define HDA_HASH_PARSTR_KEY(nid) (u32)((nid) + (0x04 << 24)) #define INFO_AMP_CAPS (1<<0) #define INFO_AMP_VOL(ch) (1 << (1 + (ch)))
@@ -1143,7 +1145,9 @@ int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, } EXPORT_SYMBOL_HDA(snd_hda_override_amp_caps);
-u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid) +static unsigned int +query_caps_hash(struct hda_codec *codec, hda_nid_t nid, u32 key, + unsigned int (*func)(struct hda_codec *, hda_nid_t)) { struct hda_amp_info *info;
@@ -1151,11 +1155,22 @@ u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid) if (!info) return 0; if (!info->head.val) { - info->amp_caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP); info->head.val |= INFO_AMP_CAPS; + info->amp_caps = func(codec, nid); } return info->amp_caps; } + +static unsigned int read_pin_cap(struct hda_codec *codec, hda_nid_t nid) +{ + return snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP); +} + +u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid) +{ + return query_caps_hash(codec, nid, HDA_HASH_PINCAP_KEY(nid), + read_pin_cap); +} EXPORT_SYMBOL_HDA(snd_hda_query_pin_caps);
/* @@ -2538,6 +2553,41 @@ unsigned int snd_hda_calc_stream_format(unsigned int rate, } EXPORT_SYMBOL_HDA(snd_hda_calc_stream_format);
+static unsigned int get_pcm_param(struct hda_codec *codec, hda_nid_t nid) +{ + unsigned int val = 0; + if (nid != codec->afg && + (get_wcaps(codec, nid) & AC_WCAP_FORMAT_OVRD)) + val = snd_hda_param_read(codec, nid, AC_PAR_PCM); + if (!val || val == -1) + val = snd_hda_param_read(codec, codec->afg, AC_PAR_PCM); + if (!val || val == -1) + return 0; + return val; +} + +static unsigned int query_pcm_param(struct hda_codec *codec, hda_nid_t nid) +{ + return query_caps_hash(codec, nid, HDA_HASH_PARPCM_KEY(nid), + get_pcm_param); +} + +static unsigned int get_stream_param(struct hda_codec *codec, hda_nid_t nid) +{ + unsigned int streams = snd_hda_param_read(codec, nid, AC_PAR_STREAM); + if (!streams || streams == -1) + streams = snd_hda_param_read(codec, codec->afg, AC_PAR_STREAM); + if (!streams || streams == -1) + return 0; + return streams; +} + +static unsigned int query_stream_param(struct hda_codec *codec, hda_nid_t nid) +{ + return query_caps_hash(codec, nid, HDA_HASH_PARSTR_KEY(nid), + get_stream_param); +} + /** * snd_hda_query_supported_pcm - query the supported PCM rates and formats * @codec: the HDA codec @@ -2556,15 +2606,8 @@ static int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, { unsigned int i, val, wcaps;
- val = 0; wcaps = get_wcaps(codec, nid); - if (nid != codec->afg && (wcaps & AC_WCAP_FORMAT_OVRD)) { - val = snd_hda_param_read(codec, nid, AC_PAR_PCM); - if (val == -1) - return -EIO; - } - if (!val) - val = snd_hda_param_read(codec, codec->afg, AC_PAR_PCM); + val = query_pcm_param(codec, nid);
if (ratesp) { u32 rates = 0; @@ -2586,15 +2629,9 @@ static int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, u64 formats = 0; unsigned int streams, bps;
- streams = snd_hda_param_read(codec, nid, AC_PAR_STREAM); - if (streams == -1) + streams = query_stream_param(codec, nid); + if (!streams) return -EIO; - if (!streams) { - streams = snd_hda_param_read(codec, codec->afg, - AC_PAR_STREAM); - if (streams == -1) - return -EIO; - }
bps = 0; if (streams & AC_SUPFMT_PCM) { @@ -2668,17 +2705,9 @@ int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid, int i; unsigned int val = 0, rate, stream;
- if (nid != codec->afg && - (get_wcaps(codec, nid) & AC_WCAP_FORMAT_OVRD)) { - val = snd_hda_param_read(codec, nid, AC_PAR_PCM); - if (val == -1) - return 0; - } - if (!val) { - val = snd_hda_param_read(codec, codec->afg, AC_PAR_PCM); - if (val == -1) - return 0; - } + val = query_pcm_param(codec, nid); + if (!val) + return 0;
rate = format & 0xff00; for (i = 0; i < AC_PAR_PCM_RATE_BITS; i++) @@ -2690,12 +2719,8 @@ int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid, if (i >= AC_PAR_PCM_RATE_BITS) return 0;
- stream = snd_hda_param_read(codec, nid, AC_PAR_STREAM); - if (stream == -1) - return 0; - if (!stream && nid != codec->afg) - stream = snd_hda_param_read(codec, codec->afg, AC_PAR_STREAM); - if (!stream || stream == -1) + stream = query_stream_param(codec, nid); + if (!stream) return 0;
if (stream & AC_SUPFMT_PCM) {
At Mon, 23 Mar 2009 16:45:55 +0100, I wrote:
I can still get:
[11025.533020] hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x106f000a [11026.537063] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x106f000a
Hm. Judging from alsa-info output, the verb looks correct, it's PCM parameter inquiry against the widget 0x06. So, your hardware is really flaky. What happens if you add codec->bus->needs_damn_long_delay = 1; in patch_realtek.c:patch_alc883() ?
Doesn't seem to have an effect, its easy to reproduce my switching a control while music is playing.
[13932.100052] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x10db2001
Hmm. What about setting enable_msi=1?
Also, could you try the patch below?
Takashi
---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index a4e5e59..e1c268a 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -174,14 +174,23 @@ unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, unsigned int verb, unsigned int parm) { struct hda_bus *bus = codec->bus; - unsigned int res; + unsigned int cmd, res; + int repeated = 0;
- res = make_codec_cmd(codec, nid, direct, verb, parm); + cmd = make_codec_cmd(codec, nid, direct, verb, parm); snd_hda_power_up(codec); mutex_lock(&bus->cmd_mutex); - if (!bus->ops.command(bus, res)) + again: + if (!bus->ops.command(bus, cmd)) { res = bus->ops.get_response(bus); - else + if (res == -1 && bus->rirb_error) { + if (repeated++ < 1) { + snd_printd(KERN_WARNING "hda_codec: " + "Trying verb 0x%08x again\n", cmd); + goto again; + } + } + } else res = (unsigned int)-1; mutex_unlock(&bus->cmd_mutex); snd_hda_power_down(codec); diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 2fdecf4..cd8979c 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h @@ -623,6 +623,7 @@ struct hda_bus { /* misc op flags */ unsigned int needs_damn_long_delay :1; unsigned int shutdown :1; /* being unloaded */ + unsigned int rirb_error:1; /* error in codec communication */ };
/* diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 30829ee..803b720 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -604,6 +604,7 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus) } if (!chip->rirb.cmds) { smp_rmb(); + bus->rirb_error = 0; return chip->rirb.res; /* the last value */ } if (time_after(jiffies, timeout)) @@ -623,8 +624,10 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus) chip->irq = -1; pci_disable_msi(chip->pci); chip->msi = 0; - if (azx_acquire_irq(chip, 1) < 0) + if (azx_acquire_irq(chip, 1) < 0) { + bus->rirb_error = 1; return -1; + } goto again; }
@@ -644,14 +647,12 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus) return -1; }
- snd_printk(KERN_ERR "hda_intel: azx_get_response timeout, " - "switching to single_cmd mode: last cmd=0x%08x\n", - chip->last_cmd); - chip->rirb.rp = azx_readb(chip, RIRBWP); - chip->rirb.cmds = 0; - /* switch to single_cmd mode */ - chip->single_cmd = 1; - azx_free_cmd_io(chip); + snd_printk(KERN_ERR "hda_intel: azx_get_response timeout (ERROR): " + "last cmd=0x%08x\n", chip->last_cmd); + spin_lock_irq(&chip->reg_lock); + chip->rirb.cmds = 0; /* reset the index */ + bus->rirb_error = 1; + spin_unlock_irq(&chip->reg_lock); return -1; }
participants (2)
-
Russ Dill
-
Takashi Iwai