GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
348 stars 11 forks source link

Skylake Platform Validation #274

Open reynhout opened 7 years ago

reynhout commented 7 years ago

Tracking validation tests and bug reports for GalliumOS support for Skylake models.

Please add observations for any Skylake model in comments!

Current Skylake status

simonheb commented 6 years ago

I had the same sleep / shutdown issues when using a 4.12 kernel on CAVE

moookino commented 6 years ago

Have someone tried instructions for sound on LARS except archlinux experience from https://github.com/GalliumOS/galliumos-distro/issues/379

LufyCZ commented 6 years ago

Will try once I get home

LufyCZ commented 6 years ago

Just doesn't work:

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 completely no idea what to do...

moookino commented 6 years ago

@LufyCZ r u on testing kernel? Looks like u have not change the name of device, as mentioned by @reynhout LARS model has NAU88L25_MAX98357A (LARS, CAVE?), so u need to change the card name in configs.

LufyCZ commented 6 years ago

@moookino yup, testing kernel. Changed every "adi" to "max"

benpye commented 6 years ago

I recently got a HP Chromebook 13 G1, and obviously audio not working is annoying. I looked into this somewhat, and I have managed to hack together a topology file that seems to sort of work, from the output of the tool above. I used the output of the tool and also alsa/topology/sklrt286/skl_i2s.conf as reference.

I only seem to have speakers working, and on my device it works kinda strangely. Most of the time it will output audio, but it won't work on both channels at the same time, I had this with the files posted above too. I don't know if this is the topology file, or something else with the latest Alsa (running Arch).

From the output of the tool above I have removed reference to a couple of DSP functions, they required fw from the ChromeOS image, and if provided would cause a crash. One of these appears to be for speaker protection ( See https://groups.google.com/a/chromium.org/forum/#!topic/chromium-os-reviews/5yYEBiQsBoU ), the other I have no idea (dsp_fw_578A29B8-0890-446F-A80A-2FE202AE0DBA). Maybe these firmwares would work if the SND_SOC_TPLG_CTL_BYTES were decoded correctly. It also seems the tool as given decodes index parameters incorrectly, I have changed all instances of index"1" to index"0" to match the reference file.

https://gist.github.com/benpye/2509d1dd0ebcedcc55b761b9c824a6b1

The file can be compiled with the alsatplg utility. If anyone has any idea where to go from here it would be great. dmesg still shows a few errors with this file:

[    5.756820] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    5.757497] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-CORE-COREBOOT-0-tplg.bin failed with error -2
[    5.757506] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-CORE-COREBOOT-0-tplg.bin load failed with -2
[    5.758444] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758451] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758457] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758480] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758486] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758496] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758512] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758539] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758544] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758547] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64
[    5.758780] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now
[    5.777155] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0
[    5.777310] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0
[    5.777452] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0
[    5.778605] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> System Pin mapping ok
[    5.779671] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> System Pin mapping ok
[    5.780670] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> Reference Pin mapping ok
[    5.781704] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> DMIC Pin mapping ok
[    5.782738] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI1 Pin mapping ok
[    5.783733] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI2 Pin mapping ok
[    5.784757] skl_n88l25_s4567 skl_n88l25_s4567: snd-soc-dummy-dai <-> HDMI3 Pin mapping ok
[    5.784812] skl_n88l25_s4567 skl_n88l25_s4567: multicodec <-> SSP0 Pin mapping ok
[    5.785620] skl_n88l25_s4567 skl_n88l25_s4567: nau8825-hifi <-> SSP1 Pin mapping ok
[    5.785657] skl_n88l25_s4567 skl_n88l25_s4567: dmic-hifi <-> DMIC01 Pin mapping ok
[    5.785687] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[    5.785722] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[    5.785749] skl_n88l25_s4567 skl_n88l25_s4567: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[    5.786140] skl_n88l25_s4567 skl_n88l25_s4567: ASoC: no source widget found for iDisp3_out
[    5.786143] skl_n88l25_s4567 skl_n88l25_s4567: ASoC: Failed to add route iDisp3_out -> direct -> iDisp3 Tx
[    5.788011] input: sklnau8825adi Headset Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input7
[    5.788247] input: sklnau8825adi HDMI/DP, pcm=4 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input8
[    5.788459] input: sklnau8825adi HDMI/DP, pcm=5 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input9
[    5.788675] input: sklnau8825adi HDMI/DP, pcm=6 Jack as /devices/platform/skl_n88l25_s4567/sound/card0/input10
benpye commented 6 years ago

Yeah, index 0 definitely looks correct, see https://github.com/torvalds/linux/blob/c0da4fa0d1a54495d6055c009ac46b76d1da2c86/sound/soc/intel/skylake/skl-topology.c#L3418

benpye commented 6 years ago

Not sure if anyone else has tried but it seems 4.13 breaks audio support, resulting in a snd_soc_skl 0000:00:1f.3: No matching machine driver found error.

tinkn commented 6 years ago

@carlomakes I am facing the exact same issue with suspend as you've described, mine is an Asus chromebook c302ca. Did your issue ever get resolved? If not whats the workaround you are resorting to if at all?

Jake-Gillberg commented 6 years ago

@volfyd did you ever get the mic working?

volfyd commented 6 years ago

@Jake-Gillberg No I haven't tried.

VA3SFA commented 6 years ago

@volfyd I've tried the Caroline driver that you uploaded on ASUKA. I get the following errors.

alsaucm -c sklnau8825adi set _verb HiFi

ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825adi' 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

lspci shows:

00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21) Flags: bus master, fast devsel, latency 64, IRQ 16 Memory at d112c000 (64-bit, non-prefetchable) [size=16K] Memory at d1110000 (64-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 3 Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+ Kernel driver in use: snd_soc_skl Kernel modules: snd_hda_intel, snd_soc_skl

I also couldn't find a driver for this issue.

Thanks!

MrChromebox commented 6 years ago

@VA3SFA 1F.3 is the Intel HDMI (display) audio; the built-in audio isn't a visible PCI device, it's an I2C-attached codec that uses an ACPI interface. Your device (Asuka) uses the Maxim 98357A codec for the built-in audio, not the ADI one.

VA3SFA commented 6 years ago

@MattDevo Thanks for tip on using Maxim 98357A codec.

I renamed the caroline bits from adi to max and tried again. I get:

alsaucm -c sklnau8825max set _verb HiFi ALSA lib utils.c:67:(uc_mgr_config_load) could not open configuration file /usr/share/alsa/ucm/sklnau8825max/sklnau8825max.conf ALSA lib parser.c:1210:(load_master_config) error: could not parse configuration for card sklnau8825max ALSA lib main.c:802:(snd_use_case_mgr_open) error: failed to import sklnau8825max use case configuration -2 alsaucm: error failed to open sound card sklnau8825max: No such file or directory

Looking at dmesg:

[ 9.345734] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3 [ 9.348330] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-INTEL-SCRDMAX-0-tplg.bin failed with error -2 [ 9.348334] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-INTEL-SCRDMAX-0-tplg.bin load failed with -2 [ 9.353122] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353125] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353127] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353136] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353138] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353140] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353148] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353151] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353153] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.353218] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now [ 9.367481] max98357a MX98357A:00: ASoC: failed to probe component -517 [ 9.367514] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: failed to instantiate card -517 [ 9.382532] snd_soc_skl 0000:00:1f.3: Direct firmware load for 9d70-INTEL-SCRDMAX-0-tplg.bin failed with error -2 [ 9.382536] snd_soc_skl 0000:00:1f.3: tplg fw 9d70-INTEL-SCRDMAX-0-tplg.bin load failed with -2 [ 9.382553] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382555] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382557] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382566] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382568] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382570] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382577] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382579] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382581] snd_soc_skl 0000:00:1f.3: Control load not supported 64:64:64 [ 9.382640] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available,Do not add new widgets now

I guess I need to get the tplg file. Does anybody have one built or am I going to have to build one from using alsa-lib tools?

Thanks!

VA3SFA commented 6 years ago

So I had a typo in my file name and have fixed it.

Now I get:

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 think I need an appropriate dfw_sst.bin file to get things going. I've tried the "Caroline", the one from the PR and another that I found in this bug report. All of them report the same.

LufyCZ commented 6 years ago

alsaucm: error failed to set _verb=HiFi: No such device

Exactly what I got on Lars on Gallium. Didn't get the error on Arch, so try it please out if you can.

VA3SFA commented 6 years ago

@LufyCZ Unfortunately, I use Gallium as my main OS and machine. So I won't be able to try Arch at this time.

If Arch works for you, did you try copying the dynamic firmware dfw_sst.bin from Arch and try it on Gallium?

LufyCZ commented 6 years ago

I tried it with the file I got from ChromeOS, worked on Arch, didn't on GalliumOS.Could you try installing Arch on a SD Card ?

klardotsh commented 6 years ago

I'm very puzzled by all the Arch folks in this thread who actually have even somewhat functional audio. On Arch with linux-galliumos from the AUR (so 4.12) on CAROLINE with caroline-audio.zip from above, I get speakers that overdrive if pushed past 10% (this is likely solveable in software by resetting PulseAudio's scaling limits), no headphone jack at all (there's an alsamixer control for both headphones as a whole (I believe this is the jack detector?) and for the volume of the port, though), and not a single input device, anywhere.

If anyone has pointers, I'm all ears, but in the mean time, it looks like I need to look into USB-C DACs. If there's a place to offer cash bounties within Gallium anywhere, let me know - I'd certainly consider it for audio support (the last piece of the puzzle not working well on my device so far).

klardotsh commented 6 years ago

Update: the speaker clipping issue is fixable in alsamixer. F6, select the card, scroll over to Left Master (which is right after Left Amp and a couple Left DAC entries). Drop this - 30 felt about right to me. Do this for Right Master as well.

PulseAudio doesn't seem to take over these channels like it will a normal Master, and after setting Pulse to 100%, the speakers seem fine. No clipping or distortion.

kinsys-git commented 6 years ago

I'm getting this issue when running the command above after moving all the files to the directories- like many, I'm using arch with the linux-galliumos kernel:

sudo alsaucm -c sklnau8825adi set _verb HiFi

ALSA lib utils.c:67:(uc_mgr_config_load) could not open configuration file /usr/share/alsa/ucm/Google-Caroline-1.0-Caroline/Google-Caroline-1.0-Caroline.conf ALSA lib parser.c:1421:(load_master_config) error: could not parse configuration for card Google-Caroline-1.0-Caroline

Is it possible I'm missing some files?

ojab commented 6 years ago

Try just copypaste/symlink /usr/share/alsa/ucm/sklnau8825adi/ to /usr/share/alsa/ucm/Google-Caroline-1.0-Caroline and /usr/share/alsa/ucm/sklnau8825adi/sklnau8825adi.conf to /usr/share/alsa/ucm/Google-Caroline-1.0-Caroline/Google-Caroline-1.0-Caroline.conf.

kinsys-git commented 6 years ago

@ojab I'm now getting the same issue as the user above:

ALSA lib main.c:432:(execute_sequence) unable to open ctl device 'hw:sklnau8825adi'
ALSA lib main.c:1712:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such device
kinsys-git commented 6 years ago

I was able to get audio working on Arch by copying over the blacklists from GalliumOS as well as the /usr/share/alsa/ucm folder from a working GalliumOS distribution.

klardotsh commented 6 years ago

@maelodic does that include headphone jack and/or microphones? If so, any chance you could tarball those blacklists/UCM directory?

kinsys-git commented 6 years ago

@iv597 No, same situation that everybody else has which is just speakers (and bluetooth) are working.

NUCUser commented 6 years ago

Forgive my density. Has someone actually got the internal speakers working on a LARS machine, and if so, would you provide a condensed list of steps so I can get mine going? For those of you who understand these things better than I do, thank you for your effort.

divadsn commented 6 years ago

@NUCUser sadly there is no audio device working right now, I suggest using an external USB audio card in order to have working sound or connecting your Chromebook to a bluetooth speaker.

@reynhout on my CP5-471-35T4 (Acer Chromebook 14 for Work, i3-6100U) the keyboard backlight control works out-of-the box on Linux Mint 18.3, so it's possible I guess for GalliumOS too.

LufyCZ commented 6 years ago

@NUCUser I actually got it working on Arch, but there are several limitations: The microphone doesn't work, the headphone jack doesn't work, and the speaker volume control is a bit broken (20% in the mixer = the speakers are on 100% on the ChromeOS scale, when going higher, there is a lot of noise, and when going lower, the audio becomes compressed).

klardotsh commented 6 years ago

@LufyCZ See https://github.com/GalliumOS/galliumos-distro/issues/274#issuecomment-351327043 for my fix on the speaker clipping

unparagoned commented 6 years ago

Has there been any progress on the slow charging issues? It seems overkill having to suspend the system to set charging to a decent rate.

divadsn commented 6 years ago

@unparagoned no issues on my Chromebook using the stock charger provided by the OEM.

unparagoned commented 6 years ago

I've got 2 ASUS C302, with two original chargers. I also got the only one on amazon that seemed to support pd, etc. Essentially it charges up perfectly when running on ChromeOS. And will work for a period when running gallium. But usually as soon as it's been unplugged and plugged back in it slows to a crawl. Using various tools, acpi, tlp-stat, etc. What happens is that something sets a max current to the usb-c port, I'm guessing so nothing draws more than 333mA (is that an old spec?). But this is kind of a problem when trying to charge over usc. So from normal charging it goes from an estimated 1h to charge to over 10h and it will show the current for the battery/sys/class/power_supply/BAT0/current_now 3334 [mA]. The only way to fix it atm is to run, sudo systemctl suspend and then plug in the charger, I usually wait a few seconds then resume the device. Charging will be back to normal.

I've been playing about seeing if there is anything I can do, various power management systems, on or off. I've tried various ec tools online, and prebuilt, made from chromeos, and one emerged and copied across. But that needs a server or something to speak to the EC device. I kind of got ec3po running but after crashing the system a few times I figured I'd stop before I bricked it. Also it seems like hte chromium guys had it all sorted out and available so the solution is probably pretty simple for people in the know.

It's pretty much exactly as described as in the earlier posts back in January.

mmanville commented 6 years ago

Still having system speakers audio output issue for GalliumOS installed on sdcard slot on Acer Chromebook 14 for Work CP5-471 Skylake LARS. The Built-in Audio only points to HDMI outputs which are all unplugged. Yes, bluetooth and HDMI speakers work. I haven't tried microphone.

Also, the keyboard backlight just stays on.

syitong commented 6 years ago

@unparagoned I recently also encountered a similar charging issue on my hp chromebook 13 g1 (chell). Mine case is even worse. After charging it using a low powered ipad adapter, it seems the charging current via type-c is limited to the low amp forever. I tried your work around, but it does not work on chell. And since chell can only be charged via the two type-c ports, now I can only charge it using the ipad adapter in the very slow rate. Any help would be appreciated!

reynhout commented 6 years ago

Initial support for CAROLINE/snd_soc_skl_nau88l25_ssm4567 internal audio is in the "testing" repodist. You'll need a recent kernel (4.14.14 is fine) and galliumos-skylake version 2.0.1 or later.

Of course USB and Bluetooth audio continue to work as usual.

All of the reports and configs here and on #379 (to which this comment is crossposted) were extremely helpful in getting things working, so tons of thanks for those!

See https://wiki.galliumos.org/Repositories for instructions and warnings regarding enabling the "testing" or other non-default repodists.

Please let us know if these updates work on your CAROLINE!

reynhout commented 6 years ago

Internal audio on CHELL (speakers only) should be covered in latest update to galliumos-skylake (v 2.0.2).

ojab commented 6 years ago

Headphones, probably, can be enabled by

alsaucm -c sklnau8825adi set _verb HiFi set _disdev Headphone
alsaucm -c sklnau8825adi set _verb HiFi set _disdev Speaker
alsaucm -c sklnau8825adi set _verb HiFi set _enadev Headphone

(this commands works here on Fedora-27 if nothing outputs sound at the moment of exec, headphones are working afterwards. Replace Headphone w/ Speaker in the last command to enable speaker again)

reynhout commented 6 years ago

@ojab That does indeed work, thanks!

My headphones were cranked to 100, so I'd recommend adjusting them in alsamixer first, or from the command line:

## headphone volume to 39%, crosstalk muted
amixer -c sklnau8825adi cset name='Headphone Volume' 40,40
amixer -c sklnau8825adi cset name='Headphone Crosstalk Volume' 0,0

## speaker volume to 34%
amixer -c sklnau8825adi cset name='Left Master Playback Volume' 180
amixer -c sklnau8825adi cset name='Right Master Playback Volume' 180

These are appropriate for CAROLINE, if they work for CHELL too I'll add them to the audio init for this codec.

bassclarinetl2 commented 6 years ago

I have an ASUKA, what logs do you require and lemme know what you need tested.

kinsys-git commented 6 years ago

With the new fix, I got audio to work once on arch but not again. I used the same files listed at https://github.com/galliumos/galliumos-skylake. I ended up having to symlink the sklnau8825adi files to Google-Caroline-1.0-Caroline.

Fresh install of GalliumOS and enabling testing I get this: usr/share/alsa/ucm$ ALSA lib main.c:344:(execute_sequence) unable to open ctl device 'hw:sklnau8825adi' 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

Trying to recreate my Arch success yields the same result on both GalliumOS and Arch - not sure what the difference is.

This is on CAROLINE

EDIT: Second fresh install works, but not with the service. Modified the /usr/bin/galliumos-init-skylake file to repeat the command every second until it gives no output (succeeds), that seems to work.

NUCUser commented 6 years ago

There's some new info in #379, but still no joy for LARS. If any developer wants to work through me, or borrow my LARS Chromebook to get sound working, I'm game.

LinkofHyrule89 commented 6 years ago

Any progress on speaker audio for CAVE? It seems like you have gotten it to work on similar devices so hopefully in the next update. Thanks for your hard work.

volfyd commented 6 years ago

This is interesting:

https://01.org/chromium/blogs/2018/enabling-audio-chromium-os-tree

https://chromium-review.googlesource.com/q/owner:chintan.m.patel%2540intel.com

ojab commented 6 years ago

Yeah, but topology conf files (from which binary should be generated) are not published anywhere. Intel provided us with conf file for chell in https://bugzilla.kernel.org/show_bug.cgi?id=195593, you should open the same bug for CAVE/whatever. If you'll got working topology config — you'll got working audio.

volfyd commented 6 years ago

ojab, you generated the dfw_sst.bin file in the bugzilla far above, right? Where is the conf file for that one? The one that is 23120 bytes.

volfyd commented 6 years ago

Here is a change (or rather one needed change) to support v4 topology files on newer kernels:

https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/518323

ojab commented 6 years ago

For CHELL: https://bugzilla.kernel.org/show_bug.cgi?id=195593 -> Created attachment 256353 [details] -> https://bugzilla.kernel.org/attachment.cgi?id=256357 then alsatplg -c [downloaded file] -o /tmp/dfw_sst.bin and you'll get required firmware.

https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/518323

I'm not really sure that this change will help, I've had issues with FW from ChromeOS on 4.11.0 kernel (this commit was merged into 4.10).

I really recommend to create a new bug in kernel bugzilla for CAVE/whatever:

  1. Set Product/Driver/Hardware as in the bug above
  2. Attach dmesg, sudo lspci -s [pci id for you sound card] -vvv and dmesg after blacklisting snd_hda_intel
  3. Do what intel staff will tell you in bugzilla. If there will be any questinons — post here, I believe someone will explain how to do specific stuff on GalliumOS.

After a dozen of days of back and forth you'll get a topology config for you HW (as experience with chell tells me).

And note that chell cannot switch between Headphones/Speaker automatically (I don't need it, so I don't poke intell staff about it) and I don't know if microphone/HDMI audio works at all (ditto). But I believe that such issues also can be solved if one not too lazy to regularly ping someone in bugzilla.

volfyd commented 6 years ago

So I have been trying to load the original Caroline topology file. If I comment out some validation of the file, it starts to load and I actually gain access to many of the elements of the mixer. Sound still doesn't play and I get some error messages in dmesg but it gets further. I think if I remove more validation it might just load.

Attached is a diff for the checks I commented out, and the dmesg errors I get.

remove-topology-err-check.diff.txt