MCP67 channels misplaced and mic does not work

Degradation came in phases.

There was 11.2/pulseaudio. Everything worked fine. After some software update channels became misplaced (system considered side channels as a front), pulseaudio stopped working at all and was removed. After upgrade to 11.3 mics stopped working.

Current state:


> speaker-test -Dplug:front -c2 -twav

speaker-test 1.0.23

Playback device is plug:front
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 262144
Period size range from 32 to 131072
Using max buffer size 262144
Periods = 4
was set period_size = 65536
was set buffer_size = 262144
 0 - Front Left
 1 - Front Right
.....

plays front left/right on physically side left/right channels.

KMix sees them as Side.

YAST2/Sound/Volumes:
Master Front has no effect.
Front has no effect.
White noise only thru the mics.


> rpm -qa | grep alsa
alsa-plugins-1.0.23-1.9.x86_64
alsa-1.0.23-2.12.x86_64
alsa-tools-1.0.23-1.8.x86_64
alsa-utils-1.0.23-1.8.x86_64
alsa-oss-32bit-1.0.17-29.2.x86_64
alsa-firmware-1.0.23-1.2.noarch
alsa-plugins-32bit-1.0.23-1.9.x86_64
alsa-oss-1.0.17-29.2.x86_64

> rpm -qa | grep libasound
libasound2-1.0.23-2.12.x86_64
libasound2-32bit-1.0.23-2.12.x86_64

> rpm -qa | grep pulse
libpulse-browse0-0.9.21-10.1.1.x86_64
libxine1-pulse-1.1.19-2.pm.48.2.x86_64
libpulse-mainloop-glib0-0.9.21-10.1.1.x86_64
libpulse0-0.9.21-10.1.1.x86_64


> hwinfo --sound
16: PCI 07.0: 0403 Audio device                                 
  [Created at pci.318]
  Unique ID: M71A.sk58wUIKo2B
  SysFS ID: /devices/pci0000:00/0000:00:07.0
  SysFS BusID: 0000:00:07.0
  Hardware Class: sound
  Model: "nVidia MCP67 High Definition Audio"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x055c "MCP67 High Definition Audio"
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x8345 
  Revision: 0xa1
  Driver: "HDA Intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xdbef8000-0xdbefbfff (rw,non-prefetchable)
  IRQ: 21 (22884 events)
  Module Alias: "pci:v000010DEd0000055Csv00001043sd00008345bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=yes, avail=yes, need=no, active=unknown


> uname -a
Linux razer 2.6.34.7-0.5-desktop #1 SMP PREEMPT 2010-10-25 08:40:12 +0200 x86_64 x86_64 x86_64 GNU/Linux


> cat /etc/modprobe.d/50-sound.conf
options snd slots=snd-hda-intel
# M71A.sk58wUIKo2B:MCP67 High Definition Audio
alias snd-card-0 snd-hda-intel

alsa-info: http://www.alsa-project.org/db/?f=d6f3d125777b9aa85f183095b39df884a1069449

Thank you in advance.

Are you trying to record with an internal or external mic ?

If an external mic, how many input jacks for the mic does your PC have ? and which one are you trying to use ?

From the diagnostic script:


!!Aplay/Arecord output
!!------------


ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708B Analog [VT1708B Analog]
  Subdevices: 2/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1

That output suggests 2 record subdevices (ie possibly 2 input jacks).

Also from the diagnostic script:

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [NVidia]

Card hw:0 ‘NVidia’/'HDA NVidia at 0xdbef8000 irq 21’
Mixer name : ‘VIA VT1708B 8-Ch’
Components : ‘HDA:1106e721,10438345,00100100’
Simple mixer control ‘Front Mic’,0
Front Left: Playback 16 [52%] -12.25dB] [on]
Front Right: Playback 16 [52%] -12.25dB] [on]
Simple mixer control ‘Surround’,0
Front Left: Playback 27 [100%] [0.00dB] [off]
Front Right: Playback 27 [100%] [0.00dB] [off]
Simple mixer control ‘Mic’,0
Front Left: Playback 18 [58%] -8.75dB] [on]
Front Right: Playback 18 [58%] -8.75dB] [on]
Simple mixer control ‘Capture’,0
Front Left: Capture 20 [100%] [35.00dB] [on]
Front Right: Capture 20 [100%] [35.00dB] [on]
Simple mixer control ‘Capture’,1
Front Left: Capture 20 [100%] [35.00dB] [on]
Front Right: Capture 20 [100%] [35.00dB] [on]
Simple mixer control ‘Digital’,0
Front Left: Capture 120 [100%] [30.00dB]
Front Right: Capture 120 [100%] [30.00dB]
Simple mixer control ‘Input Source’,0
Items: ‘Stereo Mixer’ ‘Mic’ ‘Front Mic’ ‘Line’ ‘CD’
Item0: ‘Mic’
Simple mixer control ‘Smart 5.1’,0
Mono: Playback [on]

I agree you should be recording … I’ve read accounts from some users who claim the alsa recording won’t work with they have the playback ON for the mixer control ‘smart 5.1’. It is switched ON currently on your PC. Why not switch that off and do your testing?

You have ‘Mic’ selected for your recording. Are you certain that is where your Mic is plugged in and it is not plugged in to ‘Front Mic’ ?

For your testing, I recommend you use the program ‘arecord’ from a terminal, for example with this command:

  arecord -vv -fdat foo.wav

“foo.wav” is an arbitrary name I made up. Instead you could call it whatapain.wav or whichwaythewindblows.wav or anything … Then replay the recorded ‘foo.wav’.

>Are you trying to record with an internal or external mic ?

External mic.

>? and which one are you trying to use ?

I’ve tryed both.

>I agree you should be recording …


Simple mixer control 'Smart 5.1',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

arecord wont start recording in this case, it just shows:


>   arecord -vv -fdat foo.wav
Recording WAVE 'foo.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Plug PCM: Linear conversion PCM (S32_LE)
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 8192
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Slave: Soft volume PCM
Control: Digital Capture Volume
min_dB: -30
max_dB: 30
resolution: 121
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 8192
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Slave: Direct Snoop PCM
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 8192
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Hardware PCM card 0 'HDA NVidia' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 8192
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : ENABLE
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 4611686018427387904
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
^C

and hang up, the foo.wav file size is only 44 bytes.

May be this is something related to wrong channel assignment. As I said sound that speaket-test considers FRONT actually goes from SIDE (actually this how I do sound right now - using side jack and side KMix control). May be mic inputs are not considered where those supposed to be too :frowning:

There are no model alternatives for my codec in kernel documentation :frowning:

Which is part of the reason WHY I suggested you attempt changing this to OFF:

Simple mixer control ‘Smart 5.1’,0
Mono: Playback [on]

I re-read your post 3 times, and I can not see where you clearly advised me if you tried the suggestion of changing that to OFF. :frowning:

… anyway, IF you did try that and I missed your explanation that it does not work, then I believe you have 2 alternatives:

  1. update ALSA to the latest cutting edge development not-released version (which you do NOT have) per the guidance here, or
  2. write a bug report on openSUSE-11.3 component sound and obtain direct support from an alsa driver developer (who is also the packager for openSUSE sound)

My recommendation is approach #2.

There is guidance here for how to write bug reports: SDB:Alsa-update - openSUSE Use your openSUSE forum user name and your openSUSE forum password to log on to bugzilla. Raise the bug report against openSUSE component “sound”. The alsa-developer (openSUSE sound packager) will NOT read a forum thread, so your bug report MUST include all salient information. In support of the bug report, run the diagnostic script:

/usr/sbin/alsa-info.sh --no-upload 

and include the created /tmp/alsa-info.txt file as an attachment in bugzilla to the bug report (the attachment selection control is at the bottom of the bug report area … its a bit tricky to find).

Then watch the thread, as you will get a reply, likely asking for more information, or asking you to try something. After you answer a question on the bug report, be certain to CLEAR the NEED-INFO flag. That is VERY important.

Good luck.