Why did the 9160 fail to resolve the domain name?

I developed a product on 9160 using the ncs1.9.0 SDK and the 1.3.2 modem firmware. When debugging, I found a problem. That is, when connecting to a domain name, the modem returned the error of domain name resolution failure. However, using the same hardware device, running the ncs1.2.0 SDK can connect to this address, that is, there is no problem with the network and the background domain name, Then why is there an error on ncs1.9.0? This is the modem trace I captured.

trace-2023-01-28T09-43-24.379Z.bin

This is my conf file and overlay file:

#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#
# General config
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_ASSERT=y
CONFIG_REBOOT=y
CONFIG_GPIO=y
CONFIG_TRUSTED_EXECUTION_NONSECURE=y

# Log
CONFIG_LOG=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LOG_MODE_OVERFLOW=y
CONFIG_LOG_BACKEND_RTT_MODE_DROP=y
CONFIG_LOG_BACKEND_SHOW_COLOR=n
CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=n

# watch dog
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_TIMEOUT_MSEC=10000

# Modem info
CONFIG_MODEM_INFO=y

# Modem library
CONFIG_NRF_MODEM_LIB=y
CONFIG_NRF_MODEM_LIB_SYS_INIT=n
CONFIG_NRF_MODEM_LIB_TRACE_ENABLED=y

# BSD library
#CONFIG_BSD_LIBRARY=y
#CONFIG_BSD_LIBRARY_TRACE_ENABLED=n

# NVS
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_NVS=y
CONFIG_NVS_LOG_LEVEL_DBG=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y

# GPS
# Enable to use an external GNSS antenna
CONFIG_GNSS_SAMPLE_ANTENNA_EXTERNAL=y
# Enable to use nRF Cloud A-GPS
CONFIG_GNSS_SAMPLE_ASSISTANCE_NRF_CLOUD=n
# Secure User-Plane Location (SUPL) client library (https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/others/supl_os_client.html)
CONFIG_GNSS_SAMPLE_ASSISTANCE_SUPL=y

# AT_CMD
#CONFIG_AT_HOST_LIBRARY=y
#CONFIG_UART_INTERRUPT_DRIVEN=y

# Console
CONFIG_CONSOLE_SUBSYS=n
CONFIG_CONSOLE_HANDLER=n
CONFIG_CONSOLE_GETCHAR=n
CONFIG_CONSOLE=y
CONFIG_RTT_CONSOLE=y
CONFIG_UART_CONSOLE=n

# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
CONFIG_LTE_NETWORK_USE_FALLBACK=y
CONFIG_LTE_NETWORK_TIMEOUT=180
CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=n
CONFIG_LTE_NETWORK_MODE_NBIOT_GPS=y

# PSM
CONFIG_MODEM_AUTO_REQUEST_POWER_SAVING_FEATURES=y
# Set Periodic-TAU timer to 1 hour and Active-Time to 10 seconds.
CONFIG_LTE_PSM_REQ_RPTAU="01000110"
CONFIG_LTE_PSM_REQ_RAT="00000101"

# MQTT
CONFIG_MQTT_LIB=y
CONFIG_MQTT_LIB_TLS=n
CONFIG_MQTT_KEEPALIVE=300
CONFIG_MQTT_PUB_TOPIC="device/e2/pushdata"
CONFIG_MQTT_SUB_TOPIC="device/e2/"
CONFIG_MQTT_CLIENT_ID="my-client-id"
CONFIG_MQTT_USER_NAME="admin123"
CONFIG_MQTT_PASSWORD="admin123"
CONFIG_MQTT_DOMESTIC_BROKER_HOSTNAME="47.107.51.89"
CONFIG_MQTT_DOMESTIC_BROKER_PORT=1883
CONFIG_MQTT_FOREIGN_BROKER_HOSTNAME="18.135.53.53"
CONFIG_MQTT_FOREIGN_BROKER_PORT=1883
CONFIG_MQTT_MESSAGE_BUFFER_SIZE=512
CONFIG_MQTT_PAYLOAD_BUFFER_SIZE=512

# Library for buttons and LEDs
CONFIG_DK_LIBRARY=y
CONFIG_DK_LIBRARY_INVERT_LEDS=n

# Heap and stacks
CONFIG_HEAP_MEM_POOL_SIZE=16384
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
CONFIG_HW_STACK_PROTECTION=y

# SPI
CONFIG_SPI=y

# I2C
CONFIG_I2C=y

# UART
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# ANIMATION
CONFIG_ANIMATION_SUPPORT=y

# PPG
CONFIG_PPG_SUPPORT=n

# IMU
CONFIG_IMU_SUPPORT=n
CONFIG_STEP_SUPPORT=n
CONFIG_SLEEP_SUPPORT=n
CONFIG_FALL_DETECT_SUPPORT=n

# WIFI
CONFIG_WIFI_SUPPORT=n

# TP
CONFIG_TOUCH_SUPPORT=y

# AUDIO
CONFIG_AUDIO_SUPPORT=n

# Data Sync
CONFIG_SYNC_SUPPORT=y

# Temperature
CONFIG_TEMP_SUPPORT=n

# CRC Check
CONFIG_CRC_SUPPORT=y

# DEVICE POWER MANAGEMENT
CONFIG_PM_DEVICE=y

# Download client
CONFIG_DOWNLOAD_CLIENT=y
CONFIG_DOWNLOAD_CLIENT_MAX_HOSTNAME_SIZE=192
CONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE=64
CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096

# DATA UPDATE
CONFIG_DATA_DOWNLOAD_SUPPORT=y
CONFIG_DATA_DOWNLOAD_HOST_HK="aug-fm-files-hk.oss-cn-hongkong.aliyuncs.com"
CONFIG_DATA_DOWNLOAD_HOST_CN="aug-fm-files-cn.oss-cn-shenzhen.aliyuncs.com"
# IMG
CONFIG_IMG_DATA_UPDATE=y
CONFIG_IMG_DATA_DOWNLOAD_FILE="e2_img.bin"
# FONT
CONFIG_FONT_DATA_UPDATE=y
CONFIG_FONT_DATA_DOWNLOAD_FILE="e2_font.bin"
# PPG
CONFIG_PPG_DATA_UPDATE=y
CONFIG_PPG_DATA_DOWNLOAD_FILE="e2_ppg.bin"

# fota download
CONFIG_FOTA_DOWNLOAD=y
CONFIG_FOTA_DOWNLOAD_PROGRESS_EVT=y
CONFIG_FOTA_DOWNLOAD_HOST_HK="aug-fm-files-hk.oss-cn-hongkong.aliyuncs.com"
CONFIG_FOTA_DOWNLOAD_HOST_CN="aug-fm-files-cn.oss-cn-shenzhen.aliyuncs.com"
CONFIG_FOTA_DOWNLOAD_FILE="e2_update.bin"

# Image manager
CONFIG_IMG_MANAGER=y
CONFIG_FLASH=y
CONFIG_IMG_ERASE_PROGRESSIVELY=y

# DFU Target
CONFIG_DFU_TARGET=y

# Modem key management
CONFIG_MODEM_KEY_MGMT=y

# Application Upgrade support
CONFIG_BOOTLOADER_MCUBOOT=y

&spi2{
	compatible = "nordic,nrf-spim";
	status = "disabled";
	sck-pin = <3>;
	mosi-pin = <4>;
	miso-pin = <5>;
};

&spi3{
	compatible = "nordic,nrf-spim";
	status = "okay";
	sck-pin = <22>;
	mosi-pin = <20>;
	miso-pin = <5>;
};

&i2c1{
	compatible = "nordic,nrf-twim";
	status = "disabled";
	sda-pin = <30>;
	scl-pin = <31>;
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c2{
	compatible = "nordic,nrf-twim";
	status = "disabled";
};

&uart0 {
	status = "disabled";
	current-speed = <115200>;
	tx-pin = <12>;
	rx-pin = <11>;
	/* delete rts-pin&cts-pin to release the related 2 pins for other uses */
	/delete-property/ rts-pin;
	/delete-property/ cts-pin;	
};

&uart1{
	status = "okay";
	current-speed = <115200>;
	tx-pin = <12>;
	rx-pin = <11>;
	/* delete rts-pin&cts-pin to release the related 2 pins for other uses */
	/delete-property/ rts-pin;
	/delete-property/ cts-pin;	
};

&uart2{
	status = "okay";
	current-speed = <115200>;
	tx-pin = <18>;
	rx-pin = <19>;
	/* delete rts-pin&cts-pin to release the related 2 pins for other uses */
	/delete-property/ rts-pin;
	/delete-property/ cts-pin;
};

Parents Reply Children
  • Hi Charlie:

    After a long period of comparative testing, we eliminated SIM card issues, operator issues, and server issues one by one. Based on the results of the comparative testing, we can draw the following conclusion:

    1. Whether the old hardware circuit board is equipped with firmware of ncs1.2.0+modem fw 1.2.0 or ncs1.9.0+modem fw 1.3.2, it can interpret and connect my domain name normally;

    2. The new hardware circuit board equipped with firmware of ncs1.2.0+modem fw1.3.2 can work normally, but firmware equipped with ncs1.9.0+modem fw1.3.2 will return a domain name explanation failure.

    Therefore, we suspect that either there is a significant difference in domain name resolution between ncs1.9.0 and ncs1.2.0, or there is an issue with the layout of our hardware circuit board. What should we do next?

  • Hi Biao,

    1) What is the difference between old and new hardware? Can you share the hardware review request ticket for both of them?

    2) For the "ncs1.9.0+modem fw1.3.2 will return a domain name explanation failure" issue, can you share the log printout and modem trace file?

    Best regards,

    Charlie

  • Hi Caerlie,

        1)  I will share the old hardware and new hardware

        2)Regarding the issue of log and modem trace output, from the application layer's log, it runs to file download_ The function host for client. c_ In lookup, an error was returned when executing getaddrinfo, and unfortunately, regarding the trace information of the modem, as I mentioned before, when parsing failed, an error was immediately returned and no useful information was found in the trace.

    old_schematic.pdf

    old_layout.xlsx

    new_schematic.pdf

    new_layout.xlsx

  • Hi Biao,

    Ok, it seems your HW design is not reviewed by us before. I have the following suggestions for debugging this issue.

    1) You generate a private ticket to request HW review for the latest version and share the link here. I will get one of our HW experts to help you with it. You can properly explain the differences between these two versions, but getting the new HW reviewed is important.

    2) For the firmware part, unfortunately, your description does not help too much, and I need to see the log and modem files for further analysis. I recently also handle one case related to DNS issues, so I designed some verification codes based on the simple UDP sample here. If you can test with this sample and share the log and modem trace here, it would be very helpful. Some combinations worth trying:

    a. NCS1.9.0+MFW1.3.2

    b. NCS2.4.0+MFW1.3.5

    c. DK+ same SIM card.

    Best regards,

    Charlie

  • Hi Biao,

    Ok, it seems your HW design is not reviewed by us before. I have the following suggestions for debugging this issue.

    1) You generate a private ticket to request HW review for the latest version and share the link here. I will get one of our HW experts to help you with it. You can properly explain the differences between these two versions, but getting the new HW reviewed is important.

    2) For the firmware part, unfortunately, your description does not help too much, and I need to see the log and modem files for further analysis. I recently also handle one case related to DNS issues, so I designed some verification codes based on the simple UDP sample here. If you can test with this sample and share the log and modem trace here, it would be very helpful. Some combinations worth trying:

    a. NCS1.9.0+MFW1.3.2

    b. NCS2.4.0+MFW1.3.5

    c. DK+ same SIM card.

    Best regards,

    Charlie

Related