Help fixing USB C - Lillipup

After following the steps on Chultrabook to fix the USB C bug on the Tigerlake boards. It still does not connect to external displays, are there any fixes for this? If you have anything please let me know!

(Please note that i’m running Ubuntu 24.10, with the newest firmware available, i have updated my MrChromebox Utility Script to the newest version)

Follow up on this form, any ideas yet?

At the very least, we need a boardname

It’s in the title of the post…

Apologies please, missed that.

@WeirdTreeThing did anyone of us ever test #225?

I only ever tested fedora on banshee, but I no longer have any modern intel device.

I just flashed the UEFI Full Rom and installed Debian Testing (not Ubuntu) on my LILLIPUP the other day (huge thanks for all the work you guys are doing!) and external displays over USB C aren’t working for me either (sound and the function keys work fine though after following the post install steps).

I am on kernel 6.12.21:

~$ uname -a
Linux chromebook-flex-5 6.12.21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.21-1 (2025-03-30) x86_64 GNU/Linux

cros_ec_typec is loaded, but dmesg shows what appears to be an error:

~$ sudo lsmod | grep typec
cros_ec_typec          32768  0
typec                 114688  1 cros_ec_typec
cros_usbpd_notify      20480  2 cros_ec_typec,cros_usbpd_charger
roles                  16384  1 cros_ec_typec

~$ sudo dmesg | grep typec
[   14.139263] platform GOOG0014:00: deferred probe pending: cros-ec-typec: Failed to register port 0

However intel-pmc-mux does not seem to exist as a module:

~$ sudo modprobe intel-pmc-mux
modprobe: FATAL: Module intel-pmc-mux not found in directory /lib/modules/6.12.21-amd64

Is there anything I can do to fix this? Or anything I can do to help test this?

Thanks in advance and again, thanks for all your great work!

A custom kernel will be needed to enable that module.

Oh ok, makes sense. Thanks.

I guess this may or may not be the same for @DrCycenas. Maybe try Ubuntu 25.04? It was released a couple of days ago.

OK, I did some tinkering.

I downloaded the following Ubuntu kernel packages:

linux-headers-6.14.0-15_6.14.0-15.15_all.deb
linux-headers-6.14.0-15-generic_6.14.0-15.15_amd64.deb
linux-image-6.14.0-15-generic_6.14.0-15.15_amd64.deb
linux-modules-6.14.0-15-generic_6.14.0-15.15_amd64.deb
linux-modules-extra-6.14.0-15-generic_6.14.0-15.15_amd64.deb

And installed them on Debian 13/Trixie:

~$ sudo apt install ./*.deb

It installed fine and also built the initrd.

~$ sudo uname -a
Linux chromebook-flex-5 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr  6 15:05:05 UTC 2025 x86_64 GNU/Linux
~$ sudo lsmod | grep typec
cros_ec_typec          40960  0
cros_usbpd_notify      20480  2 cros_ec_typec,cros_usbpd_charger
typec                 118784  2 cros_ec_typec,intel_pmc_mux

~$ sudo lsmod | grep pmc
intel_pmc_core        126976  0
pmt_telemetry          16384  1 intel_pmc_core
intel_vsec             20480  2 intel_pmc_core,xe
intel_pmc_mux          16384  0
typec                 118784  2 cros_ec_typec,intel_pmc_mux

So the modules are loaded now, but still show the probing failure at boot:

~$ sudo dmesg | grep typec
[   12.900605] platform GOOG0014:00: deferred probe pending: cros-ec-typec: Failed to register port 0

So I guess the modules are still not loading properly on Debian, even with the modified /etc/initramfs-tools/modules file.

However, manually unloading and loading the modules (like in the now obsolete systemd typec fix) looked promising:

~$ sudo modprobe -r -a cros-ec-typec intel-pmc-mux
~$ sudo modprobe -a intel-pmc-mux cros-ec-typec
~$ sudo dmesg | grep typec
[..]
[  189.943821] typec port1: bound usb2-port2 (ops connector_ops)
[  189.943874] typec port1: bound CON1-role-switch (ops connector_ops)

Now the external display is being detected when plugged in, but it still does not show any output:

~$ sudo dmesg -w
[..]
[ 1995.325870] ACPI Error: No handler or method for GPE 73, disabling event (20240827/evgpe-839)
[ 1995.365839]  port1.0: EC does not support AP driven mode entry
[ 1995.365854] typec_displayport port1-partner.0: failed to enter mode: -95
[ 1995.443714] Registered IR keymap rc-cec
[ 1995.443843] rc rc0: DP-3 as /devices/pci0000:00/0000:00:02.0/rc/rc0
[ 1995.443971] input: DP-3 as /devices/pci0000:00/0000:00:02.0/rc/rc0/input24

The internal screen flickers for a moment and the Gnome control panel does show the external display though.

Any ideas what else I could do here (short of trying Arch Linux, which you recommended in the documentation in the first place)? The kernel doesn’t get much newer than 6.14, the required modules are present and reloading them has seemingly solved the problem in the past. I did not install Ubuntu’s linux-firmware package however, could that be the problem?

Update: turns out it does work on Debian Trixie with the new 6.14.0 kernel from Ubuntu 25.04 after all! My external display did hang and wouldn’t show any output on USB-C until I completely unplugged the power…

Actually recently downloaded that, and installed it on my system everything is great so far Im going to try the current USB C fix and let you know how it goes

Update, i have came to the same conclusions you have done. Thank you for all of your help, however this issue is still not working and needs to be fixed.

The old solution should still be working, although it’s more of a workaround. Here’s a link to the archived version: Post Install | Chrultrabook Docs