chromebook-linux-audio icon indicating copy to clipboard operation
chromebook-linux-audio copied to clipboard

No audio on Ekko (Acer Chromebook 714) on Debian Testing (Trixie)

Open wolfdaemon opened this issue 10 months ago • 18 comments

Describe the bug

I am running Debian Testing (13, Trixie). I was running Debian 12 Bookworm (Stable) initially, but upgraded to Testing before running the script. Regardless of running the setup-audio script with --force-avs-install or not, I do not gain audio output. Checking pavucontrol shows "Dummy Output". The script tells me I have a missing kernel module SND_SOC_INTEL_AVS_MACH_MAX98357A, the output of which I will paste below; I am curious if this would affect my success or not.

Script output

root@foxtrot:/home/wolfdaemon/Code/chromebook-linux-audio# ./setup-audio
Detecting platform
Detected Intel Kabylake
WARNING: Your device has max98357a and can cause permanent damage to your speakers if you set the volume too loud! As a safety precaution devices with max98357a have speakers disabled until a fix is in place. Headphones and HDMI audio are safe from this.
If you want to disable this check, restart the script with --force-avs-install
Type "I Understand my speakers will not work since my device has max98357a!" in all caps to continue: I UNDERSTAND MY SPEAKERS WILL NOT WORK SINCE MY DEVICE HAS MAX98357A!
Installing topology
Installing UCM configuration
Cloning into '/tmp/alsa-ucm-conf-cros'...
remote: Enumerating objects: 6560, done.
remote: Counting objects: 100% (2453/2453), done.
remote: Compressing objects: 100% (399/399), done.
remote: Total 6560 (delta 2169), reused 2064 (delta 2052), pack-reused 4107 (from 3)
Receiving objects: 100% (6560/6560), 830.08 KiB | 3.04 MiB/s, done.
Resolving deltas: 100% (4129/4129), done.
Checking kernel config for 6.12.17-amd64
Detecting codecs
Found max98357a
Found da7219
Warning: Kernel is missing module 'SND_SOC_INTEL_AVS_MACH_MAX98357A', audio may not work.
Audio setup finished! Reboot to complete setup.
If you still have any issues post-reboot, report them to https://github.com/WeirdTreeThing/chromebook-linux-audio
If this script has been helpful for you and you would like to support the work I do, consider donating to https://paypal.me/weirdtreething

Boardname

Ekko

Logs

I do not use sudo, I use a currently use a root user account for all superuser actions.

Immediate output

Welcome.
This script will ask you for sudo password, which is necessary to extract required information.
Failed to connect to bus: No medium found
Failed to connect to bus: No medium found
spa-acp-tool not found. On distros using apt, install pipewire-bin
Failed to connect to bus: No medium found
Failed to connect to bus: No medium found
alsaucm not found. Please install alsa-utils.
strace not found. Please install strace.
debugging.sh: line 95: sudo: command not found
Error: Unable to gain root permission. Log archive will be incomplete!
Log collection done.
Please upload debug-logs-Ekko-2025-03-14_00h30m.tar.gz for analysis.

File

debug-logs-Ekko-2025-03-14_00h30m.tar.gz

wolfdaemon avatar Mar 14 '25 05:03 wolfdaemon

max98357a is the speaker amp. Without a driver, you won't have working speakers. I thought debian already had this enabled though.

WeirdTreeThing avatar Mar 14 '25 16:03 WeirdTreeThing

In all cases, I am not getting audio in any form: headphones, HDMI, nor speakers.

I'm might be a bit confused, but from my understanding based on the output of the script, you could either:

  • setup-audio: Headphones and HDMI audio is enabled, but no speakers as a protection against the no limit on the speaker volume.
  • setup-audio --force-avs-install: Speakers, headphones, and HDMI audio is enabled, but with max98357a, currently there is no limit to the volume, meaning you could potentially damage your speakers.

wolfdaemon avatar Mar 14 '25 21:03 wolfdaemon

@WeirdTreeThing Good & interesting news!

Resolution

When I did:

  1. A fresh install with a Debian Testing ISO/USB
  2. Added the current non-root user's account is in the sudoer's file
  3. Then ran the script

The sound works!

Curiosities

I am curious of:

  1. What (if any) baggage Stable had that prevented the headphones from working.
  2. What extent (if any) using sudo instead of using the root user had on the script.

Without a driver, you won't have working speakers. I thought Debian already had this enabled though.

This is what most perplexes me, from my understanding drivers on Linux for the most part come directly from the kernel. When I upgraded the kernel on Stable, it still would not produce sound in any case. However, as previously stated, it works whenever I did a fresh install for Testing.

Logs:

debug-logs-Ekko-2025-03-16_22h20m.tar.gz

wolfdaemon avatar Mar 17 '25 03:03 wolfdaemon

Looks like I accidentally removed the part of the script that would enable the avs driver. I've pushed a fix, try it again.

WeirdTreeThing avatar Mar 17 '25 17:03 WeirdTreeThing

I'm on the same situation, i have a Snappy Apollo Lake Board and the script doesnt work (well, it executes, no errors, but in the end it achieves nothing) in Debian Trixie Kernel 6.12.25, i have to use a old backup i had downloaded on JAN 16th of the chromebook-linux-audio folder and even when the old script says it has an error installing the avs driver, after a reboot, the speakers and the headphones worked fine, and i had to use the --force-avs-install to enable both outputs.

And i dont know if the new version changed a lot, but the latest script wont show if i wanted to use SOF or AVS while the old one i have did ask.

Im gonna reinstall debian, and try again, because of this error i installed a lot of things and report back

kolotxoz avatar May 06 '25 04:05 kolotxoz

I removed the SOF/AVS selection because Intel removed SOF support for APL chromebooks from linux.

WeirdTreeThing avatar May 06 '25 10:05 WeirdTreeThing

I'm on the same situation, i have a Snappy Apollo Lake Board and the script doesnt work (well, it executes, no errors, but in the end it achieves nothing) in Debian Trixie Kernel 6.12.25, i have to use a old backup i had downloaded on JAN 16th of the chromebook-linux-audio folder and even when the old script says it has an error installing the avs driver, after a reboot, the speakers and the headphones worked fine, and i had to use the --force-avs-install to enable both outputs.

And i dont know if the new version changed a lot, but the latest script wont show if i wanted to use SOF or AVS while the old one i have did ask.

Im gonna reinstall debian, and try again, because of this error i installed a lot of things and report back

I just saw what happened in my case.

For the script to work, i have to install this packages:

git (obviously) firmware-linux firmware-linux-free firmware-linux-nonfree

because my debian 13 install was made from the netinstall iso.

After that i have audio only on my headphones on the 6.12.25 kernel, for the speakers to work i had to install the 6.6.75-chrultrabook kernel and now the 3.5mm and the speakers work like in debian 12 (booting the chrultrabook kernel)

kolotxoz avatar May 07 '25 15:05 kolotxoz

I'm running debian 13 on a C434 (Shyvana board) and came across this issue because I came down a similar path: The audio fix script was working on this machine with debian 12 about a year ago, and then did not after a fresh reinstall of debian 12 last week, and then after doing an in-place upgrade to debian 13 the script still did not work.

I don't want to muddy this particular issue, but just want to add that installing 'firmware-intel-sound' out of the debian 13 repos got speakers and headphones working for me. The audio script has been run but i'm pretty sure it did nothing as i'm still on the latest kernel provided by debian 13, 6.12.27-1 (2025-05-06) x86_64 GNU/Linux. At some point i'll probably try a fresh install of debian 13 from the actual iso rather than upgrade in place, and then install this package just to confirm this is the way forward with this board and debian testing; but for now it seems debian testing + firmware-intel-sound is likely all that's necessary for the shyvana board. Maybe applicable here?

cvaziri1 avatar Jun 02 '25 14:06 cvaziri1

I just upgraded my roommate's SNAPPY to Debian Trixie because she wants to run Windows XP and I couldn't get VirtualBox to compile the kernel module on the previous Debian 12 install that was still running the 6.6-chrultrabook kernel due to a glibc version mismatch. After upgrading, there was no working sound and the only sink showing up in the settings was "Dummy Output". I tried running the script with --force-avs-install and got the same error message as OP, Warning: Kernel is missing module 'SND_SOC_INTEL_AVS_MACH_MAX98357A', audio may not work.. I found this issue and tried installing firmware-linux-nonfree and firmware-intel-sound like the people above, then rebooted. Now I have a working headphone jack, but the speakers are still not showing up. I have not yet attempted to reinstall a fresh copy of Debian Trixie, and my roommate will not be too happy if I end having to trash her existing operating system. I am going to leave it as is for now and tell her use a bluetooth speaker, but I intend to attempt to undo whatever the script did before I resort to reinstalling everything, or else hope for a solution before she wants to use the laptop speakers again.

crystalcommunication avatar Jun 15 '25 08:06 crystalcommunication

Debiad doesn't enable SNC_SOC_AVS_MAX98357A in their kernel

WeirdTreeThing avatar Jun 16 '25 20:06 WeirdTreeThing

Dang, I was hoping that Debian 13 would work a little better on here without a custom kernel. At this rate I'm probably just going to install Arch Linux on that computer, consequences be damned. At least all the hardware and software she wants to use will work easily.

crystalcommunication avatar Jun 20 '25 19:06 crystalcommunication

You could always try to get it enabled upstream

WeirdTreeThing avatar Jun 20 '25 21:06 WeirdTreeThing

I will look into getting it enabled for the testing kernel so forky will have it. In the meantime I've opted to just compile my own version of trixie's kernel with SND_SOC_AVS_MACH_MAX98357A. If others are interested, I can set up an apt repository with the alternate kernel so you don't need to waste time recompiling kernels every time there is a new update.

crystalcommunication avatar Nov 06 '25 20:11 crystalcommunication

I will look into getting it enabled for the testing kernel so forky will have it. In the meantime I've opted to just compile my own version of trixie's kernel with SND_SOC_AVS_MACH_MAX98357A. If others are interested, I can set up an apt repository with the alternate kernel so you don't need to waste time recompiling kernels every time there is a new update.

I also compile the kernel for debian 13, you can take a look in: https://github.com/kolotxoz/debian-kernel/releases/tag/6.6.114

It's a fork of https://github.com/chrultrabook/debian-kernel, but I update the script almost every week to match the latest 6.6 kernel release.

It's for a SNAPPY Apollo Lake Chromebook

kolotxoz avatar Nov 06 '25 20:11 kolotxoz

Trixie is shipping Linux 6.12, and that one missing driver is the only problem it has. Personally, I would rather use the same kernel from Trixie with the options I need enabled than some obscure fork of an older version that I've already had problems with in the past. The other problem with hosting it on GitHub is that there is no way to make apt automatically install updates from the releases page you linked above. That MAX98357A driver is required for many Intel Chromebooks, including but not limited to SNAPPY, LAVA, SAND, and VAYNE.

crystalcommunication avatar Nov 06 '25 20:11 crystalcommunication

That driver is needed for many skylake, most kabylake, and all apollolake chromebooks.

WeirdTreeThing avatar Nov 07 '25 13:11 WeirdTreeThing

That's what I thought, which is why I'm inclined to make the kernel available for anyone else who wants to run Debian 13 with as close to the default kernel as possible.

crystalcommunication avatar Nov 08 '25 22:11 crystalcommunication

I will look into getting it enabled for the testing kernel so forky will have it. In the meantime I've opted to just compile my own version of trixie's kernel with SND_SOC_AVS_MACH_MAX98357A. If others are interested, I can set up an apt repository with the alternate kernel so you don't need to waste time recompiling kernels every time there is a new update.

I am having this same issue on Trixie (via LMDE 7 install) A repository would be greatly appreciated

salthepal128 avatar Nov 14 '25 05:11 salthepal128