Hello Everyone,

I was working to fix an issue with my sound and I found a solution. This lead me to think up an idea that we can implement.

Here's my idea:

Issue: ALSA module does not recognize the proper HDA-Intel sound card model

Affects: Various parts of system (Example: Speakers are not muted when headphone are plugged in)

Solution: Manually select the correct sound card model from those that ALSA officially supports.

Procedure: Write a script that edits the correct files (/etc/modprobe.d/alsa-base.conf & /etc/modprobe.d/sound). The script should do the following: - Focus the list to models within a specific family of sound cards (example: ALC882/883/885/888/889)
                    - Iterate through the list of supported models
                    - For each model:
                            - Edit the appropriate files
- Reload the sound module. It'd be nice if "alsa force-reload" would work, that way we don't need to restart the computer. But I'm not sure of this.
                            - Play a test file.
                            - User selects "Works" or "Doesn't Work"
                                    - "Works" --> end script
- "Doesn't Work" --> continue iterating through list - If nothing in the list works, then the script should help the user submit a bug report. This report should be directed upstream immediately as "Unsupported Codec"

Here's a link to an example of this issue: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/557015
I've also attached the list of HDA-Intel models.

I really believe that fixing this issue will affect a large number of users. It's a very common issue that can be very annoying to the user. Also, in the past we would suggest the user use "model=auto" or another model, but it was mostly guessing in the dark. This script will systematically solve this issue.

Please let me know what you guys think. If anybody is already working on something like this, please excuse me for bringing it up again. Thanks again for being so welcoming and allowing me to help.

- Yazen Ghannam



On 04/24/2010 01:39 AM, Brad Figg wrote:
On 04/23/2010 08:47 PM, David Henningsson wrote:
Brad Figg wrote:

Yazen,

I do have some thoughts on that. First, I'd like all the audio pages
to be rooted at http://wiki.ubuntu.com/Audio (so any new pages would
be http://wiki.ubuntu.com/Audio/<new page>). Next, I'm going for specific,
one solution per wiki page write-ups. Ultimately, I'd like some kind
of intelligent, question and answer flow to help people help themselves
diagnose and resolve issues. Does that make sense or just rambling :-)?

Once we have the problems and tests and possible solutions written up
I'd like to code them up into scripts which users can easily run. These
will make small adjustments to their audio configuration and walk them
through testing if the adjustments fixed their issue or not.

Don't forget about "ubuntu-bug audio", which is trying to do just that,
i e check for common errors and inform the user about how to correct
them. In addition, if it does not find a common error, it allows the
user to file a bug accordingly.

It only does volume checks and some Pulseaudio-default-sink checks at
the moment, but I would like to enhance it as we figure out more common
errors (and I - or somebody else - has the time).

// David


I hadn't forgotten about it. However there is no reason that it can't use
the same scripts. If we're instructing users to run things, I don't think
we always want to say "run ubuntu-bug audio" for all problems. There will
be many times when we want to say "run microphone-mute-reset and see if
that fixes the current issue" as the response in a bug.

Brad
  Model name    Description
  ----------    -----------
ALC880
======
  3stack        3-jack in back and a headphone out
  3stack-digout 3-jack in back, a HP out and a SPDIF out
  5stack        5-jack in back, 2-jack in front
  5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
  6stack        6-jack in back, 2-jack in front
  6stack-digout 6-jack with a SPDIF out
  w810          3-jack
  z71v          3-jack (HP shared SPDIF)
  asus          3-jack (ASUS Mobo)
  asus-w1v      ASUS W1V
  asus-dig      ASUS with SPDIF out
  asus-dig2     ASUS with SPDIF out (using GPIO2)
  uniwill       3-jack
  fujitsu       Fujitsu Laptops (Pi1536)
  F1734         2-jack
  lg            LG laptop (m1 express dual)
  lg-lw         LG LW20/LW25 laptop
  tcl           TCL S700
  clevo         Clevo laptops (m520G, m665n)
  medion        Medion Rim 2150
  test          for testing/debugging purpose, almost all controls can be
                adjusted.  Appearing only when compiled with
                $CONFIG_SND_DEBUG=y
  auto          auto-config reading BIOS (default)

ALC260
======
  hp            HP machines
  hp-3013       HP machines (3013-variant)
  hp-dc7600     HP DC7600
  fujitsu       Fujitsu S7020
  acer          Acer TravelMate
  will          Will laptops (PB V7900)
  replacer      Replacer 672V
  favorit100    Maxdata Favorit 100XS
  basic         fixed pin assignment (old default model)
  test          for testing/debugging purpose, almost all controls can
                adjusted.  Appearing only when compiled with
                $CONFIG_SND_DEBUG=y
  auto          auto-config reading BIOS (default)

ALC262
======
  fujitsu       Fujitsu Laptop
  hp-bpc        HP xw4400/6400/8400/9400 laptops
  hp-bpc-d7000  HP BPC D7000
  hp-tc-t5735   HP Thin Client T5735
  hp-rp5700     HP RP5700
  benq          Benq ED8
  benq-t31      Benq T31
  hippo         Hippo (ATI) with jack detection, Sony UX-90s
  hippo_1       Hippo (Benq) with jack detection
  sony-assamd   Sony ASSAMD
  toshiba-s06   Toshiba S06
  toshiba-rx1   Toshiba RX1
  tyan          Tyan Thunder n6650W (S2915-E)
  ultra         Samsung Q1 Ultra Vista model
  lenovo-3000   Lenovo 3000 y410
  nec           NEC Versa S9100
  basic         fixed pin assignment w/o SPDIF
  auto          auto-config reading BIOS (default)

ALC267/268
==========
  quanta-il1    Quanta IL1 mini-notebook
  3stack        3-stack model
  toshiba       Toshiba A205
  acer          Acer laptops
  acer-dmic     Acer laptops with digital-mic
  acer-aspire   Acer Aspire One
  dell          Dell OEM laptops (Vostro 1200)
  zepto         Zepto laptops
  test          for testing/debugging purpose, almost all controls can
                adjusted.  Appearing only when compiled with
                $CONFIG_SND_DEBUG=y
  auto          auto-config reading BIOS (default)

ALC269
======
  basic         Basic preset
  quanta        Quanta FL1
  eeepc-p703    ASUS Eeepc P703 P900A
  eeepc-p901    ASUS Eeepc P901 S101
  fujitsu       FSC Amilo
  lifebook      Fujitsu Lifebook S6420
  auto          auto-config reading BIOS (default)

ALC662/663/272
==============
  3stack-dig    3-stack (2-channel) with SPDIF
  3stack-6ch     3-stack (6-channel)
  3stack-6ch-dig 3-stack (6-channel) with SPDIF
  6stack-dig     6-stack with SPDIF
  lenovo-101e    Lenovo laptop
  eeepc-p701    ASUS Eeepc P701
  eeepc-ep20    ASUS Eeepc EP20
  ecs           ECS/Foxconn mobo
  m51va         ASUS M51VA
  g71v          ASUS G71V
  h13           ASUS H13
  g50v          ASUS G50V
  asus-mode1    ASUS
  asus-mode2    ASUS
  asus-mode3    ASUS
  asus-mode4    ASUS
  asus-mode5    ASUS
  asus-mode6    ASUS
  dell          Dell with ALC272
  dell-zm1      Dell ZM1 with ALC272
  samsung-nc10  Samsung NC10 mini notebook
  auto          auto-config reading BIOS (default)

ALC882/883/885/888/889
======================
  3stack-dig    3-jack with SPDIF I/O
  6stack-dig    6-jack digital with SPDIF I/O
  arima         Arima W820Di1
  targa         Targa T8, MSI-1049 T8
  asus-a7j      ASUS A7J
  asus-a7m      ASUS A7M
  macpro        MacPro support
  mb5           Macbook 5,1
  mbp3          Macbook Pro rev3
  imac24        iMac 24'' with jack detection
  imac91        iMac 9,1
  w2jc          ASUS W2JC
  3stack-2ch-dig        3-jack with SPDIF I/O (ALC883)
  alc883-6stack-dig     6-jack digital with SPDIF I/O (ALC883)
  3stack-6ch    3-jack 6-channel
  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
  6stack-dig-demo  6-jack digital for Intel demo board
  acer          Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
  acer-aspire   Acer Aspire 9810
  acer-aspire-4930g Acer Aspire 4930G
  acer-aspire-6530g Acer Aspire 6530G
  acer-aspire-7730g Acer Aspire 7730G
  acer-aspire-8930g Acer Aspire 8930G
  medion        Medion Laptops
  medion-md2    Medion MD2
  targa-dig     Targa/MSI
  targa-2ch-dig Targa/MSI with 2-channel
  targa-8ch-dig Targa/MSI with 8-channel (MSI GX620)
  laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
  lenovo-101e   Lenovo 101E
  lenovo-nb0763 Lenovo NB0763
  lenovo-ms7195-dig Lenovo MS7195
  lenovo-sky    Lenovo Sky
  haier-w66     Haier W66
  3stack-hp     HP machines with 3stack (Lucknow, Samba boards)
  6stack-dell   Dell machines with 6stack (Inspiron 530)
  mitac         Mitac 8252D
  clevo-m540r   Clevo M540R (6ch + digital)
  clevo-m720    Clevo M720 laptop series
  fujitsu-pi2515 Fujitsu AMILO Pi2515
  fujitsu-xa3530 Fujitsu AMILO XA3530
  3stack-6ch-intel Intel DG33* boards
  intel-alc889a Intel IbexPeak with ALC889A
  intel-x58     Intel DX58 with ALC889
  asus-p5q      ASUS P5Q-EM boards
  mb31          MacBook 3,1
  sony-vaio-tt  Sony VAIO TT
  auto          auto-config reading BIOS (default)

ALC861/660
==========
  3stack        3-jack
  3stack-dig    3-jack with SPDIF I/O
  6stack-dig    6-jack with SPDIF I/O
  3stack-660    3-jack (for ALC660)
  uniwill-m31   Uniwill M31 laptop
  toshiba       Toshiba laptop support
  asus          Asus laptop support
  asus-laptop   ASUS F2/F3 laptops
  auto          auto-config reading BIOS (default)

ALC861VD/660VD
==============
  3stack        3-jack
  3stack-dig    3-jack with SPDIF OUT
  6stack-dig    6-jack with SPDIF OUT
  3stack-660    3-jack (for ALC660VD)
  3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
  lenovo        Lenovo 3000 C200
  dallas        Dallas laptops
  hp            HP TX1000
  asus-v1s      ASUS V1Sn
  auto          auto-config reading BIOS (default)

CMI9880
=======
  minimal       3-jack in back
  min_fp        3-jack in back, 2-jack in front
  full          6-jack in back, 2-jack in front
  full_dig      6-jack in back, 2-jack in front, SPDIF I/O
  allout        5-jack in back, 2-jack in front, SPDIF out
  auto          auto-config reading BIOS (default)

AD1882 / AD1882A
================
  3stack        3-stack mode (default)
  6stack        6-stack mode

AD1884A / AD1883 / AD1984A / AD1984B
====================================
  desktop       3-stack desktop (default)
  laptop        laptop with HP jack sensing
  mobile        mobile devices with HP jack sensing
  thinkpad      Lenovo Thinkpad X300
  touchsmart    HP Touchsmart

AD1884
======
  N/A

AD1981
======
  basic         3-jack (default)
  hp            HP nx6320
  thinkpad      Lenovo Thinkpad T60/X60/Z60
  toshiba       Toshiba U205

AD1983
======
  N/A

AD1984
======
  basic         default configuration
  thinkpad      Lenovo Thinkpad T61/X61
  dell_desktop  Dell T3400

AD1986A
=======
  6stack        6-jack, separate surrounds (default)
  3stack        3-stack, shared surrounds
  laptop        2-channel only (FSC V2060, Samsung M50)
  laptop-eapd   2-channel with EAPD (ASUS A6J)
  laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100)
  ultra         2-channel with EAPD (Samsung Ultra tablet PC)
  samsung       2-channel with EAPD (Samsung R65)
  samsung-p50   2-channel with HP-automute (Samsung P50)

AD1988/AD1988B/AD1989A/AD1989B
==============================
  6stack        6-jack
  6stack-dig    ditto with SPDIF
  3stack        3-jack
  3stack-dig    ditto with SPDIF
  laptop        3-jack with hp-jack automute
  laptop-dig    ditto with SPDIF
  auto          auto-config reading BIOS (default)

Conexant 5045
=============
  laptop-hpsense    Laptop with HP sense (old model laptop)
  laptop-micsense   Laptop with Mic sense (old model fujitsu)
  laptop-hpmicsense Laptop with HP and Mic senses
  benq          Benq R55E
  laptop-hp530  HP 530 laptop
  test          for testing/debugging purpose, almost all controls
                can be adjusted.  Appearing only when compiled with
                $CONFIG_SND_DEBUG=y

Conexant 5047
=============
  laptop        Basic Laptop config 
  laptop-hp     Laptop config for some HP models (subdevice 30A5)
  laptop-eapd   Laptop config with EAPD support
  test          for testing/debugging purpose, almost all controls
                can be adjusted.  Appearing only when compiled with
                $CONFIG_SND_DEBUG=y

Conexant 5051
=============
  laptop        Basic Laptop config (default)
  hp            HP Spartan laptop
  hp-dv6736     HP dv6736
  lenovo-x200   Lenovo X200 laptop

Conexant 5066
=============
  laptop        Basic Laptop config (default)
  dell-laptop   Dell laptops
  olpc-xo-1_5   OLPC XO 1.5

STAC9200
========
  ref           Reference board
  oqo           OQO Model 2
  dell-d21      Dell (unknown)
  dell-d22      Dell (unknown)
  dell-d23      Dell (unknown)
  dell-m21      Dell Inspiron 630m, Dell Inspiron 640m
  dell-m22      Dell Latitude D620, Dell Latitude D820
  dell-m23      Dell XPS M1710, Dell Precision M90
  dell-m24      Dell Latitude 120L
  dell-m25      Dell Inspiron E1505n
  dell-m26      Dell Inspiron 1501
  dell-m27      Dell Inspiron E1705/9400
  gateway-m4    Gateway laptops with EAPD control
  gateway-m4-2  Gateway laptops with EAPD control
  panasonic     Panasonic CF-74
  auto          BIOS setup (default)

STAC9205/9254
=============
  ref           Reference board
  dell-m42      Dell (unknown)
  dell-m43      Dell Precision
  dell-m44      Dell Inspiron
  eapd          Keep EAPD on (e.g. Gateway T1616)
  auto          BIOS setup (default)

STAC9220/9221
=============
  ref           Reference board
  3stack        D945 3stack
  5stack        D945 5stack + SPDIF
  intel-mac-v1  Intel Mac Type 1
  intel-mac-v2  Intel Mac Type 2
  intel-mac-v3  Intel Mac Type 3
  intel-mac-v4  Intel Mac Type 4
  intel-mac-v5  Intel Mac Type 5
  intel-mac-auto Intel Mac (detect type according to subsystem id)
  macmini       Intel Mac Mini (equivalent with type 3)
  macbook       Intel Mac Book (eq. type 5)
  macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3)
  macbook-pro   Intel Mac Book Pro 2nd generation (eq. type 3)
  imac-intel    Intel iMac (eq. type 2)
  imac-intel-20 Intel iMac (newer version) (eq. type 3)
  ecs202        ECS/PC chips
  dell-d81      Dell (unknown)
  dell-d82      Dell (unknown)
  dell-m81      Dell (unknown)
  dell-m82      Dell XPS M1210
  auto          BIOS setup (default)

STAC9202/9250/9251
==================
  ref           Reference board, base config
  m1            Some Gateway MX series laptops (NX560XL)
  m1-2          Some Gateway MX series laptops (MX6453)
  m2            Some Gateway MX series laptops (M255)
  m2-2          Some Gateway MX series laptops
  m3            Some Gateway MX series laptops
  m5            Some Gateway MX series laptops (MP6954)
  m6            Some Gateway NX series laptops
  auto          BIOS setup (default)

STAC9227/9228/9229/927x
=======================
  ref           Reference board
  ref-no-jd     Reference board without HP/Mic jack detection
  3stack        D965 3stack
  5stack        D965 5stack + SPDIF
  5stack-no-fp  D965 5stack without front panel
  dell-3stack   Dell Dimension E520
  dell-bios     Fixes with Dell BIOS setup
  volknob       Fixes with volume-knob widget 0x24
  auto          BIOS setup (default)

STAC92HD71B*
============
  ref           Reference board
  dell-m4-1     Dell desktops
  dell-m4-2     Dell desktops
  dell-m4-3     Dell desktops
  hp-m4         HP mini 1000
  hp-dv5        HP dv series
  hp-hdx        HP HDX series
  hp-dv4-1222nr HP dv4-1222nr (with LED support)
  auto          BIOS setup (default)

STAC92HD73*
===========
  ref           Reference board
  no-jd         BIOS setup but without jack-detection
  intel         Intel DG45* mobos
  dell-m6-amic  Dell desktops/laptops with analog mics
  dell-m6-dmic  Dell desktops/laptops with digital mics
  dell-m6       Dell desktops/laptops with both type of mics
  dell-eq       Dell desktops/laptops
  alienware     Alienware M17x
  auto          BIOS setup (default)

STAC92HD83*
===========
  ref           Reference board
  mic-ref       Reference board with power management for ports
  dell-s14      Dell laptop
  hp            HP laptops with (inverted) mute-LED
  auto          BIOS setup (default)

STAC9872
========
  vaio          VAIO laptop without SPDIF
  auto          BIOS setup (default)

Cirrus Logic CS4206/4207
========================
  mbp55         MacBook Pro 5,5
  imac27        IMac 27 Inch
  auto          BIOS setup (default)
_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-audio-dev
Post to     : ubuntu-audio-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-audio-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to