nRF9160DK fail to communicate with nRF7002

Hello

I am evaluating Wi-Fi location using the nRF7000 and nRF9160.

For the initial test, I used the nRF7002 Expansion Board. I soldered wires to it and connected them to the following pins on the nRF9160DK.

nRF7002-EK nRF9160-DK(P3 & P4 & P1)
CLK P0.13
CS P0.10
D0 P0.11
D1 P0.12
IRQ  P0.07
VIO  VDD
VBAT VDD
EN P0.01
GND GND

I take the sample code of the WIFI shell from here: c:\ncs\v2.6.1\nrf\samples\wifi\shell

in the prj.conf I only add 3 parameters:

#TFM
CONFIG_TFM_SECURE_UART=n
CONFIG_TFM_LOG_LEVEL_SILENCE=y

CONFIG_WIFI_NRF700X_BUS_LOG_LEVEL_DBG=y

I added an extra configuration file to the build configuration.

overlay-scan-only.conf 

and add extra CMake argument 

-DSHIELD="nrf7002ek"

Here are the build log warnings. For some reason, I can’t post the entire log because the UI gets stuck:

warning: WIFI_MGMT_EXT (defined at C:/ncs/v2.6.1/nrf\subsys\net\lib\wifi_mgmt_ext/Kconfig:7) was
assigned the value 'y' but got the value 'n'. Check these unsatisfied dependencies: WPA_SUPP (=n).
See http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_WIFI_MGMT_EXT and/or look up
WIFI_MGMT_EXT in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.


warning: NET_IF_UNICAST_IPV6_ADDR_COUNT (defined at subsys/net/ip/Kconfig.ipv6:25) was assigned the
value '4' but got the value ''. Check these unsatisfied dependencies: NET_IPV6 (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT and/or look
up NET_IF_UNICAST_IPV6_ADDR_COUNT in the menuconfig/guiconfig interface. The Application Development
Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
might be helpful too.


warning: NET_IF_MCAST_IPV6_ADDR_COUNT (defined at subsys/net/ip/Kconfig.ipv6:31) was assigned the
value '5' but got the value ''. Check these unsatisfied dependencies: NET_IPV6 (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT and/or look up
NET_IF_MCAST_IPV6_ADDR_COUNT in the menuconfig/guiconfig interface. The Application Development
Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
might be helpful too.


warning: The choice symbol WPA_SUPP_LOG_LEVEL_INF (defined at
subsys/logging/Kconfig.template.log_config:17) was selected (set =y), but no symbol ended up as the
choice selection. See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_WPA_SUPP_LOG_LEVEL_INF and/or look up
WPA_SUPP_LOG_LEVEL_INF in the menuconfig/guiconfig interface. The Application Development Primer,
Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
helpful too.


warning: Experimental symbol WIFI_CREDENTIALS is enabled.

The terminal output is:

[00:00:00.421,844] <dbg> wifi_nrf_bus: rpu_gpio_config: GPIO configuration done...

[00:00:00.424,041] <dbg> wifi_nrf_bus: rpu_pwron: Bucken = 0, IOVDD = 0
[00:00:00.424,072] <inf> wifi_nrf_bus: SPIM spi@b000: freq = 8 MHz
--- 4 messages dropped ---
[00:00:00.424,102] <inf> wifi_nrf_bus: SPIM spi@b000: latency = 0
[00:00:00.424,194] <dbg> wifi_nrf_bus: rpu_wrsr2: Written 0x1 to WRSR2
[00:00:00.424,285] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.424,316] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.425,476] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.425,476] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.426,666] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.426,666] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.427,856] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.427,886] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.429,077] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.431,457] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.432,647] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.432,647] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.433,868] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.433,868] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.435,058] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
[00:00:00.435,058] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
[00:00:00.436,157] <err> wifi_nrf_bus: RPU wakeup write ACK failed even after 10ms
[00:00:00.436,187] <err> wifi_nrf_bus: Error: RDSR2 failed
[00:00:00.436,218] <err> wifi_nrf: zep_shim_bus_qspi_dev_add: RPU enable failed with error -1
[00:00:00.436,279] <err> wifi_nrf: nrf_wifi_bus_qspi_dev_add: nrf_wifi_osal_bus_qspi_dev_add failed
[00:00:00.436,370] <err> wifi_nrf: nrf_wifi_bal_dev_add: Bus dev_add failed
[00:00:00.436,431] <err> wifi_nrf: nrf_wifi_hal_dev_add: nrf_wifi_bal_dev_add failed
[00:00:00.436,523] <err> wifi_nrf: nrf_wifi_fmac_dev_add: nrf_wifi_hal_dev_add failed
[00:00:00.436,553] <err> wifi_nrf: nrf_wifi_fmac_dev_add_zep: nrf_wifi_fmac_dev_add failed
[00:00:00.436,584] <err> wifi_nrf: nrf_wifi_if_start_zep: nrf_wifi_fmac_dev_add_zep failed
[00:00:00.440,948] <inf> fs_nvs: 2 Sectors of 4096 bytes
[00:00:00.440,948] <inf> fs_nvs: alloc wra: 0, fe8
[00:00:00.440,979] <inf> fs_nvs: data wra: 0, 0
*** Booting nRF Connect SDK v3.5.99-ncs1-1 ***
Starting nrf9160dk_nrf9160 with CPU frequency: 64 MHz
uart:~$

After this, I tested the same setup with the nRF7002-DK. I bridged the solder points from SB20 to SB25 and connected the nRF91 to the nRF7002 like this:

Board nRF9160-DK(P3 & P4) nRF7002-DK (P24)
SPI CLK P0.13 P0.17
SPI CS P0.10 P0.18
SPI MOSI P0.11 P0.13
SPI MISO P0.12 P0.14
HOST-IRQ  P0.07 P0.23
IOVDD-CTR  P0.00 P0.31
BUCKEN P0.01 P0.12
GND GND GND

I’m experiencing the same error. I even bought the nRF7002-EK, but the result is the same. I used a logic analyzer to check the CLK, CS, MOSI, and MISO lines. I see that the nRF91 sends data over MOSI, but there’s no response on MISO. Can you help me figure out if this is a hardware or software issue?

#
# Copyright (c) 2022 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
CONFIG_WIFI=y
CONFIG_WIFI_NRF700X=y

# WPA supplicant
CONFIG_WPA_SUPP=y
CONFIG_NET_L2_WIFI_SHELL=y

# System settings
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_NANO=n

# Networking
CONFIG_NETWORKING=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_LOG=y
CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y
CONFIG_NET_DHCPV4=y
CONFIG_DNS_RESOLVER=y

CONFIG_NET_STATISTICS=y
CONFIG_NET_STATISTICS_WIFI=y
CONFIG_NET_STATISTICS_USER_API=y

CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_PKT_TX_COUNT=8

# Below section is the primary contributor to SRAM and is currently
# tuned for performance, but this will be revisited in the future.
CONFIG_NET_BUF_RX_COUNT=16
CONFIG_NET_BUF_TX_COUNT=16
CONFIG_NET_BUF_DATA_SIZE=128
CONFIG_NRF700X_RX_NUM_BUFS=16
CONFIG_NRF700X_MAX_TX_AGGREGATION=4
# nRF700x is main consumer: (16 + 8) * 1600 = ~40KB + ~40KB control path (experimental)
CONFIG_HEAP_MEM_POOL_SIZE=80000
CONFIG_NET_TC_TX_COUNT=1

CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=4
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=5
CONFIG_NET_MAX_CONTEXTS=5
CONFIG_NET_CONTEXT_SYNC_RECV=y

CONFIG_INIT_STACKS=y

CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_SHELL=y

# Memories
CONFIG_MAIN_STACK_SIZE=4200
CONFIG_SHELL_STACK_SIZE=4400

CONFIG_NET_TX_STACK_SIZE=4096
CONFIG_NET_RX_STACK_SIZE=4096

# Debugging
CONFIG_STACK_SENTINEL=y
CONFIG_DEBUG_COREDUMP=y
CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=y
CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_MIN=y
CONFIG_SHELL_CMDS_RESIZE=n
#CONFIG_DEBUG=y
CONFIG_WPA_SUPP_LOG_LEVEL_INF=y

# Kernel options
CONFIG_ENTROPY_GENERATOR=y

# Logging
CONFIG_LOG=y
CONFIG_PRINTK=y
CONFIG_SHELL=y
CONFIG_SHELL_GETOPT=y
CONFIG_DEVICE_SHELL=y
CONFIG_POSIX_CLOCK=y
CONFIG_DATE_SHELL=y
CONFIG_NET_CONFIG_AUTO_INIT=n

CONFIG_WIFI_MGMT_EXT=y
CONFIG_WIFI_CREDENTIALS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y
CONFIG_SETTINGS_NVS=y

# printing of scan results puts pressure on queues in new locking
# design in net_mgmt. So, use a higher timeout for a crowded
# environment.
CONFIG_NET_MGMT_EVENT_QUEUE_TIMEOUT=5000

#TFM
CONFIG_TFM_SECURE_UART=n
CONFIG_TFM_LOG_LEVEL_SILENCE=y

CONFIG_WIFI_NRF700X_BUS_LOG_LEVEL_DBG=y

SDK v2.6.1

PCA100900 - 1.1.0
PCA63556 - 1.0.0
PCA10143 - 1.0.2

Parents
  • Hello Roman,
    1. With the logic analyzer, do you see the clock signal on the SCK pin and the CS change state from the nRF9160 device side? Are you able to share the logic analyzer output? The CS pin from the nRF9160, does it toggle when expected? Are you using cables between the kits, is there a possibility that MISO and MOSI has been unintentionally switched in the connection process?
    2. Do you see the voltages on the nRF7002 that you expect? On for example the nRF7002-DK, do see the same voltage on the nRF7002 before and after you make the connections to the nRF9160 DK?
    3. What code example did you start with and just to be sure, are you using the nRF7002-Expansion board or the Evalutation kit? You write expension first, but everything else seems to indicate EK.
    4. The build logs, you've shared four warning, but wasn't able to share the entire log. Are there any errors in the log? 
    Best regards
    Asbjørn
Reply
  • Hello Roman,
    1. With the logic analyzer, do you see the clock signal on the SCK pin and the CS change state from the nRF9160 device side? Are you able to share the logic analyzer output? The CS pin from the nRF9160, does it toggle when expected? Are you using cables between the kits, is there a possibility that MISO and MOSI has been unintentionally switched in the connection process?
    2. Do you see the voltages on the nRF7002 that you expect? On for example the nRF7002-DK, do see the same voltage on the nRF7002 before and after you make the connections to the nRF9160 DK?
    3. What code example did you start with and just to be sure, are you using the nRF7002-Expansion board or the Evalutation kit? You write expension first, but everything else seems to indicate EK.
    4. The build logs, you've shared four warning, but wasn't able to share the entire log. Are there any errors in the log? 
    Best regards
    Asbjørn
Children
No Data
Related