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

Apollo Lake Platform Validation #364

Open reynhout opened 7 years ago

reynhout commented 7 years ago

Tracking validation tests and bug reports for GalliumOS support on Apollo Lake models.

Please add observations for any Apollo Lake model in comments!

Current Apollo Lake status

Apollo Lake is the successor to Braswell, so that is likely to be the best starting point for testing.

MrChromebox commented 5 years ago

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

Elara6331 commented 5 years ago

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

I was just explaining why I want this to work so much. It has nothing to do with Apollolake, I meant crouton does not have grub or systemd.

SynthSy commented 5 years ago

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

I was just explaining why I want this to work so much. It has nothing to do with Apollolake, I meant crouton does not have grub or systemd.

The confusion comes from posting in the Apollo Lake issue tracker, which is solely focused on APL issues than just overall GalliumOS and Crouton.

Elara6331 commented 5 years ago

OpenSUSE Tumbleweed with KDE on BRUCE (Acer Chromebook Spin 15) both backlights easily controllable within System Settings > Power Management.

Elara6331 commented 5 years ago

How can I and anyone else who wants to help get audio working? Can we even do anything?

accaldwell commented 5 years ago

Can anyone explain what the issues are with suspend/resume? I'm thinking about getting another chromebook and don't really care about the audio/media issues, but if suspend kills everything, that's a deal breaker. My braswell chromebook is working well, but those machines are getting a bit outdated and more difficult to find new.

Is this a kernel issue? BIOS? Something else?

MrChromebox commented 5 years ago

Is this a kernel issue? BIOS?

yes.

Google's verified boot implementation expects the OS to signal the TPM when going into suspend, but there is no driver for Google's CR50 TPM in the mainline kernel (yet, it's in the process of being upstreamed), so it's impossible to do this. As a result, when booting on resume, Verified Boot checks the TPM, determines the last boot failed, and so boots to Recovery Mode. As a security precaution, it also resets all crossystem flags to default.

Once the CR50 driver is in the mainline kernel (and working), then suspend/resume should no longer fail catastrophically on CR50 ChromeOS devices when Legacy Boot Mode is used

genofire commented 5 years ago

Does we talk about: https://lore.kernel.org/patchwork/patch/1088728/ ??

ghost commented 5 years ago

Yes.

genofire commented 5 years ago

What we need for audio and touchscreen?

genofire commented 4 years ago

Okay i do not understand it correct, but maybe audio is fixed by developing soon sof-firmware (Sound open firmware).

I try it with kernel 5.4.2 and sof-firmware 1.4.1

Dec 11 04:04:18 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0
Dec 11 04:04:18 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0
Dec 11 04:04:18 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: HiFi <-> SSP5 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: da7219-hifi <-> SSP1 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: dmic-hifi <-> DMIC01 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: dmic-hifi <-> DMIC16k Pin mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> Speakers 0 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> Headset 1 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> DMIC01 99 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> HDMI1 5 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> HDMI2 6 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: snd-soc-dummy-dai <-> HDMI3 7 mapping ok
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: sink widget DMic overwritten
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: source widget hif5-0 Output overwritten
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: source widget hif6-0 Output overwritten
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: source widget hif7-0 Output overwritten
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no source widget found for iDisp3 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp3 Tx -> direct -> hifi3
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no sink widget found for iDisp3 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp3_out -> direct -> iDisp3 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no source widget found for iDisp2 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp2 Tx -> direct -> hifi2
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no sink widget found for iDisp2 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp2_out -> direct -> iDisp2 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no source widget found for iDisp1 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp1 Tx -> direct -> hifi1
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: no sink widget found for iDisp1 Tx
Dec 11 04:04:18 fireG0 kernel: bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: Failed to add route iDisp1_out -> direct -> iDisp1 Tx
Dec 11 04:04:18 fireG0 kernel: ------------[ cut here ]------------
Dec 11 04:04:18 fireG0 kernel: WARNING: CPU: 3 PID: 719 at sound/core/control.c:466 snd_ctl_remove+0x108/0x120 [snd]
Dec 11 04:04:18 fireG0 kernel: Modules linked in: snd_soc_sst_bxt_da7219_max98357a(+) cmac cros_usbpd_charger cros_ec_sysfs cros_ec_lightbar snd_soc_hdac_hdmi cros_usbpd_logger cros_ec_debugfs cros_ec_chardev md4 algif_hash intel_spi_platform af_alg intel_spi spi_nor snd_soc_dmic mtd joydev intel_telemetry_debugfs iTCO_wdt mousedev intel_telemetry_pltdrv cros_ec_dev intel_punit_ipc spi_pxa2xx_platform intel_telemetry_core 8250_dw iTCO_vendor_support iwlmvm intel_rapl_msr mac80211 i915 x86_pkg_temp_thermal coretemp libarc4 kvm_intel nls_iso8859_1 nls_cp437 vfat snd_sof_pci fat snd_sof_intel_byt snd_sof_intel_ipc snd_sof_xtensa_dsp snd_sof_intel_hda_common kvm btusb btrtl btbcm snd_soc_hdac_hda btintel snd_sof_intel_hda snd_sof uvcvideo iwlwifi bluetooth snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi videobuf2_vmalloc videobuf2_memops cdc_mbim irqbypass cdc_wdm videobuf2_v4l2 i2c_algo_bit intel_cstate snd_hda_intel videobuf2_common cdc_ncm drm_kms_helper intel_rapl_perf snd_intel_nhlt cfg80211 usbnet
Dec 11 04:04:18 fireG0 kernel:  pcspkr input_leds i2c_i801 snd_soc_da7219 snd_hda_codec lpc_ich videodev mii snd_soc_max98357a ecdh_generic intel_xhci_usb_role_switch ecc hid_generic crc16 cdc_acm acpi_als drm mc rfkill roles snd_soc_core snd_hda_core kfifo_buf cros_ec_lpcs snd_hwdep cros_ec industrialio snd_compress ac97_bus snd_pcm_dmaengine intel_gtt elan_i2c snd_pcm battery chromeos_tbmc ac i2c_hid raydium_i2c_ts elants_i2c snd_timer agpgart processor_thermal_device mei_me int3403_thermal evdev intel_rapl_common syscopyarea intel_pmc_ipc sysfillrect chromeos_pstore int3400_thermal int340x_thermal_zone sysimgblt acpi_thermal_rel intel_soc_dts_iosf intel_th_gth snd fb_sys_fops mac_hid intel_lpss_pci mei intel_lpss soundcore intel_th_pci coreboot_table idma64 intel_th pkcs8_key_parser sg scsi_mod crypto_user ip_tables x_tables dm_crypt usbhid hid dm_mod mmc_block crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel serio_raw atkbd libps2 aesni_intel crypto_simd cryptd glue_helper sdhci_pci cqhci
Dec 11 04:04:18 fireG0 kernel:  i8042 sdhci xhci_pci mmc_core xhci_hcd serio zfs(POE) zunicode(POE) zavl(POE) icp(POE) zlua(POE) zcommon(POE) znvpair(POE) spl(OE)
Dec 11 04:04:18 fireG0 kernel: CPU: 3 PID: 719 Comm: systemd-udevd Tainted: P           OE     5.4.2-arch1-1 #1
Dec 11 04:04:18 fireG0 kernel: Hardware name: Google Coral/Coral, BIOS  11/27/2018
Dec 11 04:04:18 fireG0 kernel: RIP: 0010:snd_ctl_remove+0x108/0x120 [snd]
Dec 11 04:04:18 fireG0 kernel: Code: 39 5d 50 77 df 48 89 ef e8 85 f3 ff ff 31 c0 48 8b 4c 24 40 65 48 33 0c 25 28 00 00 00 75 14 48 83 c4 48 5b 5d 41 5c 41 5d c3 <0f> 0b b8 ea ff ff ff eb dc e8 6a 65 80 cb 66 2e 0f 1f 84 00 00 00
Dec 11 04:04:18 fireG0 kernel: RSP: 0018:ffffa621c0f03900 EFLAGS: 00010246
Dec 11 04:04:18 fireG0 kernel: RAX: 0000000000000000 RBX: ffff8f85120e9298 RCX: 0000000000000000
Dec 11 04:04:18 fireG0 kernel: RDX: 000000008020001e RSI: ffff8f851c1d5780 RDI: ffffa621c0f03940
Dec 11 04:04:18 fireG0 kernel: RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
Dec 11 04:04:18 fireG0 kernel: R10: 0000000000000286 R11: ffff8f85191ee600 R12: ffffa621c0f03900
Dec 11 04:04:18 fireG0 kernel: R13: 0000000000000000 R14: ffff8f851c1d5780 R15: ffff8f85120e8298
Dec 11 04:04:18 fireG0 kernel: FS:  00007f007a56d840(0000) GS:ffff8f8537b80000(0000) knlGS:0000000000000000
Dec 11 04:04:18 fireG0 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec 11 04:04:18 fireG0 kernel: CR2: 00007f7f466c7e44 CR3: 000000024e74c000 CR4: 00000000003406e0
Dec 11 04:04:18 fireG0 kernel: Call Trace:
Dec 11 04:04:18 fireG0 kernel:  remove_widget+0x71/0x1a0 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  snd_soc_tplg_component_remove+0x4d7/0x4f0 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  soc_remove_link_components+0x73/0xc0 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  soc_cleanup_card_resources+0xdc/0x330 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  snd_soc_instantiate_card+0x2ba/0xb80 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  snd_soc_register_card+0x169/0x190 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  devm_snd_soc_register_card+0x3c/0x80 [snd_soc_core]
Dec 11 04:04:18 fireG0 kernel:  platform_drv_probe+0x4d/0x90
Dec 11 04:04:18 fireG0 kernel:  really_probe+0x298/0x3c0
Dec 11 04:04:18 fireG0 kernel:  driver_probe_device+0xb6/0x100
Dec 11 04:04:18 fireG0 kernel:  device_driver_attach+0x53/0x60
Dec 11 04:04:18 fireG0 kernel:  __driver_attach+0x8a/0x150
Dec 11 04:04:18 fireG0 kernel:  ? device_driver_attach+0x60/0x60
Dec 11 04:04:18 fireG0 kernel:  bus_for_each_dev+0x89/0xd0
Dec 11 04:04:18 fireG0 kernel:  bus_add_driver+0x14d/0x1f0
Dec 11 04:04:18 fireG0 kernel:  driver_register+0x6c/0xc0
Dec 11 04:04:18 fireG0 kernel:  ? 0xffffffffc1783000
genofire commented 4 years ago

Kernels is still not updated CR50 - (but the patches are updated - https://lore.kernel.org/patchwork/patch/1101140/)

roussis commented 4 years ago

Any news for sound support?

genofire commented 4 years ago

With Archlinux (neuster Kernel 5.4.10-arch1-1 und sof-firmware 1.4.1-1) it does not work. But we do not have any kernel issues anymore. So my suggestion is, to look to some kernel configuration. (and DP-HDMI sound output are detected - but untested).

roussis commented 4 years ago

Actually i have the Asus c213NA Apollo lake 3350 but i haven't install Gallium OS until sound finally works (even wiith custom Kernel). So please if someone confirm that the sound finally works please inform us to install the OS.

bytersproblem commented 4 years ago

@genofire Does this mean if I patch the kernel (which?) with the patch that you referred to, I will solve power-management (sleep and resume) issue on an ApolloLake Chromebook?

genofire commented 4 years ago

I believe yes, i did not test it - (and maybe understand the structure of hardware/software wrong). So if you try it, a feedback here would be nice. @MrChromebox could maybe answer.

MrChromebox commented 4 years ago

it looks like the patches for the CR50 TPM have landed in the current kernel 5.5-RC builds, so kernel 5.5 should fix the suspend/resume bug on CR50 ChromeOS devices. One could backport those changes to 5.4.x if desired, though I'm not sure how much effort that would be

ref:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.5-rc7&id=54f0e54011c9e83277e84ec2f60696285066dfa9

bytersproblem commented 4 years ago

is it possible to install gallium os and then download and install 5.5-RC. I am also curious about the audio.

MrChromebox commented 4 years ago

sure, you can use UKUU to make it easy

bytersproblem commented 4 years ago

It doesn't work with 5.5.0-rc7 installed by UKUU

MrChromebox commented 4 years ago

"it" meaning what exactly? I certainly wouldn't expect audio to work

dsobotta commented 4 years ago

Would it be possible to use bluetooth or usbc headphones as a workaround for the lack of internal audio support? Or would the sound processing still be performed on the unsupported chipset?

Edit: I read some of the previous posts here more closely; and that does seem like a working solution! Excellent.

genofire commented 4 years ago

@nukedone and @dsobotta : bluetooth is independent, it works well with my acer chromebook 11 (C732 - Astronaut) and Archlinux

kitambi commented 4 years ago

"it" meaning what exactly? I certainly wouldn't expect audio to work

Suspend/resume is still broken. I tried this myself (didn't use UKUU) with 5.5-rc7 yesterday and it still reboots into recovery mode on REEF after I close/reopen the lid.

dsobotta commented 4 years ago

Is the suspend -> recovery mode bug limited to legacy mode? If I were to flash a 'Full Rom' firmware, would it at least prevent the flags from getting cleared on restart?

It sucks that suspend is broken, but I can deal with it--so long as I don't have to re-flash my firmware from chromeOS each time... That would definitely be worth opening up my chromebook to disable write-protection.

kitambi commented 4 years ago

You don't need to reflash it. Just turn the machine off at the recovery screen and it restarts normally.

MrChromebox commented 4 years ago

Is the suspend -> recovery mode bug limited to legacy mode? If I were to flash a 'Full Rom' firmware, would it at least prevent the flags from getting cleared on restart?

yes, it's a legacy boot mode bug. There are no flags with the UEFI firmware as there is only a single boot mode (UEFI). But there is no UEFI firmware for Apollolake devices.

It sucks that suspend is broken, but I can deal with it--so long as I don't have to re-flash my firmware from chromeOS each time... That would definitely be worth opening up my chromebook to disable write-protection.

disabling WP would allow you to set the firmware boot flags (GBB flags) which would prevent you from losing the ability to boot in legacy boot mode.

You don't need to reflash it. Just turn the machine off at the recovery screen and it restarts normally.

if by "restarts normally" you mean "boots to recovery mode because ChromeOS was removed and legacy boot mode is no longer available," then yes. The problem is the dev_boot_legacy flag getting cleared, without a way to reset it on devices not running ChromeOS (outside of using a fixflags image)

bytersproblem commented 4 years ago

It appears that my comment didn't appear here. @MrChromebox By "it" i meant the suspend/resume issue.

ghost commented 4 years ago

I've got audio working on Apollo Lake but I'm not terribly certain that it's safe and the volume control is on crack.

genofire commented 4 years ago

@coltondrg without bluetooth? How? under which kernel and distro (galliumOS)?

ghost commented 4 years ago

without bluetooth?

Of course.

How?

Magic (I'll explain later, sorry, I'm really tired, been up all night working on this and KBL)

under which kernel and distro (galliumOS)?

Of course, kernel 4.16.18-galliumos

genofire commented 4 years ago

I got audio working over HDMI (but without video - no idea why). with kernel 5.4.22-1 under archlinux now with 5.5.x-arch1-1 (6,7,8) i got:

[ 5431.743273] snd_soc_skl 0000:00:0e.0: Direct firmware load for 5a98-coral-coral-62-tplg.bin failed with error -2
[ 5431.743279] snd_soc_skl 0000:00:0e.0: tplg fw 5a98-coral-coral-62-tplg.bin load failed with -2, falling back to dfw_sst.bin
[ 5431.743334] snd_soc_skl 0000:00:0e.0: Direct firmware load for dfw_sst.bin failed with error -2
[ 5431.743337] snd_soc_skl 0000:00:0e.0: Fallback tplg fw dfw_sst.bin load failed with -2
[ 5431.743423] snd_soc_skl 0000:00:0e.0: Failed to init topology!
[ 5431.743469] snd_soc_skl 0000:00:0e.0: ASoC: failed to probe component -2
[ 5431.743553] bxt_da7219_max98357a bxt_da7219_max98357a: ASoC: failed to instantiate card -2
[ 5431.743834] bxt_da7219_max98357a: probe of bxt_da7219_max98357a failed with error -2

both with sof-firmware 1.4.2

genofire commented 4 years ago

@MrChromebox i did not find a /dev/tpm0 on my 5.5.x (7,8) - is everything okay with my CR50 TPM ?

bytersproblem commented 4 years ago

does it go to sleep and wakes up as in a regular linux machine? I could not make it with the 5.5.0-rc7.

ghost commented 4 years ago

No, there's a known firmware bug that causes S3 to reset the crossystem flags, disabling legacy boot.

bytersproblem commented 4 years ago

But isn't that what the CR50 fixes?

ghost commented 4 years ago

You're gonna have to elaborate. I remember hearing about some drivers being mainlined recently but I believe there's more to it than that. It's also worth noting that suspend works perfectly fine on my VAYNE with custom firmware so I'm pretty sure that's the root of the issue.

(edit) ... And this is obviously at least partially because the only payload available to the firmware is TianoCore and there are no crossystem flags to reset. Obviously I seem to be too tired to think straight right now.

bytersproblem commented 4 years ago

We have to wait @MrChromebox to explain. As far as I know, the patch that is included in Linux kernel 5.5.0 (and later), fixes the issue with going to sleep and waking. Not so techy but that's how I understood it.

ghost commented 4 years ago

I could be misremembering this, but I'm pretty sure he told me it wasn't that simple. Could be wrong about that.

Nevermind, https://github.com/GalliumOS/galliumos-distro/issues/364#issuecomment-577964227, my fault for not reading every comment on this issue thoroughly. At any rate the GalliumOS kernel is still really old and we'll be looking into 5.x soon enough so I'm sure it'll be looked at when we get there.

genofire commented 4 years ago

Suspend with 5.5.7 does not work yet, it do not wakeup again:

Mar 01 13:22:33 fireG0 systemd[1]: Reached target Sleep.
Mar 01 13:22:33 fireG0 systemd[1]: Starting Suspend...
Mar 01 13:22:34 fireG0 systemd-sleep[378177]: Suspending system...
Mar 01 13:22:34 fireG0 kernel: PM: suspend entry (deep)
-- Reboot --

and is also blocked by Touchscreen, workaround is toblacklist elants_i2c kernel module.

genofire commented 4 years ago

broken init from Touchscreen in 5.5.x (6,8)

libinput list-devices:

event7  - Elan Touchscreen: kernel bug: device has min == max on ABS_X

kernel:

[   22.628184] raydium_ts i2c-RAYD0001:00: failed to get reset gpio: -16
[   22.668858] raydium_ts: probe of i2c-RAYD0001:00 failed with error -16
[   22.693454] elants_i2c i2c-ELAN0001:00: elants_i2c_send failed (4d 61 69 6e): -121
[   22.695014] elants_i2c i2c-ELAN0001:00: boot failed: -121
[   22.695876] elants_i2c i2c-ELAN0001:00: elants_i2c_send failed (77 77 77 77): -121
[   22.697438] elants_i2c i2c-ELAN0001:00: software reset failed: -121
[   22.698332] elants_i2c i2c-ELAN0001:00: elants_i2c_send failed (77 77 77 77): -121
[   22.699894] elants_i2c i2c-ELAN0001:00: software reset failed: -121
[   22.702258] elants_i2c i2c-ELAN0001:00: elants_i2c_send failed (4d 61 69 6e): -121
[   22.703897] elants_i2c i2c-ELAN0001:00: boot failed: -121
[   22.760192] elants_i2c i2c-ELAN0001:00: elants_i2c_read failed: -121
[   22.761214] elants_i2c i2c-ELAN0001:00: failed to read 'hello' packet: -121
[   22.762282] elants_i2c i2c-ELAN0001:00: Failed to read fw id: -121
[   22.790799] i801_smbus 0000:00:1f.1: Failed to allocate irq 0: -16

it also blocks Suspend:

Mar 07 08:18:33 fireG0 systemd[1]: Reached target Sleep.
Mar 07 08:18:33 fireG0 systemd[1]: Starting Suspend...
Mar 07 08:18:33 fireG0 systemd-sleep[7431]: Suspending system...
Mar 07 08:18:33 fireG0 kernel: PM: suspend entry (deep)
Mar 07 08:18:33 fireG0 kernel: Filesystems sync: 0.078 seconds
Mar 07 08:18:37 fireG0 kernel: Freezing user space processes ... (elapsed 0.003 seconds) done.
Mar 07 08:18:37 fireG0 kernel: OOM killer disabled.
Mar 07 08:18:37 fireG0 kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Mar 07 08:18:37 fireG0 kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Mar 07 08:18:37 fireG0 kernel: wlan0: deauthenticating from 16:f6:4c:e8:f5:6b by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 07 08:18:37 fireG0 kernel: PM: dpm_run_callback(): acpi_subsys_suspend+0x0/0x60 returns -16
Mar 07 08:18:37 fireG0 kernel: PM: Device i2c-ELAN0001:00 failed to suspend: error -16
Mar 07 08:18:37 fireG0 kernel: PM: Some devices failed to suspend, or early wake event detected
Mar 07 08:18:37 fireG0 kernel: iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
Mar 07 08:18:37 fireG0 kernel: iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
Mar 07 08:18:37 fireG0 kernel: iwlwifi 0000:01:00.0: FW already configured (0) - re-configuring
Mar 07 08:18:37 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0
Mar 07 08:18:37 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0
Mar 07 08:18:37 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0
Mar 07 08:18:37 fireG0 kernel: acpi LNXPOWER:02: Turning OFF
Mar 07 08:18:37 fireG0 kernel: OOM killer enabled.
Mar 07 08:18:37 fireG0 kernel: Restarting tasks ... done.
Mar 07 08:18:37 fireG0 kernel: PM: suspend exit
Mar 07 08:18:37 fireG0 kernel: PM: suspend entry (s2idle)
Mar 07 08:18:37 fireG0 iwd[1421]: Received Deauthentication event, reason: 3, from_ap: false
Mar 07 08:18:37 fireG0 systemd-networkd[937]: wlan0: Lost carrier
Mar 07 08:18:37 fireG0 systemd-networkd[937]: wlan0: DHCP lease lost
Mar 07 08:18:37 fireG0 systemd-timesyncd[1416]: Network configuration changed, trying to establish connection.
Mar 07 08:18:41 fireG0 kernel: Filesystems sync: 0.108 seconds
Mar 07 08:18:41 fireG0 kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
Mar 07 08:18:41 fireG0 kernel: OOM killer disabled.
Mar 07 08:18:41 fireG0 kernel: Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
Mar 07 08:18:41 fireG0 kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Mar 07 08:18:41 fireG0 kernel: PM: dpm_run_callback(): acpi_subsys_suspend+0x0/0x60 returns -16
Mar 07 08:18:41 fireG0 kernel: PM: Device i2c-ELAN0001:00 failed to suspend: error -16
Mar 07 08:18:41 fireG0 kernel: PM: Some devices failed to suspend, or early wake event detected
Mar 07 08:18:41 fireG0 kernel: iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
Mar 07 08:18:41 fireG0 kernel: iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
Mar 07 08:18:41 fireG0 kernel: iwlwifi 0000:01:00.0: FW already configured (0) - re-configuring
Mar 07 08:18:41 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0
Mar 07 08:18:41 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0
Mar 07 08:18:41 fireG0 kernel: HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0
Mar 07 08:18:41 fireG0 kernel: OOM killer enabled.
Mar 07 08:18:41 fireG0 kernel: Restarting tasks ... done.
Mar 07 08:18:41 fireG0 kernel: PM: suspend exit
Mar 07 08:18:41 fireG0 systemd-sleep[7431]: Failed to suspend system. System resumed again: Device or resource busy
Mar 07 08:18:41 fireG0 systemd[1]: systemd-suspend.service: Main process exited, code=exited, status=1/FAILURE
Mar 07 08:18:41 fireG0 systemd[1]: systemd-suspend.service: Failed with result 'exit-code'.
Mar 07 08:18:41 fireG0 systemd[1]: Failed to start Suspend.
Mar 07 08:18:41 fireG0 systemd[1]: Dependency failed for Suspend.
Mar 07 08:18:41 fireG0 systemd[1]: suspend.target: Job suspend.target/start failed with result 'dependency'.
Mar 07 08:18:41 fireG0 systemd[1]: Stopped target Sleep.
Mar 07 08:18:41 fireG0 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Mar 07 08:18:41 fireG0 systemd-logind[1427]: Operation 'sleep' finished.
Mar 07 08:18:41 fireG0 kernel: audit: type=1130 audit(1583565521.796:105): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
genofire commented 4 years ago

Could we add External Video to this checklist?

saltedcoffii commented 4 years ago

I recently found these guides and was wondering if we as a collective GalliumOS team might be able to use ideas/software to get sound working on Apollolake like the person here did on Pixelbook. It looks like the person fully ported cras into GalliumOS along with using ALSA and Pulseaudio, although the software seems to use a debug wand and is built for UFEI firmware.

https://github.com/yusefnapora/pixelbook-linux/blob/master/README.md https://github.com/yusefnapora/pixelbook-linux/blob/master/implementation-details.md

MrChromebox commented 4 years ago

@kingliamb no, using the ChromeOS kernel, audio subsystem etc is not an option we're considering

retsimx commented 4 years ago

As an aside, I've modified the patch series from https://patchwork.kernel.org/patch/11079653/ to work with kernel 5.4 lts. Suspend and resume work fine after building with this patch. I personally just built 5.4.39 with this patch this morning for my 100e

0002-tpm-Add-driver-for-cr50-5.4.patch.txt

Elara6331 commented 4 years ago

I recently found these guides and was wondering if we as a collective GalliumOS team might be able to use ideas/software to get sound working on Apollolake like the person here did on Pixelbook. It looks like the person fully ported cras into GalliumOS along with using ALSA and Pulseaudio, although the software seems to use a debug wand and is built for UFEI firmware.

https://github.com/yusefnapora/pixelbook-linux/blob/master/README.md https://github.com/yusefnapora/pixelbook-linux/blob/master/implementation-details.md

It does work, I am writing this from my BRUCE Chromebook on Debian 10 using Legacy boot with audio. Compiled the kernel with a modified config I made from the one in CORAL recovery image and did the ansible tasks manually. I also made a script to fix the /run/cras directory permissions and put it in crontab to run on startup. Now both audio, touch, headphone jack switching, and even suspend/resume work perfectly. I understand why gallium would not want to support it, it is hard to do, needs to be tailored to every device, and you have to tolerate the 4.4 kernel.

saltedcoffii commented 4 years ago

I recently found these guides and was wondering if we as a collective GalliumOS team might be able to use ideas/software to get sound working on Apollolake like the person here did on Pixelbook. It looks like the person fully ported cras into GalliumOS along with using ALSA and Pulseaudio, although the software seems to use a debug wand and is built for UFEI firmware.

https://github.com/yusefnapora/pixelbook-linux/blob/master/README.md https://github.com/yusefnapora/pixelbook-linux/blob/master/implementation-details.md

It does work, I am writing this from my BRUCE Chromebook on Debian 10 using Legacy boot with audio. Compiled the kernel with a modified config I made from the one in CORAL recovery image and did the ansible tasks manually. I also made a script to fix the /run/cras directory permissions and put it in crontab to run on startup. Now both audio, touch, headphone jack switching, and even suspend/resume work perfectly. I understand why gallium would not want to support it, it is hard to do, needs to be tailored to every device, and you have to tolerate the 4.4 kernel.

Would you be able to share the scripts/instructions in a repository?

Elara6331 commented 4 years ago

I recently found these guides and was wondering if we as a collective GalliumOS team might be able to use ideas/software to get sound working on Apollolake like the person here did on Pixelbook. It looks like the person fully ported cras into GalliumOS along with using ALSA and Pulseaudio, although the software seems to use a debug wand and is built for UFEI firmware. https://github.com/yusefnapora/pixelbook-linux/blob/master/README.md https://github.com/yusefnapora/pixelbook-linux/blob/master/implementation-details.md

It does work, I am writing this from my BRUCE Chromebook on Debian 10 using Legacy boot with audio. Compiled the kernel with a modified config I made from the one in CORAL recovery image and did the ansible tasks manually. I also made a script to fix the /run/cras directory permissions and put it in crontab to run on startup. Now both audio, touch, headphone jack switching, and even suspend/resume work perfectly. I understand why gallium would not want to support it, it is hard to do, needs to be tailored to every device, and you have to tolerate the 4.4 kernel.

Would you be able to share the scripts/instructions in a repository?

I can do that, although it may take a few days as I am currently busy, I will reply when I do it.

Elara6331 commented 4 years ago

I have made a repo with scripts and instructions. This will probably not work right now as I have not tested the install scripts yet. I am in the process of testing it on a new debian install. I will edit this when I am done testing and fixing the scripts

EDIT: I have tested and fixed the instructions and scripts, successful on clean Debian 10 install.