SSV 0x103c needs cap at 0 dB offset for CX20551 (Waikiki)

Bug #420578 reported by Mike Pontillo on 2009-08-28
This bug affects 9 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Daniel T Chen

Bug Description

Binary package hint: pulseaudio

When pulseaudio is running, it forces my "PCM" volume (as seen in "alsamixer") to 100%.

This is not acceptable, since my (laptop) speakers sound terrible unless the PCM volume is turned down.

I tried following the instructions in bug 410446 to stop pulseaudio, reset my mixer settings (also tried "alsactl store 0" to save them), and restart pulseaudio. But the PCM volume always goes back to 100% as soon as pulseaudio restarts.

I have used several Ubuntu releases before Karmic, and none have had this problem.

ProblemType: Bug
Architecture: i386
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
 /dev/snd/controlC0: pontillo 26487 F.... pulseaudio
 Card hw:0 'Intel'/'HDA Intel at 0xd2400000 irq 22'
   Mixer name : 'Conexant CX20551 (Waikiki)'
   Components : 'HDA:14f15047,103c30a5,00100000'
   Controls : 17
   Simple ctrls : 9
Date: Thu Aug 27 21:53:33 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: pulseaudio 1:0.9.16~test6-3-g57e1-0ubuntu2
 PATH=(custom, user)
ProcVersionSignature: Ubuntu 2.6.31-7.27-generic
SourcePackage: pulseaudio
Uname: Linux 2.6.31-7-generic i686

Mike Pontillo (mpontillo) wrote :

On Fri, Aug 28, 2009 at 10:51 AM, Mike Pontillo<email address hidden> wrote:
> When pulseaudio is running, it forces my "PCM" volume (as seen in
> "alsamixer") to 100%.

I can't reproduce this symptom using the same HDA codec and revision.
Also, please try the ~ubuntu-audio-dev PPA.

I installed pulseaudio version 1:0.9.16~test6-30-g300384-0ubuntu1~ubuntuaudiodev1 from the PPA. I still have the same issue. (Even after a reboot.)

Is there anything else I should look at?

On Fri, Aug 28, 2009 at 7:04 PM, Mike Pontillo<email address hidden> wrote:
> Is there anything else I should look at?

Can you try disabling flatvol?

echo flat-volumes = no|tee -a ~/.pulse/daemon.conf && killall pulseaudio

Interesting. This caused a slight change in behavior.

Now when I turn "PCM" down in alsamixer, it goes down to 99, 98, or 97%. But then it "jumps" back to 100% and adjusts "Master" instead.

Should I have seen the "flat-volumes" directive in "pacmd" when I told it to dump the config? (I don't.) Maybe that's a separate bug. I wanted to verify that it had taken effect. (but I assume that it did take effect, since the behavior changed.)

>>> dump
### Configuration dump generated at Fri Aug 28 17:18:13 2009

load-module module-suspend-on-idle
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-alsa-card device_id="0" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"
load-module module-udev-detect
load-module module-bluetooth-discover
load-module module-esound-protocol-unix
load-module module-native-protocol-unix
load-module module-gconf
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-console-kit
load-module module-position-event-sounds
load-module module-cork-music-on-phone
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo 0x4c6d
set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo no
suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo yes
set-source-volume alsa_output.pci-0000_00_1b.0.analog-stereo.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1b.0.analog-stereo.monitor no
suspend-source alsa_output.pci-0000_00_1b.0.analog-stereo.monitor yes
set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 0x725a
set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo yes
suspend-source alsa_input.pci-0000_00_1b.0.analog-stereo yes
set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo+input:analog-stereo

set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo

### EOF

Mike Pontillo (mpontillo) wrote :

   Note, I found that adding the following file to my system helps SOME of the problem:

$ cat /etc/modprobe.d/sound.conf
options snd_hda_intel model=hp

   It seems the snd_hda_intel module has a vast array of options that one needs to sort through in order to get quality sound output. It might be nice to have a robust "detection" scheme to set these options out of the box if a board is detected that needs additional options to work better.

   I was hoping that this would be a 100% acceptable workaround, but I still hear some of the "crackling" from my speakers that caused me to work around the issue by (in previous Ubuntu releases) adjusting the PCM volume down.

Mike Pontillo (mpontillo) wrote :

Oops - in my haste to balance uploading the "pulseaudio -vvvv" log and keeping my toddler happy, I attached it to the wrong bug. (the bug I mentioned in the description.)

It's here:

Mike Pontillo (mpontillo) wrote :

Upon Daniel's suggestion on IRC ("ok, so you probably want to look at /usr/share/pulseaudio/alsa-mixer/paths/analog-output*", "IF it turns out not to be a codec (driver) issue, you may try changing the volume = merge") I tried replacing all occurrences of "merge" with "ignore" in /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf. This stops the behavior described in the bug, and I can set the volumes however I want in alsamixer.

Mike Pontillo (mpontillo) wrote :

Here's another interesting thing I noticed while running "pulseaudio" from the command line:

E: alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write!
E: alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_hda_intel'. Please report this issue to the ALSA developers.
E: alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.

Jacopo Urbani (jrbn) wrote :

I confirm that also my the intel chip in my motherboard the PCM volume is always set at 100%

wavded (wavded) wrote :

I confirm as well that this is happening on my Dell XPS M1710 laptop. The PCM volume is always at high level as seen in alsamixer. The master will adjust using the volume applet, but not the PCM. Adjust of the master also does something really odd. It doesn't change the volume but rather moves the sound from "bass" to "treble." Sounds like the subwoofer is getting more of the sound when the master volume is low, and the all the speakers get it when the master is high. Kinda odd. If I adjust the alsamixer PCM volume manually it does what I would expect.

powerpanda (zveda2000-gmail) wrote :

What worked for me was changing profile to Analog Surround 4.0 Output (or any other surround option) in sound preferences hardware tab. The surround tab in alsamixer controls the volume smoothly for me.

chidalgo (chidalgo-gmail) wrote :

I confirm the bug; using a Dell XPS M1210 with Intel Corporation 82801G and snd_hda_intel.

Try snd_hda_intel with model = {auto, basic, hp} without any luck.

Try to lower the PCM level, but when i change the Master volume, all the levels in alsamixer goes up to 100% :(

Stefan (stefan-engelhardt) wrote :

I have the same problem with a Creative Soundblaster X-Fi Extreme Music (PCI) under 64-Bit.

Under Ubuntu 9.04 Jaunty the X-Fi workes fine with the unstable driver from "twai". Also the surround sound wokres with the old version of pulseaudio.

@Stefan You could try installing
linux-backports-modules-alsa-karmic-generic and rebooting.

@Daniel T Chen
I've installed this package and reboot, but the problem with pulseaudio still exists.
The sound works also before (without the linux-backports-modules-alsa-karmic-generic package), but its the problem that pulseaudio forces the PCM volume to 100%.

@Stefan You should use volume = ignore for the elements you want ignored.
See my blog post on it.

On Nov 1, 2009 1:12 PM, "Stefan" <email address hidden> wrote:

@Daniel T Chen
I've installed this package and reboot, but the problem with pulseaudio
still exists.
The sound works also before (without the
linux-backports-modules-alsa-karmic-generic package), but its the problem
that pulseaudio forces the PCM volume to 100%.

-- Karmic: PCM volume (as seen in alsamixer) "stuck" at 100% with pulseaudio
enabled https://bugs....

Status in “pulseaudio” package in Ubuntu: New Bug description:

Binary package hint: pulseaudio When pulseaudio is running, it forces my
"PCM" volume (as seen in "...

Confirm the problem with my computer at work, with an Intel 82801I (ICH9 Family) HD Audio Controller.

The same behavior: PCM level at ALSA goes up to 100%, no matter if i turn the master volume (with the applet in the GNOME Desktop) down or up.

I solved the problem for me with the Links from Daniel T. Chen
It's the "volume=" statement in the "analog-output*" files /usr/share/pulseaudio/alsa-mixer/paths/.

Now the only problem i still have is that some combinations of master and pcm volume generates a high frequency noise, but this seem to be a problem of the alsa driver for my xfi soundcard.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed

Please see

On Wed, Nov 11, 2009 at 5:45 PM, Henry Finucane <email address hidden> wrote:
> ** Changed in: pulseaudio (Ubuntu)
>       Status: New => Confirmed

Daniel T Chen (crimsun) wrote :
Changed in pulseaudio (Ubuntu):
status: Confirmed → Won't Fix
Daniel T Chen (crimsun) wrote :

To note: Mike, you probably want to file a bug against alsa-driver so that we can fix your HDA codec.

Daniel T Chen (crimsun) on 2010-03-21
summary: - Karmic: PCM volume (as seen in alsamixer) "stuck" at 100% with
- pulseaudio enabled
+ SSV 0x103c needs cap at 0 dB offset for CX20551 (Waikiki)
affects: pulseaudio (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
assignee: nobody → Daniel T Chen (crimsun)
status: Won't Fix → In Progress
madbiologist (me-again) wrote :

The patch mentioned in comment 25 has been included in the newly released 2.6.34-rc3 linux kernel. From the changelog:

commit 025f206c9e0f96cc41567b01c07fb852d8900da1
Author: Daniel T Chen
Date: Sun Mar 21 18:34:43 2010 -0400

    ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)


    The OR has verified that his hardware distorts because of the 0 dB
    offset not corresponding to the highest PCM level. Fix this by capping
    said PCM level to 0 dB similarly to what we do for CX20549 (Venice).

    Reported-by: Mike Pontillo
    Tested-by: Mike Pontillo
    Cc: <stable at kernel(dot)org>
    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

There is a Karmic PPA of this kernel RC available at

Launchpad Janitor (janitor) wrote :
Download full text (10.2 KiB)

This bug was fixed in the package linux - 2.6.32-20.29

linux (2.6.32-20.29) lucid; urgency=low

  [ Andy Whitcroft ]

  * Revert "SAUCE: Use MODULE_IMPORT macro to tie intel_agp to i915"
    - LP: #542251
  * add Breaks: against hardy lvm2
    - LP: #528155

  [ Colin Watson ]

  * d-i -- enable udebs for generic-pae
    - LP: #160366

  [ Stefan Bader ]

  * [Config] Add xen netboot support
    - LP: #160366

  [ Takashi Iwai ]

  * (pre-stable): input: Support Clickpad devices in ClickZone mode
    - LP: #516329

  [ Upstream Kernel Changes ]

  * Revert "(pre-stable) Bluetooth: Fix sleeping function in RFCOMM within
    invalid context"
    - LP: #553837
  * Revert "(pre-stable) USB: fix usbfs regression"
    - LP: #553837
  * Revert "(pre-stable) softlockup: Stop spurious softlockup messages due
    to overflow"
    - LP: #553837
  * Revert "(pre-stable) drm/nouveau: report unknown connector state if lid
    - LP: #553837
  * drivers/scsi/ses.c: eliminate double free
    - LP: #553837
  * decompress: fix new decompressor for PIC
    - LP: #553837
  * ARM: Fix decompressor's kernel size estimation for ROM=y
    - LP: #553837
  * MIPS: Cleanup forgotten label_module_alloc in tlbex.c
    - LP: #553837
  * tg3: Fix tg3_poll_controller() passing wrong pointer to tg3_interrupt()
    - LP: #553837
  * tg3: Fix 5906 transmit hangs
    - LP: #553837
  * ALSA: hda - Fix input source elements of secondary ADCs on Realtek
    - LP: #553837
  * ALSA: hda: enable MSI for Gateway M-6866
    - LP: #538918, #553837
  * timekeeping: Prevent oops when GENERIC_TIME=n
    - LP: #553837
  * Input: alps - add support for the touchpad on Toshiba Tecra A11-11L
    - LP: #553837
  * Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table
    - LP: #553837
  * i2c-i801: Don't use the block buffer for I2C block writes
    - LP: #553837
  * ath5k: dont use external sleep clock in AP mode
    - LP: #553837
  * ath5k: fix setup for CAB queue
    - LP: #553837
  * ring-buffer: Move disabled check into preempt disable section
    - LP: #553837
  * function-graph: Init curr_ret_stack with ret_stack
    - LP: #553837
  * Bluetooth: Fix sleeping function in RFCOMM within invalid context
    - LP: #553837
  * tracing: Use same local variable when resetting the ring buffer
    - LP: #553837
  * tracing: Disable buffer switching when starting or stopping trace
    - LP: #553837
  * tracing: Do not record user stack trace from NMI context
    - LP: #553837
  * PCI: unconditionally clear AER uncorr status register during cleanup
    - LP: #553837
  * efifb: fix framebuffer handoff
    - LP: #553837
  * coredump: suppress uid comparison test if core output files are pipes
    - LP: #553837
  * V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini()
    - LP: #553837
  * hrtimer: Tune hrtimer_interrupt hang logic
    - LP: #553837
  * x86, apic: Don't use logical-flat mode when CPU hotplug may exceed 8
    - LP: #553837
  * mvsas: add support for Adaptec ASC-1045/1405 SAS/SATA HBA
    - LP: #553837
  * pci: add support for 82576NS serdes to existing SR-IOV quirk
    - LP: #553837
  * sched: Mark boot-cpu active before smp_init()

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers