Framework 16 Refuses to Draw >100w

I have a Framework Laptop 16 (AMD Ryzen 7040) with the RX 7700S graphics card, and I can’t get it to charge at more than 100W over USB-C.

My setup:

  • Charger: HKY 240W GaN (PD 3.1, supports the higher EPR voltages — 28V/36V/48V)
  • Cable: UGREEN 240W USB-C cable

The problem: the laptop never negotiates anything above 20V / 5A, which is exactly 100W. The high-power EPR profiles never kick in.

And it’s not just “the battery is full so it doesn’t ask for more.” When I put the CPU and GPU under load, the laptop pulls the full 5A
from the charger AND drains the battery at the same time — so it clearly wants more than 100W, but it stays stuck at the 20V / 100W
contract anyway.

What I’ve already checked:

  • I’ve tried two different 240W PD 3.1 cables. Same result both times, so it’s not the cable.
  • The demand for more than 100W is definitely there (full 5A drawn while the battery discharges under load).

On the Linux side, I see these kernel errors over and over:

ucsi_acpi USBC000:00: unknown error 256
ucsi_acpi USBC000:00: UCSI_GET_PDOS failed (-95)

From what I can tell, that second one (-95 / EOPNOTSUPP) means the embedded controller isn’t returning the charger’s full list of power
profiles to the OS. So the system only ever sees the 5V/9V/12V/15V/20V options, never anything above 20V.

A few details in case they help:

  • The laptop’s own PD stack reports it’s EPR-capable (PD revision 3.1), so the host side looks ready.
  • BIOS 04.04, Linux kernel 6.19.11.

My question: has anyone actually gotten more than 100W / EPR fast charging working on the Framework 16 under Linux? Is this a known
firmware limitation with the embedded controller, or does the FW16 only do high-wattage charging with the official 180W adapter? Any help
appreciated, and I’m happy to post more logs.

You are already on the 4.04 bios which is required for 240w. You should try a different brand 240w charger to see if it works. My guess is it will.

There are bugs in the FW16 usb pd firmare.
Essentually meaning the OS will never be told the truth about what the power adapter is doing.
The battery on the FW16 is a smart battery, so it tells the EC what volts and current to use. Lithium ion batteries max rate of charge is 1C. So generally about 80W is the limit.

sudo ectool usbpdpower
Will tell you the truth.
For example, my FW 180W power adapter is supplying current at 36V

That command doesn’t seem to work for me

sudo ectool usbpdpower
EC result 1 (INVALID_COMMAND)

The only other brand of 240w PD 3.1 that I’m aware of is the Framework one, I’ve ordered it and will see when it arrives.

This gets the info direct from the EC, and not UCSI.

Try instead:
sudo framework_tool --pdports

USB-C Port 0:
  PD Contract:   No
  Power Role:    Sink
  Data Role:     Ufp
USB-C Port 1:
  PD Contract:   Yes
  Power Role:    Sink
  Data Role:     Dfp
  VCONN:         Off
  Negotiated:    36.000 V, 5000 mA, 180.0 W
  CC Polarity:   CC2
  Port Partner:  Source
  EPR:           Active (Supported)
  Sink Active:   Yes
USB-C Port 2:
  PD Contract:   No
  Power Role:    Sink
  Data Role:     Ufp
USB-C Port 3:
  PD Contract:   No
  Power Role:    Sink
  Data Role:     Ufp

framework_tool --power

Charger Status
AC is:            connected
Charger Voltage:  16200mV
Charger Current:  2744mA
0.50C
Chg Input Current:10256mA
Battery SoC:      39%
Battery Status
AC is:            connected
Battery is:       connected
Battery LFCC:     3247 mAh (Last Full Charge Capacity)
Battery Capacity: 1255 mAh
19.162 Wh
Charge level:     38%
Battery charging

framework_tool --pdports

USB-C Port 0:
  Type-C State:  Source
  PD Contract:   Yes
  Power Role:    Sink
  Data Role:     Dfp
  VCONN:         Off
  Negotiated:    48.000 V, 5000 mA, 240.0 W
  EPR:           Active (Supported)
  CC Polarity:   CC2
  Active Port:   Yes
USB-C Port 1:
  Type-C State:  Sink
  PD Contract:   Yes
  Power Role:    Source
  Data Role:     Dfp
  VCONN:         On
  Negotiated:    5.000 V, 680 mA, 3.400 W
  EPR:           Inactive
  CC Polarity:   CC1
  Active Port:   No
USB-C Port 2:
  Type-C State:  Sink
  PD Contract:   No
  Power Role:    Source
  Data Role:     Dfp
  VCONN:         Off
  Negotiated:    5.000 V, 1500 mA, 7.500 W
  EPR:           Inactive
  CC Polarity:   CC1
  Active Port:   No
USB-C Port 3:
  Type-C State:  Nothing
  PD Contract:   No
  Power Role:    Sink
  Data Role:     Ufp
  VCONN:         Off
  Negotiated:    0.000 V, 0 mA, 0.0 W
  EPR:           Inactive
  Active Port:   No

Seeing a negotiated 240w, but only 16200mV/2744mA also last full capacity seems massively degraded from advertise battery capacity.

The battery gets confused sometimes and needs recalibration.
To calibrate, set the bios limit to 100% and leave the power adapter charging until the battery desired current reaches zero and it has reached 100% charge and leave it there for a few hours.
This then causes the battery to recalibrate itself. Do not try to discharge the battery to empty. It damages battery if you do.

Not all chargers are created equal. Even though a brand says it is v3.1 that might just be marketing. Their actual implementation may not be correct according to the standard.

Delta does make a 240w charger (if I am remembering correctly) it was out before Framework came out with theirs. It can be purchased from DigiKey, Newark, etc. Others purchased it and reported success running at higher sustained loads.

Correction it does look like it is negotiating the higher level according to the information posted above*

I don’t think there is anything wrong with the power adapter. It is supplying 48V at 240W as it should.

The battery needs calibration, or if that fails to help, a new battery is needed.