ATI controllers [1002:4383] and [1002:4383] (rev 40): Intermittent record and jack sense failure

Bug #741825 reported by David Henningsson
372
This bug affects 63 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
David Henningsson
Natty
Fix Released
High
David Henningsson

Bug Description

Sometimes, but not always, when starting a recording stream through this HDA controller, the recording stream is not successfully started. Instead, the controller generates a large amount of interrupts (~40 000 interrupts per second). After this has happened, jack sense (i e unsolicited events from the codec) stops working until the next system reboot.

=== Similar bugs ===
Here are some possible duplicates:
Bug #743266 (HP Pavilion dv7)
Bug #764062 (Lenovo x120e)
Bug #775245 (Lenovo x100e)
Bug #770555 (Asus 1215T)
Bug #755847 (HP Pavilion DV6-1210SA)
Bug #774654 Dell Inspiron 1546
Bug #778716 ASRock 890GM Pro3
Bug #780419 Sapphire Tech PCM-AM3RS790G
Bug #780532 Toshiba Satellite L645D
Bug #781240 ASUS 1215T
Bug #775788 Acer Aspire One 522
Bug #787281 MSI 880GM-P51 (MS-7623)
Bug #788371 BIOSTAR Group TA890GXE
Bug #782891 MICRO-STAR MS-7388
Bug #787147 HP 62G Notebook PC
Bug #787001 HP Presario CQ56 Notebook PC

These controllers are affected: ATI [1002:4383] and ATI [1002:4383] (rev 40)

=== Checking for duplicate ===
A bug is a duplicate of this if at some point all of the following conditions are fulfilled:

1) The PCI controller ID (as checked with "lspci -vvnn") is ATI [1002:4383] and ATI [1002:4383] (rev 40)
2) Jack sense is not working - i e, you still have sound from either internal speakers or headphones, but it remains the way it was when the system was last rebooted and does not change on plug/unplug.
3) Recording is not working - there is no recording stream
4) When you're trying to record, you're instead seeing massive interrupts ( > 10.000 per second) for hda_intel, i e, the output of "cat /proc/interrupts | grep hda_intel" is increasing rapidly while unsuccessfully recording.

=== Investigation ===
By inserting some printk's into the kernel code I've traced down the interrupt problem to the recording stream returning a FIFO error (SD0STS returns 0x28). The interrupt service routine acknowledges this error but does not do anything to counteract the root cause to the problem, so it appears again and again.
Restarting the stream does not seem to help.

I have seen this bug on
1) 2.6.35
2) 2.6.38-rc8 mainline kernel build
3) 2.6.35 + daily snapshot of ALSA HDA modules

I have seen it both with and without fglrx.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: alsa-base 1.0.23+dfsg-1ubuntu4
Uname: Linux 2.6.38-020638rc8-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 1292 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'SB'/'HDA ATI SB at 0xd0600000 irq 16'
   Mixer name : 'Conexant CX20582 (Pebble)'
   Components : 'HDA:14f15066,17aa21b2,00100301'
   Controls : 8
   Simple ctrls : 5
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6XHT42WW-1.182000'
   Mixer name : 'ThinkPad EC 6XHT42WW-1.182000'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
CurrentDmesg:
 [ 89.940031] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x001f000a
 [ 90.944071] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x001f000a
 [ 181.943909] r8169 0000:02:00.0: eth0: link up
 [ 181.944638] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Date: Thu Mar 24 11:39:51 2011
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-sutton-20110310-0
InstallationMedia: Ubuntu 10.10 "Maverick" - Build i386 LIVE Binary 20110310-01:59
PackageArchitecture: all
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: alsa-driver
dmi.bios.date: 10/28/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6XET46WW (1.29 )
dmi.board.name: 287622U
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6XET46WW(1.29):bd10/28/2010:svnLENOVO:pn287622U:pvrThinkPadX100e:rvnLENOVO:rn287622U:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 287622U
dmi.product.version: ThinkPad X100e
dmi.sys.vendor: LENOVO

Revision history for this message
David Henningsson (diwic) wrote :
description: updated
Changed in alsa-driver (Ubuntu):
assignee: nobody → David Henningsson (diwic)
status: New → Triaged
description: updated
Chris Van Hoof (vanhoof)
tags: added: hwe-blocker
Revision history for this message
Andiry (andiry-xu) wrote :

I've tried a SB800 platform with "00:14.2 0403: 1002:4383 (rev 40)" HDA controller and ALC889, but unable to reproduce it.

Do you observe the large amount of interrupts and the following dmesg
[ 89.940031] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x001f000a
[ 90.944071] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x001f000a

during every boot up?

The HD-Audio.txt (documentation/sound/alsa) describes this problem as a fatal error. Can you try the workaround described in the document?

Revision history for this message
David Henningsson (diwic) wrote :

Hi Andiry,

The excessive interrupts, broken recording, and broken jack-sense is experienced on approximately one third of the boots.

The log messages below:

[ 89.940031] hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x001f000a
[ 90.944071] hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x001f000a

...are generally not present even when the other symptoms occur, and if they occur, they don't occur on boot but later. Let's not focus on these messages too much since they are not always present as part of the problem. Anyway, I tried the probe_mask=1 anyway just to rule it out, and it did not make a difference.

Revision history for this message
David Henningsson (diwic) wrote :

In case it's interesting, here's an example of "cat /proc/interrupts" taken right after boot.

Revision history for this message
David Henningsson (diwic) wrote :

I have also tried the enable_msi=0 and enable_msi=1 options without any differences. I wonder whether I should try adding udelay's at random places to see if it has anything to do with doing something too quickly? But best would be if you could tell me a little bit about what this FIFO error (SD0STS returns 0x28) actually means, how one's supposed to handle it and if possible some reasoning about the possible causes.

Revision history for this message
Andiry (andiry-xu) wrote :

FIFO error for an input stream means a FIFO overrun occurring while the RUN bit is set.
When this happens, the FIFO pointers do not increment and the incoming data is not written into the FIFO, thereby being lost.

Current HDA driver just acknowledge and clear this error when it occurs. I'm not sure about the root cause at this moment and will try to reproduce it on my side.

Revision history for this message
Andiry (andiry-xu) wrote :

Can you test the patch attached to see if it helps?

Revision history for this message
David Henningsson (diwic) wrote : Re: [alsa-devel] HDA record fails with FIFO error

On 2011-04-07 12:10, Takashi Iwai wrote:
> At Thu, 7 Apr 2011 16:54:50 +0800,
> Xu, Andiry wrote:
>>
>> Hi Takashi,
>>
>> Currently I encountered an HD audio issue reported by customer on a
>> Lenovo x100e system. Sometimes, but not always, when starting a
>> recording stream through the HDA controller, the controller generates a
>> large amount of interrupts (~40 000 interrupts per second). After this
>> has happened, jack sense (i e unsolicited events from the codec) stops
>> working until the next system reboot.

This seems more reproducible now than it was a while ago, now it seems
to happen more often than not.

>> SD0STS returns a FIFO error (0x28) in interrupt handler. The interrupt
>> service routine acknowledges this error but does not do anything to
>> counteract the root cause to the problem, so it appears again and again.
>> Restarting the stream does not seem to help. Enable MSI or not does not
>> help either.
>>
>> The issue occurs on 2.6.35 and 2.6.38-rc8+, have not tried latest kernel
>> yet but I think it's also there. FIFO error indicates FIFO overrun
>> occurring while the RUN bit is set, but the driver simply acknowledge
>> and clear the error. I wonder what the root cause and the right
>> treatment are in this case. Any suggestions?

Brainstorming:
1) We could try adding udelays at random places.
2) There are a few workarounds for different chips already in
hda_intel.c, maybe try applying them here as well.

Does that make sense to either of you?

> FIFO_ERR is actually never handled, so basically we can ignore.
> Simply disabling it like below works around your problem?
>
> Of course, a proper handling of FIFO error would be better, but
> this may need more code rewrites.

This does not fix the error in question, it removes the interrupts all
right, but neither recording nor jack sense starts to work.

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

tags: added: patch
Revision history for this message
David Henningsson (diwic) wrote :

On 2011-04-07 16:30, David Henningsson wrote:
> On 2011-04-07 12:10, Takashi Iwai wrote:
>> At Thu, 7 Apr 2011 16:54:50 +0800,
>> Xu, Andiry wrote:
>>>
>>> Hi Takashi,
>>>
>>> Currently I encountered an HD audio issue reported by customer on a
>>> Lenovo x100e system. Sometimes, but not always, when starting a
>>> recording stream through the HDA controller, the controller generates a
>>> large amount of interrupts (~40 000 interrupts per second). After this
>>> has happened, jack sense (i e unsolicited events from the codec) stops
>>> working until the next system reboot.
>
> This seems more reproducible now than it was a while ago, now it seems
> to happen more often than not.
>
>>> SD0STS returns a FIFO error (0x28) in interrupt handler. The interrupt
>>> service routine acknowledges this error but does not do anything to
>>> counteract the root cause to the problem, so it appears again and again.
>>> Restarting the stream does not seem to help. Enable MSI or not does not
>>> help either.
>>>
>>> The issue occurs on 2.6.35 and 2.6.38-rc8+, have not tried latest kernel
>>> yet but I think it's also there. FIFO error indicates FIFO overrun
>>> occurring while the RUN bit is set, but the driver simply acknowledge
>>> and clear the error. I wonder what the root cause and the right
>>> treatment are in this case. Any suggestions?
>
> Brainstorming:
> 1) We could try adding udelays at random places.
> 2) There are a few workarounds for different chips already in
> hda_intel.c, maybe try applying them here as well.
>
> Does that make sense to either of you?
>
>> FIFO_ERR is actually never handled, so basically we can ignore.
>> Simply disabling it like below works around your problem?
>>
>> Of course, a proper handling of FIFO error would be better, but
>> this may need more code rewrites.
>
> This does not fix the error in question, it removes the interrupts all
> right, but neither recording nor jack sense starts to work.

Hi Andiry,

I'm still trying to get a grip of what the error could be. Having
re-enabled the FIFO interrupt again and some debug printk's the first
time the FIFO error happens, I notice that it happens after a while,
where "a while" ranges from 100 ms to 4 s or so. CBL is 65536 and LPIB
seems to be a reasonable value (a value below 65536, approximately
corresponding to the time the stream has been running). BDL entries look
correct.

Can it be something else than a chipset bug in this case? I'm trying to
rule out every possible driver problem I can think of.

Btw - how can a recording FIFO overrun in the first place? I mean, if we
have two BDLE buffers with 32768 bytes in each (assume bl_pos_adj=0 for
this example), the FIFO should just write to the first, then the second,
then the first again, and so on, without having overrun errors.

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

summary: - Lenovo x100e: Intermittent record and jack sense failure
+ ATI controllers [1002:4383] and [1002:4383] (rev 40): Intermittent
+ record and jack sense failure
description: updated
Revision history for this message
David Henningsson (diwic) wrote :

Just thought I should mention it: There was an interesting patch from Takashi the other day:
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound-2.6.git;a=commit;h=d507cd668a3f6d07b31e914722b453c454b03204

So I tested it, but it did not resolve the problem.

description: updated
description: updated
Luke Yelavich (themuso)
description: updated
description: updated
Revision history for this message
Andiry (andiry-xu) wrote :

Can you apply the patch attached and see if it helps?

Revision history for this message
Andiry (andiry-xu) wrote :

Does remove pulseaudio helps on this issue?
Does #arecord -Dplug:hw:# abc.wav works?

Also, Takashi has some patches for AMD chipsets workaround, like commit 447ee6a7 and d507cd66. Do the patches work for this issue?

Revision history for this message
David Henningsson (diwic) wrote : The AMD chipset problem (DMA engine stops on [1002:4383])

Okay, home again and ready to test the latest stuff on the Lenovo x100e.

This was with today's snapshot of sound-2.6, which includes commits
447ee6a7 and d507cd66, and with Andiry's disable-64-bit DMA patch [1] on
top of that.

With PulseAudio installed, it happens almost every time.

I have also reproduced the issue without PulseAudio, although only once.
What I did then was the following:

1) Write some garbage in the beginning of /etc/pulse/default.pa to
prevent PulseAudio to start up.

2) Started:
arecord -Dplughw:0 -f cd test.wav

3) With that stream running, opened a second terminal window and started:
speaker-test -Dplughw:0 -c 2 -t sine

Now both applications crashed and the interrupts on the hda_intel line
went up with ~400000 interrupts. Error message from arecord:

arecord: pcm_read:1692: read error: Input/output error

Error message from speaker-test:
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Operation not permitted

There is also a dmesg message: "hda-intel: azx_get_response timeout,
switching to polling mode: last cmd=0x010f0600", but I'm 100% sure it
came from the exact point when these applications crashed.

I tried to reproduce the same thing, but it only happened once.

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

[1]
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/741825/+attachment/2123974/+files/snd_test.patch

Revision history for this message
David Henningsson (diwic) wrote :

On 2011-05-16 15:50, Takashi Iwai wrote:
> At Mon, 16 May 2011 15:42:51 +0200,
> David Henningsson wrote:
>>
>> Okay, home again and ready to test the latest stuff on the Lenovo x100e.
>
> Good to hear you back well.

:-) Nice to meet you!

>> This was with today's snapshot of sound-2.6, which includes commits
>> 447ee6a7 and d507cd66, and with Andiry's disable-64-bit DMA patch [1] on
>> top of that.
>
> The 64bit fix would make sense only when you have a RAM over 4GB,
> I suppose. But, still worth to try...
>
>> With PulseAudio installed, it happens almost every time.
>>
>> I have also reproduced the issue without PulseAudio, although only once.
>> What I did then was the following:
>>
>> 1) Write some garbage in the beginning of /etc/pulse/default.pa to
>> prevent PulseAudio to start up.
>>
>> 2) Started:
>> arecord -Dplughw:0 -f cd test.wav
>>
>> 3) With that stream running, opened a second terminal window and started:
>> speaker-test -Dplughw:0 -c 2 -t sine
>>
>> Now both applications crashed and the interrupts on the hda_intel line
>> went up with ~400000 interrupts. Error message from arecord:
>>
>> arecord: pcm_read:1692: read error: Input/output error
>>
>> Error message from speaker-test:
>> Write error: -5,Input/output error
>> xrun_recovery failed: -5,Input/output error
>> Transfer failed: Operation not permitted
>
> I tested this procedure on a test machine here with AMD Hudson,
> but can't reproduce the issue. You could get this only once?

I have managed to get it two more times now:
arecord crashes with the same error, interrupts up between 300000 and
400000, however this time speaker-test has kept working and there has
not been any "switching to polling mode" in dmesg.

I had to keep speaker-test running for a random while (so it can
repeatedly start and stop streams) before it happened.

But at least this rules out PulseAudio as the root cause of the
problems, although it seems more easily to trigger with PulseAudio.

>> There is also a dmesg message: "hda-intel: azx_get_response timeout,
>> switching to polling mode: last cmd=0x010f0600", but I'm 100% sure it
>> came from the exact point when these applications crashed.
>
> Switching to polling mode itself isn't that critical. It can happen
> in many other platforms. But of course it'd make sense that it happen
> with the bug -- it's about the interrupts, after all.
>
>
> Takashi
>
>> I tried to reproduce the same thing, but it only happened once.
>>
>> --
>> David Henningsson, Canonical Ltd.
>> http://launchpad.net/~diwic
>>
>> [1]
>> https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/741825/+attachment/2123974/+files/snd_test.patch
>>
>

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

Revision history for this message
David Henningsson (diwic) wrote :

One could note that commit 20c304ed84, perhaps in combination with 447ee6a7 and d507cd66, seems to fix the problems on the Hudson chipset, however, on the Lenovo x100e [1002:4383] the problems remain.

Revision history for this message
David Henningsson (diwic) wrote : Should we really use POS_FIX_VIACOMBO for AMD/ATI chipsets?

I'm far from sure, but I could be on to something...

Looking at the code for azx_via_get_position, it seems that for
recording streams, it accesses a register at position
VIA_IN_STREAM0_FIFO_SIZE_OFFSET = 0x90. Looking at the datasheet for
SB700, that register is not even present. This does not seem right to me.

Could it be that we should use POS_FIX_LPIB by default for AMD/ATI
chipsets instead? It seems more reasonable to me.
In addition, I looked through some of the commits for quirking to
POS_FIX_LPIB and the four I checked were all ATI chipsets.

So; I've tried adding:
options snd-hda-intel position_fix=1
to /etc/modprobe.d/alsa-base.conf

...to my machine with the infamous [1002:4383] controller (and
rebooted), and the few times I've tested, recording worked successfully
with pulseaudio. So could you please follow this up with testing on your
machines to see if we have actually managed to solve this long-standing bug?

The only annoying thing is that I didn't realise this earlier :-/

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

Revision history for this message
David Henningsson (diwic) wrote :

On 2011-05-20 15:46, Takashi Iwai wrote:
> At Fri, 20 May 2011 15:33:56 +0200,
> David Henningsson wrote:
>>
>> I'm far from sure, but I could be on to something...
>>
>> Looking at the code for azx_via_get_position, it seems that for
>> recording streams, it accesses a register at position
>> VIA_IN_STREAM0_FIFO_SIZE_OFFSET = 0x90. Looking at the datasheet for
>> SB700, that register is not even present. This does not seem right to me.
>>
>> Could it be that we should use POS_FIX_LPIB by default for AMD/ATI
>> chipsets instead? It seems more reasonable to me.
>> In addition, I looked through some of the commits for quirking to
>> POS_FIX_LPIB and the four I checked were all ATI chipsets.
>>
>> So; I've tried adding:
>> options snd-hda-intel position_fix=1
>> to /etc/modprobe.d/alsa-base.conf
>>
>> ...to my machine with the infamous [1002:4383] controller (and
>> rebooted), and the few times I've tested, recording worked successfully
>> with pulseaudio. So could you please follow this up with testing on your
>> machines to see if we have actually managed to solve this long-standing bug?
>>
>> The only annoying thing is that I didn't realise this earlier :-/
>
> Hmm, I took this as default as it seems fixing the issue on machines,
> indeed. Actually I had to use this option first for removing
> recording noises on AMD Hudson. But, maybe I need to double-check
> again after the snoop bit and other workarounds.
>
> The FIFO size might got wrong on AMD. In that case, the driver
> calculates as if FIFO = 0. But, it can still help for correcting the
> position via position-buffer vs LPIB comparison.
>
> For the real check, we should put some debug prints on real machines.

Hey, you're faster than I am :-) Ok, so there actually is a FIFO
register (I read the wrong table). But the position buffer is dead and
always read as zero.

I did some debug print which is pasted here: http://paste.ubuntu.com/610637/

If LPIB only gives you occasional recording noises, perhaps we need a
new type of position-fix that adds some margin (e g round down to
nearest multiple of fifo-size, then subtract one fifo-size or something)?

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

Revision history for this message
David Henningsson (diwic) wrote :

Setting to incomplete while waiting for testing of more machines according to comment 16
(adding
options snd-hda-intel position_fix=1
to /etc/modprobe.d/alsa-base.conf)

Changed in alsa-driver (Ubuntu):
status: Triaged → Incomplete
Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Revision history for this message
Andiry (andiry-xu) wrote :

I've tested latest sound-2.6.git on x120e, using POS_FIX_LPIB for ATI/AMD HDA contollers. Record with pulseaudio seems work fine. I'll have more tests tomorrow and investigate the issue for root cause.

Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Revision history for this message
Valorie Zimmerman (valorie-zimmerman) wrote :

Ever since the upgrade to 11.04, I've suffered from this bug, although it was constant, not intermittent. Fixed it tonight with the help of the kindly folks in #ubuntu-kernel, by doing this:

sudo add-apt-repository ppa:ubuntu-audio-dev/ppa && sudo apt-get update && sudo apt-get install linux-alsa-driver-modules-$(uname -r)

$ lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
00:01.0 PCI bridge: Hewlett-Packard Company Device 9602
00:04.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 1)
00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)
00:07.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.1 USB Controller: ATI Technologies Inc SB7x0 USB OHCI1 Controller
00:12.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.1 USB Controller: ATI Technologies Inc SB7x0 USB OHCI1 Controller
00:13.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)
00:14.1 IDE interface: ATI Technologies Inc SB7x0/SB8x0/SB9x0 IDE Controller
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor HyperTransport Configuration (rev 40)
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 11h Processor Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]
01:05.1 Audio device: ATI Technologies Inc RS780 Azalia controller
08:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
08:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
08:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
08:00.4 System peripheral: JMicron Technology Corp. xD Host Controller
09:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

Now, not only my headphones work, but also my internal mic, and SKYPE! (as long as we have it still....)

Thanks again for your good work.

Chris Van Hoof (vanhoof)
tags: added: blocks-hwcert
Revision history for this message
Shane Huang (shane-huang) wrote :

Confirmed that DMA position buffer is not supported by ATI/AMD HD Audio, we need to use LPIB instead.
We are submitting a patch to refine Takashi's recent commits by removing vendor ID check and deleting duplicated code.

Thanks,

Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Luke Yelavich (themuso)
description: updated
Revision history for this message
David Henningsson (diwic) wrote : Bug 741825 (Broken recording/jack sense on recent ATI/AMD chipsets) - next step

So, as some of you know, I've been working with bug 741825 for a while
and thanks to our OEM/HWE team we're now quite certain that running an
upstream snapshot of the alsa driver modules solves the problem. I'm now
trying to SRU this into Natty.

I'm attaching three fixes which I believe is what's needed to apply on
top of natty to fix this problem, but I'd like verification. Note that
nr 2 is to enable the Hudson chipset, which is also baked into this issue.

Testing is easiest done using the following procedure:

1) Start off with a fresh Natty install with nothing but natty-updates
installed. In particular, make sure the latest ALSA drivers are *not*
installed (modinfo snd-hda-codec should say
/lib/modules/2.6.38-8-generic/kernel/sound/pci/hda/snd-hda-codec.ko)

2) Install the attached deb and reboot.

3) Test both internal and external mic. Even though mics should
autoswitch for the three below (I think), make sure the right mic is
selected in gnome-volume-control so you control the volume of the right
input. Testing for a larger period of time doesn't hurt here, e g you
could leave gnome-volume-control on the input tab, go away a few
minutes, then come back and notice that the level bar is still moving
when you speak into the microphone.

4) When the above test is done, also test automute (speaker mutes when
headphones plugged in). This is something that could start to fail after
a while which is why this test should be done after the previous test.

5) If the machine does not work, please supply the output of "cat
/proc/interrupts" and an alsa-info (wiki.ubuntu.com/Audio/AlsaInfo).

If I'd make a wish, I'd like this to be tested on

  * One or two machines with the SB700/SB800 chipset
  * One or two machines with the Hudson chipset
  * One or two machines with an older ATI chipset, as this might impact
them as well. This is to test for regressions, although I suspect that
we actually improve the situation for them as well.

Again, thanks for helping out!

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

Ara Pulido (ara)
Changed in alsa-driver (Ubuntu):
importance: Undecided → Medium
Chris Van Hoof (vanhoof)
Changed in alsa-driver (Ubuntu):
importance: Medium → High
status: Incomplete → In Progress
Revision history for this message
Hsin-Yi, Chen (hychen) (ossug-hychen) wrote :

I've tested one machine has Hudson chipset AMD A6-3400M APU with Radeon(tm) HD Graphics, and the Codec is IDT 92HD87B1/3

Revision history for this message
Stefan Braun (badevil) wrote :

I´ve tested alsa-hda-dkms on my Notebook (MSI CR650) with E-350 APU (Kubuntu 11.04) and after I´ve installed your package I lost the sound playback. An uninstall of the packed doesn´t solved my problem and the sound just turned back after this commands, but still no mic.:
sudo add-apt-repository ppa:ubuntu-audio-dev/ppa && sudo apt-get update && sudo apt-get install linux-alsa-driver-modules-$(uname -r)

I´m sorry, because I forgot about the alsa-info :-(.
The used sound card is ALC269VB.
Maybe someone of you can also tell me, why I´m not able to find ALC269VB_AMIC or how I can add it, maybe it helps?
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=84898e87cc0fff976202d5b91656f2db949fc2dd

Revision history for this message
David Henningsson (diwic) wrote :

@Stefan, could you please file a separate bug (using the "ubuntu-bug audio" terminal command) and point us to it? We must first verify that you're seeing the same bug as this one.

Tim Gardner (timg-tpi)
affects: alsa-driver (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Natty):
status: New → Fix Committed
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu Natty):
assignee: nobody → David Henningsson (diwic)
Chris Van Hoof (vanhoof)
Changed in linux (Ubuntu Natty):
importance: Undecided → High
Revision history for this message
Eugene (ylamanosau) wrote :

works well for ASUS 1215T, Realtek ALC269VB, installed deb package, rebooted and mic works!!! Thanks.

Revision history for this message
Jay Caesar (jaythecaesarean) wrote :

Mic and automute is not working on my acer 522 even after installing the deb package. :(

Revision history for this message
Stuart Metcalfe (stuartmetcalfe) wrote :

Confirmed this package solves the mic issue on my Acer W500 tablet. Thanks!

Revision history for this message
Herton R. Krzesinski (herton) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-natty' to 'verification-done-natty'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-natty
Revision history for this message
Keng-Yu Lin (lexical) wrote :

I confirmed that the 2.6.38-11 proposed kernel fixes the issue on Lenovo Essential Desktop C205. It has the same audio controller and suffers the same issue.

tags: added: verification-done
removed: verification-needed-natty
tags: added: verification-done-natty
removed: verification-done
Revision history for this message
jacobwwood (jacobwwood) wrote :

Installing the 2.6.38-11 proposed kernel also fixed the issue for me on an HP TouchSmart 310 running Natty. Thanks so much!

Revision history for this message
peter b (b1pete) wrote :

hello gents,

the url below shows my labours and experiences to date re audio problem encountered on acer one 522-BZ623

https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/165597

although the one issue workoround (external mic working) is satisfactory for the time being to some degree there are still some issues that I could not get resolved ie crackling sound on ext mic, no internal mic working, no right speaker working..

I also attach the dmesg file.

Revision history for this message
Michael Dawson (mdawson-i) wrote :

This is not the same bug as in 816520.

Revision history for this message
Gabriel Pannwitz (gabkdlly) wrote :

The "proposed" kernel fixes my sound issues in Empathy, but not in Skype or Gmail.

Revision history for this message
christopher pijarski (kpijarski) wrote :

Hello, with the audio-dev ppa things start working better (no interrupts problem), except for capturing sound: external mic is still cracking and internal mic not working at all (just noise). Is there a way to maybe tweak the setup with HDA_Analyzer? Has anybody had any success with getting this to work?

Ubuntu Natty on Asus UL12FT (Realtek ALC269VB) - how come ot works on the ASUS 1215T? Doesn't this model have the same sound hardware? (see comment 26)

Can I do anything to help with this?

Revision history for this message
Mihael Krauth (mihael-krauth) wrote :

Just tested the patch on a fresh Natty install. Fixed the mic issue on a HP Compaq CQ43 (Card HDA ATI SB - Chip Realtek ALC270).

Revision history for this message
Anton Mannov (anton-mannov) wrote :

Ubuntu 11.04 (freshly installed and updated couple of days ago), Acer Aspire 522, CX20584 sound.
no skype, no mic.
removing pulseaudio and using some pavucontrol, gamix etc. utils did nothing.

Partially fixed the problem by setting snd_hda_intel model=laptop, dell-vostro position_fix=0,1
at least now I have my mic (pink jack) works fine in skype and phones (black jack) are shutting down internal speaking when inserted

so all the buzz with this problem is in setting "wrong" models of PCs?

Revision history for this message
peter b (b1pete) wrote :

re #22 - it proposes/mandatory testing with kernel .........38-8 version ........ (modinfo snd-hda-codec should say
/lib/modules/2.6.38-8-generic/kernel/sound/pci/hda/snd-hda-codec.ko)........

however, I think that the vast majority upgraded already to ....38-10.

can this fix/testing ......all.deb listed under #22 be applied/tested under ....38-10 ? if yes kindly indicate how.

tu.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.4 KiB)

This bug was fixed in the package linux - 2.6.38-11.48

---------------
linux (2.6.38-11.48) natty-proposed; urgency=low

  [Herton R. Krzesinski]

  * Release Tracking Bug
    - LP: #818175

  [ Upstream Kernel Changes ]

  * Revert "HID: magicmouse: ignore 'ivalid report id' while switching
    modes"
    - LP: #814250

linux (2.6.38-11.47) natty-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #811180

  [ Keng-Yu Lin ]

  * SAUCE: Revert: "dell-laptop: Toggle the unsupported hardware
    killswitch"
    - LP: #775281

  [ Ming Lei ]

  * SAUCE: fix yama_ptracer_del lockdep warning
    - LP: #791019

  [ Stefan Bader ]

  * SAUCE: Re-enable RODATA for i386 virtual
    - LP: #809838

  [ Tim Gardner ]

  * [Config] Add grub-efi as a recommended bootloader for server and
    generic
    - LP: #800910
  * SAUCE: rtl8192se: Force a build for a 2.6/3.0 kernel
    - LP: #805494

  [ Upstream Kernel Changes ]

  * Revert "bridge: Forward reserved group addresses if !STP"
    - LP: #793702
  * Fix up ABI directory
  * bonding: Incorrect TX queue offset, CVE-2011-1581
    - LP: #792312
    - CVE-2011-1581
  * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel
    oops
    - LP: #795418
    - CVE-2011-1577
  * usbnet/cdc_ncm: add missing .reset_resume hook
    - LP: #793892
  * ath5k: Disable fast channel switching by default
    - LP: #767192
  * mm: vmscan: correctly check if reclaimer should schedule during
    shrink_slab
    - LP: #755066
  * mm: vmscan: correct use of pgdat_balanced in sleeping_prematurely
    - LP: #755066
  * ALSA: hda - Use LPIB for ATI/AMD chipsets as default
    - LP: #741825
  * ALSA: hda - Enable snoop bit for AMD controllers
    - LP: #741825
  * ALSA: hda - Enable sync_write workaround for AMD generically
    - LP: #741825
  * cpuidle: menu: fixed wrapping timers at 4.294 seconds
    - LP: #774947
  * drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.
    - LP: #761065
  * USB: ehci: remove structure packing from ehci_def
    - LP: #791552
  * drm/i915: disable PCH ports if needed when disabling a CRTC
    - LP: #791752
  * kmemleak: Do not return a pointer to an object that kmemleak did not
    get
    - LP: #793702
  * kmemleak: Initialise kmemleak after debug_objects_mem_init()
    - LP: #793702
  * Fix _OSC UUID in pcc-cpufreq
    - LP: #793702
  * CPU hotplug, re-create sysfs directory and symlinks
    - LP: #793702
  * Fix memory leak in cpufreq_stat
    - LP: #793702
  * net: recvmmsg: Strip MSG_WAITFORONE when calling recvmsg
    - LP: #793702
  * ftrace: Only update the function code on write to filter files
    - LP: #793702
  * qla2xxx: Fix hang during driver unload when vport is active.
    - LP: #793702
  * qla2xxx: Fix virtual port failing to login after chip reset.
    - LP: #793702
  * qla2xxx: Fix vport delete hang when logins are outstanding.
    - LP: #793702
  * powerpc/kdump64: Don't reference freed memory as pacas
    - LP: #793702
  * powerpc/kexec: Fix memory corruption from unallocated slaves
    - LP: #793702
  * x86, cpufeature: Fix cpuid leaf 7 feature detection
    - LP: #793702
  * ath9k_hw: do noise floor calibration only on required chain...

Changed in linux (Ubuntu Natty):
status: Fix Committed → Fix Released
Revision history for this message
peter b (b1pete) wrote :

yes, thank you.

.....38-11 kernel upgrade with, among other issues addresses also
* ALSA: hda - Use LPIB for ATI/AMD chipsets as default
    - LP: #741825
  * ALSA: hda - Enable snoop bit for AMD controllers
    - LP: #741825
  * ALSA: hda - Enable sync_write workaround for AMD generically
    - LP: #741825
installed. it did no good as far as int/ext mic sensing is concerned. only the left speaker tested good, there was no response when right speaker tested. the only change from prev .....38-10 is that alsamixer shows under F4 capture a mic bar but the mic (internal) had no sensing. an external mic was then connected - same results.

so back to ppa (#20)

sudo add-apt-repository ppa:ubuntu-audio-dev/ppa && sudo apt-get update && sudo apt-get install linux-alsa-driver-modules-$(uname -r)

after reboot the external mic was immediately seen/sensed and skype test center replayed the input.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.