Super MAXN Power Mode Not Available

Hi all!

I had already installed many months ago in my Jetson Orin Nano Dev Kit 8GB (and has SD card slot, sku 5) the JetPack 6.1 software with Jetson Linux version 36.4, but did a kernel customization adding some kernel modules. If you need more context: Issues Building Custom Kernel 36.4 new Jetson Orin Nano Dev Kit - Jetson & Embedded Systems / Jetson Orin Nano - NVIDIA Developer Forums

I have all the software packages updated to the last version, and have executed the suggested command sudo rm -rf /etc/nvpmodel.conf, and rebooted the Jetson. However, the MAXN power option is not visible, I only have available the previous two options.

Is it possible from this installation to make available the new power mode, or we only have the alternative to flash with the SDK Manager the 6.1.1 revision, and then recompile the kernel for adding the required kernel modules again for the requirements of my project?

I hope there is an easier alternative for making this option available.

Looking forward to your response, thank you!

As I have checked, there is not any super configuration in the /etc/nvpmodel directory…

-rw-r--r--   1 root root  9137 sep 13 06:28 nvpmodel_p3701_0000.conf
-rw-r--r--   1 root root  6761 sep 13 06:28 nvpmodel_p3701_0002.conf
-rw-r--r--   1 root root  8249 sep 13 06:28 nvpmodel_p3701_0004.conf
-rw-r--r--   1 root root  6910 sep 13 06:28 nvpmodel_p3701_0008_3740_0002.conf
-rw-r--r--   1 root root  6890 sep 13 06:28 nvpmodel_p3701_0008_3740_0002_safety.conf
-rw-r--r--   1 root root  9117 sep 13 06:28 nvpmodel_p3701_0008.conf
-rw-r--r--   1 root root  8270 sep 13 06:28 nvpmodel_p3767_0000.conf
-rw-r--r--   1 root root  8023 sep 13 06:28 nvpmodel_p3767_0001.conf
-rw-r--r--   1 root root  5123 sep 13 06:28 nvpmodel_p3767_0003.conf
-rw-r--r--   1 root root  5550 sep 13 06:28 nvpmodel_p3767_0004.conf
-rw-r--r--   1 root root 11281 sep 13 06:28 nvpmodel_t194_8gb.conf
-rw-r--r--   1 root root 13241 sep 13 06:28 nvpmodel_t194_agxi.conf
-rw-r--r--   1 root root 15054 sep 13 06:28 nvpmodel_t194.conf
-rw-r--r--   1 root root  7186 sep 13 06:28 nvpmodel_t194_e3900_dGPU.conf
-rw-r--r--   1 root root 15110 sep 13 06:28 nvpmodel_t194_e3900_iGPU.conf
-rw-r--r--   1 root root 19146 sep 13 06:28 nvpmodel_t194_p3668.conf
-rw-r--r--   1 root root 17709 sep 13 06:28 nvpmodel_t194_p3668_emul.conf

Results of sudo tegrastats:

01-07-2025 16:26:23 RAM 2142/7611MB (lfb 2x4MB) SWAP 0/3805MB (cached 0MB) CPU [0%@729,1%@729,1%@729,2%@729,0%@729,0%@729] EMC_FREQ 2%@665 GR3D_FREQ 0%@[305] NVDEC off NVJPG off NVJPG1 off VIC off OFA off APE 200 cpu@45.312C soc2@44.656C soc0@43.75C gpu@43.5C tj@45.312C soc1@43.125C VDD_IN 3998mW/3998mW VDD_CPU_GPU_CV 524mW/524mW VDD_SOC 1130mW/1130mW

Results of nvpmodel -q --verbose:

NVPM VERB: Config file: /etc/nvpmodel.conf
NVPM VERB: parsing done for /etc/nvpmodel.conf
NVPM VERB: Current mode: NV Power Mode: 15W
0
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_0: PATH /sys/devices/system/cpu/cpu0/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_1: PATH /sys/devices/system/cpu/cpu1/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_2: PATH /sys/devices/system/cpu/cpu2/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_3: PATH /sys/devices/system/cpu/cpu3/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_4: PATH /sys/devices/system/cpu/cpu4/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_5: PATH /sys/devices/system/cpu/cpu5/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM FBP_POWER_GATING: ARG FBP_PG_MASK: PATH /sys/devices/platform/gpu.0/fbp_pg_mask: REAL_VAL: 2 CONF_VAL: 2
NVPM VERB: PARAM TPC_POWER_GATING: ARG TPC_PG_MASK: PATH /sys/devices/platform/gpu.0/tpc_pg_mask: REAL_VAL: 240 CONF_VAL: 240
NVPM VERB: PARAM GPU_POWER_CONTROL_ENABLE: ARG GPU_PWR_CNTL_EN: PATH /sys/devices/platform/gpu.0/power/control: REAL_VAL: auto CONF_VAL: on
NVPM VERB: PARAM CPU_A78_0: ARG MIN_FREQ: PATH /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq: REAL_VAL: 729600 CONF_VAL: 729600
NVPM VERB: PARAM CPU_A78_0: ARG MAX_FREQ: PATH /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: REAL_VAL: 1510400 CONF_VAL: 9223372036854775807
NVPM VERB: PARAM CPU_A78_1: ARG MIN_FREQ: PATH /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq: REAL_VAL: 729600 CONF_VAL: 729600
NVPM VERB: PARAM CPU_A78_1: ARG MAX_FREQ: PATH /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq: REAL_VAL: 1510400 CONF_VAL: 9223372036854775807
NVPM VERB: PARAM GPU: ARG MIN_FREQ: PATH /sys/devices/platform/17000000.gpu/devfreq_dev/min_freq: REAL_VAL: 306000000 CONF_VAL: 0
NVPM VERB: PARAM GPU: ARG MAX_FREQ: PATH /sys/devices/platform/17000000.gpu/devfreq_dev/max_freq: REAL_VAL: 624750000 CONF_VAL: 9223372036854775807
NVPM VERB: PARAM GPU_POWER_CONTROL_DISABLE: ARG GPU_PWR_CNTL_DIS: PATH /sys/devices/platform/gpu.0/power/control: REAL_VAL: auto CONF_VAL: auto
NVPM VERB: PARAM EMC: ARG MAX_FREQ: PATH /sys/kernel/nvpmodel_clk_cap/emc: REAL_VAL: 2133000000 CONF_VAL: 9223372036854775807

Default /etc/nvpmodel.conf -> /etc/nvpmodel/nvpmodel_p3767_0003.conf:

#
# Copyright (c) 2021-2023, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
#
# FORMAT:
# < PARAM TYPE=PARAM_TYPE NAME=PARAM_NAME >
# ARG1_NAME ARG1_PATH_VAL
# ARG2_NAME ARG2_PATH_VAL
# ...
# This starts a section of PARAM definitions, in which each line
# has the syntax below:
# ARG_NAME ARG_PATH_VAL
# ARG_NAME is a macro name for argument value ARG_PATH_VAL.
# PARAM_TYPE can be FILE, or CLOCK.
#
# < POWER_MODEL ID=id_num NAME=mode_name >
# PARAM1_NAME ARG11_NAME ARG11_VAL
# PARAM1_NAME ARG12_NAME ARG12_VAL
# PARAM2_NAME ARG21_NAME ARG21_VAL
# ...
# This starts a section of POWER_MODEL configurations, followed by
# lines with parameter settings as the format below:
# PARAM_NAME ARG_NAME ARG_VAL
# PARAM_NAME and ARG_NAME are defined in PARAM definition sections.
# ARG_VAL is an integer for PARAM_TYPE of CLOCK, and -1 is taken
# as INT_MAX. ARG_VAL is a string for PARAM_TYPE of FILE.
# This file must contain at least one POWER_MODEL section.
#
# < PM_CONFIG DEFAULT=default_mode >
# This is a mandatory section to specify one of the defined power
# model as the default.

###########################
#                         #
# PARAM DEFINITIONS       #
#                         #
###########################

< PARAM TYPE=FILE NAME=CPU_ONLINE >
CORE_0 /sys/devices/system/cpu/cpu0/online
CORE_1 /sys/devices/system/cpu/cpu1/online
CORE_2 /sys/devices/system/cpu/cpu2/online
CORE_3 /sys/devices/system/cpu/cpu3/online
CORE_4 /sys/devices/system/cpu/cpu4/online
CORE_5 /sys/devices/system/cpu/cpu5/online

< PARAM TYPE=FILE NAME=FBP_POWER_GATING >
FBP_PG_MASK /sys/devices/gpu.0/fbp_pg_mask
FBP_PG_MASK_KNEXT /sys/devices/platform/gpu.0/fbp_pg_mask

< PARAM TYPE=FILE NAME=TPC_POWER_GATING >
TPC_PG_MASK /sys/devices/gpu.0/tpc_pg_mask
TPC_PG_MASK_KNEXT /sys/devices/platform/gpu.0/tpc_pg_mask

< PARAM TYPE=FILE NAME=GPU_POWER_CONTROL_ENABLE >
GPU_PWR_CNTL_EN /sys/devices/gpu.0/power/control
GPU_PWR_CNTL_EN_KNEXT /sys/devices/platform/gpu.0/power/control

< PARAM TYPE=FILE NAME=GPU_POWER_CONTROL_DISABLE >
GPU_PWR_CNTL_DIS /sys/devices/gpu.0/power/control
GPU_PWR_CNTL_DIS_KNEXT /sys/devices/platform/gpu.0/power/control

< PARAM TYPE=CLOCK NAME=CPU_A78_0 >
FREQ_TABLE /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
MAX_FREQ /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
MIN_FREQ /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
FREQ_TABLE_KNEXT /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
MAX_FREQ_KNEXT /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
MIN_FREQ_KNEXT /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

< PARAM TYPE=CLOCK NAME=CPU_A78_1 >
FREQ_TABLE /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies
MAX_FREQ /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
MIN_FREQ /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
FREQ_TABLE_KNEXT /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies
MAX_FREQ_KNEXT /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
MIN_FREQ_KNEXT /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq

< PARAM TYPE=CLOCK NAME=GPU >
FREQ_TABLE /sys/devices/17000000.ga10b/devfreq/17000000.ga10b/available_frequencies
MAX_FREQ /sys/devices/17000000.ga10b/devfreq/17000000.ga10b/max_freq
MIN_FREQ /sys/devices/17000000.ga10b/devfreq/17000000.ga10b/min_freq
FREQ_TABLE_KNEXT /sys/devices/platform/17000000.gpu/devfreq_dev/available_frequencies
MAX_FREQ_KNEXT /sys/devices/platform/17000000.gpu/devfreq_dev/max_freq
MIN_FREQ_KNEXT /sys/devices/platform/17000000.gpu/devfreq_dev/min_freq

<PARAM TYPE=CLOCK NAME=EMC >
MAX_FREQ /sys/kernel/nvpmodel_emc_cap/emc_iso_cap
MAX_FREQ_KNEXT /sys/kernel/nvpmodel_clk_cap/emc

###########################
#                         #
# POWER_MODEL DEFINITIONS #
#                         #
###########################

< POWER_MODEL ID=0 NAME=15W >
CPU_ONLINE CORE_0 1
CPU_ONLINE CORE_1 1
CPU_ONLINE CORE_2 1
CPU_ONLINE CORE_3 1
CPU_ONLINE CORE_4 1
CPU_ONLINE CORE_5 1
FBP_POWER_GATING FBP_PG_MASK 2
TPC_POWER_GATING TPC_PG_MASK 240
GPU_POWER_CONTROL_ENABLE GPU_PWR_CNTL_EN on
CPU_A78_0 MIN_FREQ 729600
CPU_A78_0 MAX_FREQ -1
CPU_A78_1 MIN_FREQ 729600
CPU_A78_1 MAX_FREQ -1
GPU MIN_FREQ 0
GPU MAX_FREQ -1
GPU_POWER_CONTROL_DISABLE GPU_PWR_CNTL_DIS auto
EMC MAX_FREQ -1

< POWER_MODEL ID=1 NAME=7W >
CPU_ONLINE CORE_0 1
CPU_ONLINE CORE_1 1
CPU_ONLINE CORE_2 1
CPU_ONLINE CORE_3 1
CPU_ONLINE CORE_4 0
CPU_ONLINE CORE_5 0
FBP_POWER_GATING FBP_PG_MASK 2
TPC_POWER_GATING TPC_PG_MASK 252
GPU_POWER_CONTROL_ENABLE GPU_PWR_CNTL_EN on
CPU_A78_0 MIN_FREQ 729600
CPU_A78_0 MAX_FREQ 960000
GPU MIN_FREQ 0
GPU MAX_FREQ 408000000
GPU_POWER_CONTROL_DISABLE GPU_PWR_CNTL_DIS auto
EMC MAX_FREQ 2133000000

# mandatory section to configure the default power mode
< PM_CONFIG DEFAULT=0 >

Having the exact same issue. Commenting here to get responses about a resolution.

Hello @azulu @mvisnesky

For enabling the Jetson Orin Nano Super Mode Configuration, please take a look at the instructions at Exploring NVIDIA Jetson Orin Nano Super Mode performance using Generative AI

This is for a Developer kit, but it could work as a guide for you.

Please, let me know if this works for you.

Regards!
Eduardo Salazar
Embedded SW Engineer at RidgeRun

Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com

1 Like

Giving this a shot right now. I think I see where the issue is coming from…

Specifically this line in the flash command: jetson-orin-nano-devkit-super. I will update this comment after testing to let you know if it was successful or not.

@EduardoSalazar96 Thanks very much for you help and your time!

This is still not working using the instructions in the link you provided. I downloaded Jetpack 6.1 via the SDK, ran all the commands in the instructions. This error always comes up: Error: Invalid target board - jetson-orin-nano-devkit-super.

Hello @mvisnesky

Thank you for coming back with further details.

Ok, let’s do some debugging. I have the following files in the following path ~/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NANO_8GB_DEVKIT/Linux_for_Tegra$

~/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NANO_8GB_DEVKIT/Linux_for_Tegra$ 
>>> ls
apply_binaries.sh                            odmfuse.func
bootloader                                   odmfuseread.sh
build_l4t_bup.sh                             odmfuse.sh
flash.sh                                     p3509-a02-p3767-0000.conf
generate_capsule                             p3701.conf.common
igx-orin-devkit.conf                         p3737-0000-p3701-0000-as-p3701-0004.conf
initrdlog                                    p3737-0000-p3701-0000-as-p3767-0000.conf
jetson_additional_board_spec.cfg             p3737-0000-p3701-0000-as-p3767-0001.conf
jetson-agx-orin-devkit-as-jao-32gb.conf      p3737-0000-p3701-0000-as-p3767-0003.conf
jetson-agx-orin-devkit-as-nano4gb.conf       p3737-0000-p3701-0000-as-p3767-0004.conf
jetson-agx-orin-devkit-as-nano8gb.conf       p3737-0000-p3701-0000.conf
jetson-agx-orin-devkit-as-nx-16gb.conf       p3737-0000-p3701-0000.conf.common
jetson-agx-orin-devkit-as-nx-8gb.conf        p3737-0000-p3701-0000-maxn.conf
jetson-agx-orin-devkit.conf                  p3737-0000-p3701-0000-qspi.conf
jetson-agx-orin-devkit-industrial.conf       p3737-0000-p3701-0008.conf
jetson-agx-orin-devkit-industrial-maxn.conf  p3737-0000-p3701-0008-maxn.conf
jetson-agx-orin-devkit-industrial-qspi.conf  p3737-0000-p3701-0008-qspi.conf
jetson-agx-orin-devkit-maxn.conf             p3740-0002-p3701-0008.conf
jetson_board_spec.cfg                        p3740-0002-p3701-0008-qspi.conf
jetson-orin-nano-devkit.conf                 p3767.conf.common
jetson-orin-nano-devkit-nvme.conf            p3768-0000-p3767-0000-a0.conf
jetson-orin-nano-devkit-super.conf           p3768-0000-p3767-0000-a0-maxn.conf
jetson-orin-nano-devkit-super-nvme.conf      p3768-0000-p3767-0000-a0-nvme.conf
kernel                                       p3768-0000-p3767-0000-a0-qspi.conf
l4t_generate_soc_bup.sh                      p3768-0000-p3767-0000-super.conf
l4t_sign_image.sh                            p3768-0000-p3767-0000-super-nvme.conf
l4t_uefi_sign_image.sh                       README_Autoflash.txt
nvautoflash.sh                               rootfs
nvmassfusegen.sh                             source
nvsdkmanager_flash.sh                        Tegra_Software_License_Agreement-Tegra-Linux.txt
nv_tegra                                     temp_initrdflash
nv_tools                                     tools

Please notice that there is a jetson-orin-nano-devkit-super.conf file. Do you see the same file in you environment?

No I do not have this file… I am not certain how to obtain that though… My sdk manager is freshly updated to the newest version, I am on Jetpack6.1 / tegra-linux 36.4. Would you mind sharing the contents of that configuration file?

I am also wondering where you are downloading your Linux_for_Tegra sources from? The SDK manager seems to be broken in this regard, where its not actually downloading the newest files.

I do not think that this would resolve the issue since the SDK manager should download all the needed files and also the flash process needs a bunch of files, not only the .config file

I downloaded them using the SDK manager.

Could you please share the ls output from the JetPack_6.1_Linux_JETSON_ORIN_NANO_8GB_DEVKIT/Linux_for_Tegra path?

apply_binaries.sh                        jetson-agx-orin-devkit-industrial-maxn.conf  odmfuse.func                              p3737-0000-p3701-0008-maxn.conf
bootloader                               jetson-agx-orin-devkit-industrial-qspi.conf  odmfuseread.sh                            p3737-0000-p3701-0008-qspi.conf
build_l4t_bup.sh                         jetson-agx-orin-devkit-maxn.conf             odmfuse.sh                                p3740-0002-p3701-0008.conf
flash.sh                                 jetson_board_spec.cfg                        p3509-a02-p3767-0000.conf                 p3740-0002-p3701-0008-qspi.conf
generate_capsule                         jetson-orin-nano-devkit.conf                 p3701.conf.common                         p3767.conf.common
igx-orin-devkit.conf                     jetson-orin-nano-devkit-nvme.conf            p3737-0000-p3701-0000-as-p3701-0004.conf  p3768-0000-p3767-0000-a0.conf
initrdlog                                kernel                                       p3737-0000-p3701-0000-as-p3767-0000.conf  p3768-0000-p3767-0000-a0-maxn.conf
jetson_additional_board_spec.cfg         l4t_generate_soc_bup.sh                      p3737-0000-p3701-0000-as-p3767-0001.conf  p3768-0000-p3767-0000-a0-nvme.conf
jetson-agx-orin-devkit-as-jao-32gb.conf  l4t_sign_image.sh                            p3737-0000-p3701-0000-as-p3767-0003.conf  p3768-0000-p3767-0000-a0-qspi.conf
jetson-agx-orin-devkit-as-nano4gb.conf   l4t_uefi_sign_image.sh                       p3737-0000-p3701-0000-as-p3767-0004.conf  README_Autoflash.txt
jetson-agx-orin-devkit-as-nano8gb.conf   nvautoflash.sh                               p3737-0000-p3701-0000.conf                rootfs
jetson-agx-orin-devkit-as-nx-16gb.conf   nvmassfusegen.sh                             p3737-0000-p3701-0000.conf.common         source
jetson-agx-orin-devkit-as-nx-8gb.conf    nvsdkmanager_flash.sh                        p3737-0000-p3701-0000-maxn.conf           Tegra_Software_License_Agreement-Tegra-Linux.txt
jetson-agx-orin-devkit.conf              nv_tegra                                     p3737-0000-p3701-0000-qspi.conf           temp_initrdflash
jetson-agx-orin-devkit-industrial.conf   nv_tools                                     p3737-0000-p3701-0008.conf                tools

Latest Version of SDK Manager:

No client update available.
Latest version of SDK Manager is already installed (2.2.0.12028).

I have this version

sdkmanager --ver
2.2.0.12021

I will update and check if the necessary files are downloaded.

1 Like

@mvisnesky

I downloaded the flash image again and I do see the super config file. Please, check the following image for the SDKmanager configuration.

Now, my sdkmanager version is

sdkmanager --ver
2.2.0.12028

The same as yours.

1 Like

… why would this not be the case on my end then? This makes no sense whatsoever.

Can I see you ~/nvidia/nvidia_sdk/ path?

Or where are the folders downloaded in your environment?

I finally see this conf file show up, its only available in the devkit download, versus the regular 8GB download. Thank you for your help… I will give this a shot now.

Am I to believe that its only possible to use this with the devkit?? So for a custom carrier board with the SOM, this will not work??

I haven’t tried with a custom carrier board since I only have a local Devkit at this moment. So I am unsure if it would work.

You could give it a try and let us know your results!

Regards!

1 Like

Hi @EduardoSalazar96 ,

So there isn’t any other way to enable this power option than reflashing the Jetson with the new JetPack 6.1.1 revision?
Having to do another time the kernel customization is a long process, and it is prone to errors…

Thank you.