How to Collect InfiniBand Transceiver Temperature (Non-Root Method)

How to Collect InfiniBand Transceiver Temperature (Non-Root Method)

1. Purpose

This document explains how to collect InfiniBand (IB) transceiver (QSFP module) temperature from servers using the Linux sysfs hwmon interface without requiring root privileges.

This method applies to systems using Mellanox / NVIDIA mlx5-based adapters (e.g., ConnectX series).


2. Scope

  • HGX Nodes

  • Management Nodes

  • Any server with mlx5_* IB devices

Works when:

  • Root access is not available

  • Only temperature verification is required


3. Prerequisites

  • SSH access to the server

  • IB driver loaded (mlx5_core)

  • /sys/class/infiniband/ available

Verify IB devices:

ls /sys/class/infiniband/

Expected output:

mlx5_0 mlx5_1 mlx5_2 ...


4. Collect Transceiver Temperature (Single Device)

Example for mlx5_0:

cat /sys/class/infiniband/mlx5_0/device/hwmon/hwmon*/temp*_label
cat /sys/class/infiniband/mlx5_0/device/hwmon/hwmon*/temp*_input

Sample Output

asic
Module0
65000
62000

Interpretation

  • asic → HCA chip temperature

  • Module0 / Module1 → Transceiver temperature

  • Values are in millidegree Celsius

Convert:

62000 = 62°C


5. Collect From All IB Interfaces with Timestamp

echo "===== IB Temperature Snapshot ====="
date
for i in /sys/class/infiniband/mlx5_*; do
echo "===== $i ====="
paste \
<(cat $i/device/hwmon/hwmon*/temp*_label) \
<(cat $i/device/hwmon/hwmon*/temp*_input 2>/dev/null)
echo ""
done

To save to file:

(echo "===== IB Temperature Snapshot ====="
date
for i in /sys/class/infiniband/mlx5_*; do
echo "===== $i ====="
paste \
<(cat $i/device/hwmon/hwmon*/temp*_label) \
<(cat $i/device/hwmon/hwmon*/temp*_input 2>/dev/null)
echo ""
done
) > <hostname>_ib_temp_$(date +%F_%H-%M-%S).log


7. Temperature Threshold Reference

ComponentNormalWarningCritical
ASIC45–75°C>85°C>95°C
Transceiver30–70°C>75°C>80–85°C

If transceiver temperature exceeds 75°C:

  • Check airflow

  • Check fan speed

  • Verify BMC sensor status

  • Escalate if persistent

8. Validation

Always cross-check:

  • BMC sensor readings

  • System event logs

  • dmesg for PCIe or thermal warnings

    • Related Articles

    • How to Fetch Transceiver Details of All Ports in an InfiniBand QM9700 Switch

      Overview On NVIDIA/Mellanox QM9700 InfiniBand switches, you may need to view the transceiver details (e.g., vendor, part number, and serial number) for connected optical modules or cables. This can be useful for troubleshooting, inventory tracking, ...
    • Updating Port Description on Mellanox Switches like QM9700

      Objective To update the description for multiple InfiniBand (IB) ports on a Mellanox QM9700 series switch using the web interface. Prerequisites Administrative access to the Mellanox QM9700 switch's web interface. A pre-prepared list of commands with ...
    • Mapping mlx5_x Names to Actual InfiniBand Ports

      Purpose In large GPU/AI clusters, each compute node often has multiple InfiniBand (IB) Host Channel Adapters (HCAs). On Linux, these HCAs appear as mlx5_x devices. To troubleshoot connectivity or performance issues, it is essential to map: mlx5_x ...
    • Network Down IB Alert - Troubleshooting Guide

      Purpose This document provides a standardized approach for handling and troubleshooting the Network Down – IB alert, including L1 and L2 actions, escalation process, and resolution criteria. Alert Name Network Down – IB Alert Description This alert ...
    • Network Speed IB Alert - Troubleshooting Guide

      Purpose This document provides a standardized approach for handling and troubleshooting the Network Speed – IB alert, including L1 and L2 actions, escalation process, and resolution guidelines. Alert Name Network Speed IB Alert Description This alert ...