Dzięki instrukcji @Mieze
https://github.com/Mieze/Futro-S940-Inf … nable-aspm
udało się odblokować i włączyć ASPM dla S940
Używając setup_var.efi wprowadziłem generalnie zmienne Auto dla każdego portu:
setup_var.efi --reboot=auto --write_on_demand Setup:0x4E0=0x01 Setup:0x305=0x04 Setup:0x306=0x04 Setup:0x307=0x04 Setup:0x308=0x04
Poniżej wynik po reboocie:
ela@akacja:~$ echo "ASPM policy:"
cat /sys/module/pcie_aspm/parameters/policy
echo
check_link() {
local name="$1"
local root="$2"
local dev="$3"
echo
echo "=============================="
echo "$name"
echo "Root port: $root"
echo "Endpoint: $dev"
echo "=============================="
echo
echo "--- Root port $root ---"
sudo lspci -s "$root" -vvv | grep -Ei \
'LnkCap:|LnkCtl:|LnkSta:|L1SubCap:|L1SubCtl1:|L1SubCtl2:'
echo
echo "--- Endpoint $dev ---"
sudo lspci -s "$dev" -vvv | grep -Ei \
'LnkCap:|LnkCtl:|LnkSta:|L1SubCap:|L1SubCtl1:|L1SubCtl2:'
}
check_link "MediaTek Wi-Fi / PCIe x1 slot" "00:13.0" "01:00.0"
check_link "Realtek RTL8125 2.5G" "00:13.1" "02:00.0"
check_link "Realtek RTL8111 onboard" "00:13.2" "03:00.0"
check_link "NVMe on PoE connector" "00:13.3" "04:00.0"
ASPM policy:
[default] performance powersave powersupersave
==============================
MediaTek Wi-Fi / PCIe x1 slot
Root port: 00:13.0
Endpoint: 01:00.0
==============================
--- Root port 00:13.0 ---
LnkCap: Port #3, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s, Width x1
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=52us
--- Endpoint 01:00.0 ---
LnkCap: Port #1, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <2us, L1 <8us
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s, Width x1 (downgraded)
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=52us
==============================
Realtek RTL8125 2.5G
Root port: 00:13.1
Endpoint: 02:00.0
==============================
--- Root port 00:13.1 ---
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s, Width x1
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=150us
--- Endpoint 02:00.0 ---
pcilib: sysfs_read_vpd: read failed: No such device
LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s, Width x1
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=150us
==============================
Realtek RTL8111 onboard
Root port: 00:13.2
Endpoint: 03:00.0
==============================
--- Root port 00:13.2 ---
LnkCap: Port #5, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 2.5GT/s, Width x1
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
L1SubCtl2: T_PwrOn=10us
--- Endpoint 03:00.0 ---
pcilib: sysfs_read_vpd: read failed: No such device
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 2.5GT/s, Width x1
==============================
NVMe on PoE connector
Root port: 00:13.3
Endpoint: 04:00.0
==============================
--- Root port 00:13.3 ---
LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s, Width x1
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=10us
--- Endpoint 04:00.0 ---
LnkCap: Port #0, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
L1SubCtl2: T_PwrOn=10us
to, że dla karty 'MEDIATEK Corp. Device 7906' wyszło LnkCtl: ASPM Disabled to normalne bo ASPM jest zablokowany w sterowniku tej karty.
Dla starszego gigabitowego NIC
'Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet'
L1.1/L1.2 jest wyłączone ale to starsza karta i nie obsługuje L1SS
Za to dla kart:
'Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller' oraz
'Samsung Electronics Co Ltd NVMe SSD Controller PM9B1'
ASPM L1: włączone
L1.1/L1.2: włączone