Sometimes, you get one ssh access to a device, and you want to confirm that you are connected to one NVIDIA Jetson Nano.
NVIDIA Jetson Nano is an embedded system-on-module (SoM), instead of using one screwdriver to get the module details, we can try to use software tools.
Most of the time I’m using dmidecode
to identify my hardware server type, but ARM is not standardized as x86 platforms.
When you try to use dmidecode on Jetson Nano, you’ve got an error:
moore@neuralux:~$ sudo dmidecode
# dmidecode 3.1
# No SMBIOS nor DMI entry point found, sorry.
dmidecode
is a tool for dumping a computer’s DMI also called SMBIOS.
The tool is exporting a table contents.
On this platform we are not on x86_64
but aarch64
:
moore@neuralux:~$ uname -m
aarch64
dmidecode
can be used to detect server type, but not for all platforms.
lshw
can help to find the server model and product names we can see the product jetson-nano
:
moore@neuralux:~$ sudo lshw -C system
neuralux.lan.net.com
description: Computer
product: jetson-nano
serial: 01010101010101010
width: 64 bits
capabilities: smp cp15_barrier setend swp
To get all information as capabilities or usbhost, you need to run lshw
as root:
moore@neuralux:~$ lshw | wc -l
WARNING: you should run this program as super-user.
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
111
moore@neuralux:~$ sudo lshw | wc -l
147
hwinfo
can help to find the vendor type.
moore@neuralux:~$ sudo hwinfo | grep vendor
vendor = 0x10de
subvendor = 0x10de
vendor = 0x10ec
subvendor = 0x10ec
0x10de
is the NVIDIA vendor type, NVIDIA is building may type of servers, but it’s giving information on the server vendor.
inxi
cannot find the server model or product:
moore@neuralux:~$ inxi
CPU~Quad core ARMv8 rev 1 (v8l) (-MCP-) speed~518 MHz Kernel~4.9.140-tegra aarch64 Up~19 min Mem~596.5/3964.6MB HDD~NA(-) Procs~234 Client~Shell inxi~2.3.56
tegrastats
is a tool provided by NVIDIA for the Jetson platform. The tegrastats
reports memory usage and processor usage for Jetson-based devices, so when you get some data, it means that you are on one Jetson:
moore@neuralux:~$ tegrastats
RAM 594/3965MB (lfb 696x4MB) CPU [2%@102,1%@102,1%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% [email protected] [email protected] PMIC@100C [email protected] AO@36C [email protected] POM_5V_IN 780/780 POM_5V_GPU 0/0 POM_5V_CPU 123/123
RAM 594/3965MB (lfb 696x4MB) CPU [1%@102,0%@102,0%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% [email protected] CPU@26C PMIC@100C [email protected] [email protected] [email protected] POM_5V_IN 780/780 POM_5V_GPU 0/0 POM_5V_CPU 123/123
RAM 594/3965MB (lfb 696x4MB) CPU [2%@102,0%@102,0%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% [email protected] [email protected] PMIC@100C [email protected] AO@36C [email protected] POM_5V_IN 780/780 POM_5V_GPU 0/0 POM_5V_CPU 123/123
RAM 594/3965MB (lfb 696x4MB) CPU [4%@102,0%@102,0%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% [email protected] [email protected] PMIC@100C [email protected] [email protected] [email protected] POM_5V_IN 780/780 POM_5V_GPU 0/0 POM_5V_CPU 123/123
RAM 594/3965MB (lfb 696x4MB) CPU [2%@102,0%@102,0%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% [email protected] [email protected] PMIC@100C [email protected] AO@36C [email protected] POM_5V_IN 780/780 POM_5V_GPU 0/0 POM_5V_CPU 123/123
jetson-stats
is a package for monitoring and control the NVIDIA Jetson.
This tool is a contribution of Raffaello Bonghi, you can find the sources here: https://github.com/rbonghi/jetson_stats
jetson-stats
works with all NVIDIA Jetson ecosystem:
You can clone the repository or just use pip
to install jetson-stats
:
$ sudo -H pip install -U jetson-stats
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting jetson-stats
Downloading https://files.pythonhosted.org/packages/6c/1b/d926995bee8983cbd4176c5c3f103f8e5198292057c45d82198baccd1077/jetson-stats-3.0.2.tar.gz (85kB)
|████████████████████████████████| 92kB 5.8MB/s
Building wheels for collected packages: jetson-stats
Building wheel for jetson-stats (setup.py) ... done
Created wheel for jetson-stats: filename=jetson_stats-3.0.2-cp27-none-any.whl size=104608 sha256=9d4a72ee19d15db032574ca0aa20ac146e43e2436149d1d838f1460a2f2ac84d
Stored in directory: /root/.cache/pip/wheels/10/b8/2b/ef6fb5ee6a93798ea12e7fd2eb24f87526543f30428ab4a54c
Successfully built jetson-stats
Installing collected packages: jetson-stats
Successfully installed jetson-stats-3.0.2
WARNING: You are using pip version 19.2.3, however version 20.2.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Check the jetson-stats
output:
moore@neuralux:~$ jetson_release
- NVIDIA Jetson Nano (Developer Kit Version)
* Jetpack 4.2 [L4T 32.1.0]
* NV Power Mode: MAXN - Type: 0
* jetson_stats.service: active
- Libraries:
* CUDA: 10.0.166
* cuDNN: 7.3.1.28
* TensorRT: 5.0.6.3
* Visionworks: 1.6.0.500n
* OpenCV: 3.3.1 compiled CUDA: NO
* VPI: NOT_INSTALLED
* Vulkan: 1.1.70
jetson-stats
is the tool that will provide more information.