Speakers problem

After installing latest zorin 17, I have 2 hardware issues left on my hp spectre x360.

Firstly sound:

  • Intel tiger lake with realtek alc245
  • sound through 3.5mm jack works
  • sound Bluetooth and USB works
  • b&o front speakers do not work

I see online many issues with sound off the front speakers, so I am rather lost how to fix (if it can be fixed at all... Which would be a bit of a problem for a laptop regularly used for video calls).
Any suggestions are welcome.

Secondly, fingerprint reader:

  • Elan fingerprint reader
  • I enabled fingerprint according to terminal instructions
  • I unblocked users
  • but the sensor is clearly not found and does not appear as an option
  • I found a ubuntu22 driver for Lenovo which I could try if I could understand how to install the. .so file I downloaded.

Because of Audio: Did You tried it with Pulse Audio Volume Control? It is a Program to set up Audio Input and Output. You can install it with sudo apt install pavucontrol and then go to the Output Tab and there click on the Marker for Your Front Speakers.

Because of Fingerprint Reader: did You take a Look in the 'Additional Drivers'' Tab if there is a Driver for it offered? And You wrote:

Aren't there any Instructions how to use it?

On audio, i just tried the Pulse Audio volume control.
What is interesting is that it shows me the Intel Tiger Lake HDMI/Displayport2 and Intel Tiger Lake HDMI/Displayport3 as only output options... an option for speakers is missing.

I do not have speakers on the external monitor... and for a laptop that would anyway be rather useless. Somehow the speaker amplifier is not visible to route sound towards.

For fingerprint reader, I found the lenovo instructions and tried them, but this did not change anything.
As I was searching I found AUR (en) - libfprint-elanmoc2-newdrvs-git
This is a patched elanmoc driver exactly for my Elan ARM-M4 sensor (I found more specifics in my hardware list) but for Arch.

Problem is that I do not know how to properly install this and make sure libfprint and libfprintd are also present as instructed on the pagcd libfprinte. I see libfprint-2.so.2 and libfprint-2.so.2.0.0 as directories in the libraries.

You need to download the .tar.gz file from here:

I would extract he tar.gz drive with Ark into a new folder with the same title.

Alternatively you could install 'alien' via the terminal:

sudo apt install alien

then (when you run this command be sure you have cd .. 'd to the correct location first):

sudo alien libfprint-elanmoc2.tar.gz 

This should create a .deb package - no guarantees this will work.

Next install Gdebi (Gnome Debian Installer), run it, select File | location of the newly created .deb file, and select install. Gdebi checks for any dependencies that might be missing or it might just not work.

In respect of audio, GNU/Linux of any flavour grabs HDMI first - you need to blacklist these. Please read my tutorial guide and subsequent posts I made to it here:

When You go to the Configuration Tab what is shown to You there?

I am sure I have seen other posts here with similar sound issues with Intel tiger lake. I will try and do some searching.

In the meantime, open terminal session and type:

Alsamixer

from Alsamixer. Hit [F6] to check sound card is as expected.
Hit [F5] to select "All" sound channels, i.e. outputs and inputs.
Check speakers are not showing as Muted [M:M], if true use arrow keys to select and type "M" to unmute.

You could also post a screenshot of your Alsamixer screen, so we may see something else to try.

EDIT:
Yes, my websearches using "tiger lake speakers sound Ubuntu 22.04" found numerous sound issue hits related to Tiger Lake hardware.
Including: pulseaudio - No sound output devices listed after upgrade from 21.10 to 22.04 - Ask Ubuntu

I realized that there was more to the pulseaudio window than I thought.

I actually have a list of 5 audio devices showing.

The speaker is actually shown on the bottom... the good news is though that it does show at least. In configuration I just see the tiger lake and the USB with options for hifi audio or off on the tiger lake.

I do get the option to select the speaker as well in the volume control... but it gives no sound at all.

Here is the alsamixer screenshot

Okay, thank You for the Picture. I can see that the HDMI/Display Port 1 Option is marked (see the Field of the green Marker, it is silghtly lighter than on the other one's. Yes, not the best Visuality). Click on the Marker from Your Speaker.

3 posts were merged into an existing topic: Fingerprint Reader Problem

I noticed the dotted line on the checkmark. I unplugged the USB to avoid confusion and select the speaker.

When I play music, the bar is moving for speaker... but no sound is coming out of the (B&O) front speakers

When You click on on the Dropdown Menu from the Speaker, what Options are their?

Maybe a good idea if this thread was split 1) Fingerprint reader 2) Speakers no sound.

1 Like

Yeah, I guess it would be better for the Overview.

Can you see the stack of arrows on the right edge of that alsamixer.
Click to expand to show other channels that over spill to the right.
See if any are Muted and unmute them to test any effect.

If you have HDMI cabled sound output to a monitor or something (DisplayPort 1?), can you disconnect it and see if any change.

I suspect getting your speakers working with Tiger Lake hardware is not going to be easy.

I found "sort of a solution" after some digging.

Changing the GPIO pin allocations makes 2 of the speakers work... An amplifier pin needs to be set correctly. So not fully functioning with all speakers but sort of.

These are the commands:
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00

The bigger issue is that this works only when sound is playing... when you reboot, everything resets.

So this in theory is completely possible... but it now needs a way to actually be persistent. At least there is progress!

Is there a way to execute these sudo commands just after startup every time (potentially when some startup sound is playing)?

I found a reference to a patch for HP x360 14" models showing an initialization of the AMP.

This appears to be a change from the got /sound/pci/hda/patch_realtek.c

In that realtek.c I found the following reference to the problem:
/

  • HP Spectre x360 14 model needs a unique workaround for enabling the amp;
  • it needs to toggle the GPIO0 once on and off at each time (bko#210633)
    */
    static void alc245_fixup_hp_x360_amp(struct hda_codec *codec,
    const struct hda_fixup *fix, int action)
    {
    struct alc_spec *spec = codec->spec;

switch (action) {
case HDA_FIXUP_ACT_PRE_PROBE:
spec->gpio_mask |= 0x01;
spec->gpio_dir |= 0x01;
break;
case HDA_FIXUP_ACT_INIT:
/* need to toggle GPIO to enable the amp */
alc_update_gpio_data(codec, 0x01, true);
msleep(100);
alc_update_gpio_data(codec, 0x01, false);
break;
}
}

Can someone indicate how to apply such a patch codefile to see whether it works...? And whether or not or how I can try this on an installation thumbdrive first so I don't mess up the kernel of my installation when trying it.

Solution found:

Terminal commands at runtime, reboot & sound happens:

echo "options snd-sof-intel-hda-common hda_model=alc245-hp-x360-amp" | sudo tee /etc/modprobe.d/soundfix.conf
sudo update-initramfs -u -k all

Small qualification: this is not a "better" fix than currently available. Back speakers turn on, front speakers still not. Mute LED's are also non-functioning (rather a minor issue). But at least there is sound directly from the laptop.

4 Likes