Nvphs error on custom carrier board without display

Hi,
I’m using custom carrier board without any display/hdmi port. TX2NX on Jetpack 4.6.2.
But nvphs service looks failed to run

● nvphs.service - NVIDIA PHS daemon
     Loaded: loaded (/lib/systemd/system/nvphs.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-11-10 16:52:03 CET; 1min 59s ago
    Process: 3690 ExecStartPre=/usr/sbin/nvphsd_setup.sh (code=exited, status=0/SUCCESS)
   Main PID: 4021 (nvphsd)
      Tasks: 2 (limit: 3688)
     Memory: 2.1M
     CGroup: /system.slice/nvphs.service
             ├─4021 /usr/sbin/nvphsd
             └─4024 /usr/sbin/nvphsd

Nov 10 16:52:02 Orbit-3900 systemd[1]: Starting NVIDIA PHS daemon...
Nov 10 16:52:03 Orbit-3900 systemd[1]: Started NVIDIA PHS daemon.
Nov 10 16:52:03 Orbit-3900 phs[4024]: W/ nvphs:machine: config is missing "display_state_fmt" (/dvs/git/dirty/git-master_linux/services-partner/ussrd/machine.c:725):
Nov 10 16:52:03 Orbit-3900 phs[4024]: E/ nvphs: Failed to initialize sysfs readers. Exiting.
Nov 10 16:52:03 Orbit-3900 phs[4024]: E/ nvphs: Initialization Failed! Entering Zombie mode

And on nvargus-daemon log, it has some errors when opening camera

Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: NvPclHwGetModuleList: No module data found
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: ---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: E/ libnvphs:socket: Error[111]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: Connection refused
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: E/ libnvphs:socket: Error[111]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: Connection refused
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: CAM: serial no file already exists, skips storing again=== camera-streamer[4228]: CameraProvider initialized (0x7f948c5900)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
Nov 10 16:52:04 Orbit-3900 nvargus-daemon[3956]: E/ libnvphs: Error: NvPHSSendThroughputHints[usecase=camera, hint=MinCPU, value=4294967295, timeout_ms=1000]: queue_or_send() failed

Tried to set display_state_fmt=/dev/null in /etc/nvphsd_common.conf file. The nvphs service looks running, no error log in nvargus-daemon, but nvphs service generates error log every second:

Nov 10 16:57:56 Orbit-3900 phs[4907]: E/ nvphs:parse: could not parse integer ""
Nov 10 16:57:56 Orbit-3900 phs[4907]: E/ nvphs: could not update display state
Nov 10 16:57:57 Orbit-3900 phs[4907]: E/ nvphs:parse: could not parse integer ""
Nov 10 16:57:57 Orbit-3900 phs[4907]: E/ nvphs: could not update display state
Nov 10 16:57:58 Orbit-3900 phs[4907]: E/ nvphs:parse: could not parse integer ""
Nov 10 16:57:58 Orbit-3900 phs[4907]: E/ nvphs: could not update display state
Nov 10 16:57:59 Orbit-3900 phs[4907]: E/ nvphs:parse: could not parse integer ""
Nov 10 16:57:59 Orbit-3900 phs[4907]: E/ nvphs: could not update display state

Does this error log impact other parts? Or how to configure nvphs correctly for system without display?

This issue doesn’t happen on JP4.5.

hello HnilND,

why don’t you disable nvphs.service?

Hi Jerry,
I’m not sure it is important service or not. Is it important?

Is this still an issue to support? Any result can be shared? Thanks

It is still working if I disable nvphs.service. Just some error log in nvargus-daemon.