HDMI Screen Blank on Resume for Jetson Orin Nano
Issue Overview
Users of the Jetson Orin Nano are experiencing a blank screen issue when resuming the system from suspend mode. The problem occurs specifically during the following sequence:
- The system is put into suspend mode using the command
sudo systemctl suspend
- The user attempts to wake up the system using the keyboard
- Upon resume, the HDMI screen remains blank
This issue appears to be related to CPU/GPU functionality, as indicated by the system logs provided. The problem significantly impacts the user experience by preventing normal operation after a suspend cycle.
Possible Causes
-
CPU/GPU Synchronization Error: The log shows a CPU error related to the dce-fabric, which could indicate a problem with CPU initialization during resume.
-
GPU Driver Issue: The nvgpu error message suggests a timeout occurred when trying to acquire a semaphore, pointing to a potential GPU driver problem.
-
Power Management Conflict: The suspend/resume cycle may be triggering a conflict in power management between the CPU and GPU components.
-
HDMI Handshake Failure: There could be an issue with re-establishing the HDMI connection after the system resumes from suspend.
-
Firmware or BIOS Incompatibility: The system’s firmware or BIOS might not be fully compatible with the suspend/resume functionality for this specific hardware configuration.
Troubleshooting Steps, Solutions & Fixes
-
Update System Software:
- Ensure you are running the latest version of JetPack SDK for your Jetson Orin Nano.
- Update the system using the following commands:
sudo apt update sudo apt upgrade
-
Check and Update GPU Drivers:
- Verify the current GPU driver version:
nvidia-smi
- If outdated, download and install the latest GPU drivers from the NVIDIA website.
- Verify the current GPU driver version:
-
Modify Power Management Settings:
- Edit the GRUB configuration file:
sudo nano /etc/default/grub
- Add the following parameter to the
GRUB_CMDLINE_LINUX_DEFAULT
line:acpi_sleep=nonvs
- Update GRUB:
sudo update-grub
- Edit the GRUB configuration file:
-
Disable and Re-enable the GPU:
- Create a script to unload and reload the GPU module after resume:
#!/bin/bash echo 'Unloading NVIDIA GPU module...' sudo rmmod nvidia_drm sudo rmmod nvidia_modeset sudo rmmod nvidia echo 'Reloading NVIDIA GPU module...' sudo modprobe nvidia sudo modprobe nvidia_modeset sudo modprobe nvidia_drm
- Save this script as
/usr/local/bin/gpu-reload.sh
and make it executable:sudo chmod +x /usr/local/bin/gpu-reload.sh
- Create a systemd service to run this script on resume:
sudo nano /etc/systemd/system/gpu-reload.service
- Add the following content:
[Unit] Description=Reload NVIDIA GPU modules after resume After=suspend.target [Service] ExecStart=/usr/local/bin/gpu-reload.sh [Install] WantedBy=suspend.target
- Enable the service:
sudo systemctl enable gpu-reload.service
- Create a script to unload and reload the GPU module after resume:
-
Check HDMI Connection:
- Ensure the HDMI cable is securely connected on both ends.
- Try a different HDMI cable or port if available.
- Test with a different monitor to rule out display compatibility issues.
-
Investigate Logs:
- After experiencing the issue, check the system logs for more detailed error messages:
sudo journalctl -b -1
- Look for entries related to GPU, display, or power management around the time of resume.
- After experiencing the issue, check the system logs for more detailed error messages:
-
Test with Default Configuration:
- If you’ve made any custom configurations, try reverting to the default settings to see if the issue persists.
-
Verify with Developer Kit:
- As suggested in the forum, try to reproduce the issue using the official Jetson Orin Nano Developer Kit to determine if it’s a hardware-specific problem.
-
BIOS/Firmware Update:
- Check for any available BIOS or firmware updates for your specific hardware configuration and apply them if available.
If the issue persists after trying these solutions, consider opening a new support ticket with NVIDIA, providing detailed information about your hardware configuration, software versions, and the steps you’ve taken to troubleshoot the problem.