Turn off Expansion Cards via Software (Linux)?

Hi, I have a FW16 laptop. Can I Turn off Expansion Cards via Software (Linux)? One of the guides recommends unplugging them while on battery, but I wasn’t expecting that this was part of the Framework experience… I thought that ports would be just ports, kind of like in my old Thinkpad. But swappable.


I don’t know of any ways to disable expansion ports, but to explain it a bit, the ports essentially act as integrated usb-c to whatever port dongles. This unfortunately means that some of them will drain a small amount of power when not in use so they are ready to go once you plug something into them. There have been some threads on modding certain expansion cards physically to keep them from drawing power when nothing is plugged into them, but I’m not sure that software is able to do that other than fully disabling the usb-c on the mainboard. The unfortunate tradeoff is the ability to swap them when you want and replace them when you need, vs other laptops that give up that ability in order to have them more tightly integrated. The other alternative is to swap them for usb-c cards when you aren’t using the functionality of the others, since usb-c cards are just a pass through that do not draw any extra power.


I don’t know if it saves power or not, but you can make Linux think it has been unplugged, and then another command to make Linux think it has plugged in again.
I use them for USB devices attached to VMs in QEMU.
You use the “bind” and “unbind” related files in the /sys filesystem.

The HDMI and DP cards go into runtime PM by default. The type C card won’t consume any power.

The main (common) problematic one is the USB A cards. If you don’t need it frequently I’d just not have it plugged in a majority of the time.


What about the Network- and Audio-Cards?

Not so sure about those, sorry!

the audio card appears to disconnect (according to dmesg logs) when nothing is plugged into it.


At least the LEDs are switched off, when nothing is plugged into the Network Card.

Thanks! But- sorry- what’s runtime PM?

I think you just inspired me to fill up my ports with USB C modules :slight_smile: . I’m still studying power draw on my laptop; I don’t know how much of a difference it will make, so I’m not sure I even care.

Runtime PM is the low power state for devices in Linux. You can read a little more about it here.