@David Henningsson

Hi, thanks for your effort,

I've tried that patch and with a little correction it works as expected - no 
more click noise.
It's necessary to move the line
.reboot_notify = conexant_reboot_notify,
from
static const struct hda_codec_ops conexant_patch_ops = {
to
static const struct hda_codec_ops cx_auto_patch_ops = {
when rebooting "auto model detection".

One thing about
snd_hda_codec_set_power_to_all(codec, codec->afg, AC_PWRST_D3, false);
I think it's not necessary to turning every single pin to D3, just pin for the 
Speaker, like this
snd_hda_codec_write(codec, 0x10, 0, AC_VERB_SET_POWER_STATE, AC_PWRST_D3);
or
snd_hda_codec_write(codec, codec->start_nid, 0, AC_VERB_SET_POWER_STATE, 
AC_PWRST_D3);
but it's up to you because it works :)

The rest regressions when using "auto model detection":
1) There is a wrong AC_VERB_SET_CONNECT_SEL setting. Speaker 0x10 and 
Headphones 0x11 (and maybe dock station 0x12) are connected to Audio Output 
0x19 instead of Audio Mixer 0x17. Look at post #8.
2) I don't know how to explain it but there is a wrong PCM level. Sound output 
is muted in the "0% <-> unamplified" part of the volume slider and is working 
in the "unamplified <-> 100% ->" part only and it's annoying; according to the 
code from patch_conexant.c (old model setting)
        switch (codec->subsystem_id >> 16) {
        case 0x103c:
        case 0x1631:
        case 0x1734:
        case 0x17aa:
                /* HP, Packard Bell, Fujitsu-Siemens & Lenovo laptops have
                 * really bad sound over 0dB on NID 0x17. Fix max PCM level to
                 * 0 dB (originally it has 0x2b steps with 0dB offset 0x14)
                 */
                snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT,
                                          (0x14 << AC_AMPCAP_OFFSET_SHIFT) |
                                          (0x14 << AC_AMPCAP_NUM_STEPS_SHIFT) |
                                          (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
                                          (1 << AC_AMPCAP_MUTE_SHIFT));
                break;
        }
the driver doesn't allow amplified part because sound is distorted over 0dB of 
the PCM level so there is no need amplified part of the volume slider.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to alsa-driver in Ubuntu.
https://bugs.launchpad.net/bugs/886975

Title:
  [Thinkpad R61i/T61] Lenovo sound chip Conexant CX20549 Venice doesn't
  work correctly.

Status in “alsa-driver” package in Ubuntu:
  Incomplete

Bug description:
  Computer: IBM Lenovo Thinkpad R61i
  Card: HDA Intel
  Sound chip: Conexant CX20549 (Venice)
  Device: 00:1b.0 Audio device [0403]: Intel Corporation 82801H (ICH8 Family) 
HD Audio Controller [8086:284b] (rev 03)
   Subsystem: Lenovo ThinkPad T61 [17aa:20ac]
  System: Ubuntu Oneiric 11.10 (desktop-i386)
  Kernel: 3.0.0-12-generic-pae#20-Ubuntu SMP Fri Oct 7 16:37:17 UTC 2011

  Problems:
  1) Integrated microphone doesn't work at all because the driver uses node 
0x14 instead of 0x15 for integrated mic and node 0x12 instead of 0x14 for 
external mic.
  2) Sound output is muted in the "0% <-> unamplified" part of the volume 
slider and is working in the "unamplified <-> 100% ->" part only; the driver 
doesn't allow amplified part because sound is distorted over 0dB of the PCM 
level so there is no need amplified part of the volume slider.

  Solution: Attached patch is fixing nodes of integrated and external 
microphone and is removing the amplified part of the volume slider.
  ---
  AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
  ApportVersion: 1.23-0ubuntu4
  Architecture: i386
  ArecordDevices:
   **** List of CAPTURE Hardware Devices ****
   card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
     Subdevices: 1/1
     Subdevice #0: subdevice #0
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC0:  c4pp4      1698 F.... pulseaudio
   /dev/snd/pcmC0D0p:   c4pp4      1698 F...m pulseaudio
  CRDA: Error: [Errno 2] Adresář nebo soubor neexistuje
  Card0.Amixer.info:
   Card hw:0 'Intel'/'HDA Intel at 0xfe100000 irq 48'
     Mixer name : 'Conexant CX20549 (Venice)'
     Components : 'HDA:14f15045,17aa20db,00100100'
     Controls      : 19
     Simple ctrls  : 10
  Card29.Amixer.info:
   Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 
7KHT24WW-1.08'
     Mixer name : 'ThinkPad EC 7KHT24WW-1.08'
     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]
  DistroRelease: Ubuntu 11.10
  HibernationDevice: RESUME=UUID=6e091b39-d59a-4d75-a7c5-dec246d020e5
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
  MachineType: LENOVO 89329ZG
  Package: linux (not installed)
  PccardctlIdent:
   Socket 0:
     no product info available
  PccardctlStatus:
   Socket 0:
     no card
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic-pae 
root=UUID=666241df-0a9e-4711-a44e-92d2e6f5eccc ro quiet splash vt.handoff=7
  ProcVersionSignature: Ubuntu 3.0.0-12.20-generic-pae 3.0.4
  RelatedPackageVersions:
   linux-restricted-modules-3.0.0-12-generic-pae N/A
   linux-backports-modules-3.0.0-12-generic-pae  N/A
   linux-firmware                                1.60
  Tags:  oneiric
  Uname: Linux 3.0.0-12-generic-pae i686
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare vboxusers
  dmi.bios.date: 04/09/2010
  dmi.bios.vendor: LENOVO
  dmi.bios.version: 7OETC4WW (2.24 )
  dmi.board.name: 89329ZG
  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:bvr7OETC4WW(2.24):bd04/09/2010:svnLENOVO:pn89329ZG:pvrThinkPadR61/R61i:rvnLENOVO:rn89329ZG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 89329ZG
  dmi.product.version: ThinkPad R61/R61i
  dmi.sys.vendor: LENOVO

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/886975/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to