FrameworkComputer/SoftwareFirmwareIssueTracker

BIOS 3.16 broke external monitor (USB-C DisplayPort Alt Mode) and caused severe boot regression on FW13 AMD 7040

Closed this issue · 10 comments

Device Information

System Model or SKU

  • Framework Laptop 13 (11th Gen Intel® Core™)
  • Framework Laptop 13 (12th Gen Intel® Core™)
  • Framework Laptop 13 (13th Gen Intel® Core™)
  • Framework Laptop 13 (AMD Ryzen™ 7040 Series)
  • Framework Laptop 13 (Intel® Core™ Ultra Series 1)
  • Framework Laptop 16 (AMD Ryzen™ 7040 Series)

BIOS VERSION

03.16

DIY Edition information

Memory: Framework 64GB (2x32GB) DDR5-5600
Storage: WD_BLACK SN850X NVMe SSD 1TB

Port/Peripheral information

  • Peripheral vendor and name: Samsung M8 Monitor via USB-C cable
  • Port the Peripheral was connected to: Tested in both USB-C ports (1,3) - issue persists across all ports
  • Device or expansion card attached to the Adjacent ports:
  1. Framework USB-C Expansion Card
  2. Framework HDMI Expansion Card
  3. Framework USB-C Expansion Card
  4. Framework USB-A Expansion Card

Standalone Operation

Are you running your mainboard as a standalone device. Is standalone mode enabled in the BIOS?

  • Yes
  • No

Describe the bug

After updating to BIOS 3.16, external monitors connected via USB-C completely stopped working. USB-C DisplayPort Alt Mode appears to be completely broken. Additionally, system boot time increased dramatically from ~30 seconds to over 3 minutes. The system shows critical UCSI (USB-C Connector System Software Interface) errors and AMD GPU timeouts in logs.

Steps To Reproduce

  1. Update Framework Laptop 13 AMD 7040 to BIOS 3.16
  2. Connect external monitor (Samsung M8) via USB-C cable to any USB-C port
  3. Monitor is not detected by system - no DisplayPort Alt Mode negotiation occurs
  4. Check system logs for UCSI errors
  5. Observe severely degraded boot performance

Expected behavior

External monitor should be detected via USB-C DisplayPort Alt Mode as it was before BIOS 3.16. Boot time should remain fast (~30 seconds).

Screenshots

System only detects internal display (eDP-1):

Monitor eDP-1 (ID 0):
        2256x1504@59.99900 at 0x0
        description: BOE 0x0BCA
        [... internal display working normally ...]

All external DisplayPort outputs show "disconnected":

/sys/class/drm/card1-DP-1/status: disconnected
/sys/class/drm/card1-DP-2/status: disconnected
[... all DP ports disconnected ...]

Operating System (please complete the following information):

  • OS/Distribution: Arch Linux
  • Version: Rolling release (current)
  • Linux Kernel Version: Linux framework 6.16.1-arch1-1 (also tested with 6.12.42-1-lts - same issue)

Additional context

Timeline: Both BIOS 3.16 and kernel updates were performed while NOT connected to external monitor. Issue discovered when attempting to connect Samsung M8 monitor via USB-C afterward.

Boot Performance Regression:

Startup finished in 15.554s (firmware) + 1min 4.676s (loader) + 1min 51.875s (kernel) + 3.301s (userspace) = 3min 15.409s

Critical System Errors:

ucsi_acpi USBC000:00: unknown error 0
ucsi_acpi USBC000:00: GET_CABLE_PROPERTY failed (-5)  
ucsi_acpi USBC000:00: unknown error 256
amdgpu 0000:c1:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control
usb 5-1: device descriptor read/64, error -110/-71/-62

Troubleshooting Completed:

  • ✅ BIOS reset to defaults (F9) - no improvement
  • ✅ Tested Samsung M8 via USB-C on both USB-C ports - issue persists
  • ✅ Tested different USB-C expansion cards - issue persists across both cards
  • ✅ Verified Samsung M8 + USB-C cable work with other devices
  • ✅ Tested both current and LTS kernels - confirms BIOS regression, not kernel issue
  • ✅ Various kernel parameters attempted - no improvement

Technical Analysis: UCSI errors indicate BIOS 3.16 broke USB-C DisplayPort Alt Mode initialization at the firmware level. This affects core USB-C DisplayPort functionality and suggests a significant regression in BIOS 3.16.

Request: Is this a known USB-C DisplayPort Alt Mode regression? Any timeline for BIOS 3.17 to address these critical USB-C issues?

Additionally, system boot time increased dramatically from ~30 seconds to over 3 minutes.

Does that happen every time? Or just the first boot after the bios update?

Startup finished in 15.554s (firmware) + 1min 4.676s (loader) + 1min 51.875s (kernel) + 3.301s (userspace) = 3min 15.409s

Oh it's actually the kernel taking a long time, not the BIOS.
Can you upload your full dmesg log please?

Not a Framework engineer, but you might want to try resetting the EC using the following procedure:

#93 (comment)

(Ignore the quoted command, as it is not the proper way to do so).

Thanks for the response! Just to clarify after additional testing:

Boot time issue is RESOLVED - after re-applying kernel 6.16.1 update, boot time returned to normal (38s)
USB-C DisplayPort still completely broken - external monitor not detected on any USB-C port

Additional testing performed:

  • ✅ Tested both kernel 6.16.1 and 6.12.42-LTS - external monitor broken on both kernels
  • ✅ This confirms it's a BIOS 3.16 regression, not a kernel issue
  • ✅ Boot time was fixed by re-applying kernel update, but USB-C DisplayPort remains broken

Current UCSI errors showing USB-C firmware failure:

ucsi_acpi USBC000:00: error -ETIMEDOUT: PPM init failed  
amdgpu REG_WAIT timeout dcn314_dsc_pg_control

current_dmesg.log

Should I downgrade the bios? If so, how do I do that?

Could you try to downgrade the BIOS to check the issue again with the same Linux kernel? If this relates to the BIOS/EC, the issue should happens on every OS.
We tried to use 3.16 with different OSs each ports work well with DP Alt mode.

How do I downgrade?

You can do it with fwupd to downgrade 3.09 or run the 3.09 EFI updater to downgrade.

Re-flashing 3.16 via EFI seemed to work. Closing this out now.