Skip to content

[Laptop 13] #267

Description

@davidkhanks

System Model or SKU

Framework Laptop 13 (Intel® Core™ Ultra Series 3)

BIOS Version

03.02 (2026-05-26)

DIY Edition Information

System: Ultra X7 358H
Memory: LPCAMM2 - LPDDR5X - 64GB
Storage: SANDISK 850X PCIe® 4.0 M.2 2280 - 2TB

Port/Peripheral Information

Peripheral vendor and name: [FILL IN hub vendor + model]

The hub presents as a USB 3.x hub chain — VIA Labs VL822/VL815, a Realtek
RTL8153 gigabit ethernet bridge, and a Genesys Logic hub. It is not a
Thunderbolt/USB4 dock; the display path is DisplayPort alt mode.

Expansion cards by bay:

  1. USB-C (Back left) (Charger connected here)
  2. USB-C (Front left) (USB-C Hub that is having the issue is here)
  3. USB-A (Back right)
  4. 1 TB Expansion card (Front right)

The failing connector is reported as con3 by ucsi_acpi and as USB-C Port 3 by framework_tool --pdports. A 100 W charger is attached to USB-C Port 2 and is unaffected throughout.

Standalone Operation

Full System, Standalone mode NOT enabled (normal usage)

Describe the Bug

The PD controller reports DisplayPort alt mode as connected with HPD
asserted, while the same controller's UCSI interface returns
UCSI_ERROR_UNDEFINED for the commands the kernel needs to act on it. The
firmware is internally inconsistent, and the external monitor is invisible to
the OS until a full reboot.

USB data through the hub works perfectly — keyboard, mouse, gigabit ethernet
and a webcam all enumerate and function. Only video is dead.

framework_tool --pdports while the monitor is dark:

USB-C Port 3:
  PD Contract:   Yes
  Power Role:    Source
  Data Role:     Dfp
  VCONN:         Off
  Negotiated:    5.000 V, 3000 mA, 15.0 W
  CC Polarity:   CC2
  Port Partner:  Sink
  EPR:           Inactive
  DP Alt Mode:   UFP_D Connected, HPD High (0x82)

So the EC/PD side has the DP link up and hot-plug detect high.

Meanwhile the kernel gets errors from the same controller:

ucsi_acpi USBC000:00: unknown error 256
ucsi_acpi USBC000:00: GET_CABLE_PROPERTY failed (-5)
ucsi_acpi USBC000:00: con3: failed to register partner alt modes (-5)

unknown error 256 is not the kernel failing to decode something. In
drivers/usb/typec/ucsi/ucsi.h, UCSI_ERROR_UNDEFINED is BIT(8) = 256, and
ucsi.c maps it to -EIO. The PPM is literally reporting "undefined error"
for GET_CABLE_PROPERTY and for GET_ALTERNATE_MODES.

Because GET_ALTERNATE_MODES fails, ucsi_register_altmodes() has nothing to
register, the typec layer never publishes a DP alt mode, and the xe display
driver is never told to claim the DP lanes. Every DRM connector reads
disconnected:

/sys/class/drm/card0-DP-1   disconnected
/sys/class/drm/card0-DP-2   disconnected
/sys/class/drm/card0-DP-3   disconnected
/sys/class/drm/card0-DP-4   disconnected
/sys/class/drm/card0-eDP-1  connected

xe logged nothing at all at plug-in time — no hotplug event, no connector
event. The graphics driver is not failing; it is never notified.

Note also that GET_CABLE_PROPERTY failed (-5) first appears at 10:50:29,
immediately after boot and roughly 50 minutes before the hub was attached at
11:41. That connector's UCSI interface is unhealthy from startup, independent
of what is plugged into it.

Steps To Reproduce

  1. Boot the laptop with charger and USB-C hub attached. (Note it is working at this point)
  2. Close the lid to enter clamshell mode.
  3. Open the lid
  4. Disconnect the USB-C hub then the charger
  5. Plug in the charger and reattach the USB-C hub with DisplayPort alt mode and an external monitor (I'm using the HDMI port in this case)
  6. USB devices on the hub enumerate normally; the monitor stays dark.
  7. dmesg shows con3: failed to register partner alt modes (-5).
  8. framework_tool --pdports shows DP Alt Mode: UFP_D Connected, HPD High for that port.6. /sys/class/drm/card0-DP-*/status all read disconnected.
    Things that do not recover it:
  • Unplugging and replugging — fails identically each time.
  • echo detect > /sys/class/drm/card0-DP-*/status (force DRM reprobe) — no change.
  • Unbinding and rebinding ucsi_acpi
    (/sys/bus/platform/drivers/ucsi_acpi/{unbind,bind}) — reproduces
    GET_CABLE_PROPERTY failed (-5) immediately.

Only a full reboot recovers DisplayPort output, which is consistent with the
PD controller needing a power cycle.

Expected Behavior

When the PD controller has DisplayPort alt mode negotiated and HPD asserted, it
should report those alt modes successfully over UCSI so the kernel can bring up
the external display — rather than returning UCSI_ERROR_UNDEFINED for
GET_ALTERNATE_MODES and GET_CABLE_PROPERTY while its own PD stack shows the
link as up.

The use case for this is that I have my laptop docked and connected to an external monitor and peripherals and then need to leave with it to take a call in another room. When I come back and plug things back in, I cannot get the monitor to work unless I reboot.

Screenshots

N/A — all evidence is textual and included above.

Operating System

Omarchy 4.0.4 (Arch Linux)

Linux Kernel Version

Linux 7.2.5-3-omarchy #1 SMP PREEMPT_DYNAMIC Mon, 14 Sep 2026 19:55:01 +0000 x86_64

Additional Context

framework_tool version 0.6.5.

This looks closely related to
#265
("EC/PD sees the monitor (HPD high), kernel UCSI stack blind until full
reboot"), with the same end state reached on Core Ultra Series 3 hardware.

The same wedged behaviour has also been reported on non-Framework Panther
Lake hardware — omacom/omarchy#11864
is a Dell XPS 16 with the same Core Ultra X7 358H / Arc B390 / xe
combination, where DP alt mode stays wedged until reboot. That report shows a
different UCSI error signature (duplicate partner altmode SVID 0xff01, VDO
mismatch) rather than UNDEFINED, so it may be the same root cause reached by
a different path, or an adjacent platform-level problem. I have commented on
that issue with this data as well.

Happy to collect further traces (drm.debug=0x1e, ucsi dyndbg, or a
framework_tool dump) if that would help narrow it down.

I have included a reference to an Omarchy issue here where other users are experiencing similar issues on Dell Panther lake hardware: omacom/omarchy#11864

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Laptop 13Framework Laptop 13 (any generation)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions