Showing posts with label notebook. Show all posts
Showing posts with label notebook. Show all posts

2016-06-09

HOWTO: fix mic settings on Acer Aspire 3810T notebook in Linux

Once upon a time... You try a Linux Skype version (e. g., 4.3.0.37-1 for Debian) on Acer Aspire 3810T notebook and no sound is heard from the internal microphone.

The microphone is not muted in AlsaMixer (alsamixer); in PulseAudio Volume Control (pavucontrol) mic looks OK too.

Let's record some mic sound using Audacity audio editor... Here is a screenshot:
As you can see, the right channel ("R") is simply inverted left channel ("L"); let's call that "R=-L".

Let's look at the system environment details...
$ uname -a
Linux Notebook1 4.5.0-1-amd64 #1 SMP Debian 4.5.1-1 (2016-04-14) x86_64 GNU/Linux

$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version k4.5.0-1-amd64.

$ dmesg | grep Acer
[    0.000000] DMI: Acer Aspire 3810T/Aspire 3810T, BIOS V1.28 08/10/2010
...

$ dmesg | grep snd_hda_codec_realtek
[    3.796475] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    3.796496] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.796510] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[    3.796522] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    3.796531] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x1e/0x0
[    3.796540] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    3.796550] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[    3.796559] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

$ dmesg | grep HDA
[    3.854039] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
[    3.855277] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14
[    3.855365] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input15
[    3.855451] input: HDA Intel HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input16

$ cat /proc/asound/pcm
00-00: ALC269 Analog : ALC269 Analog : playback 1 : capture 1
00-01: ALC269 Digital : ALC269 Digital : playback 1
00-03: HDMI 0 : HDMI 0 : playback 1

$ cat /sys/module/snd_hda_intel/parameters/model
(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
Nothing interesting, except the Realtek ALC269 audio codec.

Thus, it's time to look at the microphone itself.
Terminal markings (DATA, VDD, CLK, GND) suggest it's a digital microphone (not analog one), and it looks like a mono (1-channel) one.

Fortunately, there is a way to fix the problem: you should create a modprobe configuration file with appropriate settings for Intel HDA driver kernel module.

If you're interested, you can get some info about some kernel modules:
$ /sbin/modinfo snd-hda-intel
...
$ /sbin/modinfo snd-hda-codec-realtek
...
But let's get back to the configuration.
Create, e. g., a /etc/modprobe.d/sound.conf file and put an appropriate configuration string (i. e., options snd-hda-intel model=MODEL, where MODEL is a specific model string) into it:
$ sudoedit /etc/modprobe.d/sound.conf
...
Let's try some model names that look usable.
  1. "laptop-amic".
    Some minor changes in dmesg output:
    $ dmesg | grep snd_hda_codec_realtek
    ...
    [    3.803435] snd_hda_codec_realtek hdaudioC0D0:    inputs:
    [    3.812954] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
    [    3.817411] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x19
    [    3.817414] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
    
    And major effects on mic sound output:
    Yes, funny enough, it's a stereo low-level noise, and there's no intelligible sound (!); and that's not strange: "amic" stands for "analog microphone", so it's just a useless option for digital ones.
  2. "laptop-dmic".
    R=-L (no significant changes).
  3. "alc269-dmic".
    R=L.
  4. "alc271-dmic".
    R=-L (no significant changes).
  5. "inv-dmic".
    Some audio signal in the left channel, and no signal (zero level) in the right one (R=0).
Conclusion: "inv-dmic" represents the real configuration (if you want pseudo-stereo, you can also try "alc269-dmic"); so here is my suggested config:
$ cat /etc/modprobe.d/sound.conf
options snd-hda-intel model=inv-dmic

$ cat /sys/module/snd_hda_intel/parameters/model
inv-dmic,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
External links:
      1. https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt
      2. https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt
      3. https://www.kernel.org/doc/Documentation/sound/alsa/alsa-parameters.txt
    1. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/patch_realtek.c (kernel/git/torvalds/linux.git - Linux kernel source tree)
  1. ALSA - Debian Wiki
  2. HdaIntelSoundHowto - Community Help Wiki (Ubuntu)

2012-07-30

Acer Aspire 3810T (AS3810T): laptop LCD panel (screen) replacement compatibility list

Some of the Acer Aspire Timeline 3810T (AS3810T) laptops have specific LCD panels which often have backlight broken after some operation time (it's caused by a "flex strip"-type powerline bending breakup -- look at that blogpost for more info and pictures).

If your laptop is already out of warranty, you can buy a new LCD screen and replace it yourself.
  • Acer 3810T laptop commonly uses a 13.3" LCD screen [1366 * 768 WXGA; 18-bit RGB (3 * 6 bits) -> 262144 (218) colors] with LED backlight and 40-pin connector.
  • Pay attention to the specific brackets it has, as some display variations will not fit.
  • To prevent future problems, try to get a display with no such overbent "flex strips"; in this list, I've marked supposed "fragile flex" displays with a [bent flex] label.
  • Anyway, better don't buy a display without checking the actual part numbers and product photos (and also datasheets, preferably).
---
Info last updated: 2016-05-10.




Screens confirmed to fit by someone.

AU Optronics (AUO):
B133XW01 V2 [bent flex]

LG Display (ex-LG.Philips LCD):
LP133WH2-TLA3
LP133WH2-TLA4

Samsung:
LTN133AT18



And those displays are believed to work, but need some confirmation.

AU Optronics (AUO):
B133XW01 V3 [bent flex]
B133XW01 V7 [bent flex]
B133XW03 V2
B133XW03 V3

LG Display (ex-LG.Philips LCD):
LP133WH2-TLB3
LP133WH2-TLL1
LP133WH2-TLM1

Toshiba:
LT133EE09300

---
List data last updated: 2013-08-21.