USB-PD 15V mode issue

Hi, all. I’ve been experimenting with different USB-PD sources (wall chargers, battery banks, etc.) and I’ve encountered an issue with devices that supply at the 15 V level. According to my USB-C power analyzer, the laptop is only drawing ~0.2 A from any PD source when it negotiates 15 V mode.

20 V mode seems to be operating fine; I’ve tested it with the Framework 60 W adapter, as well as a 30 W and 45 W adapter.

I’ve tested this with an Anker PowerCore Slim 10000 PD, as well as a PD source development board. With the dev board, I can force it to only enumerate as a 15 V max device or a 20 V max device depending on what input voltage I feed it. When it enumerates as a 20 V device, the laptop happily draws 2 A from it. But when it enumerates as a 15 V device, it only draws ~0.2 A from it. The Anker power bank only supports 15 V, and the laptop always draws ~0.2 A from it (except for the times when the laptop tries to charge it, but replugging it a few times will get it into the correct charging direction).

I can’t completely rule out the USB-C tester causing issues, but I can say that I did try connecting the Anker power bank directly to the laptop, and I observed the battery percentage going down despite the LED indicating charging. Thus, I’m pretty sure the same thing is happening without the tester in-line.

I’m running Arch Linux on my laptop, still on the factory BIOS 3.02. I’d love to test the beta BIOS, but I’m still waiting for there to be a non-Windows method for updating. If there is any way of seeing what the laptop thinks is happening USB-PD wise, that would be great to know.

Edit: I noticed this thread: Charging from a 30 watt USB-PD charger not working - #5 by Daniel_Brotherston which might be the same issue. The adapter shown in that post is a 15 V max, and the symptoms reported are similar.

9 Likes

After reading a few posts on this subject, I started to wonder if the 15V delivery level was the issue. I appreciate you taking the time to do testing. Hopefully your time and efforts lead to getting to the bottom of this issue.

1 Like

the onboard battery controller is responsible for determining an agreed upon charging rate. The thread you linked had an adapter that could output 9 and 5 volts as well.

I believe a 60 watt charger is the minimum wattage to charge while using the device. Anything below that will help to offset the battery discharge rate, IF the battery controller and your power source agree on a voltage and amperage.

But I’m not entirely sure of that, because I have a battery pack that will charge at 12V @ 1.6 Amps which is just under 20 watts. This charges the laptop at a rate of about 1% every 10 minutes, but this really just depends on load.

That said the world of PD USB C is wonky. It could be a lot of things.

2 Likes

@2disbetter while the adapter I am using can output 9 and 5 volts, it also outputs 15V and presumably the hardware will negotiate the highest output it can, but if it fails to actually draw power at 15V then it could still be the cause. This definitely isn’t a case of the load exceeding a relatively lower power supply, it is a case of zero (or near zero) power delivered.

@Sean_Greenslade Thanks so much for this investigation, I’m glad I’m not the only one seeing this issue, and I’m glad that you could give it a more specific issue. Hopefully this can be investigated and perhaps fixed in firmware, although I too will need a linux bios update option. At the end of the day, buying a new charger isn’t a major problem, I just wanted to avoid creating more ewaste.

3 Likes

I do wonder just how many voltages the battery manager on the Framework can handle? I wonder if converting 15V is just difficult and that’s why this is an issue, or if there is something else going on here.

I personally have been very happy with what I’m seeing with charging. If the laptop is off, 5, 9, and 12v all seem to charge the battery. With 12 volts seeming to be the minimum for powering the device and charging.

This isn’t an issue for other devices, I wouldn’t expect the framework hardware to be notably deficient or inferior in this regard.

That being said, if the hardware was incapable of using 15V, I would expect it to negotiate a supply at a different voltage, 9 volts for example, rather than selecting 15V and then failing to draw power from it. We know the hardware can handle 9 volts.

1 Like

Do people think this is a hardware issue or can this be fixed with firmware?

1 Like

It was mentioned here:

…that the internal DC input system is a buck-boost topology capable of handling any input voltage from 5 V to 20 V, so I suspect this is a bug in the control firmware.

3 Likes

Maybe a few internal components can only handle 20V but not any lower voltages at full performance. In other word it might rather go into a something like the “emegency use” condition that is mentioned in the post above me. From my experience from laptops with barral plug only charging, lowering the input voltage usually leads to the laptop not booting anymore pretty fast. This is just my guess on whats happening

1 Like

The laptop should support pretty much anything from 5-20V, but I would recommend using an adapter that has a bit more power. I don’t have any 15V PD sources to test with, but I did try a 12V 24W adapter, and the laptop would draw around 2A. We can pick up some 15V sources and see if we can reproduce this.
The laptop will get the maximum adapter power based on the PD sources advertised PDO, and then configure the internal buck boost charger to use these limits anywhere from 5-20V.

9 Likes

Oddly enough, I did manage to get my Framework laptop to accept 15 V charging at full power. I’m honestly not sure what the difference was; the only thing I can think of was that the battery was at ~80% instead of ~100%. When I noticed it working, I tried swapping all my different chargers. It reliably pulled full power from both of my 15 V devices as well as my 20 V devices.

Later on, I tried it again with my 15 V devices and it seems to be back to the 0.2 A behavior. Quite strange. Is there any way of querying the BIOS / EC hardware to see what PD mode it thinks it’s in?

1 Like

I’m also finding that the laptop only wants to pull about 230mA from 15V chargers. Below is what I get from a twinkie trace; this one’s a 30W charger, and the laptop is 50% charged. Not sure why the laptop issues a soft reset, but from a power point of view, the negotiation seems to be normal:

9968831-9970970 USB PD: Full text: #1    (4153.679583ms): (r3) SRC[0]: SOURCE CAP - [1] [Fixed] 5V 3A (15W) [dual_role_data] [unchunked] - [2] [Fixed] 9V 3A (27W) - [3] [Fixed] 15V 2A (30W)
9971335-9972524 USB PD: Full text: #2    (4154.722917ms): (r2) SNK[0]: GOOD CRC
9979790-9981298 USB PD: Full text: #3    (4158.245833ms): (r3) SNK[0]: REQUEST - [1] (PDO #3: Fixed 15V) 2A (operating) / 2A (max) [comm_cap] [unchunked]
9981663-9982848 USB PD: Full text: #4    (4159.026250ms): (r2) SRC[0]: GOOD CRC
9984851-9986036 USB PD: Full text: #5    (4160.354583ms): (r3) SRC[1]: ACCEPT
9986403-9987591 USB PD: Full text: #6    (4161.001250ms): (r2) SNK[1]: GOOD CRC
10352151-10353336 USB PD: Full text: #7    (4313.396250ms): (r3) SRC[2]: PS RDY
10353702-10354891 USB PD: Full text: #8    (4314.042500ms): (r2) SNK[2]: GOOD CRC
10374992-10376180 USB PD: Full text: #9    (4322.913333ms): (r3) SNK[1]: DR SWAP
10376543-10377727 USB PD: Full text: #10   (4323.559583ms): (r2) SRC[1]: GOOD CRC
10380407-10381592 USB PD: Full text: #11   (4325.169583ms): (r3) SRC[3]: ACCEPT
10381955-10383144 USB PD: Full text: #12   (4325.814583ms): (r2) SNK[3]: GOOD CRC
10393036-10394225 USB PD: Full text: #13   (4330.431667ms): (r3) SNK/DFP[2]: VCONN SWAP
10394590-10395775 USB PD: Full text: #14   (4331.079167ms): (r2) SRC/UFP[2]: GOOD CRC
10398128-10399313 USB PD: Full text: #15   (4332.553333ms): (r3) SRC/UFP[4]: ACCEPT
10399681-10400869 USB PD: Full text: #16   (4333.200417ms): (r2) SNK/DFP[4]: GOOD CRC
10431570-10432758 USB PD: Full text: #17   (4346.487500ms): (r3) SNK/DFP[3]: PS RDY
10433125-10434310 USB PD: Full text: #18   (4347.135417ms): (r2) SRC/UFP[3]: GOOD CRC
10566575-10567763 USB PD: Full text: #19   (4402.739583ms): (r3) SNK[0]: SOFT RESET
10570307-10571496 USB PD: Full text: #20   (4404.294583ms): (r3) SNK[0]: SOFT RESET
10574044-10575234 USB PD: Full text: #21   (4405.851667ms): (r3) SNK[0]: SOFT RESET
10583650-10585158 USB PD: Full text: #22   (4409.854167ms): (r3) SNK[1]: VDM - [1] REQ Disc Ident  SVID:ff00
[repeated 58 times]
12818937-12820444 USB PD: Full text: #81   (5341.223750ms): (r3) SNK[4]: VDM - [1] REQ Disc Ident  SVID:ff00
12934649-12936157 USB PD: Full text: #82   (5389.437083ms): (r3) SNK/DFP[4]: VDM - [1] REQ Disc Ident  SVID:ff00
12936523-12937707 USB PD: Full text: #83   (5390.217917ms): (r2) SRC/UFP[4]: GOOD CRC
12939822-12942596 USB PD: Full text: #84   (5391.592500ms): (r3) SRC/UFP[5]: VDM - [1] ACK Disc Ident  SVID:ff00 - [2] VDO:2d8004b4 - [3] VDO:00000000 - [4] VDO:f6620000 - [5] VDO:0000000a
12942962-12944150 USB PD: Full text: #85   (5392.900833ms): (r2) SNK/DFP[5]: GOOD CRC
12955117-12956625 USB PD: Full text: #86   (5397.965417ms): (r3) SNK/DFP[5]: VDM - [1] REQ Disc SVID  SVID:ff00
12956990-12958174 USB PD: Full text: #87   (5398.745833ms): (r2) SRC/UFP[5]: GOOD CRC
12960431-12962252 USB PD: Full text: #88   (5400.179583ms): (r3) SRC/UFP[6]: VDM - [1] ACK Disc SVID  SVID:ff00 - [2] VDO:04b40000
12962615-12963803 USB PD: Full text: #89   (5401.089583ms): (r2) SNK/DFP[6]: GOOD CRC
3 Likes

OK, trying it with a more normal adapter (Samsung W16-030N1A, 30W). Still only pulls ~230mA, and the trace is a bit more normal:

6911793-6913972 USB PD: Full text: #1    (2879.913750ms): (r2) SRC[0]: SOURCE CAP - [1] [Fixed] 5V 3A (15W) [unconstrained] - [2] [Fixed] 9V 3A (27W) - [3] [Fixed] 15V 2A (30W)
7717970-7720149 USB PD: Full text: #2    (3215.820833ms): (r2) SRC[0]: SOURCE CAP - [1] [Fixed] 5V 3A (15W) [unconstrained] - [2] [Fixed] 9V 3A (27W) - [3] [Fixed] 15V 2A (30W)
7720512-7721700 USB PD: Full text: #3    (3216.880000ms): (r2) SNK[0]: GOOD CRC
7728937-7730445 USB PD: Full text: #4    (3220.390417ms): (r2) SNK[0]: REQUEST - [1] (PDO #3: Fixed 15V) 2A (operating) / 2A (max) [comm_cap]
7730759-7731966 USB PD: Full text: #5    (3221.149583ms): (r2) SRC[0]: GOOD CRC
7733627-7734834 USB PD: Full text: #6    (3222.344583ms): (r2) SRC[1]: ACCEPT
7735201-7736390 USB PD: Full text: #7    (3223.000417ms): (r2) SNK[1]: GOOD CRC
8192161-8193368 USB PD: Full text: #8    (3413.400417ms): (r2) SRC[2]: PS RDY
8193734-8194923 USB PD: Full text: #9    (3414.055833ms): (r2) SNK[2]: GOOD CRC
8215655-8216844 USB PD: Full text: #10   (3423.189583ms): (r2) SNK[1]: DR SWAP
8217162-8218369 USB PD: Full text: #11   (3423.817500ms): (r2) SRC[1]: GOOD CRC
8219302-8220509 USB PD: Full text: #12   (3424.709167ms): (r2) SRC[3]: REJECT
8220874-8222063 USB PD: Full text: #13   (3425.364167ms): (r2) SNK[3]: GOOD CRC
2 Likes

FYI we traced this issue to an alternate source FET in the charging circuit. When the input voltage and battery voltage are very close to each other, the charger will operate in buck boost mode, and when this happens with the alternate source FET, the charger cannot fully switch the high current FET on and off, which causes the low input current that is observed.

If you are running into this issue, use a 20V charger, or a 12V charger. We recommend a 20V 60W+ charger to get the best performance from your system.

Supporting as wide an input range as possible is mostly to allow charging the laptop in situations where you may not have the correct charger but need to get some extra life out of the system.

So far not many people seem to be impacted by this. But if there is a large impact we could disable negociating 15V.

14 Likes

Thanks for investigating.

I’ve come across a lot of 15V chargers in daily usage, as 30W and 45W adapters aren’t that uncommon. 12V isn’t a required PD voltage anymore, so <=45W chargers aren’t guaranteed to have it, and 30W-45W should be plenty of power to keep the system running and slowly charging under most usages so there’s no requirement for 20V to be available, either. With USB-C, there’s no such thing as a “correct” charger; all devices should just work at supply wattages that are reasonable (as supplies are required to provide standard voltages at those wattages). Maybe most of your users are still stuck in the pre-USB-C way of only using the charger that comes with the device, but keep in mind that people can choose not to include your charger when purchasing a Framework laptop, so I’d say Framework is more progressive in its view on USB-C charging.

Anyway, please contact me about potentially exchanging my MLB for one that has been screened to have the primary-sourced FETs.

3 Likes

Thanks for the update, Kieran. I really appreciate it.

It would be fantastic if you guys could offer the option of disabling the 15V mode for machines that are affected by this issue. I just checked my 15V power bank, and while it doesn’t have a 12V mode, it does support 9V at its full output power. That would definitely be better than nothing.

1 Like

There is a method of updating that does not require you to install Windows

Not really related to the whole point of the thread, just want you and anyone else who stumbles across this thread to know

2 Likes

There’s no reason to use Windows to Go to install the BIOS update; all BIOS updates from 3.07 forward have UEFI flashers (with fwupd coming): BIOS 3.07 + Windows 10 and (11 Alpha) driver bundle

4 Likes

I have this issue as well and originally thought it was a bad battery on my new batch 6 laptop. Using the Nintendo Switch charger (HAC-002 5v @ 1.5A or 15v @ 2.6 A) over night does not charge the battery. It does charge it a tiny bit (~30min on time) if the battery is completely dead. Using a Samsung EP-TA10JWE USB A 5.3v @ 2 A charger will charge the laptop about 50-75% over night.
It is a bummers as I was hoping to reuse the Switch charger and avoid adding another charger to my bag. Getting a 60W appears to be the solution and avoids the scenario of a 30W not keep the laptop on for extended heavy use.

1 Like

The big shame of the 15V issue is that USB-C PD external batteries are very very rarely 60W, but a 30W one will easily help to extend a laptop’s battery life (or charge it if not being used much). Losing that on the Framework is really quite a shame…I hope they are able to correct the problem rather than just switch it off.

1 Like