diff --git a/features/netsocket/emac-drivers/TARGET_Cypress/COMPONENT_WHD/interface/WhdSTAInterface.cpp b/features/netsocket/emac-drivers/TARGET_Cypress/COMPONENT_WHD/interface/WhdSTAInterface.cpp index 5b1e6ccc7c5..51c3675245d 100644 --- a/features/netsocket/emac-drivers/TARGET_Cypress/COMPONENT_WHD/interface/WhdSTAInterface.cpp +++ b/features/netsocket/emac-drivers/TARGET_Cypress/COMPONENT_WHD/interface/WhdSTAInterface.cpp @@ -113,13 +113,16 @@ static nsapi_security_t whd_tosecurity(whd_security_t sec) case WHD_SECURITY_WEP_PSK: case WHD_SECURITY_WEP_SHARED: return NSAPI_SECURITY_WEP; + case WHD_SECURITY_WPA_MIXED_PSK: case WHD_SECURITY_WPA_TKIP_PSK: case WHD_SECURITY_WPA_TKIP_ENT: return NSAPI_SECURITY_WPA; - case WHD_SECURITY_WPA2_MIXED_PSK: + case WHD_SECURITY_WPA2_WPA_AES_PSK: + case WHD_SECURITY_WPA2_WPA_MIXED_PSK: return NSAPI_SECURITY_WPA_WPA2; case WHD_SECURITY_WPA2_MIXED_ENT: return NSAPI_SECURITY_WPA2_ENT; + case WHD_SECURITY_WPA2_MIXED_PSK: case WHD_SECURITY_WPA2_AES_PSK: case WHD_SECURITY_WPA2_AES_ENT: case WHD_SECURITY_WPA2_FBT_PSK: diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/generated_mac_address.txt b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/generated_mac_address.txt index 85ec7ded98c..eb735ba173d 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/generated_mac_address.txt +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/generated_mac_address.txt @@ -6,4 +6,4 @@ * MAC address is printed during WHD power up */ -#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=00:A0:50:83:ef:22" +#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=00:A0:50:6f:b2:ea" diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_types.h b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_types.h index 6e4472d271e..e470bb95745 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_types.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_types.h @@ -44,6 +44,7 @@ extern "C" #define WPA_SECURITY 0x00200000 /**< Flag to enable WPA Security */ #define WPA2_SECURITY 0x00400000 /**< Flag to enable WPA2 Security */ #define WPA3_SECURITY 0x01000000 /**< Flag to enable WPA3 PSK Security */ +#define SECURITY_MASK (WEP_ENABLED | TKIP_ENABLED | AES_ENABLED) /**< Flag to Security mask */ #define ENTERPRISE_ENABLED 0x02000000 /**< Flag to enable Enterprise Security */ #define WPS_ENABLED 0x10000000 /**< Flag to enable WPS Security */ @@ -191,6 +192,9 @@ typedef enum WHD_SECURITY_WPA2_MIXED_PSK = (WPA2_SECURITY | AES_ENABLED | TKIP_ENABLED), /**< WPA2 PSK Security with AES & TKIP */ WHD_SECURITY_WPA2_FBT_PSK = (WPA2_SECURITY | AES_ENABLED | FBT_ENABLED), /**< WPA2 FBT PSK Security with AES & TKIP */ WHD_SECURITY_WPA3_SAE = (WPA3_SECURITY | AES_ENABLED), /**< WPA3 Security with AES */ + WHD_SECURITY_WPA2_WPA_AES_PSK = (WPA2_SECURITY | WPA_SECURITY | AES_ENABLED), /**< WPA2 WPA PSK Security with AES */ + WHD_SECURITY_WPA2_WPA_MIXED_PSK = (WPA2_SECURITY | WPA_SECURITY | AES_ENABLED | TKIP_ENABLED), /**< WPA2 WPA PSK Security with AES & TKIP */ + WHD_SECURITY_WPA3_WPA2_PSK = (WPA3_SECURITY | WPA2_SECURITY | AES_ENABLED), /**< WPA3 WPA2 PSK Security with AES */ WHD_SECURITY_WPA_TKIP_ENT = (ENTERPRISE_ENABLED | WPA_SECURITY | TKIP_ENABLED), /**< WPA Enterprise Security with TKIP */ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_version.h b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_version.h index 4e7e7bae00c..acf97d4870a 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_version.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_version.h @@ -1,3 +1,3 @@ -#define WHD_VERSION "v1.90.2" -#define WHD_BRANCH "v1.90.2" -#define WHD_DATE "2020-04-13 02:49:57 -0500" +#define WHD_VERSION "v1.91.2" +#define WHD_BRANCH "v1.91.2" +#define WHD_DATE "2020-06-25 02:15:47 -0500" diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_wifi_api.h b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_wifi_api.h index 1d298cd8958..aa04ba8a925 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_wifi_api.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/inc/whd_wifi_api.h @@ -289,7 +289,8 @@ extern uint32_t whd_wifi_join(whd_interface_t ifp, const whd_ssid_t *ssid, whd_s * On successful return, the system is ready to send data packets. * * @param ifp Pointer to handle instance of whd interface - * @param ap A pointer to a whd_scan_result_t structure containing AP details + * @param ap A pointer to a whd_scan_result_t structure containing AP details and + * set ap.channel to 0 for unspecificed channel * @param security_key A byte array containing either the cleartext security key for WPA/WPA2 * secured networks * @param key_length The length of the security_key in bytes. @@ -804,7 +805,7 @@ whd_result_t whd_arp_cache_clear(whd_interface_t ifp); /** Get ARP Offload Feature Flags from Device (WLAN) * * @param[in] ifp : pointer to handle instance of whd interface - * @param[out] features : ptr to store currently set features - bit flags @ref CY_ARP_OL_AGENT_ENABLE, etc. + * @param[out] features : ptr to store currently set features - bit flags CY_ARP_OL_AGENT_ENABLE, etc. * ARL_OL_AGENT | ARL_OL_SNOOP | ARP_OL_HOST_AUTO_REPLY | ARP_OL_PEER_AUTO_REPLY * * @return whd_result_t @@ -814,7 +815,7 @@ whd_result_t whd_arp_features_get(whd_interface_t ifp, uint32_t *features); /** Set ARP Offload Feature Flags in Device (WLAN) * * @param[in] ifp : pointer to handle instance of whd interface - * @param[in] features : features to set value (you can OR ('|') multiple flags) @ref CY_ARP_OL_AGENT_ENABLE, etc. + * @param[in] features : features to set value (you can OR ('|') multiple flags) CY_ARP_OL_AGENT_ENABLE, etc. * ARL_OL_AGENT | ARL_OL_SNOOP | ARP_OL_HOST_AUTO_REPLY | ARP_OL_PEER_AUTO_REPLY * * @return whd_result_t @@ -823,7 +824,7 @@ whd_result_t whd_arp_features_set(whd_interface_t ifp, uint32_t features); /** Print ARP Offload Feature Flags in Human readable form to console * - * @param[in] features : feature flags to set (you can OR '|' multiple flags) @ref CY_ARP_OL_AGENT_ENABLE, etc. + * @param[in] features : feature flags to set (you can OR '|' multiple flags) CY_ARP_OL_AGENT_ENABLE, etc. * ARL_OL_AGENT | ARL_OL_SNOOP | ARP_OL_HOST_AUTO_REPLY | ARP_OL_PEER_AUTO_REPLY * @param[in] title : Optional: Title for output (NULL == no title) * @@ -898,7 +899,7 @@ whd_result_t whd_arp_stats_clear(whd_interface_t ifp); /** Get ARP Offload statistics from Device (WLAN) * * @param[in] ifp : pointer to handle instance of whd interface - * @param[out] stats : Ptr to store statistics @ref whd_arp_stats_t + * @param[out] stats : Ptr to store statistics whd_arp_stats_t * * @return whd_result_t */ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012A0.bin b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012A0.bin deleted file mode 100644 index d5ffe85157a..00000000000 Binary files a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012A0.bin and /dev/null differ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012B0.bin b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012B0.bin deleted file mode 100644 index 24896b1562a..00000000000 Binary files a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/firmware/COMPONENT_43012/43012B0.bin and /dev/null differ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYESKIT_064B0S2_4343W/wifi_nvram_image.h b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYESKIT_064B0S2_4343W/wifi_nvram_image.h deleted file mode 100644 index dd417d47679..00000000000 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYESKIT_064B0S2_4343W/wifi_nvram_image.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2019, Cypress Semiconductor Corporation, All Rights Reserved - * SPDX-License-Identifier: LicenseRef-PBL - * - * This file and the related binary are licensed under the - * Permissive Binary License, Version 1.0 (the "License"); - * you may not use these files except in compliance with the License. - * - * You may obtain a copy of the License here: - * LICENSE-permissive-binary-license-1.0.txt and at - * https://www.mbed.com/licenses/PBL-1.0 - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef INCLUDED_NVRAM_IMAGE_H_ -#define INCLUDED_NVRAM_IMAGE_H_ - -#include -#include -#include "generated_mac_address.txt" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Character array of NVRAM image - * Generated from cyw9cy8cmod-064b0s2-4343w_P100_724315.txt - */ - -static const char wifi_nvram_image[] = - "NVRAMRev=$Rev: 724315 $" "\x00" - "manfid=0x2d0" "\x00" - "prodid=0x087d" "\x00" - "vendid=0x14e4" "\x00" - "devid=0x43e2" "\x00" - "boardtype=0x087d" "\x00" - "boardrev=0x1100" "\x00" - "boardnum=22" "\x00" - NVRAM_GENERATED_MAC_ADDRESS "\x00" - "sromrev=11" "\x00" - "boardflags=0x00404201" "\x00" - "boardflags3=0x08000000" "\x00" - "xtalfreq=37400" "\x00" - "nocrc=1" "\x00" - "ag0=255" "\x00" - "aa2g=1" "\x00" - "ccode=ALL" "\x00" - "" "\x00" - "swdiv_en=1" "\x00" - "swdiv_gpio=2" "\x00" - "" "\x00" - "pa0itssit=0x20" "\x00" - "extpagain2g=0" "\x00" - "" "\x00" - "pa2ga0=-168,6393,-757" "\x00" - "AvVmid_c0=0x0,0xc8" "\x00" - "AvVmidIQcal=0x2,0xa8" "\x00" - "cckpwroffset0=5" "\x00" - "" "\x00" - "maxp2ga0=84" "\x00" - "txpwrbckof=6" "\x00" - "cckbw202gpo=0" "\x00" - "legofdmbw202gpo=0x66111111" "\x00" - "mcsbw202gpo=0x77711111" "\x00" - "propbw202gpo=0xdd" "\x00" - "" "\x00" - "ofdmdigfilttype=18" "\x00" - "ofdmdigfilttypebe=18" "\x00" - "papdmode=1" "\x00" - "papdvalidtest=1" "\x00" - "pacalidx2g=32" "\x00" - "papdepsoffset=-36" "\x00" - "papdendidx=61" "\x00" - "" "\x00" - "" "\x00" - "wl0id=0x431b" "\x00" - "" "\x00" - "deadman_to=0xffffffff" "\x00" - "muxenab=0x11" "\x00" - "" "\x00" - "spurconfig=0x3 " "\x00" - "" "\x00" - "rssicorrnorm=1" "\x00" - "\x00\x00"; -#ifdef __cplusplus -} /*extern "C" */ -#endif - -#else /* ifndef INCLUDED_NVRAM_IMAGE_H_ */ - -#error Wi-Fi NVRAM image included twice - -#endif /* ifndef INCLUDED_NVRAM_IMAGE_H_ */ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h new file mode 100644 index 00000000000..dbbec3a51f4 --- /dev/null +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2019, Cypress Semiconductor Corporation, All Rights Reserved + * SPDX-License-Identifier: LicenseRef-PBL + * + * This file and the related binary are licensed under the + * Permissive Binary License, Version 1.0 (the "License"); + * you may not use these files except in compliance with the License. + * + * You may obtain a copy of the License here: + * LICENSE-permissive-binary-license-1.0.txt and at + * https://www.mbed.com/licenses/PBL-1.0 + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef INCLUDED_NVRAM_IMAGE_H_ +#define INCLUDED_NVRAM_IMAGE_H_ + +#include +#include +#include "generated_mac_address.txt" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Character array of NVRAM image + * Generated from cyw943012p6evb_01_P202_723362.txt + */ + +static const char wifi_nvram_image[] = + "NVRAMRev=$Rev:723362 $" "\x00" + "sromrev=11" "\x00" + "cckdigfilttype=4" "\x00" + "cckpwroffset0=2" "\x00" + "bphyscale=0x20" "\x00" + "boardflags3=0x40000100" "\x00" + "vendid=0x14e4" "\x00" + "devid=0xA804" "\x00" + "manfid=0x2d0" "\x00" + "prodid=0x052e" "\x00" + NVRAM_GENERATED_MAC_ADDRESS "\x00" + "mac_clkgating=1" "\x00" + "nocrc=1" "\x00" + "boardtype=0x0871" "\x00" + "boardrev=0x1202" "\x00" + "xtalfreq=37400" "\x00" + "boardflags2=0xc0000000" "\x00" + "boardflags=0x00000001" "\x00" + "etmode=0x11" "\x00" + "extpagain2g=2" "\x00" + "extpagain5g=2" "\x00" + "ccode=0" "\x00" + "regrev=0" "\x00" + "antswitch=0" "\x00" + "rxgains2gelnagaina0=0" "\x00" + "rxgains2gtrisoa0=15" "\x00" + "rxgains2gtrelnabypa0=0" "\x00" + "rxgains5gelnagaina0=0" "\x00" + "rxgains5gtrisoa0=9" "\x00" + "rxgains5gtrelnabypa0=0" "\x00" + "pdgain5g=0" "\x00" + "pdgain2g=0" "\x00" + "tworangetssi2g=0" "\x00" + "tworangetssi5g=0" "\x00" + "rxchain=1" "\x00" + "txchain=1" "\x00" + "aa2g=1" "\x00" + "aa5g=1" "\x00" + "tssipos5g=0" "\x00" + "tssipos2g=0" "\x00" + "femctrl=17" "\x00" + "subband5gver=4" "\x00" + "pa2ga0=-108,6062,-661" "\x00" + "pa5ga0=-82,6252,-698,-14,6722,-697,-92,6084,-710,-88,6465,-755" "\x00" + "pdoffset40ma0=0" "\x00" + "pdoffset80ma0=0" "\x00" + "lowpowerrange2g=0" "\x00" + "lowpowerrange5g=0" "\x00" + "ed_thresh2g=-63" "\x00" + "ed_thresh5g=-63" "\x00" + "swctrlmap_2g=0x10101010,0x20202020,0x10101010,0x442020,0x3ff" "\x00" + "swctrlmapext_2g=0x01000100,0x01000100,0x01000100,0x000000,0x301" "\x00" + "swctrlmap_5g=0x80808080,0x00000000,0x80808080,0x442020,0x381" "\x00" + "swctrlmapext_5g=0x01000100,0x01000100,0x00000000,0x000000,0x303" "\x00" + "ulpnap=0" "\x00" + "ulpadc=1" "\x00" + "ssagc_en=0" "\x00" + "ds1_nap=0" "\x00" + "spurcan_ch_list_MHz=2422,2427,2432,2437,2462,2467,2472" "\x00" + "spurcan_sp_freq_KHz=9000,4000,-1000,-6000,6400,1400,-3600" "\x00" + "spurcan_NumSpur=7" "\x00" + "epacal2g=0" "\x00" + "epacal5g=0" "\x00" + "papdcck=0" "\x00" + "epacal2g_mask=0x3fff" "\x00" + "maxp2ga0=74" "\x00" + "ofdmlrbw202gpo=0x0020" "\x00" + "dot11agofdmhrbw202gpo=0x6442" "\x00" + "mcsbw202gpo=0xCC864420" "\x00" + "maxp5ga0=70,70,70,70" "\x00" + "mcsbw205glpo=0xCC864220" "\x00" + "mcsbw205gmpo=0xCC864220" "\x00" + "mcsbw205ghpo=0xCC864220" "\x00" + "femctrlwar=0" "\x00" + "use5gpllfor2g=1" "\x00" + "pt5db_gaintbl=0" "\x00" + "txwbpapden=1" "\x00" + "wb_rxattn=0x0303" "\x00" + "wb_txattn=0x0203" "\x00" + "wb_papdcalidx=0x0808" "\x00" + "wb_papdcalidx_5g=0x00101010" "\x00" + "wb_eps_offset=0x01ba01a8" "\x00" + "wb_eps_offset_5g=0x01ba01bc" "\x00" + "wb_bbmult=0x2040" "\x00" + "wb_bbmult_5g=0x00303030" "\x00" + "wb_calref_db=0x1c2e" "\x00" + "wb_tia_gain_mode=0x0606" "\x00" + "wb_txbuf_offset=0x1e1e" "\x00" + "wb_frac_del=0x6991" "\x00" + "wb_g_frac_bits=0xab" "\x00" + "nb_rxattn=0x0404" "\x00" + "nb_txattn=0x0404" "\x00" + "nb_papdcalidx=0x1414" "\x00" + "nb_eps_offset=0x01d701d7" "\x00" + "nb_bbmult=0x5A5A" "\x00" + "nb_tia_gain_mode=0x0000" "\x00" + "AvVmid_c0=6,100,7,70,7,70,7,70,7,70" "\x00" + "tssisleep_en=0x5" "\x00" + "lpflags=0x0" "\x00" + "lpo_select=4" "\x00" + "muxenab=0x01" "\x00" + "paprrmcsgamma2g=450,500,550,600,675,950,950,950,950,950,950,950" "\x00" + "paprrmcsgamma5g20=450,500,550,600,800,950,1100,1100,1100,1100,1100,1100""\x00" + "swdiv_en=0" "\x00" + "swdiv_gpio=0" "\x00" + "swdiv_swctrl_en=2" "\x00" + "swdiv_swctrl_ant0=0" "\x00" + "swdiv_swctrl_ant1=1" "\x00" + "swdiv_antmap2g_main=1" "\x00" + "swdiv_antmap5g_main=1" "\x00" + "lhlgpio_cfg=0x00000020,0x00000000" "\x00" + "swdiv_snrlim=10000" "\x00" + "swdiv_thresh=3000" "\x00" + "swdiv_snrthresh=24" "\x00" + "\x00\x00"; +#ifdef __cplusplus +} /*extern "C" */ +#endif + +#else /* ifndef INCLUDED_NVRAM_IMAGE_H_ */ + +#error Wi-Fi NVRAM image included twice + +#endif /* ifndef INCLUDED_NVRAM_IMAGE_H_ */ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_cdc_bdc.c b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_cdc_bdc.c index fd220b8edee..9a4e11b4889 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_cdc_bdc.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_cdc_bdc.c @@ -458,7 +458,7 @@ void *whd_cdc_get_ioctl_buffer(whd_driver_t whd_driver, whd_buffer_t *buffer, uint16_t data_length) { - if ((uint32_t)IOCTL_OFFSET + data_length > USHRT_MAX) + if ( (uint32_t)IOCTL_OFFSET + data_length > USHRT_MAX ) { WPRINT_WHD_ERROR( ("The reserved ioctl buffer length is over %u\n", USHRT_MAX) ); return NULL; @@ -500,8 +500,7 @@ void whd_process_cdc(whd_driver_t whd_driver, whd_buffer_t buffer) /* Save the response packet in a variable */ cdc_bdc_info->ioctl_response = buffer; - WPRINT_WHD_DATA_LOG( ("Wcd:< Procd pkt 0x%08lX: IOCTL Response (%d bytes)\n", (unsigned long)buffer, - size) ); + WPRINT_WHD_DATA_LOG( ("Wcd:< Procd pkt 0x%08lX: IOCTL Response\n", (unsigned long)buffer) ); /* Wake the thread which sent the IOCTL/IOVAR so that it will resume */ result = cy_rtos_set_semaphore(&cdc_bdc_info->ioctl_sleep, WHD_FALSE); @@ -572,7 +571,7 @@ void whd_process_bdc(whd_driver_t whd_driver, whd_buffer_t buffer) WPRINT_WHD_DATA_LOG( ("IP data not aligned to 4 bytes %lx\n", ip_data_start_add) ); } - WPRINT_WHD_DATA_LOG( ("Wcd:< Procd pkt 0x%08lX: Data (%d bytes)\n", (unsigned long)buffer, size) ); + WPRINT_WHD_DATA_LOG( ("Wcd:< Procd pkt 0x%08lX\n", (unsigned long)buffer) ); bssid_index = (uint32_t)(bdc_header->flags2 & BDC_FLAG2_IF_MASK); ifp = whd_driver->iflist[bssid_index]; diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_wifi_api.c b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_wifi_api.c index d120fee726d..a570639cdda 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_wifi_api.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/src/whd_wifi_api.c @@ -1080,6 +1080,8 @@ static uint32_t whd_wifi_prepare_join(whd_interface_t ifp, whd_security_t auth_t case WHD_SECURITY_WPA2_AES_PSK: case WHD_SECURITY_WPA2_TKIP_PSK: case WHD_SECURITY_WPA2_MIXED_PSK: + case WHD_SECURITY_WPA2_WPA_AES_PSK: + case WHD_SECURITY_WPA2_WPA_MIXED_PSK: /* Set the EAPOL key packet timeout value, otherwise unsuccessful supplicant events aren't reported. If the IOVAR is unsupported then continue. */ CHECK_RETURN_UNSUPPORTED_CONTINUE(whd_wifi_set_supplicant_key_timeout(ifp, DEFAULT_EAPOL_KEY_PACKET_TIMEOUT) ); @@ -1226,6 +1228,8 @@ static uint32_t whd_wifi_prepare_join(whd_interface_t ifp, whd_security_t auth_t case WHD_SECURITY_WPA2_AES_PSK: case WHD_SECURITY_WPA2_TKIP_PSK: case WHD_SECURITY_WPA2_MIXED_PSK: + case WHD_SECURITY_WPA2_WPA_AES_PSK: + case WHD_SECURITY_WPA2_WPA_MIXED_PSK: *wpa_auth = (uint32_t)WPA2_AUTH_PSK; break; @@ -1493,17 +1497,19 @@ uint32_t whd_wifi_join_specific(whd_interface_t ifp, const whd_scan_result_t *ap ext_join_params->scan_params.nprobes = -1; ext_join_params->scan_params.passive_time = -1; ext_join_params->assoc_params.bssid_cnt = 0; - ext_join_params->assoc_params.chanspec_num = (uint32_t)1; - ext_join_params->assoc_params.chanspec_list[0] = - (wl_chanspec_t)htod16( (ap->channel | - GET_C_VAR(whd_driver, CHANSPEC_BW_20) | GET_C_VAR(whd_driver, - CHANSPEC_CTL_SB_NONE) ) ); - - /* set band properly */ - wl_band_for_channel = whd_channel_to_wl_band(whd_driver, ap->channel); + if (ap->channel) + { + ext_join_params->assoc_params.chanspec_num = (uint32_t)1; + ext_join_params->assoc_params.chanspec_list[0] = + (wl_chanspec_t)htod16( (ap->channel | + GET_C_VAR(whd_driver, CHANSPEC_BW_20) | GET_C_VAR(whd_driver, + CHANSPEC_CTL_SB_NONE) ) ); - ext_join_params->assoc_params.chanspec_list[0] |= wl_band_for_channel; + /* set band properly */ + wl_band_for_channel = whd_channel_to_wl_band(whd_driver, ap->channel); + ext_join_params->assoc_params.chanspec_list[0] |= wl_band_for_channel; + } result = whd_cdc_send_iovar(ifp, CDC_SET, buffer, 0); WPRINT_WHD_INFO( ("%s: set_ssid result (err %" PRIu32 "); left network\n", __func__, result) ); @@ -1520,15 +1526,17 @@ uint32_t whd_wifi_join_specific(whd_interface_t ifp, const whd_scan_result_t *ap ENABLE_COMPILER_WARNING(diag_suppress = Pa039) memcpy(&join_params->params.bssid, &ap->BSSID, sizeof(whd_mac_t) ); join_params->params.bssid_cnt = 0; - join_params->params.chanspec_num = (uint32_t)1; - join_params->params.chanspec_list[0] = - (wl_chanspec_t)htod16( (ap->channel | - GET_C_VAR(whd_driver, - CHANSPEC_BW_20) | GET_C_VAR(whd_driver, CHANSPEC_CTL_SB_NONE) ) ); - - /* set band properly */ - join_params->params.chanspec_list[0] |= wl_band_for_channel; - + if (ap->channel) + { + join_params->params.chanspec_num = (uint32_t)1; + join_params->params.chanspec_list[0] = + (wl_chanspec_t)htod16( (ap->channel | + GET_C_VAR(whd_driver, + CHANSPEC_BW_20) | GET_C_VAR(whd_driver, CHANSPEC_CTL_SB_NONE) ) ); + + /* set band properly */ + join_params->params.chanspec_list[0] |= wl_band_for_channel; + } result = whd_cdc_send_ioctl(ifp, CDC_SET, WLC_SET_SSID, buffer, 0); } @@ -2595,7 +2603,7 @@ uint32_t whd_wifi_get_ap_info(whd_interface_t ifp, wl_bss_info_t *ap_info, whd_s /* Read the WSEC setting */ CHECK_RETURN(whd_wifi_get_ioctl_value(ifp, WLC_GET_WSEC, &security_value) ); - + security_value = security_value & SECURITY_MASK; *security = ( whd_security_t )(security_value); if (*security == WHD_SECURITY_WEP_PSK) diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/version.txt b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/version.txt new file mode 100644 index 00000000000..167a59886f3 --- /dev/null +++ b/targets/TARGET_Cypress/TARGET_PSOC6/COMPONENT_WHD/version.txt @@ -0,0 +1 @@ +1.91.2.3926