Hi,
i´ve flashed my Lenovo Lindar (Intel Tiger Lake Lenovo 5i-14 Chromebook) with mrChromboxes script, installed Debian12 with KDE, did the audio and top-key-row scripts, everything works absolutely fine. So for everyone involved in these projects, thank you so much for making this possible.
But my problem are now the two USB-C ports on the device. Charging works perfect, but i cant get my USB-C dongle (Multi-USB, RJ45-NIC, HDMI, etc) to recognize. (Known good, is working fine on other systems)
I´ve tried with the USB-C systemd post-install fix, but that doesn´t work. Apparently the Intel-pmc-mux module is not available on my system. Other post suggests that the systemd-fix is no longer needed with recent kernels. I´m not this deep in Linux, so i don´t know.
If anyone could help me with this issue it would be greatly appreciated.
Some Outputs that might or might not help:
simon@chromebook:~$ lspci
00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01)
00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20)
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20)
00:15.0 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20)
00:15.1 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20)
00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20)
00:19.0 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 (rev 20)
00:19.1 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root Port #8 (rev 20)
00:1d.0 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root Port #9 (rev 20)
00:1e.0 Communication controller: Intel Corporation Tiger Lake-LP Serial IO UART Controller #0 (rev 20)
00:1e.2 Serial bus controller: Intel Corporation Device a0aa (rev 20)
00:1e.3 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO SPI Controller #1 (rev 20)
00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-LP SPI Controller (rev 20)
01:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980
simon@chromebook:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:5443 IMC Networks Integrated Camera
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
If further information is needed, i will provide that.
Some more information:
If if boot the machine with the Dongle connected, it works. I can unplug it, replug it, shows up immediately.
When i boot without it plugged in, it does not get recognized when i plug it in afterwards.
I´ve poked around a little bit… When i boot the machine without the Dongle plugged in, dmesg -w does not even generate an output when i plug it in afterwards.
To me it seems that the Hardware does not get initialized right when it´s not plugged in. But i really have no idea about these things ^^
I have tried the 6.9.7 amd64 Kernel, the issue still persists.
Did a little testing:
My installation is encrypted.
Dongle plugged in → turn device on, wait for encryption password prompt → unplug dongle → type in encryption password → Device boots up → Dongle gets recognised when i plug it in.
Dongle unplugged → turn device on, wait for encryption password prompt → plug in dongle → type in encryption password → Device boots up → Dongle is not present in system and does not get recognised when unplugged and plugged back in.
So, to me it seems that this is a Hardware/Firmware issue and not fixable with OS/Kernel methods? Am I right?
If someone wants to investigate this further, i have created two debug log packages. One time boot without USB-C Thumbdrive plugged in and one with it plugged in. I´ve compared the cbmem logs, but i really can´t do anything with the information in the log.
I’ve hit exactly the same symptoms, but in my case I’m running Fedora 41 with kernel 6.11.10.
If I have my USB-C device inserted before power-up, it works fine. (And I can see the expected information in lsusb and dmesg). But if I insert it after boot, it doesn’t get detected; nothing happens in dmesg, and lsusb doesn’t show it.
I’ve fiddled around with a couple of things, i could not make it work right in Debian. Since i wanted this functionality, i’ve decided to try some other distros. PopOS! was basically the same issue but with Manjaro it worked OOTB.
Since i had no experience with that distro i’ve decided to stick with it and learn a bit.
I started with Debian on my device, but had bootloader issues. Fedora works nicely except for this USB issue. I guess I might have to give Manjaro a try
It would be interesting to compare kernel configurations of (e.g.) Fedora vs Manjaro to work out what the root cause is.
sudo modprobe -r -a cros-ec-typec intel-pmc-mux
sudo modprobe -a intel-pmc-mux cros-ec-typec
on Fedora?
My experience on was that even backported Debian kernels don’t support chromebooks well, and using the one provided by the audio script made usb c work, even without the service. On the regular Arch kernels they work fine, so Manjaro would probably work, but I would recommend EndeavourOS or plain Arch over that