After some tribulation I've been able to install Fedora Linux 41 on my Acer Asprie SW3-013, WiFi works but sadly audio doesen't. Although the operating system does recognize the sound card (bytcr-rt5640) there is still no audio. Info about the system: Linux Kernel Version in use: Linux 6.13.10-200.fc41.x86_x64 Processor: Intel Atom Z3735F Sound Card: bytcr-rt5640 ------------------- I've tried everything, from the most common workaround found here https://github.com/plbossart/UCM/tree/master/bytcr-rt5640 to adding custom quirks here /etc/modprobe.d/bytcr.conf "options snd_soc_sst_bytcr_rt5640 quirk=0x10b" I've tried 0x10b, 0x2b, 0x01, 0x2f, 0x21 but I still get the same error when I run this command: "sudo dmesg | grep -i rt5640" "Invalid routing, bytcr detected but no SSP0-based quirk, audio cannot work with SSP2 on bytcr" If you need more informations let me know, thanks in advance.
Please upload ``alsa-info.sh` output.
`sudo alsa-info.sh` output.
Created attachment 307962 [details] alsa-info.txt
I've uploaded the file
Experiencing sound issues after a driver update can be frustrating, especially on Acer Aspire devices. Seeing "sound card recognized but no sound" definitely warrants investigation. Have you tried rolling back the driver? Maybe a fresh install? It's like encountering an obstacle in the Dinosaur Game, you need to try different jumps to get over it. Sometimes the solution is simpler than we think. Check your volume mixer too. Good luck troubleshooting! https://dinosaurgamefree.com/
(In reply to Lewis J. Johnson from comment #5) > Experiencing sound issues after a driver update can be frustrating, > especially on Acer Aspire devices. Seeing "sound card recognized but no > sound" definitely warrants investigation. Have you tried rolling back the > driver? Maybe a fresh install? It's like encountering an obstacle in the > Dinosaur Game, you need to try different jumps to get over it. Sometimes the > solution is simpler than we think. Check your volume mixer too. Good luck > troubleshooting! https://dinosaurgamefree.com/ at no point I had the sound working, I never said it broke after an update, I feel like you're trolling me. I did a fresh install of fedora and the sound was not working from the start, and as I wrote in the bug report I already did all I could to troubleshoot and nothing worked, leading me to make a kernel bug report. If you search for my specific model of laptop Acer Asprie SW3-013 and Linux you will see report of people having my same issue (not having audio) from years ago.
You need to test with proper quirk values. The low 4 bits represent mapping from 0 to 4. The next 4 bits (bits 4-7) represent the GPIO, from 1 to 6 of 15 for EXT_GPIO. The next 5 bits (bits 8-12) show the over-current threshold microamp, either 6, 15 or 20. And the next 2 bits (bits 13-14) show the over-current scale factor, from 0 to 3. You can take a look at the existing quirk values from sound/soc/intel/boards/bytcr_rt5640.c and try one by one.
(In reply to Takashi Iwai from comment #7) > You need to test with proper quirk values. The low 4 bits represent mapping > from 0 to 4. The next 4 bits (bits 4-7) represent the GPIO, from 1 to 6 of > 15 for EXT_GPIO. The next 5 bits (bits 8-12) show the over-current > threshold microamp, either 6, 15 or 20. And the next 2 bits (bits 13-14) > show the over-current scale factor, from 0 to 3. > > You can take a look at the existing quirk values from > sound/soc/intel/boards/bytcr_rt5640.c and try one by one. I don't know how to do that I'm sorry, I've used chatgpt to help me test the quirks as I don't have much developer knowledge. chatgpt also helped me patch the kernel with this code inside of /sound/soc/intel/boards/bytcr_rt5640.c, but I still had no sound after succesfully patching the kernel >{ > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "Acer"), > DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW3-013"), > }, > .driver_data = (void *)(BYT_RT5640_SSP0_AIF1 | > BYT_RT5640_DIFF_MIC | > BYT_RT5640_IN1_MAP | > BYT_RT5640_IN3_MAP | > BYT_RT5640_DMIC1_MAP | > BYT_RT5640_MCLK_EN), >},
(In reply to agarplayerarlon from comment #8) > (In reply to Takashi Iwai from comment #7) > > You need to test with proper quirk values. The low 4 bits represent > mapping > > from 0 to 4. The next 4 bits (bits 4-7) represent the GPIO, from 1 to 6 of > > 15 for EXT_GPIO. The next 5 bits (bits 8-12) show the over-current > > threshold microamp, either 6, 15 or 20. And the next 2 bits (bits 13-14) > > show the over-current scale factor, from 0 to 3. > > > > You can take a look at the existing quirk values from > > sound/soc/intel/boards/bytcr_rt5640.c and try one by one. > > I don't know how to do that I'm sorry, I've used chatgpt to help me test the > quirks as I don't have much developer knowledge. > > chatgpt also helped me patch the kernel with this code inside of > /sound/soc/intel/boards/bytcr_rt5640.c, but I still had no sound after > succesfully patching the kernel > > >{ > > .matches = { > > DMI_MATCH(DMI_SYS_VENDOR, "Acer"), > > DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW3-013"), > > }, > > .driver_data = (void *)(BYT_RT5640_SSP0_AIF1 | > > BYT_RT5640_DIFF_MIC | > > BYT_RT5640_IN1_MAP | > > BYT_RT5640_IN3_MAP | > > BYT_RT5640_DMIC1_MAP | > > BYT_RT5640_MCLK_EN), > >}, What a crap! You surely know that one cannot trust ChatGPT seriously for coding :) Just try to copy the driver_data contents of other existing similar quirk entries there instead, but change DMI_MATCH() to match with your actual device name. Judging from the alsa-info.sh output, the above DMI_MATCH() lines look OK. But you can check the kernel log with the patched kernel whether it shows the messages corresponding to your quirk bits. e.g. "quirk DMIC1_MAP enabled" should appear when the quirk bit BYT_RT5640_DMIC1_MAP is set.
(In reply to Takashi Iwai from comment #9) I have an update, the patched kernel actually does something, I still had that custom quirk on inside of /etc/modprobe.d/bytcr.conf and it was messing with the kernel, and now that I've removed that custom quirk "sudo dmesg | grep -i rt5640" says this: [ 23.618465] bytcr_rt5640 bytcr_rt5640: quirk IN3_MAP enabled [ 23.618481] bytcr_rt5640 bytcr_rt5640: quirk realtek,jack-detect-source 2 [ 23.618488] bytcr_rt5640 bytcr_rt5640: quirk realtek,over-current-threshold-microamp 2000 [ 23.618495] bytcr_rt5640 bytcr_rt5640: quirk realtek,over-current-scale-factor 1 [ 23.618501] bytcr_rt5640 bytcr_rt5640: quirk DIFF_MIC enabled [ 23.618506] bytcr_rt5640 bytcr_rt5640: quirk SSP0_AIF2 enabled [ 23.618511] bytcr_rt5640 bytcr_rt5640: quirk MCLK_EN enabled [ 23.657135] input: bytcr-rt5640 Headset as /devices/platform/80860F28:00/bytcr_rt5640/sound/card0/input27 the problem is, there is still no sound
You need to try different setups, trial-and-error; there are many different quirk entries as you see there. Also, you'll possibly need to set up the mixer. For the tailored system, it's typically done via UCM, but initially you might need to to adjust manually by yourself.
so I'm left on my own now? I see this bug report has an assignee. It feels like I have to do what an Intel or Acer programmer didn't do.
Yes, it's your machine, it's your joy of hacking. Of course, you can ask Acer for the support, but I guess they would answer that they won't support Linux for those models. And Intel provides only the material that can be used on the machines. The bug assignee is responsible for helping and merging the fix to the upstream. Developing the proper fix is in your hands.
(In reply to Takashi Iwai from comment #13) > Yes, it's your machine, it's your joy of hacking. Of course, you can ask > Acer for the support, but I guess they would answer that they won't support > Linux for those models. And Intel provides only the material that can be > used on the machines. > > The bug assignee is responsible for helping and merging the fix to the > upstream. > Developing the proper fix is in your hands. I can't believe it I actually got it working now, I have literally no developer knowledge but I've been able to finally after hours and hours get it working! I'm so happy! Everything works, the speakers, the headphone connection and the microphone too! I'm gonna send the kernel patch and the ucm here
Created attachment 307973 [details] working kernel patch
basically I've just added this code into the kernel patch { /* Acer Aspire SW3-013 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW3-013"), }, .driver_data = (void *)(BYT_RT5640_DMIC1_MAP | BYT_RT5640_JD_SRC_JD2_IN4N | BYT_RT5640_OVCD_TH_2000UA | BYT_RT5640_OVCD_SF_0P75 | BYT_RT5640_DIFF_MIC | BYT_RT5640_SSP0_AIF1 | BYT_RT5640_MCLK_EN), },
Created attachment 307974 [details] UCM files
for the UCM I've put the "Acer-AspireSW3_013-V1.02-Gummi" folder inside /usr/share/alsa/ucm & /usr/share/alsa/ucm2, but I'm not sure if these UCM files are actually useful or working at all
Awesome! Care to submit an official patch by yourself for merging to the upstream kernel? https://docs.kernel.org/process/submitting-patches.html Or if you don't mind, I just pick up the change and submit by myself with the reference to this bugzilla entry, too.
(In reply to Takashi Iwai from comment #19) > Awesome! > > Care to submit an official patch by yourself for merging to the upstream > kernel? > https://docs.kernel.org/process/submitting-patches.html > > Or if you don't mind, I just pick up the change and submit by myself with > the reference to this bugzilla entry, too. I will try to submit the patch by myself, in case I'll fail I'll ask you to send it yourself
(In reply to Takashi Iwai from comment #19) I've read the documentation and it looks a bit overwhelimg for me at the moment, if you can send the patch yourself I would be really grateful. thanks in advance.
OK, the patch submitted now: https://lore.kernel.org/20250420085716.12095-1-tiwai@suse.de
(In reply to Takashi Iwai from comment #22) > OK, the patch submitted now: > https://lore.kernel.org/20250420085716.12095-1-tiwai@suse.de thank you!