Long Wake-up Time from Suspend on Nvidia Jetson Orin Nano Dev Board

Issue Overview

Users of the Nvidia Jetson Orin Nano Developer Kit are experiencing a significant delay when waking up from suspend mode. The issue is characterized by:

  • Wake-up times ranging from 3 to 7 seconds
  • Occurs consistently when resuming from suspend (systemctl suspend)
  • Affects systems running Jetpack 5.1.1 [L4T 35.3.1] and Jetpack 5.1.3
  • The delay is particularly noticeable on systems with a display, as the screen takes longer to come back
  • The problem appears to be specific to Orin Nano systems, as it was not observed on previous Xavier NX systems

The long wake-up time significantly impacts user experience, especially in scenarios where quick resume is expected.

Possible Causes

  1. Graphics Subsystem Delay: The primary bottleneck appears to be in the graphics system coming back online after suspend.

  2. Ubuntu Upstream Issues: Part of the delay may be attributed to upstream Ubuntu components.

  3. Display Structure Differences: The Orin Nano has a different display structure compared to previous models, which could contribute to the longer wake-up times.

  4. Gnome Desktop Environment: The relaunch time of the Gnome desktop environment may be adding to the overall delay.

  5. Hardware-Specific Factors: The issue seems to be more pronounced on Orin Nano systems, suggesting possible hardware-specific causes.

  6. Driver or Firmware Issues: Although not explicitly mentioned, there could be driver or firmware-related factors contributing to the delay.

Troubleshooting Steps, Solutions & Fixes

  1. Update to Latest BSP Version:

    • Try updating to the latest BSP (Board Support Package) version available for your Jetson Orin Nano.
    • Note: Users reported no improvement with Jetpack 5.1.3.
  2. Disable Bluetooth Module:

    • Attempt to remove the Bluetooth module to see if it improves wake-up time:
      sudo rmmod rtk_btusb
      
    • Note: This did not show significant improvement in the reported case.
  3. Use Serial Console for Testing:

    • To isolate the graphics-related delay, test the wake-up time using only the serial console:
      • Connect to the serial console of the Jetson Orin Nano.
      • Initiate suspend and measure the time until you see a response in the console.
    • This method showed a quicker response (2-3 seconds) compared to waiting for the display to come back.
  4. Collect and Analyze Logs:

    • Gather comprehensive logs for further analysis:
      • UART log
      • Kernel log
      • Syslog
    • Use dmesg command to view kernel messages related to suspend/resume.
  5. Investigate Graphics Driver and Display Manager:

    • Check for any available updates to the NVIDIA graphics drivers for Jetson.
    • Consider testing with a different display manager or a lighter desktop environment to see if it improves wake-up time.
  6. Monitor Temperature and Power:

    • Ensure the device is not throttling due to temperature issues.
    • Check if the power supply is adequate and stable.
  7. Disable Unnecessary Services:

    • Identify and disable any non-essential services that might be initializing during wake-up:
      sudo systemctl list-unit-files --state=enabled
      sudo systemctl disable <service-name>
      
  8. Custom Kernel Configuration:

    • For advanced users, consider customizing the kernel to optimize suspend/resume processes.
    • This requires in-depth knowledge of the Jetson platform and Linux kernel.

It is worth mentioning that as of the last update in the forum, NVIDIA has acknowledged the issue but stated there are no immediate plans for enhancement. The bottleneck is primarily in the graphics subsystem, which is challenging to optimize further.

For users who require faster wake-up times, consider alternatives to full suspend, such as implementing a low-power idle state that doesn’t fully suspend the graphics subsystem.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *