-
Notifications
You must be signed in to change notification settings - Fork 0
Description
1. Summary
A critical failure in Thunderbolt 4 Power Delivery negotiation is observed on the Framework Laptop 13 (Intel Core Ultra) running BIOS 3.06. The issue manifests as a complete inability to negotiate a PD contract with docks utilizing the Intel JHL8440 controller (specifically Ugreen Revodok Max 213), resulting in the dock remaining in a standby state (Green LED) with no enumeration.
Key Finding: The issue is strictly dependent on the presence of the 61Wh High-Density Battery. Physical disconnection of the battery immediately restores full Thunderbolt/PD functionality. This indicates a regression in the EC’s charge_state_machine or Source Capabilities handshake logic introduced in BIOS 3.06, potentially related to the "Battery Extender" feature, which persists even when the feature is disabled in BIOS.
2. System Configuration
- Product: Framework Laptop 13 (Intel Core Ultra Series 1) - Model A2
- OS: Linux (Kernel 6.17.11-300.fc43.x86_64)
- BIOS: Version 03.06 (Date: 08/08/2025)
- Battery: 61Wh Extended Battery (Lithium-ion, High Density)
- Retimer Firmware:
- Port 0/1 (Left): v24.82 (Vendor: 0x8087, Device: 0x0D9C)
- Port 2/3 (Right): v24.82 (Vendor: 0x8087, Device: 0x0D9C)
- Note: Retimers are confirmed updated to the target version required by BIOS 3.06.
- Peripheral: Ugreen Revodok Max 213 (Thunderbolt 4 Dock, Intel JHL8440 controller).
3. Description
When the laptop is connected to the Ugreen Revodok Max 213 via Thunderbolt 4:
- Symptom: The dock’s status LED remains Green (Standby/Power Only), indicating a valid TBT data link is never established.
- OS Visibility: The dock and connected devices are not detected by the BIOS or OS (
lspci/lsusbshow no changes). - Scope:
- This behavior is observed regardless of OS state (occurs even when the laptop is powered down), indicating a low-level firmware negotiation failure.
- The standard 55Wh battery model was not tested as I don't have it available.
- Previous BIOS version was not tested, the BIOS came installed with purchase and its not possible to downgrade.
4. Steps to Reproduce
- Ensure the Framework Laptop 13 (BIOS 3.06, Retimer v24.82) has the 61Wh battery connected.
- Connect the Ugreen Revodok Max 213 to any USB-C expansion card.
- Observation: Dock LED remains Green. No charging or data enumeration occurs.
- Attempted Workaround 1 (Settings): Disable "Battery Extender" in BIOS and set charge limit to 100%. Result: Failure persists.
- Attempted Workaround 2 (Reset): Perform Full Cold Reset (Mainboard Chassis Switch). Result: Failure persists immediately upon reboot if battery is connected.
5. Other Findings
The following evidence isolates the root cause to the EC's handling of the battery interaction:
-
The "Battery Removal" Proof:
- Action: Physically disconnect the internal battery connector.
- Result: The dock immediately functions correctly. The LED turns Blue (Active TBT Link), and all devices enumerate. This confirms the Retimer hardware and Dock are functional; the blocking factor is the EC's logic state when managing the battery.
-
Left vs. Right Port Asymmetry (Signal Integrity/Timing):
- Even when a workaround allows partial function, a distinct failure mode exists on the Left Ports (0/1).
- Scenario: To achieve dock enumeration, the system requires a Cold Reset AND initial connection to the Right Port.
- Observation: The Left Port cannot perform initial TBT authorization/detection. Once authorized via the Right Port, the dock can be moved to the Left and will function.
- Analysis: This aligns with known "Left Port" sensitivity due to trace impedance or I2C addressing differences, making them more susceptible to timing violations if the EC is busy or lagging during the PD handshake.
-
Hardware Cross-Validation:
- The same dock functions perfectly on a modern Lenovo laptop.
- Other docks (Razer Thunderbolt 4 Chroma) PD and enumeration works on this specific system.
6. Hypothesis
Based on the behavior and the provided technical analysis of BIOS 3.06:
- EC Logic Corruption: The failure correlates with the "Battery Extender" logic introduced in BIOS 3.06. Although the feature was disabled by the user, the underlying
charge_state_machineappears to retain a conflict. The EC likely rejects the Dock's Source Capabilities (PD Contract) because it erroneously calculates a "fake" State of Charge or thermal throttle state associated with the 61Wh battery chemistry. - PD Negotiation Loop: The "Green LED" state on the dock confirms a PD negotiation loop where the EC continuously rejects the power offer (requesting 5V instead of HV), causing the dock to reset the port before the TBT link layer can train.
- Retimer Synchronization: While the Retimers are updated to v24.82, the "Left Port" failure suggests that the EC is not servicing Retimer interrupts fast enough during the critical handshake window, leading to timeouts (Error -110/PPM init failed) specifically on the ports with tighter signal margins.
7. Proposed Solution
An investigation into the EC Firmware (ec_306) source code specifically regarding:
- The interaction between the 61Wh battery telemetry and the PD Source Capability acceptance logic.
- The persistence of "Battery Extender" behavior even when the flag is disabled in NVRAM.
- Timing relaxations for the Left Port (Retimer 0) initialization during cold boot to prevent the TBT authorization race condition.