Bug 253900 - Lenovo X1 Carbon 7th Generation requires quirk for proper sound
Summary: Lenovo X1 Carbon 7th Generation requires quirk for proper sound
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-27 21:38 UTC by Ed Maste
Modified: 2021-02-27 21:44 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer 2021-02-27 21:38:51 UTC
By default sound on the X1 Carbon 7th Generation is quiet and tinny. It turns out the laptop has two sets of speakers on the top and bottom. The bottom-facing speakers provide more volume and bass.

By default the top and bottom speakers are connected to different DACs, and nothing goes to the DAC connected to the bottom speakers (nid 3).

## Top speakers
dev.hdaa.0.nid20_original: 0x90170110 as=1 seq=0 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
dev.hdaa.0.nid20_config: 0x90170110 as=1 seq=0 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
dev.hdaa.0.nid20: pin: Speaker (Fixed)
     Widget cap: 0x0040058d PWR UNSOL STEREO
    Association: 0 (0x0001)
        Pin cap: 0x00010014 PDC OUT EAPD
     Pin config: 0x90170110 as=1 seq=0 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
    Pin control: 0x00000040 OUT
           EAPD: 0x00000002 EAPD
     Output amp: 0x80000000 mute=1 step=0 size=0 offset=0 (0/0dB)
    Connections: 1
          + <- nid=2 [audio output]

## Bottom bass speakers
dev.hdaa.0.nid23_original: 0x90170111 as=1 seq=1 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
dev.hdaa.0.nid23_config: 0x90170111 as=1 seq=1 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
dev.hdaa.0.nid23: pin: Speaker (Fixed)
     Widget cap: 0x0040058d PWR UNSOL STEREO
    Association: 0 (0x0002)
        Pin cap: 0x0000001c PDC HP OUT
     Pin config: 0x90170111 as=1 seq=1 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
    Pin control: 0x00000040 OUT
     Output amp: 0x80000000 mute=1 step=0 size=0 offset=0 (0/0dB)
    Connections: 3
          + [DISABLED] <- nid=2 [audio output]
          + <- nid=3 [audio output] (selected)
          + [DISABLED] <- nid=6 [audio output] [DISABLED]

References:

- jcs OpenBSD on the Lenovo ThinkPad X1 Carbon (7th Gen) https://jcs.org/2019/08/14/x1c7
  - quirk commit https://github.com/openbsd/src/commit/b4db693dac78b3ae76ca949aac545468758883b4
- Linux bug https://bugzilla.kernel.org/show_bug.cgi?id=207407
- Linux commits
  - 6a6660d049f88b89fd9a4b9db3581b245f7782fa
  - 9774dc218bb628974dcbc76412f970e9258e5f27
  - c37c0ab029569a75fd180edb03d411e7a28a936f
  - 54a6a7dc107da0492a9e84fd7e9a107b3c58138d
  - d2cd795c4ece1a24fda170c35eeb4f17d9826cbb