Zapnutí úsporných režimů pro NVMe

Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #30 kdy: 07. 10. 2025, 14:06:46 »
Tak jsem dělal nějaké pokusy na N100 Radxa x4:

ASPM:
Další věc: správné zaklínadlo je setpci  -s 03: 0x??=0x43 ...kde ??  se vypočte funny způsobem... 
setpci -s 3: 0x90.b=0x43 a setpci -s 1d.0 0x50.b=0x43
ale nemají se provést nejaké resety?

Toto je správně vyzaklínačované. Já tam mám ještě síťovku a WiFi, takže pro všechny tři karty je to pak takto:

Kód: [Vybrat]
setpci -s 00:1c.0 0x50.B=0x43
setpci -s 00:1c.6 0x50.B=0x43
setpci -s 00:1d.0 0x50.B=0x43

setpci -s 01:00.0 0x80.B=0x43
setpci -s 02:00.0 0xb0.B=0x43
setpci -s 03:00.0 0x90.B=0x43

Potom to ukazuje všude L0s a L1 zapnuté

Kód: [Vybrat]
# lspci -vv | grep LnkCtl | grep ASPM
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Až sem dobrý. Teď jdu do biosu, dám defaults, udělám tyto setpci, ASPM je L0s L1 všude, ale NVMe má stejně 66C :( Když zatopím CPU tak i 80C.

Ta volba v biosu, co je potřeba zapnout mám pod CHIPSET > PCH-IO > PCI-EXPRESS CONFIGURATION > PCI EXPRESS ROOT PORT 9 > ASPM



default je DISABLED. Dobře, dám L1 a NVMe má 27C  :)

Podívám se na rozdíl mezi lspci -xxx před a po zapnutí této volby a výsledek je, že je potřeba udělat:

Kód: [Vybrat]
setpci -s 00:1d.0 0x4d.B=0x48
Původní defaultní hodnota je 0x40. No, akorát zrovna na tuhle pozici nejde zapsat!  :o Asi je to RO? Takže to nejde. A proto asi nefunguje ani pcie_aspm=force?

Někdo ví, jak zapsat setpci do RO?


Ještě zajímavost, když pustím autoaspm.py (někdo tu zmiňoval) tak mi to vypne čtyři L0s. L1 nechá zapnuté. L1 je stejně důležitější.

Kód: [Vybrat]
# lspci -vv | grep ASPM | grep LnkCtl
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
« Poslední změna: 07. 10. 2025, 14:11:24 od Jan Fikar »


Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #31 kdy: 07. 10. 2025, 14:48:17 »
Toto by možná mohlo fungovat jak pro N100 tak pro Ryzen?

https://z8.re/blog/aspm.html

Pán před grubem v UEFI pustí ASPMEnabler.efi. Ten vezme tu:

https://github.com/Jamesits/S0ixEnabler

Nebo spíš tu:

https://github.com/Bootlessjam/ASPM-Tool

Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #32 kdy: 07. 10. 2025, 15:01:16 »
Heh, to jsem četl před týdnem. Možná je právě to vysvětlení mnohem jednodušší, že disk neumí APST. Zatím jiný disk jsem tam nezkoušel= nedostal jsem se k vyzkoušení jiných OS

Mimochodem dá se nějak softwarově poznat(podle parametru, nebo podle chování feromonogolicky), jestli disk má pseudo SLC cache (kromě LInuxu i na widnows, jako jsem se ptal i pro id-ctrl, *et-feature) ?

Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #33 kdy: 07. 10. 2025, 15:21:06 »
V tom mým N100 to dělají všechny disky, co jsem zkoušel.

Teď ten aktuální disk možná taky nemá APST:

Kód: [Vybrat]
# nvme get-feature /dev/nvme0 -f 0xc -H
NVMe status: Invalid Field in Command: A reserved coded value or an unsupported value in a defined field(0x2002)

A když nabootuju s nvme_core.default_ps_max_latency_us=0, což má APST vypnout, tak teplota stále 27C.

Takže problém je s ASPM ne s APST.

Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #34 kdy: 07. 10. 2025, 15:35:13 »
Aha, utekl mi jeden příspěvek. Teď koukám podle 1.d0. to je pcie root port #9 na radxa x4 N100 a disk je 03:00 (neplést . a : )... Ale já na radxa v biosu nemám  volbu chipset... ...  Ty pokusy jsi dělal na Radxa nebo jiném PC( Asrock)?

Začínám tomu přestávat (chtít) rozumět... Ale dokud asi nezkusím víc disků , více OS a disk na jiných PC, asi stejně se nedozvim, kde je zakopaný Watt.

acemagic-w1-mini-pc Prosím, nesmějte se mi, je to tak, jak to je. Ale říkám si, že o tom asi napíšu článek sem na root.
Možná rozumím, že si musel brát něco z číny. Je snad nějaká evropská značka, kterýá něco takového vyrábí a nestojí to 25000? Beelink, asome... Mají i české zastoupení, ale ta cena...



Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #35 kdy: 07. 10. 2025, 16:13:28 »
Jo, to je Radxa x4 N100 a konkrétně tento bios:

Radxa X4 custom BIOS V002 T: supports IBECC option and hidden option enablement

https://docs.radxa.com/en/x/x4/bios/update-bios

Tak to tam dej, zapni v biosu a pojede to.

Novější bios jsem nezkoušel, tady ten má In-Band-ECC pro LPDDR5.

Re:Zapnutí úsporných režimů pro NVMe
« Odpověď #36 kdy: Dnes v 00:16:32 »
Díky moc, zapnutí APSM v novém BIOsu je přesně ono, co jsem potřeboval.   APST holt se musí dělat ručně přes while : nvme set-feature 0x02=3 nvme0; sleep 5s;
(Debilní windows nejsou schopné namountovat EFI partition na přes diskpart assign letter=u, jen pokud jde o USB disk, u interního to jde, nakonec jsem to zkopíroval na NASu  8) , )

Disk má teploty 35°/50°C (flash/phison) , s set-feature 0x02=3 každých 5s  o 5° méně.  Spotřeba klesla o 0.8W. Je šílené, že  tak malý rozdíl  energie udělá 30°C rozdíl teplot.  To je asi tou plochou/objemem.

(Ale zůstává jedna záhada, která mi pije krev pořád : ) Nefunguje to hned od začátku spuštění nebo restartu. Musím ten pošahaný disk do toho nějak ručně dostrkat  po loginu, funguje nějaká kombinace setpci (bez rovnítka dokonce pro 03:0 nebo 1.d nebo set-feature 2(možná  až napodesátý:???) nebo odpojení síťovky)). nevím. záhada.



Nepomohlo dát ani do /etc rc.local skript který ručně prostřídá stavy  :
setpci 90.b  setpci 50.b.   0x02=1 ,  0x02=2 ,  0x02=3  setpci 90.b  setpci 50.b , 0x02=3
to funguje zhruba v 50% případů, ale jindy veseledisk má 75°C.  Zkoušel sjem i ASPM pro sousední porty 4 a 7 (wifi,nic),


Každopádně to není zásadní problém, když ten disk jednou konečně přestane topit, tak už je to napořád=do restartu/vypnutí
Taky jsem si všiml, že integrovaná wifi byla (ta ploška u antén) bývala horká, kdy pc startoval bez disku. možná ohřívá nvme zespoda... To zase vymyslel nějaký génius dát tyhle 2 věci pod sebe... když nefunguje powermanagement.
« Poslední změna: Dnes v 00:23:53 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »