Closed playXE closed 2 years ago
@lennartvg , вы можете обновить ядро до последней версии 5.16, и вы можете получить звук. Это работает только на ноутбуках с процессором Intel. I have kernel version 5.16.2-arch1-1 matebook version on intel and there was no sound .... it costs alsa, pipewire so even after updating to kernel 5.16, a kernel panic appeared, both when rebooting and when turning off the laptop
OK, I've been going down this path as it's the closest I've found to my issue. Different laptop, though:
dmidecode:
System Information
Manufacturer: GEO
Product Name: GeoFlex 340
Version: Default string
Serial Number: xxxxx
UUID: xxxxx
Wake-up Type: Power Switch
SKU Number: GE199-UK-1
Family: Flex
lspci -v
00:1f.3 Audio device: Intel Corporation Device 02c8 (prog-if 80)
DeviceName: Onboard - Sound
Subsystem: Device 1e50:6002
Flags: bus master, fast devsel, latency 32, IRQ 130
Memory at b1210000 (64-bit, non-prefetchable) [size=16K]
Memory at b1000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: sof-audio-pci-intel-cnl
Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl
I've installed the latest Ubuntu test kernel:
uname -a
Linux darrell-GeoFlex-340 5.16.5-051605-generic #202202011731 SMP PREEMPT Tue Feb 1 18:21:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
I've upgraded to sof-2.0 manually from this project and copied sof-cml-es8336-0.tplg to the sof-tplg folder, and added "options snd-soc-sof-es8336 quirk=0x20" to /etc/modprobe.d/alsa-base.conf.
This is the result: dmesg | grep sof
[ 4.463557] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 4.463683] sof-audio-pci-intel-cnl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 4.463696] sof-audio-pci-intel-cnl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 4.463885] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 4.464118] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.474506] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode
[ 4.510469] sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 4
[ 4.512984] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[ 4.512990] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 4.512993] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 4.512999] sof-audio-pci-intel-cnl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 4.614475] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[ 4.614479] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 4.614481] sof-audio-pci-intel-cnl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 4.635551] sof-essx8336 sof-essx8336: Overriding quirk 0x2 => 0x20
[ 4.635556] sof-essx8336 sof-essx8336: quirk SSP0
[ 4.635659] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable: -2
[ 4.635664] sof-essx8336: probe of sof-essx8336 failed with error -2
I would be very grateful for further ideas, and can of course test anything for you if that is useful.
I should add that before I started experimenting, I had 3 HDMI outputs in alsa, but the above error has killed those.
@darrell-k options snd-soc-sof-es8336 quirk=0x20 means you enabled the DMICs BIT(5)
Try the alternate GPIO use with BIT(4) so the quirk would be options snd-soc-sof-es8336 quirk=0x30
In the latest PR https://github.com/thesofproject/linux/pull/3338 I made these GPIOs optional so that the probe would not fail. It would not allow you to use the speakers if somehow the GPIO was needed, but at least you'd get headset and HDMI. Please give it a try if you can (you will need new topologies since I changed the naming conventions as well, see https://github.com/thesofproject/linux/pull/3338#issuecomment-1013246294)
@darrell-k options snd-soc-sof-es8336 quirk=0x20 means you enabled the DMICs BIT(5)
Try the alternate GPIO use with BIT(4) so the quirk would be options snd-soc-sof-es8336 quirk=0x30
In the latest PR #3338 I made these GPIOs optional so that the probe would not fail. It would not allow you to use the speakers if somehow the GPIO was needed, but at least you'd get headset and HDMI. Please give it a try if you can (you will need new topologies since I changed the naming conventions as well, see #3338 (comment))
Thanks for the reply. So I need to build a kernel with this PR incorporated?
So I need to build a kernel with this PR incorporated?
You can build from the PR itself, e.g.
git remote add sof git@github.com:thesofproject/linux.git git fetch sof pull/3338/head:pr3338 git checkout pr3338
use make menuconfig to make sure the ES8336 is selected and build.
The 5.16 kernel stuff I've installed means that I can't install the build packages from the Mint Linux repositories at the moment. I'll work on this (might switch repos to Ubuntu testing and hope for the best!). In the meantime, I tried the kernel here, built from 3338.
Results (with the 0x30 quirk): working headset jack, but no internal mic. Internal speakers are recognised by alsa/pulse, but continue to be mute. I don't know if this is because the system thinks the headset is always present, or due to there being no volume control for the internal speaker in alsamixer (the control is there, but no adjustment bar, can only switch between "mm" and "00".
Without the quirk, it fails to load, as above.
@darrell-k I don't know what happens here. it looks like the right GPIO is found.
@yangxiaohua2009 @hli25 any idea how the volume can be controlled through alsamixer?
@darrell-k I don't know what happens here. it looks like the right GPIO is found.
@yangxiaohua2009 @hli25 any idea how the volume can be controlled through alsamixer?
The user have no sound from speaker because the GPIO is not found. For example, the dsdt dump_cml.zip is so complicated that the machine driver cannot find the GPIO using default approach. I recommand that the user use a custom dsdt table.
First dump the dsdt table by
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
Then edit the dsl by search the 'ESSX' device and add the following properity
Name (_DSD, Package() {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package (){"pa-enable-gpios",Package() {^ESSX, 0, 0, 0 }}//{ ref, index, pin, active_low}
}
})
Save the dsl and turn the dsdt.dsl into hex file by
iasl -tc dsdt.dsl
Then apply the new dsdt table.
See this link for detail.
Should we expect that the problem of the lack of sound will be solved in the new kernel version 5.18? Now I have the mainline kernel version: 5.17-rc3 I copied all tplg files from es8336-topologies-2.tar archive to /usr/lib/firmware/intel/sof-tplg/ i tried different values in options snd-soc-sof-es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 i copied sof-dyndbg.conf.txt like /etc/modprobe.d/sof-dyndbg.conf and reboot No sound((
Or will I have to put some kind of custom kernel?
For alsamixer, just turn every
@darrell-k I don't know what happens here. it looks like the right GPIO is found.
@yangxiaohua2009 @hli25 any idea how the volume can be controlled through alsamixer?
Also, some value in the alsamixer can not be changed because they are controled by the driver. The volume register has already been set to max by default.
Should we expect that the problem of the lack of sound will be solved in the new kernel version 5.18? Now I have the mainline kernel version: 5.17-rc3 I copied all tplg files from es8336-topologies-2.tar archive to /usr/lib/firmware/intel/sof-tplg/ i tried different values in options snd-soc-sof-es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 i copied sof-dyndbg.conf.txt like /etc/modprobe.d/sof-dyndbg.conf and reboot No sound((
Or will I have to put some kind of custom kernel?
We recommand you use code in #3338 or the custom kernel built from it [here].(https://github.com/yangxiaohua2009/custom-kernel) Please provide alsainfo so we can know what's going on. @fcsm1922
Стоит ли ожидать, что проблема отсутствия звука будет решена в новой версии ядра 5.18? Теперь у меня основная версия ядра: 5.17-rc3 Я скопировал все файлы tplg из архива es8336-topologies-2.tar в /usr/lib/firmware/intel/sof-tplg/ я пробовал разные значения в опциях snd-soc-sof -es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 я скопировал sof-dyndbg.conf.txt как /etc/modprobe.d/sof-dyndbg.conf и перезагрузился Нет звука(( Или придется ставить какое-то кастомное ядро?
Мы рекомендуем использовать код #3338 или собственное ядро, построенное на его основе [здесь].( https://github.com/yangxiaohua2009/custom-kernel ) Пожалуйста, предоставьте alsainfo, чтобы мы могли знать, что происходит. @fcsm1922
I'll upload the log file tonight those. wait for official support that our sound card will be added to the new version of the kernel is not worth it?
@darrell-k I don't know what happens here. it looks like the right GPIO is found. @yangxiaohua2009 @hli25 any idea how the volume can be controlled through alsamixer?
The user have no sound from speaker because the GPIO is not found. For example, the dsdt dump_cml.zip is so complicated that the machine driver cannot find the GPIO using default approach. I recommand that the user use a custom dsdt table. First dump the dsdt table by
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
Then edit the dsl by search the 'ESSX' device and add the following properity Name (_DSD, Package() { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { Package (){"pa-enable-gpios",Package() {^ESSX, 0, 0, 0 }}//{ ref, index, pin, active_low} } }) Save the dsl and turn the dsdt.dsl into hex file byiasl -tc dsdt.dsl
Then apply the new dsdt table. See this link for detail.
I tried this, got a load of warnings but no errors on the recompile.
I also changed the OEM version as per the Arch wiki
//DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072010)
applying the new table using the Arch wiki method did not work:
dmesg | grep DSDT
ACPI: DSDT 0x000000009B1DE000 04210F (v02 ALASKA A M I 01072009 INTL 20190509)
but this way did (grub.cfg):
echo 'Loading initial ramdisk ...'
acpi /boot/new_dsdt.aml
initrd /boot/initrd.img-5.16.0-rc1-apl
ACPI: DSDT 0x000000009B1DE000 04210F (v02 ALASKA A M I 01072010 INTL 20190509)
However the only effect of this change was to kill the headset microphone. Any ideas?
Below is the output from "dmesg | grep sof" and "amixer":
[ 0.421427] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.421429] software IO TLB: mapped [mem 0x000000008b49b000-0x000000008f49b000] (64MB)
[ 4.147570] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 4.147595] sof-audio-pci-intel-cnl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 4.147864] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 4.147970] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.156975] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode
[ 4.199830] sof-audio-pci-intel-cnl 0000:00:1f.3: NHLT_DEVICE_I2S detected, ssp_mask 0x1
[ 4.199836] sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 4
[ 4.205314] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 1:7:0-47d07
[ 4.205320] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0
[ 4.205328] sof-audio-pci-intel-cnl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 4.300783] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 1:7:0-47d07
[ 4.300788] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:18:0
[ 4.310109] sof-essx8336 sof-essx8336: Overriding quirk 0x2 => 0x30
[ 4.310112] sof-essx8336 sof-essx8336: quirk SSP0
[ 4.310239] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable: -2
[ 4.310243] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable by lookup table: -2
[ 4.312134] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology: ABI 3:18:1 Kernel ABI 3:18:0
[ 4.312284] sof-essx8336 sof-essx8336: ASoC: Parent card not yet available, widget card binding deferred
[ 5.043910] input: sof-essx8336 Headset as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input19
[ 5.044021] input: sof-essx8336 HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input20
[ 5.044144] input: sof-essx8336 HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input21
[ 5.044265] input: sof-essx8336 HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input22
Simple mixer control 'Headphone',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Headphone Mixer',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 11
Front Left: 11 [100%] [0.00dB]
Front Right: 11 [100%] [0.00dB]
Simple mixer control 'Speaker',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Playback Polarity',0
Capabilities: enum
Items: 'Normal' 'R Invert' 'L Invert' 'L + R Invert'
Item0: 'Normal'
Simple mixer control 'Capture Polarity',0
Capabilities: enum
Items: 'Normal' 'Invert'
Item0: 'Normal'
Simple mixer control 'ADC',0
Capabilities: cvolume cvolume-joined
Capture channels: Mono
Limits: Capture 0 - 192
Mono: Capture 192 [100%] [0.00dB]
Simple mixer control 'ADC Double Fs',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'ADC PGA Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 10
Mono: 6 [60%] [13.00dB]
Simple mixer control 'ADC Soft Ramp',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'ALC',0
Capabilities: cswitch cswitch-joined
Capture channels: Mono
Mono: Capture [on]
Simple mixer control 'ALC Capture Attack Time',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 10
Mono: 5 [50%]
Simple mixer control 'ALC Capture Decay Time',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 10
Mono: 0 [0%]
Simple mixer control 'ALC Capture Hold Time',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 10
Mono: 0 [0%]
Simple mixer control 'ALC Capture Max',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 28
Mono: 13 [46%] [13.00dB]
Simple mixer control 'ALC Capture Min',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 28
Mono: 8 [29%] [0.00dB]
Simple mixer control 'ALC Capture Noise Gate',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'ALC Capture Noise Gate Threshold',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 31
Mono: 1 [3%]
Simple mixer control 'ALC Capture Noise Gate Type',0
Capabilities: enum
Items: 'Constant PGA Gain' 'Mute ADC Output'
Item0: 'Mute ADC Output'
Simple mixer control 'ALC Capture Target',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 10
Mono: 10 [100%] [-1.50dB]
Simple mixer control 'DAC Double Fs',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'DAC Mono Mix',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'DAC Notch Filter',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'DAC Soft Ramp',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'DAC Soft Ramp Rate',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 4
Mono: 0 [0%]
Simple mixer control 'DAC Source Mux',0
Capabilities: enum
Items: 'LDATA TO LDAC, RDATA TO RDAC' 'LDATA TO LDAC, LDATA TO RDAC' 'RDATA TO LDAC, RDATA TO RDAC' 'RDATA TO LDAC, LDATA TO RDAC'
Item0: 'LDATA TO LDAC, RDATA TO RDAC'
Simple mixer control 'DAC Stereo Enhancement',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 7
Mono: 0 [0%]
Simple mixer control 'Differential Mux',0
Capabilities: enum
Items: 'lin1-rin1' 'lin2-rin2' 'lin1-rin1 with 20db Boost' 'lin2-rin2 with 20db Boost'
Item0: 'lin2-rin2 with 20db Boost'
Simple mixer control 'Digital Mic Mux',0
Capabilities: enum
Items: 'dmic disable' 'dmic data at high level' 'dmic data at low level'
Item0: 'dmic disable'
Simple mixer control 'Headset Mic',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Internal Mic',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Left Headphone Mixer LLIN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Left Headphone Mixer Left DAC',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Left Headphone Mux',0
Capabilities: enum
Items: 'lin1-rin1' 'lin2-rin2' 'lin-rin with Boost' 'lin-rin with Boost and PGA'
Item0: 'lin1-rin1'
Simple mixer control 'PGA1.0 1 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA2.0 2 PCM 0',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 40
Front Left: Capture 32 [80%] [0.00dB]
Front Right: Capture 32 [80%] [0.00dB]
Simple mixer control 'PGA5.0 5 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA6.0 6 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA7.0 7 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'Right Headphone Mixer RLIN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Right Headphone Mixer Right DAC',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Right Headphone Mux',0
Capabilities: enum
Items: 'lin1-rin1' 'lin2-rin2' 'lin-rin with Boost' 'lin-rin with Boost and PGA'
Item0: 'lin1-rin1'
I should add that the system still thinks the headset is always plugged in, and that I am using the kernel in your "kernel.zip". The jack_normal and jack_inverted kernels do not change this, but both kill the headset microphone.
The user have no sound from speaker because the GPIO is not found. For example, the dsdt dump_cml.zip is so complicated that the machine driver cannot find the GPIO using default approach. I recommand that the user use a custom dsdt table.
I am not following, sorry @yangxiaohua2009. The mappings done in the machine driver are totally equivalent to what you are doing with the _DSD properties, but most likely the values for index, pin, active low are incorrect.
The machine driver only supports this:
static const struct acpi_gpio_params pa_enable_gpio = { 0, 0, true };
static const struct acpi_gpio_mapping acpi_es8336_gpios[] = {
{ "pa-enable-gpios", &pa_enable_gpio, 1 },
{ }
};
static const struct acpi_gpio_params quirk_pa_enable_gpio = { 1, 0, true };
static const struct acpi_gpio_mapping quirk_acpi_es8336_gpios[] = {
{ "pa-enable-gpios", &quirk_pa_enable_gpio, 1 },
{ }
};
it looks like you are recommending another mapping that would be { 0, 0, false} ?
Package () { Package (){"pa-enable-gpios",Package() {^ESSX, 0, 0, 0 }}//{ ref, index, pin, active_low} } })
Hi everybody, I had some partial success on the Huawei Matebook D14 with Intel core i5 10210u under Ubuntu 21.10: I followed the instructions to install the custom kernel by yangxiaohua2009. Now, if I do not attach a headphone, I do not get any sound output. If however, I attach a headphone, I do get sound output from the internal speakers! Just wanted to let you know.
Thanks @neuisenburger we probably need a quirk then that will invert the jack detection.
I see in the es8136 driver that they already have a property:
es8316->jd_inverted = device_property_read_bool(component->dev,
"everest,jack-detect-inverted");
and we can fairly easily test that property from the machine driver.
Actually we've done this in bytcht_es8316.c already so it's just a matter of adding this code to sof_es83316.c
if (quirk & BYT_CHT_ES8316_JD_INVERTED)
props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted");
if (cnt) {
fwnode = fwnode_create_software_node(props, NULL);
if (IS_ERR(fwnode)) {
put_device(codec_dev);
return PTR_ERR(fwnode);
}
ret = device_add_software_node(codec_dev, to_software_node(fwnode));
fwnode_handle_put(fwnode);
if (ret) {
put_device(codec_dev);
return ret;
}
}
@yangxiaohua2009 was your custom kernel based on PR #3338. If yes, I'll add the jack detection inversion with an added patch.
Стоит ли ожидать, что проблема отсутствия звука будет решена в новой версии ядра 5.18? Теперь у меня основная версия ядра: 5.17-rc3 Я скопировал все файлы tplg из архива es8336-topologies-2.tar в /usr/lib/firmware/intel/sof-tplg/ я пробовал разные значения в опциях snd-soc-sof -es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 я скопировал sof-dyndbg.conf.txt как /etc/modprobe.d/sof-dyndbg.conf и перезагрузился Нет звука(( Или придется ставить какое-то кастомное ядро?
Мы рекомендуем использовать код #3338 или собственное ядро, построенное на его основе [здесь].( https://github.com/yangxiaohua2009/custom-kernel ) Пожалуйста, предоставьте alsainfo, чтобы мы могли знать, что происходит. @fcsm1922
I'll upload the log file tonight those. wait for official support that our sound card will be added to the new version of the kernel is not worth it?
options snd-soc-sof-es8336 quirk=0x01
http://alsa-project.org/db/?f=1a4a1452dff7d5abfbd7b6fe49a82b095c4ca878
options snd-soc-sof-es8336 quirk=0x10
http://alsa-project.org/db/?f=e8732ca336ce7e7db822162b94b4708ee2bd12e2
options snd-soc-sof-es8336 quirk=0x20
http://alsa-project.org/db/?f=f237fac54b5e30fe54f8e295a98d4e37c2c3e96c
options snd-soc-sof-es8336 quirk=0x21
http://alsa-project.org/db/?f=ee83673a01f2d53b7b8ee2347193fbe3d16e6ca8
options snd-soc-sof-es8336 quirk=0x22
http://alsa-project.org/db/?f=c8e6ff4eeb79b79610cb9842707038735469441a
options snd-soc-sof-es8336 quirk=0x30
http://alsa-project.org/db/?f=5a20b9fc7c10132f272e14f9b438ce20e8d288e0
options snd-soc-sof-es8336 quirk=0x31
http://alsa-project.org/db/?f=e398db7f86c3cb30378b864e4e31c15d8b6d791c
options snd-soc-sof-es8336 quirk=0x32
http://alsa-project.org/db/?f=0dd4f5dbb21d54aac1795cf709a15bfded34b1f5
Finally even more success: I now get the sound output from the speakers when no headphone is attached. All I had to do was to switch from quirk 0x30 to quirk 0x20.
Here is what I did: 1) Download the files from the custom kernel of yangxiaohua2009 . 2) Unzip the kernel.zip. 3) There should now be four .deb packages now. Install all of them by sudo dpkg -i *.deb 3) Unzip and untar es8336-topologies-2.tar.gz (not sure whether this is needed) 4) Copy sof-glk-es8336-ssp0.tplg to /lib/firmware/intel/sof-tplg/sof-cml-es8336.tplg. I think I used the one from the tplg directory. 5) Execute cp sof-dyndbg.conf.txt /etc/modprobe.d/sof-dyndbg.conf 6) Execute cp -r sof-essx8336 /usr/share/alsa/ucm2 7) Add the 0x20 quirk as described above. 8) Reboot and hopefully enjoy the sound from the internal speakers.
- Copy sof-glk-es8336-ssp0.tplg to /lib/firmware/intel/sof-tplg/sof-cml-es8336.tplg. I think I used the one from the tplg directory.
that sounds very strange. in the tar file I added sof-cml-es8336-ssp0.tplg. With the new kernel you shouldn't use sof-cml-es8336.tplg any longer. Do you mind checking your kernel dmesg to see what topology file is used. just grep for 'topology'
- Execute cp sof-dyndbg.conf.txt /etc/modprobe.d/sof-dyndbg.conf
That's not bringing anything in terms of functionality, it just enables more verbose logs for SOF and codec modules.
Here is an extract of my dmesg.
[ 3.054002] sof-essx8336 sof-essx8336: Overriding quirk 0x2 => 0x20 [ 3.054006] sof-essx8336 sof-essx8336: quirk SSP0 [ 3.054386] sof-audio-pci-intel-cnl 0000:00:1f.3: loading topology:intel/sof-tplg/sof-cml-es8336.tplg [ 3.055401] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology: ABI 3:18:1 Kernel ABI 3:18:0 [ 3.055408] sof-audio-pci-intel-cnl 0000:00:1f.3: tplg: ready widget id 0 pipe 1 type 23 name : PCM0P stream Passthrough Playback 0 [ 3.055415] sof-audio-pci-intel-cnl 0000:00:1f.3: tplg: load control type 1 name : 1 Master Playback Volume
With the original sof-cml-es8336.tplg under /lib/firmware/intel/sof-tplg/ it didn't work, but after I substituted it by sof-glk-es8336-ssp0.tplg the sound now works. I already rebooted a couple of times and the sound still works.
ok so I have no idea which kernel you are using @neuisenburger ... my latest code uses sof-cml-es8336-ssp0 precisely to avoid overridding installed files in /lib/firmware.
It makes even less sense to use a 'glk' topology on a 'cml' device.
I am using the custom kernel from yangxiaohua2009 that is version 5.16.0-rc1-apl . The kernel is included in the four .deb packages, that I installed by sudo dpkg -i *.deb
_[ 0.000000] microcode: microcode updated early to revision 0xea, date = 2021-01-05 [ 0.000000] Linux version 5.16.0-rc1-apl (a@a-VirtualBox) (gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #8 SMP PREEMPT Wed Jan 12 11:03:08 CST 2022 [ 0.000000] Command line: BOOTIMAGE=/boot/vmlinuz-5.16.0-rc1-apl root=UUID=a864bd46-9504-4b44-b44e-d440a090be74 ro quiet splash vt.handoff=7 [ 0.000000] KERNEL supported cpus:
Don't ask me why glk topology works, it was just a lucky try.
@plbossart , From a (mostly) dumb user perspective, I'm getting confused, maybe because I've tried several fixes on top of each other, and who knows what exactly led to my current half working audio.
I've installed a fresh Debian Testing on a new partition, which should serve as a good base to start over again. I can either start with a @yangxiaohua2009 kernel from https://github.com/yangxiaohua2009/custom-kernel (there's 3 of them, zip names Kernel, Jack_normal and Jack_inverted, so tell me which one to start with), or I can try to compile a kernel from https://github.com/thesofproject/linux if someone can talk me through how to get the code down to my machine (when I tried earlier I got an authorisation error).
Then I can follow instructions on topologies, quirks etc from the experts, and report back, rather than randomly trying stuff. If you think this will be useful to the project.
@darrell-k I could recommend you install your own kernel since you seem to have an interesting device and we might ask you to add changes for debug purposes
For the code access, can you try with http access
git remote add sof https://github.com/thesofproject/linux.git git fetch sof pull/3338/head:pr3338 git checkout pr3338
or alternatively if you just want to code for this PR get a zip file from: https://github.com/plbossart/sound/archive/refs/heads/fix/sof-es8336-quirk.zip
@nklayman and I are preparing instructions for people like you who are eager to recompile but just don't know the steps. That should be ready tomorrow or by the end of the week.
@plbossart OK, fine. Thanks again.
[ 4.310239] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable: -2 [ 4.310243] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable by lookup table: -2
The custom kernel is built when the fix of tplg is still not done. I will update the custom kernel after a quirk is added to invert the jack detection. Also, with the lastest codec in #3338 I see a crash everytime system shutdown. Please fix it. log.zip
The user have no sound from speaker because the GPIO is not found. For example, the dsdt dump_cml.zip is so complicated that the machine driver cannot find the GPIO using default approach. I recommand that the user use a custom dsdt table.
I am not following, sorry @yangxiaohua2009. The mappings done in the machine driver are totally equivalent to what you are doing with the _DSD properties, but most likely the values for index, pin, active low are incorrect.
The machine driver only supports this:
static const struct acpi_gpio_params pa_enable_gpio = { 0, 0, true }; static const struct acpi_gpio_mapping acpi_es8336_gpios[] = { { "pa-enable-gpios", &pa_enable_gpio, 1 }, { } }; static const struct acpi_gpio_params quirk_pa_enable_gpio = { 1, 0, true }; static const struct acpi_gpio_mapping quirk_acpi_es8336_gpios[] = { { "pa-enable-gpios", &quirk_pa_enable_gpio, 1 }, { } };
it looks like you are recommending another mapping that would be { 0, 0, false} ?
Package () { Package (){"pa-enable-gpios",Package() {^ESSX, 0, 0, 0 }}//{ ref, index, pin, active_low} } })
Yes you are right, with the _dsd the GPIO still cannot be found. @darrell-k Can you provide the dsdt table of your device? You may need to change the dsdt table so that the machine driver can find the GPIO. The fix on #3338 is not related to your issue, it's appreciated if you can test the lastest code.
Here are two dsdt table examples, GPIO can be found in one and cannot be found in the other. @plbossart @darrell-k dsdt.zip.
Стоит ли ожидать, что проблема отсутствия звука будет решена в новой версии ядра 5.18? Теперь у меня основная версия ядра: 5.17-rc3 Я скопировал все файлы tplg из архива es8336-topologies-2.tar в /usr/lib/firmware/intel/sof-tplg/ я пробовал разные значения в опциях snd-soc-sof -es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 я скопировал sof-dyndbg.conf.txt как /etc/modprobe.d/sof-dyndbg.conf и перезагрузился Нет звука(( Или придется ставить какое-то кастомное ядро?
Мы рекомендуем использовать код #3338 или собственное ядро, построенное на его основе [здесь].( https://github.com/yangxiaohua2009/custom-kernel ) Пожалуйста, предоставьте alsainfo, чтобы мы могли знать, что происходит. @fcsm1922
Я сегодня вечером загружу лог-файл т.е. ждать официальной поддержки что нашу звуковую карту добавят в новую версию ядра не стоит?
параметры snd-soc-sof-es8336 quirk=0x01
http://alsa-project.org/db/?f=1a4a1452dff7d5abfbd7b6fe49a82b095c4ca878
параметры snd-soc-sof-es8336 причуда = 0x10
http://alsa-project.org/db/?f=e8732ca336ce7e7db822162b94b4708ee2bd12e2
параметры snd-soc-sof-es8336 причуда = 0x20
http://alsa-project.org/db/?f=f237fac54b5e30fe54f8e295a98d4e37c2c3e96c
параметры snd-soc-sof-es8336 причуда = 0x21
http://alsa-project.org/db/?f=ee83673a01f2d53b7b8ee2347193fbe3d16e6ca8
параметры snd-soc-sof-es8336 причуда = 0x22
http://alsa-project.org/db/?f=c8e6ff4eeb79b79610cb9842707038735469441a
параметры snd-soc-sof-es8336 причуда = 0x30
http://alsa-project.org/db/?f=5a20b9fc7c10132f272e14f9b438ce20e8d288e0
параметры snd-soc-sof-es8336 причуда = 0x31
http://alsa-project.org/db/?f=e398db7f86c3cb30378b864e4e31c15d8b6d791c
параметры snd-soc-sof-es8336 причуда = 0x32
http://alsa-project.org/db/?f=0dd4f5dbb21d54aac1795cf709a15bfded34b1f5
can you tell me something about my logs? @yangxiaohua2009 @plbossart
Стоит ли ожидать, что проблема отсутствия звука будет решена в новой версии ядра 5.18? Теперь у меня основная версия ядра: 5.17-rc3 Я скопировал все файлы tplg из архива es8336-topologies-2.tar в /usr/lib/firmware/intel/sof-tplg/ я пробовал разные значения в опциях snd-soc-sof -es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 я скопировал sof-dyndbg.conf.txt как /etc/modprobe.d/sof-dyndbg.conf и перезагрузился Нет звука(( Или придется ставить какое-то кастомное ядро?
Мы рекомендуем использовать код #3338 или собственное ядро, построенное на его основе [здесь].( https://github.com/yangxiaohua2009/custom-kernel ) Пожалуйста, предоставьте alsainfo, чтобы мы могли знать, что происходит. @fcsm1922
Я сегодня вечером загружу лог-файл т.е. ждать официальной поддержки что нашу звуковую карту добавят в новую версию ядра не стоит?
параметры snd-soc-sof-es8336 quirk=0x01 http://alsa-project.org/db/?f=1a4a1452dff7d5abfbd7b6fe49a82b095c4ca878 параметры snd-soc-sof-es8336 причуда = 0x10 http://alsa-project.org/db/?f=e8732ca336ce7e7db822162b94b4708ee2bd12e2 параметры snd-soc-sof-es8336 причуда = 0x20 http://alsa-project.org/db/?f=f237fac54b5e30fe54f8e295a98d4e37c2c3e96c параметры snd-soc-sof-es8336 причуда = 0x21 http://alsa-project.org/db/?f=ee83673a01f2d53b7b8ee2347193fbe3d16e6ca8 параметры snd-soc-sof-es8336 причуда = 0x22 http://alsa-project.org/db/?f=c8e6ff4eeb79b79610cb9842707038735469441a параметры snd-soc-sof-es8336 причуда = 0x30 http://alsa-project.org/db/?f=5a20b9fc7c10132f272e14f9b438ce20e8d288e0 параметры snd-soc-sof-es8336 причуда = 0x31 http://alsa-project.org/db/?f=e398db7f86c3cb30378b864e4e31c15d8b6d791c параметры snd-soc-sof-es8336 причуда = 0x32 http://alsa-project.org/db/?f=0dd4f5dbb21d54aac1795cf709a15bfded34b1f5
can you tell me something about my logs? @yangxiaohua2009 @plbossart
You are forcing the quirk so we don't know which ssp you are using. Set the quirk=0x10 is ok though. You can't see sound card because the wrong tplg is used. copy the tplg file "sof-tgl-es8336-dmic2ch-ssp0.tplg" in es8336-topologies-2 (1).tar.gz to /lib/firmware/intel/sof-tplg and rename it "sof-tgl-es8336.tplg" and you can move on.
sudo cp sof-tgl-es8336-dmic2ch-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
Стоит ли ожидать, что проблема отсутствия звука будет решена в новой версии ядра 5.18? Теперь у меня основная версия ядра: 5.17-rc3 Я скопировал все файлы tplg из архива es8336-topologies-2.tar в /usr/lib/firmware/intel/sof-tplg/ я пробовал разные значения в опциях snd-soc-sof -es8336 quirk= 0x10, 0x20, 0x21.0x22.0x30.0x31.0x32 я скопировал sof-dyndbg.conf.txt как /etc/modprobe.d/sof-dyndbg.conf и перезагрузился Нет звука(( Или придется ставить какое-то кастомное ядро?
Мы рекомендуем использовать код #3338 или собственное ядро, построенное на его основе [здесь].( https://github.com/yangxiaohua2009/custom-kernel ) Пожалуйста, предоставьте alsainfo, чтобы мы могли знать, что происходит. @fcsm1922
Я сегодня вечером загружу лог-файл т.е. ждать официальной поддержки что нашу звуковую карту добавят в новую версию ядра не стоит?
параметры snd-soc-sof-es8336 quirk=0x01 http://alsa-project.org/db/?f=1a4a1452dff7d5abfbd7b6fe49a82b095c4ca878 параметры snd-soc-sof-es8336 причуда = 0x10 http://alsa-project.org/db/?f=e8732ca336ce7e7db822162b94b4708ee2bd12e2 параметры snd-soc-sof-es8336 причуда = 0x20 http://alsa-project.org/db/?f=f237fac54b5e30fe54f8e295a98d4e37c2c3e96c параметры snd-soc-sof-es8336 причуда = 0x21 http://alsa-project.org/db/?f=ee83673a01f2d53b7b8ee2347193fbe3d16e6ca8 параметры snd-soc-sof-es8336 причуда = 0x22 http://alsa-project.org/db/?f=c8e6ff4eeb79b79610cb9842707038735469441a параметры snd-soc-sof-es8336 причуда = 0x30 http://alsa-project.org/db/?f=5a20b9fc7c10132f272e14f9b438ce20e8d288e0 параметры snd-soc-sof-es8336 причуда = 0x31 http://alsa-project.org/db/?f=e398db7f86c3cb30378b864e4e31c15d8b6d791c параметры snd-soc-sof-es8336 причуда = 0x32 http://alsa-project.org/db/?f=0dd4f5dbb21d54aac1795cf709a15bfded34b1f5
can you tell me something about my logs? @yangxiaohua2009 @plbossart
You are forcing the quirk so we don't know which ssp you are using. Set the quirk=0x10 is ok though. You can't see sound card because the wrong tplg is used. copy the tplg file "sof-tgl-es8336-dmic2ch-ssp0.tplg" in es8336-topologies-2 (1).tar.gz to /lib/firmware/intel/sof-tplg and rename it "sof-tgl-es8336.tplg" and you can move on.
sudo cp sof-tgl-es8336-dmic2ch-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
sorry for the question, but should I unpack the contents of the archive to /lib/firmware/intel/sof-tplg? or just what you wrote to do: sudo cp sof-tgl-es8336-dmic2ch-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg?
Sorry, you need to
sudo cp sof-tgl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
@fcsm1922
The default sof-tgl-es8336.tplg contains dmic infomation (the same as sof-tgl-es8336-dmic2ch-ssp0.tplg) in it which your machine driver don't have.
sof-tgl-es8336-ssp0.tplg should contain no dmic infomation.
he volume is adjustable ... cheers !!! But there is no sound, neither through the speakers, nor through the headphones (( http://alsa-project.org/db/?f=0cbf4776eb32de2abe6f7817d4498782ef3af64e @yangxiaohua2009
the contents of the es8336-topologies-2(1).tar.gz archive had to be unpacked to /lib/firmware/intel/sof-tplg??? or just needed to do what you wrote without copying the whole archive: sudo cp soft-tgl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg? @yangxiaohua2009
Yes you are right, with the _dsd the GPIO still cannot be found. @darrell-k Can you provide the dsdt table of your device? You may need to change the dsdt table so that the machine driver can find the GPIO. The fix on #3338 is not related to your issue, it's appreciated if you can test the lastest code.
Decompiled DSDT attached. Also in the zip is a log of the decompiler messages - there are several warnings.
@yangxiaohua2009 what do you mean by the latest code? - there are several possibilities in your https://github.com/yangxiaohua2009/custom-kernel - judging by the dates the latest would be either the jack_normal or jack_inverted kernel together with es8336-topologies-2.tar.gz
@darrell-k I could recommend you install your own kernel since you seem to have an interesting device and we might ask you to add changes for debug purposes
For the code access, can you try with http access
git remote add sof https://github.com/thesofproject/linux.git git fetch sof pull/3338/head:pr3338 git checkout pr3338
or alternatively if you just want to code for this PR get a zip file from: https://github.com/plbossart/sound/archive/refs/heads/fix/sof-es8336-quirk.zip
@nklayman and I are preparing instructions for people like you who are eager to recompile but just don't know the steps. That should be ready tomorrow or by the end of the week.
@plbossart is this the correct config option for ES8336?
[ 4.310239] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable: -2 [ 4.310243] es8316 i2c-ESSX8336:00: sof_es8336_probe, could not get pa-enable by lookup table: -2
The custom kernel is built when the fix of tplg is still not done. I will update the custom kernel after a quirk is added to invert the jack detection. Also, with the lastest codec in #3338 I see a crash everytime system shutdown. Please fix it. log.zip
Separate problem, please file a separate issue for this and copy @kv2019i
@darrell-k I could recommend you install your own kernel since you seem to have an interesting device and we might ask you to add changes for debug purposes For the code access, can you try with http access git remote add sof https://github.com/thesofproject/linux.git git fetch sof pull/3338/head:pr3338 git checkout pr3338 or alternatively if you just want to code for this PR get a zip file from: https://github.com/plbossart/sound/archive/refs/heads/fix/sof-es8336-quirk.zip @nklayman and I are preparing instructions for people like you who are eager to recompile but just don't know the steps. That should be ready tomorrow or by the end of the week.
@plbossart is this the correct config option for ES8336?
yes indeed.
Good. It's been compiling for a couple of hours now, laptop is getting quite warm! When it is done, would it be best to create .deb files for installation? Any guides out there for doing this?
the contents of the es8336-topologies-2(1).tar.gz archive had to be unpacked to /lib/firmware/intel/sof-tplg??? or just needed to do what you wrote without copying the whole archive: sudo cp soft-tgl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg? @yangxiaohua2009
@yangxiaohua2009 this is not efficient if the instructions for your compiled kernel and PR #3338 are different. Please recompile your kernel so that both of us can provide the same instructions.
@plbossart the compile is finished, but now I find out I should have used "make deb-pkg" rather than just "make". Can I do that now to create the packages without the whole thing compiling again?
@darrell-k make bindeb-pkg
should build only the deb and skip the sources, but I'm not 100% sure it'll work. You're probably better off just running make deb-pkg
. Even if it does rerun make
it'll be much faster as it only has to verify everything instead of rebuilding. If you run make deb-pkg -j[n]
where [n]
is the number of threads you have it'll be much faster as well.
@nklayman Thanks - it did the build all over again, but c'est la vie!
@plbossart I've now built and installed the #3338 kernel, and dropped the contents of https://github.com/thesofproject/linux/pull/3338#issuecomment-1013246294 into the topology directory of a fresh linux-firmware install. I have not specified any quirks for snd-soc-sof-es8336 in modprobe.d.
Results:
Output of dmesg | grep sof: dmesg-sof.txt
Pavucontrol has an output control "sof-essx8336 Speaker + Headphones" with 2 port choices, "Speaker" and "Headphones (unplugged)". This does not change when headset is plugged in. There is an input control of "sof-essx8336 Headphones Stereo Microphone" with a single port choice "Headphones Stereo Microphone".
There is no sound from the internal speakers or a headset. There is no input detected from the headset mic.
Alsamixer looks like this:
What further information do you need? And what should I do next?
@darrell-k thanks for this test. the logs look pretty good to me, your kernel seems to have pick a quirk automagically
loading topology:intel/sof-tplg/sof-cml-es8336-dmic2ch-ssp0.tplg
@darrell-k PulseAudio/Pipewire will do nothing for now because we are missing a UCM file required for configuration. If I had hardware I could have created on a long time ago but that's clearly a miss.
For now I recommend that you test at the hw level with e.g. aplay -Dhw:0,0 and arecord -Dhw:0,0
You can check if the headphone is detected with amixer. Usually you will see the list of controls with 'amixer -Dhw:0 controls' and there should be one numid with the name 'Jack', let;s say 42 because the answer is always 42. You can see if the jack works with amixer -Dhw:0 cget numid=42 if it toggles between on and off the jack detection works.
if you need more help please provide the result of 'amixer -Dhw:0 controls' and also attach the result of 'alsa-info'
If it looks like a mess it's because it is one. These platforms were shipped without anyone caring about Linux support and without realizing that using an I2C/I2S codec does require support since there is no platform discovery. It's not really complicated but since we have no description of those platforms and no hardware the test and integration is essentially crowd-sourced to the community. Thanks for your understanding.
@plbossart No problem at all, I'm happy to help if I can. I'll have a go with your suggestions in the morning and report back.
the contents of the es8336-topologies-2(1).tar.gz archive had to be unpacked to /lib/firmware/intel/sof-tplg??? or just needed to do what you wrote without copying the whole archive: sudo cp soft-tgl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg? @yangxiaohua2009
You may copy everything, but only the file /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
is used
содержимое архива es8336-topologies-2(1).tar.gz пришлось распаковать в /lib/firmware/intel/sof-tplg??? или просто нужно было сделать то, что вы написали, не копируя весь архив: sudo cp soft-tgl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg? @yangxiaohua2009
Вы можете копировать все, но только файл
/lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
используется
I figured this out, thanks. BUT I have no sound .. from the speakers and headphones ... at the same time, I see how the indicator (plasma widget) fluctuates from the music being played. what to do next? @yangxiaohua2009
Moved from thesofproject/sof
Is your feature request related to a problem? Please describe. Huawei laptops ship with an Everest ES8336 sound card that is not supported by sofproject. Describe the solution you'd like Adding support for it would be really awesome Describe alternatives you've considered I already tried this repo which seems to contain a kernel built with support for it but the audio clearly does not work: https://github.com/himozzza/essx8336 Additional context Booting Linux and trying lsmod or dmsg shows only one valid HDMI sound output on the laptop and nothing more. Here's what I get from Device Manager on Windows: