I set the maximum power state to 2 on two drives over temp concerns. I used sudo nvme set-feature /dev/nvme0 -f 2 -v 0 to return the setting back to default. However the Power States table still appears unchanged after powering down and unplugging the cord. I’ve tried -s to save the setting but am told the Feature Identifier doesn’t support a saveable value. I’ve also tried a controller reset (sudo nvme reset /dev/nvme0).
What am I doing wrong, is it possible the table can’t be reset?
I ran across a similar issue with a parameter on a hard disk drive. In the end, I used a start up script on that computer to change the parameter at boot. Checking just now, (I probably should check once a year…), that changed parameter is still holding strong.
So, until you figure out how to save your change permanently, try writing a TrueNAS Pre or Post Init script. Then reboot and see if it is changed the way you want.
The change be done in the TrueNAS CE / SCALE GUI via:
System → Advanced Settings - Init/Shutdown Scripts - Add
I’m not sure I understand what you are asking. Are you trying to change the Power State Table to remove PS 0 and 1? That isn’t going to happen.
The command to set a power state (you have already): nvme set-feature -f 2 -v 2 and you will get a response back on if the level was set.
The command to check the power state set is: nvme get-feature -f 2 -H and it will tell you the current power state. Note that the PS returned could be in a lower (higher number) state. That first command just sets the maximum state allowed.
A little more on Power States… If you NVMe supports Autonomous Power State Transition (APST) Control, then the lowest power state will be set as soon as it can me. This is not true for the FreeBSD (CORE) version, but the Linux (SCALE) version does support it.
It’s funny that I had a post init script to set it to 2, as others had suggested it would return to default with each power cycle, which is every day. Thks
No, I was expecting the table to return to it’s initial state where the S0 row had zeros, the S1 had ones and the S2 had 2s. All three rows had zeros after using set-feature -v 2 for the first time. Maybe I shouldn’t expect the table to return to the original values, but I’m worried it won’t function correctly with all the zeros.
I tried to validate the change by copying a 5G folder and watching the get-feature -f 2 for both drives, but they only were twiddling states 3 and 4. I’ll have to try it again with some large mp4 files instead, along with maybe a direct connection instead of wifi.
Maybe it’s best to reinstall/update firmware, although I’d like to make sure I try whatever else is possible before that. This is new for me and I’m still in the build-out/playing phase, so there’s no real data yet to worry about. Thks
The screen capture you posted above looks correct. Have you looked into exactly what each column of numbers represent?
And yes, if you want to limit the power state always, you do need to set it after each power cycle. The post init is the proper place for it, as you already know.
If there is something that you do not understand, i can try to help but you need to be very specific with your questions. I don’t want to assume anything. It is safer that way.