galliumos-distro icon indicating copy to clipboard operation
galliumos-distro copied to clipboard

Sound on Skylake

Open simonheb opened this issue 7 years ago • 399 comments

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 (https://github.com/GalliumOS/galliumos-distro/issues/274#issuecomment-311751198), I will post the result here.

simonheb avatar Aug 05 '17 01:08 simonheb

@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.

reynhout avatar Aug 05 '17 01:08 reynhout

@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?

simonheb avatar Aug 05 '17 02:08 simonheb

@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.

reynhout avatar Aug 05 '17 02:08 reynhout

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 avatar Aug 05 '17 02:08 simonheb

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 https://github.com/GalliumOS/galliumos-distro/issues/274#issuecomment-292821069 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

simonheb avatar Aug 05 '17 11:08 simonheb

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

PennRobotics avatar Aug 10 '17 09:08 PennRobotics

Got exactly the same output as @usfbrian on LARS

LufyCZ avatar Aug 10 '17 20:08 LufyCZ

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...

azertyfun avatar Aug 16 '17 08:08 azertyfun

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.

RedTopSR20 avatar Aug 21 '17 20:08 RedTopSR20

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

LufyCZ avatar Aug 21 '17 20:08 LufyCZ

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

azertyfun avatar Aug 22 '17 12:08 azertyfun

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

LufyCZ avatar Aug 22 '17 12:08 LufyCZ

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.

azertyfun avatar Aug 22 '17 13:08 azertyfun

Well I tried that, didn't work

LufyCZ avatar Aug 22 '17 14:08 LufyCZ

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

RiverCambria avatar Aug 24 '17 16:08 RiverCambria

@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.

LufyCZ avatar Aug 24 '17 17:08 LufyCZ

is it possible somehow to use audio settings from ChromeOS?

moookino avatar Sep 01 '17 15:09 moookino

@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 :)

MrChromebox avatar Sep 01 '17 16:09 MrChromebox

@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 avatar Sep 02 '17 15:09 RedTopSR20

@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.

RedTopSR20 avatar Sep 05 '17 21:09 RedTopSR20

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.

LufyCZ avatar Sep 06 '17 19:09 LufyCZ

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.

azertyfun avatar Sep 08 '17 16:09 azertyfun

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

LufyCZ avatar Sep 08 '17 16:09 LufyCZ

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"

LufyCZ avatar Sep 09 '17 13:09 LufyCZ

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

moookino avatar Sep 09 '17 13:09 moookino

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

LufyCZ avatar Sep 09 '17 13:09 LufyCZ

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.

Crowesesse avatar Sep 10 '17 18:09 Crowesesse

@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?

RiverCambria avatar Sep 13 '17 04:09 RiverCambria

@RiverCambria are you on Gallium or on Arch ?

LufyCZ avatar Sep 13 '17 05:09 LufyCZ

Gallium

RiverCambria avatar Sep 13 '17 14:09 RiverCambria