Closed playXE closed 2 years ago
содержимое архива 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
Just remove the quirk to see which ssp your device is using. You are using quirk to force probe ssp0.
содержимое архива 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
Just remove the quirk to see which ssp your device is using. You are using quirk to force probe ssp0.
commented out the line parameters snd-soc-sof-es8336 quirk=0x10 located at /etc/modprobe.d/alsa-base.conf rebooted, the speaker on the panel is crossed out (missing) here is the output of alsa-info http://alsa-project.org/db/?f=87f10d5f57b814e6a2525d3e17754f06bbe02323
what to do next? @yangxiaohua2009
содержимое архива 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
Just remove the quirk to see which ssp your device is using. You are using quirk to force probe ssp0.
If you have no sound but the indicator says there is, also check the mixer setting in alsamixer application. I had this issue once. One of the mixers was initially turned down, after I changed it to 100% volume I have perfectly fine sound output through the speakers,
содержимое архива 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
Just remove the quirk to see which ssp your device is using. You are using quirk to force probe ssp0.
commented out the line parameters snd-soc-sof-es8336 quirk=0x10 located at /etc/modprobe.d/alsa-base.conf rebooted, the speaker on the panel is crossed out (missing) here is the output of alsa-info http://alsa-project.org/db/?f=87f10d5f57b814e6a2525d3e17754f06bbe02323
what to do next? @yangxiaohua2009
The log says your device uses ssp2
[ 3.682942] sof-essx8336 sof-essx8336: quirk SSP2
Let the tplg ssp2 be used by
sudo cp sof-tgl-es8336-ssp2.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
The log says your device uses ssp2
[ 3.682942] sof-essx8336 sof-essx8336: quirk SSP2
Let the tplg ssp2 be used by
sudo cp sof-tgl-es8336-ssp2.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
did as you wrote. still no sound line commented out snd-soc-sof-es8336 quirk=0x10 located at /etc/modprobe.d/alsa-base.conf is there anything else that can be done? @yangxiaohua2009
содержимое архива 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
Just remove the quirk to see which ssp your device is using. You are using quirk to force probe ssp0.
If you have no sound but the indicator says there is, also check the mixer setting in alsamixer application. I had this issue once. One of the mixers was initially turned down, after I changed it to 100% volume I have perfectly fine sound output through the speakers,
this is when I just launched alsamixer
and this is if the driver is selected via F6 sof-essx8336
I turned everything to 100 but there is no sound (( @neuisenburger
The log says your device uses ssp2
[ 3.682942] sof-essx8336 sof-essx8336: quirk SSP2
Let the tplg ssp2 be used by
sudo cp sof-tgl-es8336-ssp2.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
did as you wrote. still no sound line commented out snd-soc-sof-es8336 quirk=0x10 located at /etc/modprobe.d/alsa-base.conf is there anything else that can be done? @yangxiaohua2009
You need to ask @plbossart to provide you new custom ssp2-tplg files with different mclk configuration, i.e., mclk 0,1,2. We don't know which you are using so you need to try all of them.
I can provide you custom ssp2-tplg files but I'm afraid this brings more confusion. :(
@plbossart could you please provide new custom ssp2-tplg files with different mclk config i.e. mclk 0,1,2.
I can provide you custom ssp2-tplg files but I'm afraid this brings more confusion. :(
Let's try, maybe the sound will start @yangxiaohua2009
I can provide you custom ssp2-tplg files but I'm afraid this brings more confusion. :(
Let's try, maybe the sound will start @yangxiaohua2009
I can provide you custom ssp2-tplg files but I'm afraid this brings more confusion. :(
Let's try, maybe the sound will start @yangxiaohua2009
I'm sorry, does this need to be done with each of those files that are in the archive?
sudo cp sof-glk-es8336-ssp2-mclk0.tplg /lib/firmware/intel/sof-tplg/sof-tgl-es8336.tplg
Right? @yangxiaohua2009
@plbossart
For now I recommend that you test at the hw level with e.g. aplay -Dhw:0,0 and arecord -Dhw:0,0
First of all, I had to kill pulseaudio to get beyond "device busy" (by the way, when testing sound in gnome-control-center the pavucontrol vu meter does move):
$ aplay -Dhw:0,0 Front_Center.wav
Playing WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: set_params:1374: Channels count not available
similarly:
$ speaker-test -Dhw:0,0 -w Front_Center.wav
speaker-test 1.2.2
Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Channels count (1) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument
however:
$ speaker-test -c2 -Dhw:0,0 -w Front_Center.wav
speaker-test 1.2.2
Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 16384
Period size range from 48 to 4096
Using max buffer size 16384
Periods = 4
was set period_size = 4096
was set buffer_size = 16384
0 - Front Left
1 - Front Right
...
In this last case, there is a pop in the headphones on starting and exiting the command, and very faint hissing while it is running.
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.
$ amixer -Dhw:0 controls | grep Jack numid=33,iface=CARD,name='HDMI/DP,pcm=5 Jack' numid=39,iface=CARD,name='HDMI/DP,pcm=6 Jack' numid=45,iface=CARD,name='HDMI/DP,pcm=7 Jack' numid=27,iface=CARD,name='Headphone Jack' numid=28,iface=CARD,name='Headset Mic Jack'
$ amixer -Dhw:0 cget numid=27 numid=27,iface=CARD,name='Headphone Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off
This does not toggle anything that I can see.
amixer cset fails with "Operation not permitted", even as root, as implied by the output above.
if you need more help please provide the result of 'amixer -Dhw:0 controls' and also attach the result of 'alsa-info'
Here's the full output from amixer -Dhw:0 controls:
numid=33,iface=CARD,name='HDMI/DP,pcm=5 Jack'
numid=39,iface=CARD,name='HDMI/DP,pcm=6 Jack'
numid=45,iface=CARD,name='HDMI/DP,pcm=7 Jack'
numid=27,iface=CARD,name='Headphone Jack'
numid=28,iface=CARD,name='Headset Mic Jack'
numid=2,iface=MIXER,name='Headphone Mixer Volume'
numid=30,iface=MIXER,name='Headphone Switch'
numid=1,iface=MIXER,name='Headphone Playback Volume'
numid=12,iface=MIXER,name='Mic Boost Switch'
numid=16,iface=MIXER,name='ADC Double Fs Switch'
numid=14,iface=MIXER,name='ADC PGA Gain Volume'
numid=15,iface=MIXER,name='ADC Soft Ramp Switch'
numid=13,iface=MIXER,name='ADC Capture Volume'
numid=11,iface=MIXER,name='Capture Polarity'
numid=3,iface=MIXER,name='Playback Polarity'
numid=34,iface=MIXER,name='IEC958 Playback Con Mask'
numid=40,iface=MIXER,name='IEC958 Playback Con Mask',index=1
numid=46,iface=MIXER,name='IEC958 Playback Con Mask',index=2
numid=35,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=41,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
numid=47,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
numid=36,iface=MIXER,name='IEC958 Playback Default'
numid=42,iface=MIXER,name='IEC958 Playback Default',index=1
numid=48,iface=MIXER,name='IEC958 Playback Default',index=2
numid=37,iface=MIXER,name='IEC958 Playback Switch'
numid=43,iface=MIXER,name='IEC958 Playback Switch',index=1
numid=49,iface=MIXER,name='IEC958 Playback Switch',index=2
numid=23,iface=MIXER,name='ALC Capture Attack Time'
numid=22,iface=MIXER,name='ALC Capture Decay Time'
numid=21,iface=MIXER,name='ALC Capture Hold Time'
numid=18,iface=MIXER,name='ALC Capture Max Volume'
numid=19,iface=MIXER,name='ALC Capture Min Volume'
numid=24,iface=MIXER,name='ALC Capture Noise Gate Switch'
numid=25,iface=MIXER,name='ALC Capture Noise Gate Threshold'
numid=26,iface=MIXER,name='ALC Capture Noise Gate Type'
numid=17,iface=MIXER,name='ALC Capture Switch'
numid=20,iface=MIXER,name='ALC Capture Target Volume'
numid=8,iface=MIXER,name='DAC Double Fs Switch'
numid=10,iface=MIXER,name='DAC Mono Mix Switch'
numid=7,iface=MIXER,name='DAC Notch Filter Switch'
numid=4,iface=MIXER,name='DAC Playback Volume'
numid=6,iface=MIXER,name='DAC Soft Ramp Rate'
numid=5,iface=MIXER,name='DAC Soft Ramp Switch'
numid=66,iface=MIXER,name='DAC Source Mux'
numid=9,iface=MIXER,name='DAC Stereo Enhancement'
numid=64,iface=MIXER,name='Differential Mux'
numid=65,iface=MIXER,name='Digital Mic Mux'
numid=57,iface=MIXER,name='Dmic0 Capture Switch'
numid=56,iface=MIXER,name='Dmic0 Capture Volume'
numid=59,iface=MIXER,name='Dmic1 2nd Capture Volume'
numid=58,iface=MIXER,name='EQIIR3.0 eqiir_coef_3'
numid=60,iface=MIXER,name='EQIIR4.0 eqiir_coef_4'
numid=31,iface=MIXER,name='Headset Mic Switch'
numid=32,iface=MIXER,name='Internal Mic Switch'
numid=69,iface=MIXER,name='Left Headphone Mixer LLIN Switch'
numid=70,iface=MIXER,name='Left Headphone Mixer Left DAC Switch'
numid=67,iface=MIXER,name='Left Headphone Mux'
numid=54,iface=MIXER,name='PGA1.0 1 Master Playback Volume'
numid=55,iface=MIXER,name='PGA2.0 2 PCM 0 Capture Volume'
numid=61,iface=MIXER,name='PGA5.0 5 Master Playback Volume'
numid=62,iface=MIXER,name='PGA6.0 6 Master Playback Volume'
numid=63,iface=MIXER,name='PGA7.0 7 Master Playback Volume'
numid=71,iface=MIXER,name='Right Headphone Mixer RLIN Switch'
numid=72,iface=MIXER,name='Right Headphone Mixer Right DAC Switch'
numid=68,iface=MIXER,name='Right Headphone Mux'
numid=29,iface=MIXER,name='Speaker Switch'
numid=38,iface=PCM,name='ELD',device=5
numid=51,iface=PCM,name='Playback Channel Map',device=5
numid=44,iface=PCM,name='ELD',device=6
numid=52,iface=PCM,name='Playback Channel Map',device=6
numid=50,iface=PCM,name='ELD',device=7
numid=53,iface=PCM,name='Playback Channel Map',device=7
And here is my alsa-info: http://alsa-project.org/db/?f=c1c6019f3bd99f9621dafba5a7c9e181ab7aff32
@darrell-k
numid=27,iface=CARD,name='Headphone Jack' numid=28,iface=CARD,name='Headset Mic Jack'
that's the ones I was talking about
$ amixer -Dhw:0 cget numid=27 numid=27,iface=CARD,name='Headphone Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off
This does not toggle anything that I can see.
You cannot set those values, they are read-only and they should change if you plug/remove the headphone/headset so plug the headet, do a cget multiple times (takes time to detect sometimes), remove and do the same.
If the headphone detection doesn't work then that's yet another problem to fix. Happy Friday!
@plbossart could you please provide new custom ssp2-tplg files with different mclk config i.e. mclk 0,1,2. ??
@plbossart could you please provide new custom ssp2-tplg files with different mclk config i.e. mclk 0,1,2. ??
That's not a good idea since we have no means of detecting what topology to use. It's better IMHO to provide a quirk to override the topology. At the end of the day it's the same thing, the user will have to set a quirk and I don't have to maintain this extra topology.
@plbossart could you please provide new custom ssp2-tplg files with different mclk config i.e. mclk 0,1,2. ??
That's not a good idea since we have no means of detecting what topology to use. It's better IMHO to provide a quirk to override the topology. At the end of the day it's the same thing, the user will have to set a quirk and I don't have to maintain this extra topology.
@plbossart good. what should I do then? How can I help you?
@fcsm1922 try the updated branch with the suggested quirk. https://github.com/thesofproject/linux/pull/3338 commit 4984989a80e4c815d1130ad47a4eb0dcf3b38e16
@darrell-k
numid=27,iface=CARD,name='Headphone Jack' numid=28,iface=CARD,name='Headset Mic Jack'
that's the ones I was talking about
$ amixer -Dhw:0 cget numid=27 numid=27,iface=CARD,name='Headphone Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off
> > ```
$ amixer -Dhw:0 cget numid=27 numid=27,iface=CARD,name='Headphone Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off
This does not toggle anything that I can see.
You cannot set those values, they are read-only and they should change if you plug/remove the headphone/headset so plug the headet, do a cget multiple times (takes time to detect sometimes), remove and do the same.
If the headphone detection doesn't work then that's yet another problem to fix. Happy Friday!
Ah, now I understand. Both ids 27 and 28 stay stubbornly "off" regardless of plugging/unplugging the headset (it's a single 4 pole jack).
Ah, now I understand. Both ids 27 and 28 stay stubbornly "off" regardless of plugging/unplugging the headset (it's a single 4 pole jack).
Bummer, that's a codec driver issue then @darrell-k. I can't help you on this, you will have to take it up with @[yangxiaohua2009
Ah, now I understand. Both ids 27 and 28 stay stubbornly "off" regardless of plugging/unplugging the headset (it's a single 4 pole jack).
Bummer, that's a codec driver issue then @darrell-k. I can't help you on this, you will have to take it up with @[yangxiaohua2009
Good news - I found some old configuration that I hadn't cleaned up from previous experiments (I decided to clean my install rather than start with a fresh Debian, but hadn't quite got it right until now). The bit I had left in was @yangxiaohua2009's /usr/share/alsa/ucm2/sof-essx8336 directory.
With this removed, the toggle on numid 27 (Headphone Jack) now works (and the status of the headset is shown correctly in pavucontrol). I even get the gnome gui choice between headphones and headset when I plug the headset. And Alsa mutes/unmutes the speaker/headphone outputs correctly on plugging/unplugging.
So now all(!) we need is actual sound coming out of the speakers and headset...
@darrell-k the updated PR #3338 provides a quirk to invert the jack - compile tested only.
You would need to first see what the value of the quirk is (see dmesg log) and then override the value reported by setting this BIT(6) - all other bits preserved as is.
@yangxiaohua2009 this PR also provides an extension for the ES8326 codec. Again compile tested only, this should solve the card probe issues you had.
@darrell-k the updated PR #3338 provides a quirk to invert the jack - compile tested only.
I'm probably misunderstanding, but I see the jack detected normally now, it shows unplugged when it's unplugged and plugged when it's plugged. Or does this mean something different?
@darrell-k did you add a quirk or not? The inversion added by the quirk should invert a confusion done inside the driver.
@plbossart No I did not.
@plbossart No I did not.
then you don't need the JD_INVERTED quirk and have another issue to root-cause...
hi, does this work?
hi, does this work?
hello. I don't have. the sound card has been determined, but there is no sound. I have a matebook 14 on intel
yeah, i can relate.
· ***@***.*** ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofessx8336 [sof-essx8336], device 0: ES8336 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
hi, does this work?
hello. I don't have. the sound card has been determined, but there is no sound. I have a matebook 14 on intel
Have you tested the ssp2 tplg file with different mclk id?
I thought Linux Mint is quite mature and I decided to give it a try. Didn't expect this issues. Alternatively, output by Audio Out or headphone jack is good however it is still not possible. I have faith that you all can fix it.
I can report some progress with openSUSE Tumbleweed, Kernel 5.16.11-1-default. System is a Chuwi Hi 10X Tablet device. Before doing the lastest update, a sound device was found and programs could play sound, but I could hear nothing.
Now I see a progress as follows:
(1)In Yast Audio settings, I now see a large list at the Options settings panel.
-Allow DSP driver selection (bypass this driver) (0=off, 1=on) (default=1) //Option: dmic_detect -Automatic power-saving timeout (in second, 0=disable) //Option: power_save -BDL position adjustment offset // Option: bdl_pos_adj -Bitmask to probe codecs (default=-1) //Option: probe_mask [...] -Use single command to communicate with codecs (for debugging only) //Option: single_cmd -Use the given board model //Option: model
(2) The amplifier of the internal speakers seems to be active. I can hear little noise when I listen at the speaker holes of the case.
Are there any suggestions for what to try next? Parameters for the Yast settings? Copying a tplg file somewhere?
(2) The amplifier of the internal speakers seems to be active. I can hear little noise when I listen at the speaker holes of the case.
At Huawei Mate D15, the driver starts with low gain (-48dB). I need to manually increase it using alsamixer -D hw:0
. or with amixer -D hw:0 sset Headphone 3
.
I can report some progress with openSUSE Tumbleweed, Kernel 5.16.11-1-default. System is a Chuwi Hi 10X Tablet device. Before doing the lastest update, a sound device was found and programs could play sound, but I could hear nothing.
Now I see a progress as follows:
(1)In Yast Audio settings, I now see a large list at the Options settings panel.
-Allow DSP driver selection (bypass this driver) (0=off, 1=on) (default=1) //Option: dmic_detect -Automatic power-saving timeout (in second, 0=disable) //Option: power_save -BDL position adjustment offset // Option: bdl_pos_adj -Bitmask to probe codecs (default=-1) //Option: probe_mask [...] -Use single command to communicate with codecs (for debugging only) //Option: single_cmd -Use the given board model //Option: model
(2) The amplifier of the internal speakers seems to be active. I can hear little noise when I listen at the speaker holes of the case.
Are there any suggestions for what to try next? Parameters for the Yast settings? Copying a tplg file somewhere?
amixer cset name='Speaker Switch' on
amixer cset name='Headphone Playback Volume' 3,3
amixer cset name='Right Headphone Mixer Right DAC Switch' on
amixer cset name='Left Headphone Mixer Left DAC Switch' on
amixer cset name='DAC Playback Volume' 999,999
amixer cset name='Headphone Mixer Volume' 999,999
Open all the Kcontrols and you should be able to have sound
amixer cset name='Speaker Switch' on amixer cset name='Headphone Playback Volume' 3,3 amixer cset name='Right Headphone Mixer Right DAC Switch' on amixer cset name='Left Headphone Mixer Left DAC Switch' on amixer cset name='DAC Playback Volume' 999,999 amixer cset name='Headphone Mixer Volume' 999,999
Open all the Kcontrols and you should be able to have sound
Result:
5x
amixer: Cannot find the given element from control default
I can report some progress with openSUSE Tumbleweed, Kernel 5.16.11-1-default. System is a Chuwi Hi 10X Tablet device. Before doing the lastest update, a sound device was found and programs could play sound, but I could hear nothing.
Now I see a progress as follows:
(1)In Yast Audio settings, I now see a large list at the Options settings panel.
-Allow DSP driver selection (bypass this driver) (0=off, 1=on) (default=1) //Option: dmic_detect -Automatic power-saving timeout (in second, 0=disable) //Option: power_save -BDL position adjustment offset // Option: bdl_pos_adj -Bitmask to probe codecs (default=-1) //Option: probe_mask [...] -Use single command to communicate with codecs (for debugging only) //Option: single_cmd -Use the given board model //Option: model
(2) The amplifier of the internal speakers seems to be active. I can hear little noise when I listen at the speaker holes of the case.
Are there any suggestions for what to try next? Parameters for the Yast settings? Copying a tplg file somewhere?
You're not going to get much success with 5.16, the latest code for this type of devices is at https://github.com/thesofproject/linux/pull/3338, it'll land at best in 5.18
Thank you plbossard! So I think the next reasonable step for me is trying 5.18rc1 after its release. :)
amixer cset name='Speaker Switch' on amixer cset name='Headphone Playback Volume' 3,3 amixer cset name='Right Headphone Mixer Right DAC Switch' on amixer cset name='Left Headphone Mixer Left DAC Switch' on amixer cset name='DAC Playback Volume' 999,999 amixer cset name='Headphone Mixer Volume' 999,999
Open all the Kcontrols and you should be able to have sound
Result: 5x
amixer: Cannot find the given element from control default
Part of the problem is due to the lack of UCM configuration. @plbossart already submitted some patches, but, at least on my tests with Huawei Matebook D15, I had to do some extra changes there.
I already submitted a PR to the project: https://github.com/alsa-project/alsa-ucm-conf/pull/144
with the changes I did on my fork at https://github.com/mchehab/alsa-ucm-conf
It would be worth if more people could test it. At least for me, there are currently two pending issues:
It would be worth if more people could test it. At least for me, there are currently two pending issues:
* microphone is not working yet; * headphone/headset doesn't work.
Matebook D 14 (NBLB-WAX9N): Speakers work, no mic. When headset is connected, I get both correct output and input displayed, but output is always "redirected" to speakers and I don't get sound from the mic.
It would be worth if more people could test it. At least for me, there are currently two pending issues:
* microphone is not working yet; * headphone/headset doesn't work.
Matebook D 14 (NBLB-WAX9N): Speakers work, no mic. When headset is connected, I get both correct output and input displayed, but output is always "redirected" to speakers and I don't get sound from the mic.
If this is identical to Matebook D15, if you use https://github.com/alsa-project/alsa-ucm-conf/pull/144, the internal dmic should work. For the headphone to work, though, more is needed. Based on my tests, on such notebook, gpio0 controls the speaker output, while gpio1 controls the headphone output. Some changes at the driver is needed for it to use both. I have already an initial version, but additional changes are needed, as touching both gpios at the same time seem to be causing spurious IRQs, which seem to be generating false input events.
I was unable so far to make the headset mic to work. It seems it requires some special mixer settings to get just the headset mic audio. Still struggling to discover how to solve it.
Headphones are now working with Huawei Matebook D15 with those patches:
https://github.com/mchehab/linux/commit/27f3e6b22aeb1b0de1d5a16928774c6b2b70294b https://github.com/mchehab/linux/commit/0fdb8cd1c26408da870801f425f118a1bec44518
The only thing not working yet is the headset's microphone.
@plbossart Good afternoon. There is a laptop Huawei Matebook 14 2021 (Intel version) At first I tried to reanimate the sound with the topology that is in the subject, the speaker icon appeared (but there was no sound) I updated the kernel to 5.18-rc1 mainline, now the speaker is crossed out, there is no sound either ... what to do? remove all topology files (es8336 related) from /lib/firmware/intel/sof-tplg ?
what to do? remove all topology files (es8336 related) from /lib/firmware/intel/sof-tplg ?
@fcsm1922 please try to update to the latest topologies, I am not sure what you are using.
If this doesn't work, please enable dynamic debug by copying this file sof-dyndbg.conf.txt to /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the dmesg log and alsa-info results.
@plbossart
did as you asked. I just copied the contents of the es8336-topologies-4.tar.gz archive to the /lib/firmware/intel/sof-tplg folder,
rebooted. The sound adjustment icon has become active (you can change the volume level), but the sound from the speakers is still No! I attach the result of alsa-info http://alsa-project.org/db/?f=615d07b3832bbfe5e8c96d923fee4ac892b3e8f4
@plbossart did as you asked. I just copied the contents of the es8336-topologies-4.tar.gz archive to the /lib/firmware/intel/sof-tplg folder, rebooted. The sound adjustment icon has become active (you can change the volume level), but the sound from the speakers is still No! I attach the result of alsa-info http://alsa-project.org/db/?f=615d07b3832bbfe5e8c96d923fee4ac892b3e8f4
Did you install UCM support for it? If not, pulseaudio (or pipewire) may be doing the wrong thing.
Here (Matebook D15), besides es8336-topologies-4.tar.gz
, I'm using a Kernel 5.17 + es8336 patches from this branch:
https://github.com/mchehab/linux sound-es8336
Which contains vanilla Kernel 5.17 + @plbossart patches + 2 patches from me to fix headphones for MateBook D15, as D15 uses a different GPIO for headphone on it - I won't doubt that you would need a patch similar to https://github.com/mchehab/linux/commit/187a647be16d57f14b7f9a34c88ece66606c61fb for the headphones to work also on Matebook D14 2021.
I'm using es8336-topologies-4.tar.gz with UCM installed from (basically upstream alsa-ucm-conf + some patches for it to work with es8336): https://github.com/mchehab/alsa-ucm-conf
I installed it with this small script:
#!/bin/bash -e
sudo -S mkdir -p /usr/share/alsa/ucm2/conf.d/sof-essx8336 /usr/share/alsa/ucm2/Intel/sof-essx8336
sudo -S /usr/bin/install ucm2/Intel/sof-essx8336/*.conf /usr/share/alsa/ucm2/Intel/sof-essx8336/
sudo -S ln -sf ../../Intel/sof-essx8336/sof-essx8336.conf /usr/share/alsa/ucm2/conf.d/sof-essx8336/sof-essx8336.conf
# Just in case, clear all stored config
sudo rm /var/lib/alsa/asound.state || true
alsaucm reload
alsactl init
echo "Audio restarted"
if [ "$(pidof pipewire-pulse)" != "" ]; then
sudo -S killall -9 pipewire pipewire-pulse wireplumber
echo "pipewire restarted"
fi
if [ "$(pidof pulseaudio)" != "" ]; then
sudo -S killall -9 pulseaudio
echo "pulseaudio restarted"
fi
I tested it with both pulseaudio and pipewire-pulse, getting better results with pipewire-pulse (but maybe because Fedora switched the default to pipewire-pulse on a past version).
@plbossart did as you asked. I just copied the contents of the es8336-topologies-4.tar.gz archive to the /lib/firmware/intel/sof-tplg folder, rebooted. The sound adjustment icon has become active (you can change the volume level), but the sound from the speakers is still No! I attach the result of alsa-info http://alsa-project.org/db/?f=615d07b3832bbfe5e8c96d923fee4ac892b3e8f4
Did you install UCM support for it? If not, pulseaudio (or pipewire) may be doing the wrong thing.
Here (Matebook D15), besides
es8336-topologies-4.tar.gz
, I'm using a Kernel 5.17 + es8336 patches from this branch: https://github.com/mchehab/linux sound-es8336Which contains vanilla Kernel 5.17 + @plbossart patches + 2 patches from me to fix headphones for MateBook D15, as D15 uses a different GPIO for headphone on it - I won't doubt that you would need a patch similar to mchehab@187a647 for the headphones to work also on Matebook D14 2021.
I'm using es8336-topologies-4.tar.gz with UCM installed from (basically upstream alsa-ucm-conf + some patches for it to work with es8336): https://github.com/mchehab/alsa-ucm-conf
I installed it with this small script:
#!/bin/bash -e sudo -S mkdir -p /usr/share/alsa/ucm2/conf.d/sof-essx8336 /usr/share/alsa/ucm2/Intel/sof-essx8336 sudo -S /usr/bin/install ucm2/Intel/sof-essx8336/*.conf /usr/share/alsa/ucm2/Intel/sof-essx8336/ sudo -S ln -sf ../../Intel/sof-essx8336/sof-essx8336.conf /usr/share/alsa/ucm2/conf.d/sof-essx8336/sof-essx8336.conf # Just in case, clear all stored config sudo rm /var/lib/alsa/asound.state || true alsaucm reload alsactl init echo "Audio restarted" if [ "$(pidof pipewire-pulse)" != "" ]; then sudo -S killall -9 pipewire pipewire-pulse wireplumber echo "pipewire restarted" fi if [ "$(pidof pulseaudio)" != "" ]; then sudo -S killall -9 pulseaudio echo "pulseaudio restarted" fi
I tested it with both pulseaudio and pipewire-pulse, getting better results with pipewire-pulse (but maybe because Fedora switched the default to pipewire-pulse on a past version).
Hi @mchehab ! I realized you that I need from the branch https://github.com/mchehab/alsa-ucm-conf Its content to copy it to / usr / share / alsa and run a script that you are given in komentiya above?
@mchehab
I run the script and it says /usr/bin/install: failed to run statistics for 'ucm2/Intel/sof-essx8336/*.conf': No such file or directory. before that I copied both ucm and ucm2 folders to /usr/share/alsa
Any ideas how to solve my problem? @mchehab, @plbossart
amixer cset name='Speaker Switch' on amixer cset name='Headphone Playback Volume' 3,3 amixer cset name='Right Headphone Mixer Right DAC Switch' on amixer cset name='Left Headphone Mixer Left DAC Switch' on amixer cset name='DAC Playback Volume' 999,999 amixer cset name='Headphone Mixer Volume' 999,999
Open all the Kcontrols and you should be able to have sound
Result: 5x
amixer: Cannot find the given element from control default
Part of the problem is due to the lack of UCM configuration. @plbossart already submitted some patches, but, at least on my tests with Huawei Matebook D15, I had to do some extra changes there.
I already submitted a PR to the project: alsa-project/alsa-ucm-conf#144
with the changes I did on my fork at https://github.com/mchehab/alsa-ucm-conf
It would be worth if more people could test it. At least for me, there are currently two pending issues:
- microphone is not working yet;
- headphone/headset doesn't work.
Tested on teclast f15 plus 2 with your config. No success The hardware is detected in gnome.. But doesn't give any sound
@mchehab I run the script and it says /usr/bin/install: failed to run statistics for 'ucm2/Intel/sof-essx8336/*.conf': No such file or directory. before that I copied both ucm and ucm2 folders to /usr/share/alsa
Well, the install script basically copies stuff at /usr/share/alsa (install is just a fancier way to copy and change user/permission at the same time). You need to call it from the place where you cloned the alsa-ucm-conf tree, e. g.:
git clone https://github.com/mchehab/alsa-ucm-conf
cd alsa-ucm-conf
<place the script on this directory>
./install
or you can manually run each command there.
Btw, please check this comment:https://github.com/alsa-project/alsa-ucm-conf/pull/144#issuecomment-1092111198 as you could need to also use a quirk in order to tell the Kernel where some hardware resources are physically connected on your device.
Hi, I installed openSUSE Tumbleweed experimental kernel 5.18.0-rc1-2.g11acc76-default. I also tried to add plbossard's tplg files for 8336 and the patches and the script by mchehab. The system is a Chuwi Hi 10X tablet.
Results: 1) Still no sound :(
2) I now have a lot of audio output devices: -Celeron/Pentium Silver Processor High Definition Audio HDMI / DisplayPort 1 Output -Celeron/Pentium Silver Processor High Definition Audio HDMI / DisplayPort 2 Output -Celeron/Pentium Silver Processor High Definition Audio HDMI / DisplayPort 3 Output -Celeron/Pentium Silver Processor High Definition Audio Headphones + Speakers -Simulataneous Output to [all of them]
In the mixing tools, these devices are detected by the programs and a signal is shown, but nothing can be heard.
There is always a quiet noise hearable, both at the speakers as well as at the headphones.
The Headphoes + Speakers device has to ports: Speakers (default) and Headphones. The headphones are always detected as unplugged, no matter if they are plugged in or not in reality. When I switch the port to "Headphones", I hear a pop sound and the quiet noise is gone. When I switch back to "Speakers", I can hear the noise again. It seems that the headphones are connected in a parallel way to the speakers.
I pavucontrol's Configuration tab, there is now a profile called "Play and record Hifi quality Music". It is active by default. When I switch it to "Off", I also hear a pop sound and the noise is gone after that. After switching back to the profile, the noise is there again.
Maybe the sound system picked the wrong topology?
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: