Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sound on Skylake #379

Open
simonheb opened this issue Aug 5, 2017 · 399 comments
Open

Sound on Skylake #379

simonheb opened this issue Aug 5, 2017 · 399 comments

Comments

@simonheb
Copy link

simonheb commented Aug 5, 2017

This is to concentrate efforts and document progress on the sound issues related to skylake and GalliumOS. All other skylake users are asked to also contribute their logs and use this issue to document progress towards finding a solution.

I am runnning a plain GalliumOS 2.1 via chrx on a CAVE model (Asus C302CA).

Right after the install, the system looks as follows:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ lspci | grep  -P audio\|snd\|sound\|audio
00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21)

$ dmesg | grep -P audio\|snd\|sound\|audio
[    4.433088] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.559255] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input7
[    4.559335] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[    4.559421] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9

My first step is trying out he solution @volfyd suggested for Caroline (#274 (comment)), I will post the result here.

@reynhout
Copy link
Member

reynhout commented Aug 5, 2017

@simonheb You only have HDMI devices listed there, so the driver is not loaded properly.

If my notes are correct, CAVE should have a Maxim 98357A codec, driver skl_nau88l25_max98357a_i2s (the nau88l25 part is a headphone codec).

The first thing to check is which kernel you're running (uname -r). Unless you're on the testing repo, you'll probably have 4.8.17, which doesn't have the required modules.

To enable the testing repo:

sudo galliumos-repodist --enable testing
galliumos-update

You should get a 4.10.5 kernel package, which might be an improvement. But it'll be more interesting to test on a 4.11 or 4.12 kernel. Currently only 4.12.0 is available in the repo: sudo apt install linux-image-4.12.0-galliumos.

If you still have only HDMI devices in aplay -l, there might be something revealing in dmesg. Actually journalctl has most of the same info, with warnings and errors helpfully colorized...and apparently unhelpfully truncated, but you can use the left and right arrow keys to "scroll" the viewport. systemd, feh.

@simonheb
Copy link
Author

simonheb commented Aug 5, 2017

@reynhout, thanks for your comments.

The output in the previous post was indeed produced on an 4.8.17 kernel. Now I followed your steps and booted into the 4.12.0 kernel.

Now aplay -l lists more, but apparently all still hdmi devices:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1

dmesg is rather quiet on sound/audio, giving more or less the same messages as on the other kernel (just one more hdmi line).
jounrnalctl gives no related highlighted errors. Only something about tpm_tis, bluetoothd, NetworkManager and ntpd.

Is there something I should look at via the shell in ChromeOS, e.g. to figure out which driver is needed?

In the post where volfyd got it working on Caroline, he mentioned some files he added to the system, which he seems to have gotten from ChromeOS. I assume the equivalent for CAVE would bet getting:

  • /usr/share/alsa/ucm/sklnau8825max/HiFi.conf
  • /usr/share/alsa/ucm/sklnau8825max/sklnau8825max.conf
  • /etc/modprobe.d/alsa-skl.conf
  • /etc/modprobe.d/alsa.conf
  • /lib/firmware/dfw_sst.bin

?

Other posts mentioning blackinsting snd-hda-intel. Anything to try there?

@reynhout
Copy link
Member

reynhout commented Aug 5, 2017

@simonheb You can check the logs in ChromeOS, but the driver name might be different.

I'm not sure if copying files over will help -- I think you should see some noise in the logs well before those files become useful...though they might be needed for later stages of progress of course. Still, worth a try.

Re: blacklisting. It's possible there's a conflict, but I would expect to see some relevant log entries. Can't hurt to try either, although it will likely disable the HDMI devices, of course.

@simonheb
Copy link
Author

simonheb commented Aug 5, 2017

Ok, thanks again @reynhout for the comments. Blacklisting snd-hda-intel seems to bring the issue to light:
w/o blacklisting it:

$ dmesg | grep snd -B 2 -A 2
[    3.172835] Bluetooth: L2CAP socket layer initialized
[    3.172842] Bluetooth: SCO socket layer initialized
[    3.188837] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.205698] media: Linux media interface: v0.10
[    3.209708] usbcore: registered new interface driver btusb

w/ blacklisting snd-hda-intel:

$ dmesg | grep snd -B 2 -A 2
[    3.311489] input: Elan Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-ELAN0000:00/input/input5
[    3.319982] iwlwifi 0000:01:00.0: loaded firmware version 22.391740.0 op_mode iwlmvm
[    3.327879] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.332008] uvcvideo: Found UVC 1.00 device USB2.0 HD UVC WebCam (13d3:5679)
[    3.333514] uvcvideo 1-7:1.0: Entity type for entity Realtek Extended Controls Unit was not initialized!
--
[    3.677456] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    3.680975] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    3.688197] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[    3.688201] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[    3.688216] snd_soc_skl 0000:00:1f.3: Direct firmware load for dfw_sst.bin failed with error -2
[    3.688218] snd_soc_skl 0000:00:1f.3: Fallback tplg fw dfw_sst.bin load failed with -2
[    3.688219] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    3.688221] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -2
[    3.688258] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -2
[    3.696423] skl_n88l25_m98357a: probe of skl_n88l25_m98357a failed with error -2

I also copied the aforementioned files from ChromeOS and ran called alsaucm

$ sudo alsaucm -c sklnau8825max set _verb HiFi
ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825max'
ALSA lib main.c:1546:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such device

As you suspected earlier this didn't really yield anything new.

When booting after the files were copied into the system, dmesg contains:

[    3.636850] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    3.639588] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    3.645834] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[    3.645838] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[    3.649295] snd_soc_skl 0000:00:1f.3: ASoC: invalid manifest size
[    3.651591] snd_soc_skl 0000:00:1f.3: tplg component load failed-22
[    3.652948] snd_soc_skl 0000:00:1f.3: Failed to init topology!
[    3.652950] snd_soc_skl 0000:00:1f.3: ASoC: failed to probe component -22
[    3.653011] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -22
[    3.660528] skl_n88l25_m98357a: probe of skl_n88l25_m98357a failed with error -22

@simonheb
Copy link
Author

simonheb commented Aug 5, 2017

I made some very mild progress on this, not sure whether this is good though as what is described below only works on the 4.10.5 kernel, even though @reynhout suggested to try the 4.12.0.

After reading that the hardware is similar on SENTRY, I went ahead and used the topology binary provided in #274 (comment) and placed it in /lib/firmware/dfw_sst.bin. This got me a little further. More specifically, dmesg shows:

[ 1457.234035] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 1457.264801] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[ 1457.282043] nau8825 i2c-10508825:00: No 'mclk' clock found, assume MCLK is managed externally
[ 1457.296992] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[ 1457.296998] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[ 1457.297118] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297122] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297125] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297139] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297142] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297145] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297160] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297163] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297166] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[ 1457.297376] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now
[ 1457.345873] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> System Pin mapping ok
[ 1457.345959] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> System Pin mapping ok
[ 1457.346023] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> Reference Pin mapping ok
[ 1457.346105] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> DMIC Pin mapping ok
[ 1457.346169] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI1 Pin mapping ok
[ 1457.346232] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI2 Pin mapping ok
[ 1457.346297] skl_n88l25_m98357a skl_n88l25_m98357a: snd-soc-dummy-dai <-> HDMI3 Pin mapping ok
[ 1457.346330] skl_n88l25_m98357a skl_n88l25_m98357a: HiFi <-> SSP0 Pin mapping ok
[ 1457.346955] skl_n88l25_m98357a skl_n88l25_m98357a: nau8825-hifi <-> SSP1 Pin mapping ok
[ 1457.347002] skl_n88l25_m98357a skl_n88l25_m98357a: dmic-hifi <-> DMIC01 Pin mapping ok
[ 1457.347054] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[ 1457.347100] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[ 1457.347142] skl_n88l25_m98357a skl_n88l25_m98357a: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[ 1457.349524] input: sklnau8825max Headset Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input7
[ 1457.349837] input: sklnau8825max HDMI/DP, pcm=4 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input8
[ 1457.350032] input: sklnau8825max HDMI/DP, pcm=5 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input9
[ 1457.350182] input: sklnau8825max HDMI/DP, pcm=6 Jack as /devices/platform/skl_n88l25_m98357a/sound/card0/input10

aplay -l now gives me these:

**** List of PLAYBACK Hardware Devices ****
card 0: sklnau8825max [sklnau8825max], device 0: Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 4: Hdmi1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 5: Hdmi2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sklnau8825max [sklnau8825max], device 6: Hdmi3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

And I was able to hear a humming/beeping sound on my headphones when unmuting codec1_out in alsamixer (i hope i didn't break anything).

I'm not sure if i moved closer to or further from solving the issue for CAVE, any input on what to try next?

Update: I just booted into ChromeOS to confirm that I didn't break anything and it seems sound is still working fine from the hardware side.

Update 2: On the 4.9.4-galliumos-braswell kernel it works as on the 4.10.5 kernel, i.e. the drivers seems to get loaded, but other than humming/beeping on the headphones i get no sound. amixer lists the following items, in case anybody is able to learn from that what's going on:

amixer |grep -ivP Item\|mono\|channels\|front
Simple mixer control 'Headphone',0
  Capabilities: volume
  Limits: 0 - 63
Simple mixer control 'Headphone Bypass',0
  Capabilities: volume
  Limits: 0 - 15
Simple mixer control 'Headphone Crosstalk',0
  Capabilities: volume
  Limits: 0 - 255
Simple mixer control 'Headphone Jack',0
  Capabilities: pswitch pswitch-joined
  Capabilities: volume volume-joined
  Limits: 0 - 37
Simple mixer control 'Mic',0
  Capabilities: volume volume-joined
  Limits: 0 - 255
Simple mixer control 'ADC Decimation Rate',0
  Capabilities: enum
Simple mixer control 'BIQ Path Select',0
  Capabilities: enum
Simple mixer control 'DAC Oversampling Rate',0
  Capabilities: enum
Simple mixer control 'DACL Mux',0
  Capabilities: enum
Simple mixer control 'DACR Mux',0
  Capabilities: enum
Simple mixer control 'Headset Mic',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'Pin 5 Mux',0
  Capabilities: enum
Simple mixer control 'Pin 6 Mux',0
  Capabilities: enum
Simple mixer control 'Pin 7 Mux',0
  Capabilities: enum
Simple mixer control 'Spk',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec0_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'codec1_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo codec0_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo dmic01_hifi_in mi',0
  Capabilities: pswitch pswitch-joined
Simple mixer control 'media0_out mo media0_in mi',0
  Capabilities: pswitch pswitch-joined

@PennRobotics
Copy link

PennRobotics commented Aug 10, 2017

On a ThinkPad (SENTRY) with 2.1, I had messed around before trying to get sound to work (such as blacklisting snd_hda_intel) and implemented the steps @volfyd listed on #274, except trying to replace "adi" with "max", although I'm not even sure that would work or is the right chipset for this Chromebook. I admittedly don't know much of what I'm doing when it comes to kernel stuff. Here's my log:

~ > uname -r
4.12.0-galliumos

~ > galliumos-repodist
xenon-devel       (disabled)  GalliumOS "devel" packages
xenon-prerelease  (enabled)   GalliumOS "prerelease" packages
xenon-testing     (enabled)   GalliumOS "testing" packages

~ > aplay -l
aplay: device_list:268: no soundcards found...

~ > lspci | grep  -P audio\|snd\|sound\|audio
00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21)

~ > dmesg | grep -P audio\|snd\|sound\|audio
[   14.792796] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   14.929469] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[   14.938491] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[   14.938495] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[   14.940684] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940687] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940689] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940696] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940698] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940699] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940707] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940708] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940710] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[   14.940772] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now

@LufyCZ
Copy link

LufyCZ commented Aug 10, 2017

Got exactly the same output as @usfbrian on LARS

@azertyfun
Copy link

I tried @volfyd's instructions to LARS running Arch, and things went very wrong. Please do not try to reproduce if you don't want to damage your hardware.

What I did:

  • I copied the caroline-audio files to my filesystem
    *Changed all references from sklnau8825adi to sklnau8825max in those file (including file names)
  • Ran sudo alsaucm -c sklnau8825max set _verb HiFi, which told me it couldn't find /usr/share/alsa/ucm/Acer-Lars-1.0-Lars
  • Copied sklnau8825max.conf to /usr/share/alsa/ucm/Acer-Lars-1.0-Lars/Acer-Lars-1.0-Lars.conf
  • Copied HiFi.conf to /usr/share/alsa/ucm/Acer-Lars-1.0-Lars/HiFi.conf
  • Re-ran alsaucm with success

I could now play audio, but it seems the hardware output was maxed out, regardless of my settings (in kde or alsa-mixer). Lowering software audio just made the sound very compressed, but still very loud.
I tried plugging in my headphones, but before I could get them to work, I smelled the unmistakable smell of something burning coming from my audio jack. The lower right corner of the laptop also became very hot.

As it turns out, it seems, on LARS at least, that the sound card was maxed out or something, and it was literally burning.

I don't have Chrome OS installed right now to assess whether or not the sound card still works.

I am baffled that it is possible to (potentially?) destroy hardware like that using software. The sound card should have shut down by the point I could smell it...

@RedTopSR20
Copy link

I've got a CHELL, m7. If anyone needs me to do an experiment on my hardware, i'd be glad to help. Preferably not whatever @azertyfun did and literally burn my sound card.

I'm not knowledgeable enough to do any good on my own, but I can follow directions.

I'll be following this thread.

@LufyCZ
Copy link

LufyCZ commented Aug 21, 2017

@azertyfun how come that I am getting an error on Gallium when using your tut ? The output is on #274

@azertyfun
Copy link

That's weird. Only thing I can think of is a missing HiFi.conf somewhere?

@LufyCZ
Copy link

LufyCZ commented Aug 22, 2017

@azertyfun: Could you please try to locate all HiFi.conf files on your system ?

@azertyfun
Copy link

Mhm, I deleted them after I (probably) fried my sound card, but I'm pretty sure I had two unmodified HiFi.conf files at /usr/share/alsa/ucm/Acer-Lars-1.0-Lars/HiFi.conf and /usr/share/asla/ucm/sklnau8825max/HiFi.conf.

@LufyCZ
Copy link

LufyCZ commented Aug 22, 2017

Well I tried that, didn't work

@RiverCambria
Copy link

Anyone make progress? I tried updating to newest linux kernel since I saw some release notes citing skylake audio driver compatibility but no dice.

@LufyCZ
Copy link

LufyCZ commented Aug 24, 2017

@RiverCambria Nope, everybody that is / would be able to do something is silent. I can't do anything without somebody pointing me into the right direction.

@moookino
Copy link

moookino commented Sep 1, 2017

is it possible somehow to use audio settings from ChromeOS?

@MrChromebox
Copy link

@LufyCZ it's on our to do list, chill. This isn't our FT job, nor our #1 priority even for GalliumOS.

@moookino unfortunately the (much older) ChromeOS kernel and mailline Linux kernel are sufficiently different to where we can't simply move the drivers/settings/etc directly from ChromeOS to GalliumOS. If we could, we would have done that a long time ago :)

@RedTopSR20
Copy link

@mattdevo

What's the best way to support GalliumOS? I don't have the knowledge to do anything about the Skylake audio issue, but I love GalliumOS and the doors it opens for me on my Chromebook.

Should I buy GalliumOS stickers? Lol. TELL ME HOW TO BE USEFUL

@RedTopSR20
Copy link

@LufyCZ I bought a Sabrent USB audio adapter from Amazon for $8. It was plug and play with GalliumOS. It's going to be very useful until a fix is developed.

@LufyCZ
Copy link

LufyCZ commented Sep 6, 2017

Just tried out @azertyfun 's instructions, ready to turn off my CB as soon as I heard something (to not get my speakers damaged). After the reboot, I ran a test "alsaucm -c sklnau8825max set _verb HiFi", and I got the same exact output as he did (that the conf file Acer-Lars.... wasn't found). When I was typing the command to make the Acer-Lars... directory, I (by mistake) pressed backspace on an empty line. That normally makes a sound. Howewer, I just heard a very loud static-like sound, and almost jumped up with my heartbeat at double the normal speed. The files seem to do something, but I wasn't brave enough to continue testing. The speakers work fine in ChromeOS. This was tested on arch.

@azertyfun
Copy link

Yes, I used my chromebook recently, and I think some kernel update or other enabled the speakers — I didn't do anything since last time, but the speakers seem to "work" (emphasis on the quotes).

It looks like the sound would be fine on maximum volume (aside from bursting your eardrums), and reducing the volume only compresses the sound (acceptable volume is at 2%, at which point it is nearly unrecognizable).

The good news is that means my sound card wasn't damaged from last time, which is good. If I find the time, I'll investigate; my guess is that the Caroline soundcard and LARS soundcard differ slightly, and finding the right ones would make everything work.

@LufyCZ
Copy link

LufyCZ commented Sep 8, 2017

Well we could try the LARS files from ChromeOS. Here are the files. Could you please test them out @azertyfun ?

@LufyCZ
Copy link

LufyCZ commented Sep 9, 2017

I GOT AUDIO TO WORK!!!!! Just copy over the files, reboot, and voilá :)

Edit: Just found out that at 100% it is the high static noise @azertyfun talked about, and when it is low it is highly compressed. It looks like that 20% = 100% in ChromeOS. When going lower it gets compressed. When higher, the sound goes from not-understandeable to high static. I tested it by manually setting the % in terminal and then using Gnomes built-in "speaker test"

@moookino
Copy link

moookino commented Sep 9, 2017

@LufyCZ, can u provide details about distribution, kernel, etc?

@LufyCZ
Copy link

LufyCZ commented Sep 9, 2017

@moookino I tested it on Arch. Kernel version is 4.12.10-1.

@Crowesesse
Copy link

This process works for CAVE as well, don't think I've seen anyone post a success for that yet. I have CAVE working with the same files from #274, renamed things to sklnau8825max as others have mentioned. There is definitely an issue with the audio gain that I still haven't figured out how to fix. Output is far too loud. Can't have volume up more than a couple notches.

@RiverCambria
Copy link

@LufyCZ I copied the files you posted but I get the following when trying to initialize:

alsaucm -c sklnau8825max set _verb HiFi
ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825max'
ALSA lib main.c:1546:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such device

I have no sound devices now listed under volume control. Any suggestions?

@LufyCZ
Copy link

LufyCZ commented Sep 13, 2017

@RiverCambria are you on Gallium or on Arch ?

@loganlll
Copy link

loganlll commented May 3, 2021

Has anyone gotten sound to work on Manjaro (uefi)?

@SparkyBoy006
Copy link

Can anyone help get audio working on the Samsung Chromebook Pro with Fedora 36 or Ubuntu 22.04?

@c---
Copy link

c--- commented Apr 10, 2022

As distros move to newer kernels I think we might see more breakage. I haven't been able to get sound to work with any kernel 5.13 and newer. I've tried the latest ChromeOS firmwares and such with no luck. Edit to add I'm using an ASUS C302 CAVE.

I'm still running the 5.10 kernel in Arch Linux because of this.

If anyone has it working on a new kernel I would like to hear about it.

@divadsn
Copy link

divadsn commented Apr 11, 2022 via email

@bhrich902
Copy link

As far as my testing, kernel 5.13 on Ubuntu 21.10 and 5.14 on Fedora 35 are the last ones to work with this workaround on an HP Chromebook 13 G1 CHELL.

@SparkyBoy006
Copy link

If anyone has time and interest in getting audio working on Skylake again. Go here: https://github.com/cb-linux/breath/issues?q=is%3Aissue+is%3Aopen+label%3A%22KBL%2FSKL+without+SOF%22 and let this developer know.

@ghost
Copy link

ghost commented Jun 7, 2022

Hi, everyone! It is so nice to use Linux instead of ChromeOS (which has no as much customization). So, trying to solve the Sound Issue, I faced the problem that many of the suggestions have already expired and links are no longer available. Besides some people suggested to use native firmware. I wonder who is going to support that?

For now sound is present in Galliumos out of the box with weird noise adjusting the volume. Who can explain to the newbie what is going on. Some people are trying new kernels, some utilize proprietary blobs.

@GlazedBelmont
Copy link

@c302chromebook sound pops occur when the card powers off to power save, that can be disabled but it will still pop when going out of sleep mode.

Though you genuinely should not be using GalliumOS nowadays as it's heavily outdated.

Use Ubuntu 20.04 and use https://github.com/carchrae/c302ca/tree/patch-1#fixing-sound (Starting from Step 8) to fix the sound, it will work perfectly, no pops whatsoever but it will not work on 22.04

@ghost
Copy link

ghost commented Jun 10, 2022

There is a weird short noise when power off or launching You Tube or media files and there is no proper regulation of sound level - it is overwhelmed already at 20% or so!

I am not using though I have installation media just in case. By the way, is there a complete list of hardware improvements to apply to another distro?

Thanks. I will try if this issue is not going to be solved in the near future.

@carchrae
Copy link

Use Ubuntu 20.04 and use https://github.com/carchrae/c302ca/tree/patch-1#fixing-sound (Starting from Step 8) to fix the sound, it will work perfectly, no pops whatsoever but it will not work on 22.04

this is good to know re 22.04. fwiw, i did try newer kernels with 20.04 hoping that it might be fixed there, but had no luck.

@GlazedBelmont did you get it to work without the steps before 8? i used unsigned kernel that was built (lazy way) by @devendor

@GlazedBelmont
Copy link

I didn't even need to do the steps before 8

@itworldservant
Copy link

Hello family, I would like to fix the sound issue with my Asus chromebook C436FA. I have no sound so far. Motherboard is Helios and Architecture intel 10th gen CometLake. Many thanks in advance!

@barryblueice
Copy link

barryblueice commented Feb 24, 2023

Hello everyone, my cb is ASUS C302C. My sound card can work normally in the newest version of Gallium OS. But I can hear some weird sound from my speaker sometimes (like "boom"), is anybody have the same issue?

@GlazedBelmont
Copy link

@barryblueice hi there, I'll start by saying that galliumOS has been dead for years, you really shouldn't be using it.

Not something you can fix unfortunately, it'll always pop randomly and even wake itself from sleep.

I'd suggest to go to something that's more recent like Fedora, Arch or OpenSUSE because audio is WIP, really just waiting on a couple things

@WeirdTreeThing
Copy link

The skylake driver is dead, use AVS instead.

@ellyq
Copy link

ellyq commented Feb 24, 2023

galliumusers

@barryblueice
Copy link

@barryblueice hi there, I'll start by saying that galliumOS has been dead for years, you really shouldn't be using it.

Not something you can fix unfortunately, it'll always pop randomly and even wake itself from sleep.

I'd suggest to go to something that's more recent like Fedora, Arch or OpenSUSE because audio is WIP, really just waiting on a couple things

OK, I decide to give up my sound card and turn to use Ubuntu 20.10, thanks. :-)

@carchrae
Copy link

@barryblueice - i have had it working with ubuntu 20.04 and this fix: #379 (comment)

however, if you ever update the kernel it will likely break the sound again. eventually i gave up doing this as my kid now has bluetooth headphones that are used most of the time anyway.

@carchrae
Copy link

and at least upgrade to a LTS/stable version, 20.04 or 22.04. 20.10 isn't supported anymore.

@GlazedBelmont
Copy link

yeah if you update further than 20.04/20.10, stuff will break @carchrae.

@WeirdTreeThing is working on getting it working on mainline, they have my c302. They've already got most of the other generations working

@barryblueice
Copy link

@barryblueice - i have had it working with ubuntu 20.04 and this fix: #379 (comment)

however, if you ever update the kernel it will likely break the sound again. eventually i gave up doing this as my kid now has bluetooth headphones that are used most of the time anyway.

I think I could use a Bluetooth headset instead of a sound card

@GlazedBelmont
Copy link

USB/BT will work, definitely my go-to recommend in that case

@WeirdTreeThing
Copy link

On mainline 6.2 everything works with the new AVS driver. There is a chance that your speakers can get damaged though.

@barryblueice
Copy link

I remembered I saw a strange product on the AliExpress. It looks like a wireless card, but it integrates both a wireless card and a sound card in order to fix the sound card issue, and the card very expensive.

@ellyq
Copy link

ellyq commented Feb 24, 2023

On mainline 6.2 everything works with the new AVS driver. There is a chance that your speakers can get damaged though.

We need new topology that includes DSP controls to prevent that, right?

@WeirdTreeThing
Copy link

We need new topology that includes DSP controls to prevent that, right?

Only the ssm4567 and dmic topology have DSP control currently.

@WeirdTreeThing
Copy link

You will have more luck using the AVS driver instead of the skylake driver.

@WeirdTreeThing
Copy link

https://github.com/eupnea-linux/audio-scripts this will get AVS working.

@darthcircuit
Copy link

Link above is broken, but this one works:

https://github.com/WeirdTreeThing/chromebook-linux-audio

Also thanks for that info. took like 10 seconds and a reboot and sound is good to go on CHELL for me on Tumbleweed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests