Unfortunately yeah, every manufacturer seems to roll their own docking station button magic. Seems to be a bit of a gap in the specification.
I donât know but would it be possible to use the Wake-on-LAN in order to power on/off the laptop? We could have a microcontroller that enumerates as ethernet NIC whose sole job is to send the WoL magic packet when a side button is pressed.
Are you looking to power on from fully off? I think thatâs what most people want. But the ports are off then. Even if your card had its own battery, there will be no communication available.
If you just want to power on from a state short of full off, then I donât think you need an ethernet WoL packet. Iirc people have said some keyboards are able to wake a Framework.
I was wondering if turning on the laptop via usb could be done in some kind of standardized way.
I mean, the EC (Embedded Controller) firmware is open source. If someone had the skill, they could probably modify it to not power off one or more ports. But then youâd have a power drain even when the laptop is âoffâ.
Just not sure how to accomplish a side power button in an expansion card without an added hardware (or software + power drain) modification inside the laptop.
Hmm, someone should test what exactly is required to trigger the FWL13âs boot-on-power-attach BIOS option. 20v plus full USB-PD communication, or something less. Itâs been said that the FW is supposed to be able to charge from less. If I recall, even down to 5v. Now I donât think it actually always charges from that low, because itâs buggy & not reliable, but it was supposed to. If boot-on-power-attach could be triggered with a mere 5v and no full USB-PD communication, well, there we go! Li-ion battery, voltage booster, button, li-ion charger chip.
I did some test on my FW16. When I used a 45W PD charger it did wake up by negotiating 12V. When I used a non PD usb C to A (so 5V) cable, it did not wake up. I do not have a 5V only PD charging brick to test with. Maybe the behavior is different on a FW13? I think it would most likely need PD negotiation to make it work.
Did it power on after some delay, or instantly?
Since there is not much room for a battery, it would be better if it only needed power to be maintained for a second. Especially if it needs a certain minium voltage and / or current.
Not sure if wol works on usb devices.
We do got access to the ec source code so it would be possible to do something with enough effort, though I suspect dell/lenovo/hp do it by sending custom pd messages and those are mostly handled by the pd controller which we unfortunately donât have the code to.
If you are ok with it only working in the top left port and when the laptop has power you could theoretically make an expansion card with a microcontroller than acts as a ccd and sends a power up command to the ec over serial. Sounds extremely jank but it could actually work.
Would be nice if there was an open standard for usb-c power buttons though.
There is something borked at the (pretty sure at the pd controller level) with 5v charging on the amd platforms unfortunately.
<1 second before the power button led turned on.
Perhaps a power button expansion card could really be possible via abusing the boot-on-power-attach BIOS option.
Iâm wondering if supplying significant current would even be required. In order to trigger boot, it might be enough to just claim youâre a USB-PD power supply able to provide adequate wattage. If so, then only 5v and minimal current could be all thatâs needed. Possible using a small li-ion. Failing to actually provide the laptopâs requested charging current would be fine, as long as boot up was triggered.
For a USB-PD controller chip, the FUSB302B has some open libraries and code examples available, as itâs been used by a number of open source and open hw projects. Itâs a DRP/SRC/SNK chip, capable of both requesting power and offering power, handling up to 100W.
We could advertise a 12V capability but always deliver a 5V. But this would need to be tested.
As for the FUSB302 Iâve used it in the past and have a working design for it. Itâs a great chip but most software implementation only support UFP whereas we would need a DFP to advertise a power source capability. Maybe we there is one out there that could do it?
I believe UFP, DFP, DRD are for the data role. With SRC, SNK, DRP, for source, sink, Dual Role Power, being for the Power Delivery part.
I havenât explored the FUSB302 much myself. I donât know of one that has examples showing it in use. But in a searching, I ran into an extension of the FUSB302 USB-C-Explorer projectâs firmware which appears to have PD source role as an option. Whether it actually works fully, as is, I donât know.
Hereâs where I found source, âPD_ROLE_SOURCEâ, as an option
Having more experience with FUSB302, perhaps you could take a look, if you have free time.
Yes youâre right but before pd negotiation, the USB C start with a UFP SNK and a DFP SRC in order to keep compatibility with older usb c device. Only after PD negotiation that the swap can be done. Most library doesnât even bother supporting for the SRC part because it requires extra circuitry that most board donât have. Iâm pretty sure graycatlabs never tested it as an SRC as most people want to power their board with it. You can see it here:
You do need to provide some power to power up the pd controller and ec but not a lot.
As far as I can tell from my ec adventures with the fw13 as it it it doesnât care about the input voltage (well stuff like power limits and stuff assume the input voltage is what is negotiated but the charge controller is not configured to care about the voltage, just the current).
I did find an open source software pd solution that doesnât need any chips somewhere on github but I did not get around to try it and it currently only supported sink mode. I do want to build a programmable fake source at some point. With the fw not caring about input voltage it should be kinda possible to hook up (protected and fused and everything of course) straight batteries without any voltage conversion and just advertise pd accordingly.
How about an expansion card for this?
Is there any carry-case accessory in the works for extra modules? I.e. something compact you could plug them all into to avoid loss/damage of loose modules when traveling aroundâŚ
I have a feature request: What about a quick power boost Expansion Card that can handle like 60W for brief periods of time? Like, maybe the size of the Ethernet expansion card or slightly larger for a limited charge for those last minute document changes that need to be done, but youâre at 1% power and no access to wall outlets.