HDMI through Thunderbolt 4 port not working on Redrix

I’m using a USB-C to HDMI adapter. It works fine on Redrix on ChromeOS, but not on Fedora on RWL. The HDMI port works. This was also not working back in October.

HDMI through USB-C works fine on Jinlon on ChromeOS, Fedora, and Windows.

Fedora and Ubuntu do not automatically do eDP through USB-C on Redrix as of how. The good thing is that HDMI through USB-C is possible with ectool. After connecting the adapter and HDMI cable, running

# Left port
sudo ectool typeccontrol 0 2 0
# Right port
sudo ectool typeccontrol 1 2 0

puts the port into DP mode and Linux is able to use the monitor like normal.

My guess is that there is a bug with Linux automatic USB-C switching stuff or something.

This is what dmesg shows:

[29465.521326] typec_displayport port0-partner.0: failed to enter mode

this makes me hopeful that it’s just some bug and automatic DP is possible. @WeirdTreeThing do you know any possible causes of the problem or solutions?

Btw, I followed the post-install instructions. USB drives and cameras get connected automatically.

Additional errors:

[29413.803424] cros-ec-typec GOOG0014:00: No valid DP mode provided.
[29413.804767] cros-ec-typec GOOG0014:00: Configure muxes failed, err = -22
[30144.201112] cros-ec-typec GOOG0014:00: No valid DP mode provided.
[30144.202681] cros-ec-typec GOOG0014:00: Configure muxes failed, err = -22

Ha, you replied to my post about non working usb c ports earlier, now I am replying to yours. Any luck with this? I am looking into the ectool now, but it would be nice if it just worked. I am getting the same errors as you.

For me USB hot plug works with the service. HDMI through USB c still needs manual ectool command.

Awesome. The ectool command is is working for me also on VOXEL (CP713-3W). Mine is also having the dmesg error. Currently using D12 with the custom kernel and no USB4 script.

[ 6166.323928] typec_displayport port0-partner.0: failed to enter mode
[ 6174.917938] usb usb2-port1: attempt power cycle
[ 6183.358002] usb usb2-port1: unable to enumerate USB device
[ 7300.287740] typec_displayport port0-partner.0: failed to enter mode
[ 7308.909047] usb usb2-port1: attempt power cycle
[ 7317.352018] usb usb2-port1: unable to enumerate USB device

I have reason to believe this is a different issue from the one described in the docs exclusive to Thunderbolt devices. Reopening

oddly enough, I jumped back on the forum today since my normal ectool method was giving me issues on VOXEL (D12). A couple restarts and it seemed to sometimes work? When running the ectool typeccontrol it did give a full power off/reboot which I’m guessing might be kernel/firmware related? I might try running the firmware update utility to see if there is anything new out.

NOTE: If I use the initramfs method on post install my usb c will quit working completely so I haven’t been running it.

Yes, the initramfs workaround seems to makes things worse

@ChocolateLoverRaj, is fedora still working with ectool? @catloaf i think was using arch previously from his post.

i last updated my VOXEL firmware a couple months back (09/14/24). It did work previously back in June 2024 using the ectool and whatever D12 kernel setup was out at the time. Might poke around with some other distros this weekend and test.

Note: ectool 0 2 0 (DP mode) does work if the monitor is connected prior to boot. Most likely a linux issue.

I don’t currently have fedora installed on redrix but I can try it with a fedora 41 live USB if you want.

No worries. What distro are you running now and is ectool/usb4 still working? I was going to try dual booting fedora this weekend to test. Curious if a newer distro fixes it. D13 is probably coming out later this year too so I’m might just wait for that.

I have NixOS installed but I haven’t used my redrix in a long time. There is literally a layer of dust building on it.

I’m not sure what you mean by USB4. I don’t have anything USB that’s >10Gbps, so I can’t test if 40Gbps works. Last time I checked I can run ectool 0 2 0 even if the monitor is plugged in after booting.

I updated NixOS and tried it again:

          ▗▄▄▄       ▗▄▄▄▄    ▄▄▄▖            rajas@redrix 
          ▜███▙       ▜███▙  ▟███▛            ------------ 
           ▜███▙       ▜███▙▟███▛             OS: NixOS 25.05.20250307.36fd87b (Warbler) x86_64 
            ▜███▙       ▜██████▛              Host: Google Redrix 
     ▟█████████████████▙ ▜████▛     ▟▙        Kernel: 6.12.17 
    ▟███████████████████▙ ▜███▙    ▟██▙       Uptime: 7 mins 
           ▄▄▄▄▖           ▜███▙  ▟███▛       Packages: 1242 (nix-system), 1609 (nix-user) 
          ▟███▛             ▜██▛ ▟███▛        Shell: bash 5.2.37 
         ▟███▛               ▜▛ ▟███▛         Resolution: 2256x1504, 2560x1440 
▟███████████▛                  ▟██████████▙   DE: GNOME 47.4 (Wayland) 
▜██████████▛                  ▟███████████▛   Theme: Adwaita [GTK2/3] 
      ▟███▛ ▟▙               ▟███▛            Icons: Adwaita [GTK2/3] 
     ▟███▛ ▟██▙             ▟███▛             Terminal: kgx 
    ▟███▛  ▜███▙           ▝▀▀▀▀              CPU: 12th Gen Intel i7-1265U (12) @ 4.800GHz 
    ▜██▛    ▜███▙ ▜██████████████████▛        GPU: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics] 
     ▜▛     ▟████▙ ▜████████████████▛         Memory: 5495MiB / 31942MiB 
           ▟██████▙       ▜███▙
          ▟███▛▜███▙       ▜███▙                                      
         ▟███▛  ▜███▙       ▜███▙                                     
         ▝▀▀▀    ▀▀▀▀▘       ▀▀▀▘

dmesg logs:

 9:09:37 PM kernel: typec_displayport port0-partner.0: failed to enter mode
 9:09:34 PM kernel: cros-ec-typec GOOG0014:00: No valid DP mode provided.
 9:06:33 PM kernel: typec_displayport port0-partner.0: failed to enter mode

Running

sudo ectool typeccontrol 0 2 0

does get it to work, even when hot plugging

yeah sorry i just meant the DP via usbc. D12 is acting weird these days on VOXEL. Honestly, I think its just due to the legacy packages. I moved over to Fedora and ectool is working as expected now (after running the initramfs driver omit for intel_pmc_mux). Thanks for checking.

This issue was fixed in Linux 6.14