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