How to activate ASPM, configure an energy efficient (home)server?

Hi,

I would like to configure an energy-saving server under FreeBSD (>= 14). Here notthebee / AutoASPM I found a script to enable ASPM for all devices under Linux. A Google search led me to pciconf and lspci as well as iovctl and iovctl.conf.

An example, pciconf of an Ethernet card:

Code:
# pciconf -lcv re0
re0@pci0:2:0:0: class=0x020000 rev=0x15 hdr=0x00 [...]
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
[...]
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 05[50] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 2 endpoint MSI 1 max data 128(128) RO
max read 4096
link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1) ClockPM disabled
[...]

Is there a way under FreeBSD, e.g. via iovctl.conf or any other, to configure that the pci devices activate ASPM and how do I find out what the different levels (L0s/L1) mean?

Thanks for reading (and hopefully your help).

PS1: What does this specification mean: “powerspec 3 supports D0 D1 D2 D3 current D0”?
PS2: According to the specs I saw when I bought it, my Ethernet ports can handle 1 Gigabit, but now here it is: “link x1(x1) speed 2.5(2.5)”, what does that mean?
 
but now here it is: “link x1(x1) speed 2.5(2.5)”, what does that mean?
PCIe x1. Or better, it only uses 1 lane of a PCIe slot. The bus speed is 2.5GT/s, or GigaTransfers per second. This has very little to do with the ethernet speeds, although you can imagine the slot has to be able to transfer data fast enough to actually reach the full ethernet speed. With gigabit ethernet cards it's not that difficult to reach with todays PCIe speeds. For 10Gb/s, 40Gb/s or even 100Gb/s ethernet this is a bigger issue, those cards typically need to use more lanes (x4, x8) to be able to reach those speeds.
 
Back
Top