Hi,
so, If I take the WiFi scan sample from the nrf/samples/wifi/scan folder, and flash it to my board, I can reliably see my created hotspots, no matter if they're 2.4GHz or 5GHz.... and I can connect to both instances of the hotspot with the nrf/samples/wifi/sta sample. So, I would say hardware is ok. But, my code in my project can reliably scan and "see" 5GHz network, but, I can only connect to the 2.4GHz instance of the hotspot.... 5GHz can see the network, and, when I try to connect, it say's the that the access point isn't found.
[00:01:03.225,708] <inf> scan: 1 | test_hotspot 12 | 11 | -21 | WPA2-PSK | 3E:6E:2D:12:E7:CC
[00:13:40.635,681] <inf> scan: 8 | test_hotspot 12 | 161 | -51 | WPA2-PSK | E2:29:7A:21:D0:68
These are the logs from my app:
[00:00:08.982,788] <inf> wifi_module: WiâFi connection initiated to 'test_hotspot' [00:00:15.006,744] <inf> wifi_module: Net event: 3512074243 [00:00:15.007,080] <err> wifi_module: Wi-Fi connection failed: access point not found. [00:00:15.007,507] <inf> wifi_module: Attempting to send another WiFi connect request, retry number 1 [00:00:18.713,867] <inf> wifi_module: WiâFi connection initiated to 'test_hotspot' [00:00:24.737,396] <inf> wifi_module: Net event: 3512074243 [00:00:24.737,731] <err> wifi_module: Wi-Fi connection failed: access point not found. [00:00:24.738,189] <inf> wifi_module: Attempting to send another WiFi connect request, retry number 2 [00:00:28.451,416] <inf> wifi_module: WiâFi connection initiated to 'test_hotspot' [00:00:34.475,372] <inf> wifi_module: Net event: 3512074243 [00:00:34.475,708] <err> wifi_module: Wi-Fi connection failed: access point not found. [00:00:34.476,135] <wrn> wifi_module: Unsucessful connecting to the WiFi, failed 3 requests.
This is my prj.conf, can you please check and see if there' something that's not ok? I also embedded my code for connecting to the Wi-Fi....
# # General config # CONFIG_REBOOT=y # Logs - use RTT instead of UART... CONFIG_LOG=y #CONFIG_UART_CONSOLE=y #CONFIG_LOG_BACKEND_UART=y #CONFIG_UART_ASYNC_API=y CONFIG_LOG_BACKEND_RTT_BUFFER_SIZE=16384 CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_MODE_IMMEDIATE=y CONFIG_USE_SEGGER_RTT=y CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=4096 CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN=4096 CONFIG_SEGGER_RTT_PRINTF_BUFFER_SIZE=1024 # device ID library CONFIG_HW_ID_LIBRARY=y CONFIG_HW_ID_LIBRARY_SOURCE_DEVICE_ID=y # Re-enable this if shell is needed... #CONFIG_SHELL=y #CONFIG_SHELL_STACK_SIZE=6144 # Thread data - useful for stack overflows, etc... CONFIG_THREAD_NAME=y #CONFIG_THREAD_ANALYZER=y #CONFIG_THREAD_ANALYZER_AUTO=y #CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=y # Stack sizes CONFIG_MAIN_STACK_SIZE=4096 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=16384 CONFIG_HEAP_MEM_POOL_SIZE=44240 CONFIG_HEAP_MEM_POOL_IGNORE_MIN=y CONFIG_NRF_WIFI_DATA_HEAP_SIZE=40000 # this creates a lot of warnings, but better than patching the Zephyr source? CONFIG_COMPILER_OPT="-DMBEDTLS_ALLOW_PRIVATE_ACCESS" # NVS and settings CONFIG_NVS=y CONFIG_SETTINGS=y CONFIG_SETTINGS_NVS=y # Link time optimisation - less flash needed CONFIG_LTO=y CONFIG_ISR_TABLES_LOCAL_DECLARATION=y CONFIG_SIZE_OPTIMIZATIONS_AGGRESSIVE=y # Kernel options CONFIG_ENTROPY_GENERATOR=y # SoC flash CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_FLASH=y CONFIG_FLASH_MAP=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_STREAM_FLASH=y CONFIG_SOC_FLASH_NRF_RADIO_SYNC_NONE=y # MCUBoot configs CONFIG_IMG_MANAGER=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_MCUBOOT_UPDATE_FOOTER_SIZE=0x0 # Keys CONFIG_HW_UNIQUE_KEY=y CONFIG_IDENTITY_KEY=y # CBOR support CONFIG_ZCBOR=y #Finite state machine CONFIG_SMF=y # Nanopb library CONFIG_NANOPB=y # cJSON CONFIG_CJSON_LIB=y # # Bluetooth settings # CONFIG_BT=y CONFIG_BT_SMP=n CONFIG_BT_PERIPHERAL=y CONFIG_BT_MAX_CONN=1 CONFIG_BT_BUF_ACL_RX_SIZE=514 CONFIG_BT_L2CAP_TX_MTU=517 CONFIG_BT_BUF_ACL_TX_SIZE=514 CONFIG_BT_RX_STACK_SIZE=4096 CONFIG_BT_HCI_TX_STACK_SIZE=1536 CONFIG_BT_BONDABLE=n CONFIG_BT_DEVICE_NAME_DYNAMIC=y CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=75 #Added to fix BLE crash in coex enable cases. CONFIG_NRF_RPC=n CONFIG_NRF_RPC_CBOR=n # BLE optimisations CONFIG_BT_DEBUG_NONE=y CONFIG_BT_ASSERT=n CONFIG_BT_DATA_LEN_UPDATE=n CONFIG_BT_PHY_UPDATE=n CONFIG_BT_GATT_CACHING=n CONFIG_BT_GATT_SERVICE_CHANGED=n CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n # Disable Bluetooth controller features not needed CONFIG_BT_CTLR_PRIVACY=n CONFIG_BT_CTLR_PHY_2M=n # Reduce Bluetooth buffers CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=1 CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=43 CONFIG_BT_BUF_EVT_RX_COUNT=2 CONFIG_BT_L2CAP_TX_BUF_COUNT=8 CONFIG_BT_ATT_TX_COUNT=8 CONFIG_BT_BUF_ACL_TX_COUNT=8 CONFIG_BT_CONN_TX_MAX=8 # # Secure storage and encryption settings # CONFIG_NRF_SECURITY=y CONFIG_NORDIC_SECURITY_BACKEND=y # Use hardware crypto accelerator CONFIG_CC3XX_BACKEND=n CONFIG_OBERON_BACKEND=y CONFIG_PSA_CRYPTO_DRIVER_OBERON=y CONFIG_PSA_CRYPTO_DRIVER_CC3XX=n # Trusted storage settings CONFIG_TRUSTED_STORAGE=y CONFIG_TRUSTED_STORAGE_BACKEND_AEAD=y CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_KEY_DERIVE_FROM_HUK=y CONFIG_PSA_PROTECTED_STORAGE=y CONFIG_PSA_INTERNAL_TRUSTED_STORAGE=y CONFIG_TRUSTED_STORAGE_STORAGE_BACKEND_SETTINGS=y CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_MAX_DATA_SIZE=2048 # MbedTLS settings CONFIG_MBEDTLS=y CONFIG_MBEDTLS_PSA_CRYPTO_C=y CONFIG_MBEDTLS_THREADING_C=y CONFIG_MBEDTLS_PSA_CRYPTO_STORAGE_C=y CONFIG_MBEDTLS_SHA256_C=y CONFIG_MBEDTLS_BUILTIN=y CONFIG_PSA_WANT_ALG_SHA_256=y CONFIG_MBEDTLS_RSA_C=y CONFIG_MBEDTLS_MPI_MAX_SIZE=512 # TFM and crypto settings CONFIG_PSA_WANT_KEY_TYPE_AES=y CONFIG_PSA_WANT_ALG_CTR=y CONFIG_PSA_WANT_GENERATE_RANDOM=y CONFIG_PSA_WANT_ALG_GCM=y # # WiFi support # # Optimize WiFi stack to save some memory CONFIG_WIFI=y CONFIG_WIFI_NRF70=y # WiFi credentials library, and WiFi safe backend PSA storage. Maximum nr. of entries is one CONFIG_NET_CONFIG_SETTINGS=y CONFIG_WIFI_CREDENTIALS=y CONFIG_WIFI_CREDENTIALS_MAX_ENTRIES=1 # More stack settings CONFIG_NET_TX_STACK_SIZE=1200 CONFIG_NET_RX_STACK_SIZE=1500 # # Net settings # CONFIG_NETWORKING=y CONFIG_NET_SOCKETS=y CONFIG_NET_NATIVE=y CONFIG_NET_LOG=y CONFIG_NET_IPV4=y CONFIG_NET_UDP=y CONFIG_NET_TCP=y CONFIG_NET_DHCPV4=y CONFIG_DNS_RESOLVER=y CONFIG_NET_SOCKETS_DNS_TIMEOUT=30000 CONFIG_NET_TC_TX_COUNT=1 CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=1 CONFIG_NET_MAX_CONTEXTS=6 CONFIG_NET_MAX_CONN=6 CONFIG_NET_CONTEXT_SYNC_RECV=y CONFIG_INIT_STACKS=y CONFIG_NET_L2_ETHERNET=y CONFIG_NET_CONFIG_INIT_TIMEOUT=0 CONFIG_NET_L2_WIFI_MGMT=y CONFIG_L2_WIFI_CONNECTIVITY=y CONFIG_L2_WIFI_CONNECTIVITY_AUTO_CONNECT=n CONFIG_L2_WIFI_CONNECTIVITY_AUTO_DOWN=n CONFIG_NET_SOCKETS_OFFLOAD=n CONFIG_NET_CONTEXT_SNDTIMEO=y CONFIG_NET_CONTEXT_RCVTIMEO=y CONFIG_NET_MGMT=y CONFIG_NET_MGMT_EVENT=y CONFIG_NET_MGMT_EVENT_INFO=y CONFIG_NET_MGMT_EVENT_QUEUE_TIMEOUT=5000 CONFIG_NET_CONNECTION_MANAGER=y CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=5200 CONFIG_NET_OFFLOAD=y # Some network optimisations CONFIG_NRF70_AP_MODE=n CONFIG_NRF70_P2P_MODE=n CONFIG_NET_PKT_RX_COUNT=16 CONFIG_NET_PKT_TX_COUNT=16 CONFIG_NRF70_RX_NUM_BUFS=16 CONFIG_NET_BUF_RX_COUNT=16 CONFIG_NET_BUF_TX_COUNT=32 CONFIG_NRF70_UTIL=n CONFIG_NRF70_MAX_TX_AGGREGATION=1 CONFIG_NRF70_MAX_TX_TOKENS=5 CONFIG_ZVFS_OPEN_MAX=20 CONFIG_NET_SOCKETS_POLL_MAX=20 CONFIG_NET_PKT_BUF_TX_DATA_POOL_SIZE=4096 CONFIG_NET_PKT_BUF_RX_DATA_POOL_SIZE=4096 CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=65535 # WPA supplicant CONFIG_WIFI_NM_WPA_SUPPLICANT=y # Coexistence CONFIG_NRF70_SR_COEX=y CONFIG_NRF70_SR_COEX_RF_SWITCH=n # TLS networking CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_NET_SOCKETS_ENABLE_DTLS=n CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=10 CONFIG_TLS_CREDENTIALS_BACKEND_PROTECTED_STORAGE=n CONFIG_TLS_CREDENTIALS=y CONFIG_TLS_MAX_CREDENTIALS_NUMBER=15 CONFIG_MBEDTLS_PEM_PARSE_C=y CONFIG_NET_MGMT_EVENT_STACK_SIZE=8192 CONFIG_MBEDTLS_X509_CRT_PARSE_C=y CONFIG_MBEDTLS_PK_PARSE_C=y CONFIG_MBEDTLS=y CONFIG_MBEDTLS_DTLS=n CONFIG_MBEDTLS_TLS_VERSION_1_2=y CONFIG_MBEDTLS_TLS_VERSION_1_3=n CONFIG_MBEDTLS_RSA_C=y CONFIG_MBEDTLS_ECP_C=y CONFIG_PSA_WANT_RSA_KEY_SIZE_4096=y CONFIG_PSA_WANT_RSA_KEY_SIZE_2048=y CONFIG_MBEDTLS_HAVE_TIME_DATE=n CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=16384 CONFIG_MBEDTLS_MPI_MAX_SIZE=512 CONFIG_NET_SOCKETS_TLS_SET_MAX_FRAGMENT_LENGTH=n CONFIG_MBEDTLS_SSL_RENEGOTIATION=y CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=3 CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_TLS_CREDENTIALS=y CONFIG_TLS_MAX_CREDENTIALS_NUMBER=10 CONFIG_NET_SOCKETS_TLS_MAX_CREDENTIALS=10 CONFIG_MBEDTLS_PEM_PARSE_C=y CONFIG_MBEDTLS_X509_CRT_PARSE_C=y CONFIG_POSIX_API=y CONFIG_NET_IPV4=y CONFIG_NET_IPV6=y CONFIG_NET_CONNECTION_MANAGER=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y CONFIG_MBEDTLS_TLS_VERSION_1_2=y CONFIG_MBEDTLS_HAVE_TIME_DATE=n CONFIG_NET_MAX_CONN=12 CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y CONFIG_PSA_WANT_RSA_KEY_SIZE_1024=y CONFIG_MBEDTLS_RSA_C=y CONFIG_MBEDTLS_TLS_LIBRARY=y CONFIG_MBEDTLS_X509_LIBRARY=y CONFIG_MBEDTLS_ECDSA_C=y CONFIG_MBEDTLS_LIBRARY_NRF_SECURITY=y CONFIG_WIFI_RANDOM_MAC_ADDRESS=y # This moves the nRF70 patches and code to external flash, and allows it to # be patched with MCUBoot CONFIG_NRF_WIFI_PATCHES_EXT_FLASH_STORE=y CONFIG_NRF_WIFI_FW_FLASH_CHUNK_SIZE=2048 CONFIG_NRF_WIFI_FW_PATCH_DFU=y CONFIG_DFU_MULTI_IMAGE_MAX_IMAGE_COUNT=2 # SNTP support CONFIG_SNTP=y CONFIG_NET_CONFIG_NEED_IPV4=y CONFIG_NET_HOSTNAME_ENABLE=y # Low power CONFIG_PM_DEVICE=y CONFIG_PM_DEVICE_RUNTIME=y CONFIG_FSM_TICK_TIMER_ENABLED=n CONFIG_RESET_ON_FATAL_ERROR=y
/* Hardcoded SSID and password */ const char *ssid = "test_hotspot"; const char *psk = ************ (removed here); struct wifi_connect_req_params conn_params; memset(&conn_params, 0, sizeof(conn_params)); conn_params.ssid = (const uint8_t *)ssid; conn_params.ssid_length = strlen(ssid); conn_params.psk = (const uint8_t *)psk; conn_params.psk_length = strlen(psk); conn_params.channel = WIFI_CHANNEL_ANY; conn_params.mfp = WIFI_MFP_OPTIONAL; conn_params.timeout = CONFIG_WIFI_CONNECT_TIMEOUT_S; conn_params.security = WIFI_SECURITY_TYPE_PSK; /* Get the default network interface */ struct net_if *p_iface = net_if_get_first_wifi(); if (!p_iface) { LOG_ERR("No default network interface available"); return; } LOG_DBG("Connecting to SSID='%s' (len %u), PSK='%s' (len %u)", ssid, (unsigned)conn_params.ssid_length, psk, (unsigned)conn_params.psk_length); /* Issue the connection request */ int err = net_mgmt(NET_REQUEST_WIFI_CONNECT, p_iface, &conn_params, sizeof(conn_params)); if (err) { LOG_ERR("Wi‑Fi connect attempt failed: %d", err); return; } LOG_INF("Wi‑Fi connection initiated to '%s'", ssid); }