.. SPDX-License-Identifier: GPL-2.0+: .. index:: single: sntp (command) sntp command ============ Synopsis -------- :: sntp [serverip] sntp [servername] # NET_LWIP=y && CMD_DNS=y only Description ----------- The sntp command gets the current time from an NTP time server and syncronizes the Real Time Clock (RTC) of the board. This command needs the server's IP address to be given on the command line or via the `ntpserverip` environment variable. The address of the NTP server does not need to be given if the DHCP server provides one. The legacy network stack (`CONFIG_NET=y`) can only use the first NTP server provided in the `ntp-servers` DHCP option. When the network stack is lwIP (`CONFIG_NET_LWIP=y`) and the dns command is enabled (`CONFIG_CMD_DNS=y`), then the sntp command accepts a server name as an argument. The network time is sent as UTC. So, if you want to set the RTC to any local time different from UTC, you need to set the `timeoffset` environment variable. Round-trip delay compensation is not implemented/not enabled. In practice this should not matter much given that the RTC API does not have sub-second resolution, and round-trip times are typically 10 to 100 ms at most. Examples -------- :: => setenv ntpserverip 109.190.177.205 => date Date: 2025-06-16 (Monday) Time: 15:19:35 => date reset Reset RTC... Date: 2000-01-01 (Saturday) Time: 0:00:00 => date Date: 2000-01-01 (Saturday) Time: 0:00:03 => sntp Date: 2025-06-16 Time: 15:19:43 => date Date: 2025-06-16 (Monday) Time: 15:19:47 => setenv timeoffset 7200 => sntp Date: 2025-06-16 Time: 17:19:55 => date Date: 2025-06-16 (Monday) Time: 17:19:57 With `CONFIG_NET_LWIP=y` and `CONFIG_CMD_DNS=y`: :: => date reset Reset RTC... Date: 2000-01-01 (Saturday) Time: 0:00:00 => sntp 0.us.pool.ntp.org Date: 2025-06-16 Time: 15:10:59