You are not logged in.

#51 2020-02-04 17:57:57

juphu2Va
Member
Registered: 2019-05-16
Posts: 36

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Also, this only works if the Laptop isn't attach to a dock.

Offline

#52 2020-02-04 20:26:39

ZeroLinux
Member
Registered: 2011-10-07
Posts: 157

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

How to return original loudness which was before the update of the kernel?

Offline

#53 2020-02-04 21:21:21

vtrac
Member
Registered: 2016-01-28
Posts: 42

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

I finally got everything to work with kernel 5.5.1-arch1-1.

1. Upgrade to 5.5.1-arch1-1
2. install sof-firmware 1.4.2-1
3. blacklist incompatible modules:

cat /etc/modprobe.d/blacklist.conf 
blacklist snd_hda_intel
blacklist snd_soc_skl

4. Add a few lines to /etc/pulse/default.pa:

load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4

5. Reboot, then increase "master" level using alsamixer

Last edited by vtrac (2020-02-04 21:22:20)

Offline

#54 2020-02-04 22:08:41

ZeroLinux
Member
Registered: 2011-10-07
Posts: 157

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

vtrac wrote:

5. Reboot, then increase "master" level using alsamixer

How to keep the maximum level for "0  sof-hda-dsp" device in alsamixer between reboots?

Offline

#55 2020-02-04 22:17:45

progdrasil
Member
Registered: 2020-01-28
Posts: 3

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

With vtrac's settings I was able to have both at the same time. However even with alsamixer to max the speakers aren't as strong as they were before.

1. kernel:5.5.0-1-MANJARO
2. sof-firmware 1.4.2-1
3. blacklist

cat /etc/modprobe.d/blacklist.conf                                                                                                                                             [17:15:39]
blacklist snd_hda_intel
blacklist snd_soc_skl

4. add lines to pulseaudio

cat /etc/pulse/default.pa | rg module-alsa                                                                                                                                     [17:17:25]
load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4

5. alsamixer already at max for me

Last edited by progdrasil (2020-02-04 22:18:02)

Offline

#56 2020-02-04 22:21:23

ZeroLinux
Member
Registered: 2011-10-07
Posts: 157

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

progdrasil wrote:

5. alsamixer already at max for me

In alsamixer I switched to ""0  sof-hda-dsp", increased to max
after leaving alsamixer I saved levels with

sudo alsactl store

Offline

#57 2020-02-05 03:22:45

RobinJadoul
Member
Registered: 2020-02-05
Posts: 2

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

I can also get microphone and speakers to properly work together with the 5.5 kernel (5.5.1-arch1-1) and sof-firmware (1.4.2-1), but I don't have any profile or configuration options for pulse (e.g. in the pavucontrol Configuration tab) and more importantly, I can't seem to switch to my headphones when I plug those in.

Offline

#58 2020-02-05 09:33:27

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf

FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.

FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.

Last edited by V1del (2020-02-05 09:39:05)

Offline

#59 2020-02-05 15:01:58

progdrasil
Member
Registered: 2020-01-28
Posts: 3

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

ZeroLinux wrote:
progdrasil wrote:

5. alsamixer already at max for me

In alsamixer I switched to ""0  sof-hda-dsp", increased to max
after leaving alsamixer I saved levels with

sudo alsactl store

Thanks i didn't realize this was what what missing

Complete steps:

  1. Open alsamixer

  2. Press F6

  3. Select 0  sof-hda-dsp

  4. Increase Master volume to 100

  5. Press Esc

  6. Save levels with

    sudo alsactl store

I however still have the issue that the light for muted speakers and microphone no longer work with sof software.

Offline

#60 2020-02-05 15:57:24

RobinJadoul
Member
Registered: 2020-02-05
Posts: 2

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

V1del wrote:

Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf

FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.

FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.

The renaming trick may be ugly, but at least it seems to work. Thanks

Offline

#61 2020-02-05 23:42:44

darose
Member
Registered: 2004-04-13
Posts: 158

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Looks like I have everything working on latest as well:

* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0

Both speakers and microphone work fine.

Only remaining issue I'm having though is:  if I boot with my machine plugged into its displaylink usb dock, then speakers and microphone *won't* work.  However if I boot while not plugged into the dock, and then plug it in later, all is well.  Would love to be able to fix this last little issue!

Offline

#62 2020-02-05 23:50:30

darose
Member
Registered: 2004-04-13
Posts: 158

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Looks like the issue is that Pulse sees my displaylink dock as card 0, and puts alsa at card 1.  Need to figure out how to fix that.

Offline

#63 2020-02-06 00:08:43

darose
Member
Registered: 2004-04-13
Posts: 158

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Ah, got it:

$ echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf

(Source:  https://alsa.opensrc.org/MultipleCards# … _problems)

Offline

#64 2020-02-06 08:17:30

Kubuxu
Member
Registered: 2019-11-17
Posts: 11

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

RobinJadoul wrote:
V1del wrote:

Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf

FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.

FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.

The renaming trick may be ugly, but at least it seems to work. Thanks

Also confirming that it worked.
So right now to get a working audo:
1.  cd /usr/lib/firmware/intel/sof-tplg/
2. ln -sf sof-hda-generic-4ch.tplg sof-hda-generic.tplg
3. mv /usr/share/alsa/ucm /usr/share/alsa/ucm2


EDIT: make ucm symlink
EDIT: move ucm

Last edited by Kubuxu (2020-02-07 17:33:38)

Offline

#65 2020-02-06 08:26:19

juphu2Va
Member
Registered: 2019-05-16
Posts: 36

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

darose wrote:

* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0

echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf

Can confirm that this works flawlessly for X1 Yoga 4 too. Only issue is that the keyboard leds for speaker mute and mic mute don't toggle (they are off all the time)

EDIT: But if I plug in a headset, the sound plays on the speakers and the headset

Last edited by juphu2Va (2020-02-07 14:10:38)

Offline

#66 2020-02-06 08:28:02

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Something slightly less ugly you could try is keeping the ucm2 path and making a symlink to it called ucm tongue that way you aren't going to have an unecessary duplicate of ucm configs in the event that alsa-ucm-conf updates.

Offline

#67 2020-02-07 17:33:10

Kubuxu
Member
Registered: 2019-11-17
Posts: 11

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

V1del wrote:

Something slightly less ugly you could try is keeping the ucm2 path and making a symlink to it called ucm tongue that way you aren't going to have an unecessary duplicate of ucm configs in the event that alsa-ucm-conf updates.

Finally restarted my system, and this doesn't work. IDK why but it doesn't.

Offline

#68 2020-02-07 18:23:00

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

As mentioned it is ugly, and ideally relevant tools are fixed that they actually make use of the ucm2 path.

Offline

#69 2020-02-07 22:36:40

JBerg
Member
Registered: 2019-11-30
Posts: 1

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

juphu2Va wrote:
darose wrote:

* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0

echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf

Can confirm that this works flawlessly for X1 Yoga 4 too. Only issue is that the keyboard leds for speaker mute and mic mute don't toggle (they are off all the time)

EDIT: But if I plug in a headset, the sound plays on the speakers and the headset

Got it working as well on my Yoga Gen4 with sof-firmware, /etc/pulse/default.pa entries, alsa.conf entries, no blacklisted audio modules and with kernel option

 snd_hda_intel.dmic_detect=0 

. Althpugh the two rear speakers work, the front speakers stopped working. They show up in pulsemixer and alsamixer but don't fire.

Is anyone else having this problem?

Offline

#70 2020-02-08 14:11:09

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

That's because the config you quoted incompletely/incorrectly defines alsa sinks (I find it highly unlikely that you want an alsa-source with 4 channels (that's the microphone...) that should probably be the sink rather than source). Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.

Offline

#71 2020-02-08 15:42:58

darose
Member
Registered: 2004-04-13
Posts: 158

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

V1del wrote:

Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.

What is that method?

Offline

#72 2020-02-08 16:46:39

vtrac
Member
Registered: 2016-01-28
Posts: 42

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

V1del wrote:

That's because the config you quoted incompletely/incorrectly defines alsa sinks (I find it highly unlikely that you want an alsa-source with 4 channels (that's the microphone...) that should probably be the sink rather than source). Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.

The X1C7 actually has 4 x 360-degree far-field microphones. However, I don't know if it's exposed to software as a single channel or 4 channels.

Offline

#73 2020-02-08 22:46:07

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Offline

#74 2020-02-09 15:10:49

tbw
Member
Registered: 2017-01-01
Posts: 9

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

I managed to have the microphone and speakers working more or less correctly following the updated wiki guidelines (without blacklisting as it didn't seem to change anything, and the microphone doesn't seem to be super loud, I don't know if it's normal or not)

However, now when I'm plugging headphones in the jack adapter, the speakers do not mute and keep on outputting sound (as well as the headphones). This is a bit disturbing... any idea how this could be fixed?

Offline

#75 2020-02-09 15:15:56

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,417

Re: [SOLVED] Fix for microphone on Lenovo X1 Gen 7

Check your mixer controls (alsamixer -c0 ), they will usually feature a auto mute control or so. Or make pulse create proper profiles by renaming the ucm2 folder which should also contain rules to properly switch.

Last edited by V1del (2020-02-09 15:18:22)

Offline

Board footer

Powered by FluxBB