From fe139d460e690a27cc98bb9c077eeb5964fc7877 Mon Sep 17 00:00:00 2001 From: "Yang You (UU)" Date: Tue, 11 Nov 2025 16:07:58 -0800 Subject: have the HAL layer created for correctly demo the Interface of WIfireuqest, meanwhile have the WPPTrace enabled for both um and km --- network/wlan/WIFICX/drivercode/SharedTypes.h | 68 +- network/wlan/WIFICX/drivercode/adapter.h | 11 + network/wlan/WIFICX/drivercode/device.cpp | 16 +- network/wlan/WIFICX/drivercode/device.h | 23 +- network/wlan/WIFICX/drivercode/driver.cpp | 186 +- network/wlan/WIFICX/drivercode/driver.h | 6 + .../wlan/WIFICX/drivercode/memorymanagement.cpp | 53 +- network/wlan/WIFICX/drivercode/precomp.h | 10 +- network/wlan/WIFICX/drivercode/testdata.h | 7439 ------------------ network/wlan/WIFICX/drivercode/trace.h | 84 +- network/wlan/WIFICX/drivercode/umkmfusion.h | 7 + network/wlan/WIFICX/drivercode/wifihal.cpp | 907 +++ network/wlan/WIFICX/drivercode/wifihal.h | 31 + network/wlan/WIFICX/drivercode/wifihaltestdata.h | 8290 ++++++++++++++++++++ network/wlan/WIFICX/drivercode/wifirequest.cpp | 1405 +--- network/wlan/WIFICX/drivercode/wifirequest.h | 18 +- .../wlan/WIFICX/km/wificxsampleclientkm.vcxproj | 23 +- .../wlan/WIFICX/um/wificxsampleclientum.vcxproj | 31 +- .../WIFICX/um/wificxsampleclientum.vcxproj.filters | 36 +- 19 files changed, 9585 insertions(+), 9059 deletions(-) create mode 100644 network/wlan/WIFICX/drivercode/driver.h delete mode 100644 network/wlan/WIFICX/drivercode/testdata.h create mode 100644 network/wlan/WIFICX/drivercode/wifihal.cpp create mode 100644 network/wlan/WIFICX/drivercode/wifihal.h create mode 100644 network/wlan/WIFICX/drivercode/wifihaltestdata.h diff --git a/network/wlan/WIFICX/drivercode/SharedTypes.h b/network/wlan/WIFICX/drivercode/SharedTypes.h index 237f5997..43fd815a 100644 --- a/network/wlan/WIFICX/drivercode/SharedTypes.h +++ b/network/wlan/WIFICX/drivercode/SharedTypes.h @@ -13,70 +13,4 @@ // ============================= // {bb67559a-06f6-4eb0-81e9-21fdc3b60efb} DEFINE_GUID(GUID_WIFICX_SAMPLE_CLIENT_INTERFACE, 0xbb67559a, 0x06f6, 0x4eb0, 0x81, 0xe9, 0x21, 0xfd, 0xc3, 0xb6, 0x0e, 0xfb); -#define WIFI_DRIVER_DEFAULT_POOL_TAG 'sHIW' // WIFI IHV Sample Driver - -// ============================= -// WDF Object Context Types -// ============================= - -typedef struct _WIFI_DEVICE_CONTEXT -{ - // - // Do not add field variable before WdfTriageInfoPtr. - // NetAdapterCx carving code requires the first field of WDF context - // to be a pointer to WDF_TRIAGE_INFO. - // - void* WdfTriageInfoPtr; - WDFDEVICE WdfDevice; - UCHAR CurrentRadioState; - WDI_GET_ADAPTER_CAPABILITIES_PARAMETERS AdapterCapabilities; - TLV_CONTEXT TlvContext; - UINT32 LastConnectEntryId; - UINT32 LastConnectTransactionId; - WDI_AUTH_ALGORITHM LastAuthAlgo; - DOT11_MAC_ADDRESS ConnectedPeer; - NETADAPTER primaryStaAdapter; -} WIFI_DEVICE_CONTEXT, * PWIFI_DEVICE_CONTEXT; - -WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_DEVICE_CONTEXT, WifiGetDeviceContext); -static_assert(FIELD_OFFSET(WIFI_DEVICE_CONTEXT, WdfTriageInfoPtr) == 0); - -// Context for each NetAdapter instance. -// Each NetAdapter instance corresponds to an IP interface -// -typedef struct _WIFI_NETADAPTER_CONTEXT -{ - PWIFI_DEVICE_CONTEXT WifiDeviceContext; // Wdf device context - NETADAPTER NetAdapter; // NetAdapter object - - LIST_ENTRY ReceiveList; - NETPACKETQUEUE TxQueue; // Tx Queue object - NETPACKETQUEUE RxQueue; // Rx Queue object - bool CanReportWifiWakeSourceTypeClientDriverDiagnostic; -} WIFI_NETADAPTER_CONTEXT, * PWIFI_NETADAPTER_CONTEXT; - -WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_NETADAPTER_CONTEXT, WifiGetNetAdapterContext); - -typedef struct _PLACEMENT_NEW_ALLOCATION_CONTEXT -{ - size_t cbMaxSize; - _Field_size_bytes_(cbMaxSize) void* pbBuffer; -} PLACEMENT_NEW_ALLOCATION_CONTEXT, * PPLACEMENT_NEW_ALLOCATION_CONTEXT; -typedef const PLACEMENT_NEW_ALLOCATION_CONTEXT* PCPLACEMENT_NEW_ALLOCATION_CONTEXT; - -// for FreeWdfMemoryBuffer to correct get -// the handle to free the memory -struct WIFI_IHV_MEMORY_HEADER -{ - size_t HeaderSize; - WDFMEMORY WdfMemoryHandle; -}; - -// for tracking memory leaks -struct WIFI_IHV_MEMORY_CONTEXT -{ - size_t ContextSize; - void* pvCaller; -}; - -WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_IHV_MEMORY_CONTEXT, GetWificxIhvMemoryContextFromHandle); +#define WIFI_DRIVER_DEFAULT_POOL_TAG 'shiW' // WIFI IHV Sample Driver \ No newline at end of file diff --git a/network/wlan/WIFICX/drivercode/adapter.h b/network/wlan/WIFICX/drivercode/adapter.h index 33a886f0..65e7e023 100644 --- a/network/wlan/WIFICX/drivercode/adapter.h +++ b/network/wlan/WIFICX/drivercode/adapter.h @@ -19,3 +19,14 @@ EVT_NET_ADAPTER_CREATE_RXQUEUE EvtAdapterCreateRxQueue; EVT_WDF_DEVICE_CONTEXT_DESTROY MbbDestroyAdapterContext; NTSTATUS WifiCxTestAdapterStart(_In_ NETADAPTER netAdapter); + + +// Context for each "Wdi Port"[NetAdapter] instance. +// Each NetAdapter instance corresponds to an IP interface +typedef struct _WIFI_IHV_NETADAPTER_CONTEXT +{ + PWIFI_IHV_DEVICE_CONTEXT WifiDeviceContext; // Wdf Ihv device context + NETADAPTER NetAdapter; // NetAdapter object +} WIFI_IHV_NETADAPTER_CONTEXT, * PWIFI_IHV_NETADAPTER_CONTEXT; + +WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_IHV_NETADAPTER_CONTEXT, WifiGetIhvNetAdapterContext); diff --git a/network/wlan/WIFICX/drivercode/device.cpp b/network/wlan/WIFICX/drivercode/device.cpp index dbd03566..a0614807 100644 --- a/network/wlan/WIFICX/drivercode/device.cpp +++ b/network/wlan/WIFICX/drivercode/device.cpp @@ -1,6 +1,3 @@ -//------------------------------------------------------------------------------- -// Net Adapter source file -// // Copyright (c) Microsoft Corporation. All rights reserved. #include "precomp.h" @@ -49,21 +46,16 @@ void EvtDeviceSurpriseRemoval(WDFDEVICE device) static NTSTATUS WifiInitAdapterContext(_In_ WDFDEVICE Device, _In_ NETADAPTER NetAdapter) { - PWIFI_DEVICE_CONTEXT deviceContext = WifiGetDeviceContext(Device); - PWIFI_NETADAPTER_CONTEXT netAdapterContext = WifiGetNetAdapterContext(NetAdapter); + PWIFI_IHV_DEVICE_CONTEXT deviceContext = WifiGetIhvDeviceContext(Device); + PWIFI_IHV_NETADAPTER_CONTEXT netAdapterContext = WifiGetIhvNetAdapterContext(NetAdapter); NTSTATUS status = STATUS_SUCCESS; - - deviceContext->LastConnectEntryId = 0; // Disconnected State - deviceContext->LastConnectTransactionId = 0; - deviceContext->CurrentRadioState = TRUE; if (deviceContext->primaryStaAdapter == WDF_NO_HANDLE) { deviceContext->primaryStaAdapter = NetAdapter; } - InitializeListHead(&netAdapterContext->ReceiveList); netAdapterContext->WifiDeviceContext = deviceContext; - netAdapterContext->NetAdapter = NetAdapter; + return status; } @@ -78,7 +70,7 @@ NTSTATUS EvtWifiDeviceCreateAdapter(WDFDEVICE Device, NETADAPTER_INIT* AdapterIn WDF_OBJECT_ATTRIBUTES adapterAttributes; WDF_OBJECT_ATTRIBUTES_INIT(&adapterAttributes); - WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&adapterAttributes, WIFI_NETADAPTER_CONTEXT); + WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&adapterAttributes, WIFI_IHV_NETADAPTER_CONTEXT); adapterAttributes.EvtCleanupCallback = EvtAdapterCleanup; NETADAPTER netAdapter; diff --git a/network/wlan/WIFICX/drivercode/device.h b/network/wlan/WIFICX/drivercode/device.h index ba716fe6..57de18f3 100644 --- a/network/wlan/WIFICX/drivercode/device.h +++ b/network/wlan/WIFICX/drivercode/device.h @@ -1,11 +1,30 @@ // Copyright (C) Microsoft Corporation. All rights reserved. #pragma once - +#include "wifiHAL.h" EVT_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware; EVT_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware; -EVT_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval; EVT_WIFI_DEVICE_CREATE_ADAPTER EvtWifiDeviceCreateAdapter; EVT_WIFI_DEVICE_CREATE_WIFIDIRECTDEVICE EvtWifiDeviceCreateWifiDirectDevice; EVT_WIFI_DEVICE_SEND_COMMAND EvtWifiDeviceSendCommand; EVT_WDF_OBJECT_CONTEXT_CLEANUP EvtAdapterCleanup; + +typedef struct _WIFI_IHV_DEVICE_CONTEXT +{ + // + // Do not add field variable before WdfTriageInfoPtr. + // NetAdapterCx carving code requires the first field of WDF context + // to be a pointer to WDF_TRIAGE_INFO. + // + void* WdfTriageInfoPtr; + WDFDEVICE WdfDevice; + WDI_GET_ADAPTER_CAPABILITIES_PARAMETERS AdapterCapabilities; + TLV_CONTEXT TlvContext; + UINT32 LastConnectTransactionId; + WDI_AUTH_ALGORITHM LastAuthAlgo; + NETADAPTER primaryStaAdapter; + WifiHAL* wifiHAL; +} WIFI_IHV_DEVICE_CONTEXT, * PWIFI_IHV_DEVICE_CONTEXT; + +WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_IHV_DEVICE_CONTEXT, WifiGetIhvDeviceContext); +static_assert(FIELD_OFFSET(WIFI_IHV_DEVICE_CONTEXT, WdfTriageInfoPtr) == 0); diff --git a/network/wlan/WIFICX/drivercode/driver.cpp b/network/wlan/WIFICX/drivercode/driver.cpp index 2b0e2658..562769ef 100644 --- a/network/wlan/WIFICX/drivercode/driver.cpp +++ b/network/wlan/WIFICX/drivercode/driver.cpp @@ -1,58 +1,94 @@ -//------------------------------------------------------------------------------- -// Net Adapter source file -// // Copyright (c) Microsoft Corporation. All rights reserved. - #include "precomp.h" #include "device.h" +#include "driver.h" #include "driver.tmh" -EXTERN_C __declspec(code_seg("INIT")) DRIVER_INITIALIZE DriverEntry; -EVT_WDF_DRIVER_UNLOAD EvtDriverUnload; -EVT_WDF_DRIVER_DEVICE_ADD EvtDriverDeviceAdd; +extern "C" +NTSTATUS DriverEntry( + _In_ PDRIVER_OBJECT driverObject, + _In_ PUNICODE_STRING registryPath) +/*++ + +Routine Description: + DriverEntry initializes the driver and is the first routine called by the + system after the driver is loaded. DriverEntry specifies the other entry + points in the function driver, such as EvtDevice and DriverUnload. + +Parameters Description: + DriverObject - represents the instance of the function driver that is loaded + into memory. DriverEntry must initialize members of DriverObject before it + returns to the caller. DriverObject is allocated by the system before the + driver is loaded, and it is released by the system after the system unloads + the function driver from memory. + RegistryPath - represents the driver specific path in the Registry. + The function driver can use the path to store driver related data between + reboots. The path does not store hardware instance specific data. -#if __cplusplus >= 201703L -#define MAYBE_UNUSED [[maybe_unused]] -#else -#define MAYBE_UNUSED -#endif +Return Value: -__declspec(code_seg("INIT")) NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT driverObject, _In_ PUNICODE_STRING registryPath) + STATUS_SUCCESS if successful, + STATUS_UNSUCCESSFUL otherwise. + +--*/ { NTSTATUS status = STATUS_SUCCESS; + WDF_DRIVER_CONFIG driverConfig{}; + WDF_OBJECT_ATTRIBUTES attributes; + // + // Initialize WPP Tracing + // WPP_INIT_TRACING(driverObject, registryPath); + + // Since WPP tracing is now initialized, we can use Trace functions TraceEntry(); - WDF_DRIVER_CONFIG driverConfig; - WDF_DRIVER_CONFIG_INIT(&driverConfig, EvtDriverDeviceAdd); - driverConfig.DriverPoolTag = WIFI_DRIVER_DEFAULT_POOL_TAG; - - driverConfig.EvtDriverUnload = EvtDriverUnload; + // + // Register a cleanup callback so that we can call WPP_CLEANUP when + // the framework driver object is deleted during driver unload. + // + WDF_OBJECT_ATTRIBUTES_INIT(&attributes); + attributes.EvtCleanupCallback = EvtWifiDriverContextCleanup; - WDFDRIVER driver; - status = WdfDriverCreate(driverObject, registryPath, WDF_NO_OBJECT_ATTRIBUTES, &driverConfig, &driver); - if (!NT_SUCCESS(status)) - { - WFCError("WdfDriverCreate failed 0x%x", status); - goto Exit; - } - -Exit: - TraceExit(status); + WDF_DRIVER_CONFIG_INIT(&driverConfig, EvtWifiDriverDeviceAdd); + driverConfig.DriverPoolTag = WIFI_DRIVER_DEFAULT_POOL_TAG; + status = WdfDriverCreate(driverObject, registryPath, &attributes, &driverConfig, WDF_NO_HANDLE); if (!NT_SUCCESS(status)) { + WFCError("WdfDriverCreate failed %!STATUS!", status); WPP_CLEANUP(driverObject); + return status; } + //TraceExit(status); + return status; } -NTSTATUS EvtDriverDeviceAdd(_In_ WDFDRIVER driver, _Inout_ PWDFDEVICE_INIT deviceInit) +NTSTATUS EvtWifiDriverDeviceAdd(_In_ WDFDRIVER driver, _Inout_ PWDFDEVICE_INIT deviceInit) +/*++ +Routine Description: + + EvtWifiDriverDeviceAdd is called by the framework in response to AddDevice + call from the PnP manager. We create and initialize a device object to + represent a new instance of the device. + +Arguments: + + Driver - Handle to a framework driver object created in DriverEntry + + DeviceInit - Pointer to a framework-allocated WDFDEVICE_INIT structure. + +Return Value: + + NTSTATUS + +--*/ { UNREFERENCED_PARAMETER(driver); @@ -60,6 +96,7 @@ NTSTATUS EvtDriverDeviceAdd(_In_ WDFDRIVER driver, _Inout_ PWDFDEVICE_INIT devic NTSTATUS status = STATUS_SUCCESS; + // Configure the device init for NetAdapterCx (Data Path) status = NetDeviceInitConfig(deviceInit); if (!NT_SUCCESS(status)) { @@ -67,6 +104,7 @@ NTSTATUS EvtDriverDeviceAdd(_In_ WDFDRIVER driver, _Inout_ PWDFDEVICE_INIT devic goto Exit; } + // Configure the device init for WifiCx (Control Path) status = WifiDeviceInitConfig(deviceInit); if (!NT_SUCCESS(status)) { @@ -74,64 +112,100 @@ NTSTATUS EvtDriverDeviceAdd(_In_ WDFDRIVER driver, _Inout_ PWDFDEVICE_INIT devic goto Exit; } - WDF_OBJECT_ATTRIBUTES deviceAttributes; - WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, WIFI_DEVICE_CONTEXT); - + // Set PnP and Power Callbacks. + // [Scope: Only PrepareHardware and ReleaseHardware are implemented in this sample.] WDF_PNPPOWER_EVENT_CALLBACKS pnpPowerCallbacks; WDF_PNPPOWER_EVENT_CALLBACKS_INIT(&pnpPowerCallbacks); pnpPowerCallbacks.EvtDevicePrepareHardware = EvtDevicePrepareHardware; pnpPowerCallbacks.EvtDeviceReleaseHardware = EvtDeviceReleaseHardware; - pnpPowerCallbacks.EvtDeviceSurpriseRemoval = EvtDeviceSurpriseRemoval; - WdfDeviceInitSetPnpPowerEventCallbacks(deviceInit, &pnpPowerCallbacks); - WDFDEVICE wdfDevice; - status = WdfDeviceCreate(&deviceInit, &deviceAttributes, &wdfDevice); + // [Scope: ArmWake and DisarmWake are not implemented in this sample.] + //WDF_POWER_POLICY_EVENT_CALLBACKS powerPolicyCallbacks; + //WdfDeviceInitSetPowerPolicyEventCallbacks(deviceInit, &powerPolicyCallbacks); + + WDFDEVICE wdfIhvDevice{}; + // Create the device object context to store the device specific information + WDF_OBJECT_ATTRIBUTES ihvDeviceAttributes; + WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&ihvDeviceAttributes, WIFI_IHV_DEVICE_CONTEXT); + + status = WdfDeviceCreate(&deviceInit, &ihvDeviceAttributes, &wdfIhvDevice); if (!NT_SUCCESS(status)) { WFCError("WdfDeviceCreate failed, status=0x%x", status); goto Exit; } - - status = WdfDeviceCreateDeviceInterface(wdfDevice, &GUID_WIFICX_SAMPLE_CLIENT_INTERFACE, nullptr); + + // + // Create a device interface so that applications can find and talk + // to us. + // + status = WdfDeviceCreateDeviceInterface(wdfIhvDevice, &GUID_WIFICX_SAMPLE_CLIENT_INTERFACE, nullptr); if (!NT_SUCCESS(status)) { WFCError("WdfDeviceCreateDeviceInterface failed with status=0x%x", status); goto Exit; } - // Set the device to be not ejectable - WDF_DEVICE_PNP_CAPABILITIES pnpCapabilities; - WDF_DEVICE_PNP_CAPABILITIES_INIT(&pnpCapabilities); - pnpCapabilities.SurpriseRemovalOK = WdfTrue; - WdfDeviceSetPnpCapabilities(wdfDevice, &pnpCapabilities); - + // Initialize WifiCx device now that the WDFDEVICE has been created. + // In short the WifICx is the "wdf managed WDI", so the Wdi core + // concepts still applies. WIFI_DEVICE_CONFIG wifiDeviceConfig; WIFI_DEVICE_CONFIG_INIT( - &wifiDeviceConfig, WDI_VERSION_LATEST, EvtWifiDeviceSendCommand, EvtWifiDeviceCreateAdapter, nullptr); - - status = WifiDeviceInitialize(wdfDevice, &wifiDeviceConfig); + &wifiDeviceConfig, + WDI_VERSION_LATEST, // The "WDI" version supported by this Ihv driver + EvtWifiDeviceSendCommand, // The Wdi command and task, now called "wifirequest". + EvtWifiDeviceCreateAdapter, // The Wdi "ports", now support by the netadapter instances. + nullptr); // [Scope: No WiFi Direct support in this sample] + + // Initialize the WifiCx device with the configuration above to let OS side ready. + status = WifiDeviceInitialize(wdfIhvDevice, &wifiDeviceConfig); if (!NT_SUCCESS(status)) { WFCError("WifiDeviceInitialize failed, status=0x%x", status); goto Exit; } - PWIFI_DEVICE_CONTEXT deviceContext = WifiGetDeviceContext(wdfDevice); - deviceContext->WdfDevice = wdfDevice; - deviceContext->WdfTriageInfoPtr = WdfGetTriageInfo(); + // Get a pointer to the device context structure that we just associated + // with the device object. We define this structure in the device.h + // header file. WifiGetIhvDeviceContext is an inline function generated by + // using the WDF_DECLARE_CONTEXT_TYPE_WITH_NAME macro in device.h. + // This function will do the type checking and return the device context. + // If you pass a wrong object handle it will return NULL and assert if + // run under framework verifier mode. + auto deviceIhvContext = WifiGetIhvDeviceContext(wdfIhvDevice); + deviceIhvContext->WdfDevice = wdfIhvDevice; + deviceIhvContext->WdfTriageInfoPtr = WdfGetTriageInfo(); - deviceContext->TlvContext.AllocationContext = 0; - deviceContext->TlvContext.PeerVersion = WifiDeviceGetOsWdiVersion(wdfDevice); + deviceIhvContext->TlvContext.AllocationContext = 0; + deviceIhvContext->TlvContext.PeerVersion = WifiDeviceGetOsWdiVersion(wdfIhvDevice); Exit: TraceExit(status); return status; } -void EvtDriverUnload(MAYBE_UNUSED _In_ WDFDRIVER driver) +void EvtWifiDriverContextCleanup(_In_ WDFOBJECT DriverObject) +/*++ +Routine Description: + + Free all the resources allocated in DriverEntry. + +Arguments: + + DriverObject - handle to a WDF Driver object. + +Return Value: + + VOID. + +--*/ { - TraceEntry(); - UNREFERENCED_PARAMETER(driver); - WPP_CLEANUP(WdfDriverWdmGetDriverObject(driver)); +#ifndef _KERNEL_MODE + // follow https://github.com/MicrosoftDocs/windows-driver-docs/blob/staging/windows-driver-docs-pr/wdf/using-wpp-software-tracing-in-kmdf-and-umdf-2-drivers.md + // because UMDF drivers use the kernel-mode signatures of these macros for initializing and cleaning up tracing, the calls look identical for KMDF and UMDF. + UNREFERENCED_PARAMETER(DriverObject); +#endif // !_KERNEL_MODE + + WPP_CLEANUP(WdfDriverWdmGetDriverObject(static_cast(DriverObject))); } diff --git a/network/wlan/WIFICX/drivercode/driver.h b/network/wlan/WIFICX/drivercode/driver.h new file mode 100644 index 00000000..12820f1c --- /dev/null +++ b/network/wlan/WIFICX/drivercode/driver.h @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +#pragma once +#include "precomp.h" + +EVT_WDF_DRIVER_DEVICE_ADD EvtWifiDriverDeviceAdd; +EVT_WDF_OBJECT_CONTEXT_CLEANUP EvtWifiDriverContextCleanup; \ No newline at end of file diff --git a/network/wlan/WIFICX/drivercode/memorymanagement.cpp b/network/wlan/WIFICX/drivercode/memorymanagement.cpp index 8c6d56d0..de231d8c 100644 --- a/network/wlan/WIFICX/drivercode/memorymanagement.cpp +++ b/network/wlan/WIFICX/drivercode/memorymanagement.cpp @@ -1,36 +1,35 @@ -/*++ - -Copyright (c) Microsoft Corporation. All rights reserved. - - Microsoft Confidential - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR - PURPOSE. - -Module Name: - - new.cpp - -Abstract: - - Test only stub WDI driver (C++ portions) - -Environment: - - Kernel mode - -Author: - - ---*/ +// Copyright (C) Microsoft Corporation. All rights reserved. #include "precomp.h" #ifndef _KERNEL_MODE #include // for _ReturnAddress for user mode #endif // UM +typedef struct _PLACEMENT_NEW_ALLOCATION_CONTEXT +{ + size_t cbMaxSize; + _Field_size_bytes_(cbMaxSize) void* pbBuffer; +} PLACEMENT_NEW_ALLOCATION_CONTEXT, * PPLACEMENT_NEW_ALLOCATION_CONTEXT; +typedef const PLACEMENT_NEW_ALLOCATION_CONTEXT* PCPLACEMENT_NEW_ALLOCATION_CONTEXT; + +// for FreeWdfMemoryBuffer to correct get +// the handle to free the memory +struct WIFI_IHV_MEMORY_HEADER +{ + size_t HeaderSize; + WDFMEMORY WdfMemoryHandle; +}; + +// for tracking memory leaks +struct WIFI_IHV_MEMORY_CONTEXT +{ + size_t ContextSize; + void* pvCaller; +}; + +WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WIFI_IHV_MEMORY_CONTEXT, GetWificxIhvMemoryContextFromHandle); + + void* AllocateWdfMemoryBuffer(size_t Size, _In_ void* CallerForMemoryLeakTracking) { size_t totalSize = 0; diff --git a/network/wlan/WIFICX/drivercode/precomp.h b/network/wlan/WIFICX/drivercode/precomp.h index c08123a1..f6bc3aad 100644 --- a/network/wlan/WIFICX/drivercode/precomp.h +++ b/network/wlan/WIFICX/drivercode/precomp.h @@ -1,12 +1,12 @@ // Copyright (C) Microsoft Corporation. All rights reserved. #pragma once -//#include - #ifdef _KERNEL_MODE #include #else #include + #include // For NDIS_STATUS + #include // For NDIS_STATUS codes #include #endif // WDF Headers @@ -23,10 +23,6 @@ #include "dot11wificxtypes.hpp" #include "TLVGeneratorParser.hpp" #include "SharedTypes.h" + // WPP Tracing Headers #include "trace.h" - -//#include "device.h" -//#include "adapter.h" - -//#include "wifirequest.h" diff --git a/network/wlan/WIFICX/drivercode/testdata.h b/network/wlan/WIFICX/drivercode/testdata.h deleted file mode 100644 index f8f83f63..00000000 --- a/network/wlan/WIFICX/drivercode/testdata.h +++ /dev/null @@ -1,7439 +0,0 @@ -/*++ - -Copyright (c) Microsoft Corporation. All rights reserved. - - Microsoft Confidential - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR - PURPOSE. - -Module Name: - - TestData.h - -Abstract: - - Test only Network data - -Environment: - - Kernel mode - -Author: - - ---*/ - -#pragma once - -#define TESTMP_BAND_IHV 0x00000010 - -typedef struct -{ - UINT32 BandId; - WDI_MAC_ADDRESS* pMacAddress; - PUCHAR pTlvBssEntry; - UINT32 TlvBssEntrySize; - PUCHAR pTlvAssociationResult; - UINT32 TlvAssociationResultSize; - -} WdiTestConnectEntry, *PWdiTestConnectEntry; - -// -//=============================================================================== -// Set alternate local addresses based on simulation parameters -//=============================================================================== -// -UCHAR s_ArubaSimLocalAddress[] = {0xd4, 0x6a, 0x6a, 0x52, 0x18, 0x07}; // For Wpa3SuiteB - Aruba -UCHAR g_IntelSimLocalAddress[] = {0x34, 0x13, 0xe8, 0xb3, 0x14, 0x4c}; // For Wpa3SuiteB - Intel -UCHAR g_SaeSimLocalAddress[] = {0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5}; // For Wpa3Sae - -#ifdef WPA3_ARUBA_SIM -PUCHAR g_AlternateLocalAddress = s_ArubaSimLocalAddress; -#elif WPA3_INTEL_SIM -PUCHAR g_AlternateLocalAddress = g_IntelSimLocalAddress; -#elif WPA3_SAE -PUCHAR g_AlternateLocalAddress = g_SaeSimLocalAddress; -#else -PUCHAR g_AlternateLocalAddress = NULL; -#endif - -// clang-format off - -// -//=============================================================================== -// - -UCHAR s_DeviceServiceTestBlob[] = -{ - 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa -}; - -// -//=============================================================================== -// - -UCHAR s_TLV_AssociationParametersRequestedType[] = -{ - // WDI_TLV_ASSOCIATION_PARAMETERS_REQUESTED_TYPE - 0xBB, 0x00, - 0x02, 0x00, - 0x9F, 0x00 // PMKID -}; - -UCHAR s_TLV_RoamingNeededIndication[] = -{ - // WDI_TLV_ROAMING_NEEDED_PARAMETERS - 0x55, 0x00, - 0x04, 0x00, - 0x0a, 0x00, 0x00, 0x00 -}; - -UCHAR s_TLV_NeighborReport[] = -{ - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_ACTION_FRAME_BODY - 0xBE, 0x00, - 0x14, 0x00, - 0x05, // Category = Radio Measurement - 0x05, // Action = Neighbor Report Response - 0x01, // Dialog Token - 0x34, // Element ID = Neighbor Report - 0x0F, // Length - 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, // BSSID - 0x00, 0x00, 0x00, 0x00, // BSSID Information - 0x00, // Operating class - 0x06, // Channel Number - 0x00, // PHY Type - 0x00, 0x00, // Optional IEs -}; - -// -//=============================================================================== -// - -// -//=============================================================================== -// BSs entries -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr = {0x00, 0x20, 0x30, 0x40, 0x50, 0x60}; - -UCHAR s_TLV_BSS_Entry_1 [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x63, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x35, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID - 0x01, 0x04, // Supported Rates - 0x02, 0x04, 0x0B, 0x16, - 0x03, 0x01, // DSSS Parameter - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x46, 0x05, // RM Enabled Capabilities - 0x02, 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x07, // Vendor specific - MBO-OCE IE - 0x50, 0x6F, 0x9A, // WFA OUI - 0x16, // MBO-OCE IE OUI Type - 0x01, // Attribute ID - AP capability - 0x01, // Attrib length - 0x00, // Not cellular data aware - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_SuccessOpenAssociationResult[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD7, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x30, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, - 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID - 0x01, 0x08, // Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x21, 0x02, // Power Capability - 0x07, 0x12, - 0x24, 0x02, // Supported Channels - 0x01, 0x0B, - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x07, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, //Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x32, 0x04, //Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x18, //WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) - // 0x00, 0x00, - // 0x04, 0x00, - // 0x00, 0x00, 0x00, 0x00 - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, - -}; - - -UCHAR s_TLV_OpenDisassociation[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0xBC, 0x00, - 0x0A, 0x00, - 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, - 0x01, 0x00, 0x00, 0x00, - - // WDI_TLV Need Peer Cleanup Params - 0xb4, 0x00, - 0x01, 0x00, - 0x00 -}; - -WDI_MAC_ADDRESS s_Connect_Addr_2_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2}; - -UCHAR s_TLV_BSS_Entry_2_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x59, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x26, 0x00, - 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', - 0x03, 0x01, // DSSS Parameter - 0x01, - 0x01, 0x04, // Supported Rates - 0x02, 0x04, 0x0B, 0x16, - 0x46, 0x05, // RM Enabled Capabilities - 0x02, 0x00, 0x00, 0x00, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x28, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // Band ID - -}; - -UCHAR s_TLV_Success_AssociationResult_2_Open[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD7, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x30, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', - 0x01, 0x08, // Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x21, 0x02, // Power Capability - 0x07, 0x12, - 0x24, 0x02, // Supported Channels - 0x01, 0x0B, - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x07, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, // Capability - 0x00, 0x00, // Status - 0x01, 0xC0, // Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x18, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x25, 0x00, - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', - 0x01, 0x04, - 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, // DSSS Parameter - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - - // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) - // 0x00, 0x00, - // 0x04, 0x00, - // 0x00, 0x00, 0x00, 0x00 - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - -// -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_3_WEP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3}; - -UCHAR s_TLV_BSS_Entry_3_WEP [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x52, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x1f, 0x00, - 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x10, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', - 0x03, 0x01, 0x01, // DSSS Parameter (Offset: 42) - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x3C, 0x00, 0x00, 0x00, // Link Quality (Offset: 57) - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel (Offset: 64) - 0x01, 0x00, 0x00, 0x00, // Band ID - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00 -}; - - -UCHAR s_TLV_Success_AssociationResult_3_WEP[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD9, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x32, 0x00, - 0x10, 0x04, // Capability - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x01, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x10, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) - // 0x00, 0x00, - // 0x04, 0x00, - // 0x00, 0x00, 0x00, 0x00 - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - - -// -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_4_RSNA_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4}; - -#define WFA_TEST_MIN_RSN_IE 1 - -UCHAR s_TLV_BSS_Entry_4_RSNA_CCMP [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type -#ifdef WFA_TEST_MIN_RSN_IE - 0x79, 0x00, //Len -#else - 0x8B, 0x00, //Len -#endif // WFA_TEST_MIN_RSN_IE - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, -#ifdef WFA_TEST_MIN_RSN_IE - 0x46, 0x00, -#else - 0x58, 0x00, -#endif // WFA_TEST_MIN_RSN_IE - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved -#ifdef WFA_TEST_MIN_RSN_IE - 0x30, 0x02, - 0x01, 0x00, -#else - 0x30, 0x14, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite -- RSNA_PSK - 0x00, 0x00, // RSN Capability -#endif // WFA_TEST_MIN_RSN_IE - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_4_RSNA_CCMP[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x22, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x48, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x01, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x14, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x02, 0x00, 0x00, // RSN - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x58, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x14, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x02, 0x00, 0x00, // RSN - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - - -// -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_5_IHV = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5}; - -UCHAR s_TLV_BSS_Entry_5_IHV [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x52, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x1f, 0x00, - 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x10, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', - 0x03, 0x01, 0x01, // DSSS Parameter - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x3C, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x24, 0x00, 0x00, 0x00, // Channel = 36 - 0x08, 0x00, 0x00, 0x00, // Band ID = Custom -// 0x02, 0x00, 0x00, 0x00, // Band ID - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00 -}; - - -UCHAR s_TLV_Success_AssociationResult_5_IHV[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD9, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x02, 0x00, 0x00, 0x80, //AuthAlgorithm = Custom - 0x01, 0x00, 0x00, 0x80, //UnicastCipherAlgorithm - 0x01, 0x00, 0x00, 0x80, //MulticastDataCipherAlgorithm - 0x01, 0x00, 0x00, 0x80, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x80, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x32, 0x00, - 0x10, 0x04, // Capability - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x24, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x10, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) - // 0x00, 0x00, - // 0x04, 0x00, - // 0x00, 0x00, 0x00, 0x00 - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x02, 0x00, 0x00, 0x80, // Phy = IHV Phy 2 - -}; - - -UCHAR s_TLV_IhvRequestComplete[] = -{ - // WDI_TLV_IHV_DATA - 0xBD, 0x00, - 0x0A, 0x00, - - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0x00, 0x00, 0x01 -}; - - -UCHAR s_TLV_IhvIndication[] = -{ - // WDI_TLV_IHV_DATA - 0xBD, 0x00, - 0x30, 0x00, - - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5 -}; - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_6_FT_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6}; - -UCHAR s_TLV_BSS_Entry_6_FT_CCMP [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xEA, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xB7, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x07, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x03, 0x01, // DSS Parameters - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x07, 0x06, // Country - 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, - 0x0B, 0x05, - 0x00, 0x00, 0x53, 0x8D, 0x5B, - 0x2A, 0x01, - 0x00, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x03, // AKM Suite - 0x28, 0x00, // RSN Capability - 0x32, 0x01, - 0x6C, - 0x36, 0x03, // MDID IE - 0x0B, 0x47, // MDID - 0x00, // FT Capability and Policy - 0x85, 0x1E, - 0x00, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, - 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x35, 0x32, 0x00, 0x00, 0x00, 0x00, 0x27, - 0x96, 0x06, - 0x00, 0x40, 0x96, 0x00, 0x0B, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x06, - 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x03, 0x05, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x0B, 0x09, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x14, 0x01, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x4A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_6_FT_CCMP[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0C, 0x02, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6, - - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x06, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x3E, 0x00, - 0x31, 0x04, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x07, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x03, // AKM Suite -- FT - 0x0C, 0x00, // RSN Capability - 0x32, 0x01, // Extended Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x0B, 0x47, // MDID - 0x00, // FT Capability and Policy - 0xDD, 0x07, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0xC5, 0x00, - 0x31, 0x04, // Capability - 0x00, 0x00, // Status - 0x01, 0xC0, // Association ID - 0x01, 0x08, // Supported Rates - 0x96, 0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x30, 0x26, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x03, // AKM Suite -- FT - 0x28, 0x00, // RSN Capability - 0x01, 0x00, // PMKID Count -- PMKR1Name - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //PMKID - 0x32, 0x01, // Extended Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x0B, 0x47, // MDID - 0x00, // FT Capability and Policy - 0x37, 0x69, // FTE IE - 0x00, 0x00, // MIC Control - 0 => no MIC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //MIC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //ANonce - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //SNonce - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x06, // R1KH-ID - 0xB4, 0xC7, 0x99, 0x8A, 0xB6, 0x30, - 0x03, 0x0D, // R0KH-ID - 'a', 'p', '8', '1', '3', '2', '-', '7', '3', '4', 'E', 'B', '0', - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xB7, 0x00, - 0xDD, 0x50, 0x3D, 0xF7, 0xE2, 0x01, 0x00, 0x00, // Supported Rates - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x07, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT - 0x01, 0x08, - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x03, 0x01, // DSS Parameters - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x07, 0x06, // Country - 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, - 0x0B, 0x05, - 0x00, 0x00, 0x6E, 0x8D, 0x5B, - 0x2A, 0x01, // ERP - 0x00, - 0x30, 0x14, // RSN - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise cipher count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise cipher - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x03, // AKM Suite - 0x0C, 0x00, // RSN Capability - 0x32, 0x01, // Extended Supported Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x0B, 0x47, // MDID - 0x00, // FT Capability and Policy - 0x85, 0x1E, - 0x03, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, - 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x31, 0x65, 0x00, 0x00, 0x00, 0x00, 0x27, - 0x96, 0x06, - 0x00, 0x40, 0x96, 0x00, 0x0E, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x06, - 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x03, 0x05, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x0B, 0x09, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x14, 0x01, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00 -}; - - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_7_FT_PSK_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7}; - -UCHAR s_TLV_BSS_Entry_7_FT_PSK_CCMP [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xED, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xBA, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x03, 0x01, // DSS Parameters - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x07, 0x06, // Country - 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, - 0x0B, 0x05, - 0x00, 0x00, 0x53, 0x8D, 0x5B, - 0x2A, 0x01, - 0x00, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x04, // AKM Suite - 0x28, 0x00, // RSN Capability - 0x32, 0x01, - 0x6C, - 0x36, 0x03, // MDID IE - 0x12, 0x34, // MDID - 0x80, // FT Capability and Policy - 0x85, 0x1E, - 0x00, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, - 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x35, 0x32, 0x00, 0x00, 0x00, 0x00, 0x27, - 0x96, 0x06, - 0x00, 0x40, 0x96, 0x00, 0x0B, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x06, - 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x03, 0x05, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x0B, 0x09, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x14, 0x01, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x4A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_7_FT_PSK_CCMP[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0C, 0x02, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, - - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x41, 0x00, - 0x31, 0x04, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x30, 0x14, // RSN IE - 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, - 0xAC, 0x01, 0x00, 0x00, - 0x32, 0x01, // Extended Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x12, 0x34, // MDID - 0x80, // FT Capability and Policy - 0xDD, 0x07, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0xBF, 0x00, - 0x31, 0x04, // Capability - 0x00, 0x00, // Status - 0x01, 0xC0, // Association ID - 0x01, 0x08, // Supported Rates - 0x96, 0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x30, 0x26, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x04, // AKM Suite -- FT-PSK - 0x28, 0x00, // RSN Capability - 0x01, 0x00, // PMKID Count -- PMKR1Name - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //PMKID - 0x32, 0x01, // Extended Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x12, 0x34, // MDID - 0x80, // FT Capability and Policy - 0x37, 0x63, // FTE IE - 0x00, 0x02, // MIC Control - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //MIC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //ANonce - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //SNonce - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x06, // R1KH-ID - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, - 0x03, 0x07, // R0KH-ID - 'x', '@', 'y', '.', 'c', 'o', 'm', - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xBA, 0x00, - 0xDD, 0x50, 0x3D, 0xF7, 0xE2, 0x01, 0x00, 0x00, // Supported Rates - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK - 0x01, 0x08, - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - 0x03, 0x01, // DSS Parameters - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x07, 0x06, // Country - 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, - 0x0B, 0x05, - 0x00, 0x00, 0x6E, 0x8D, 0x5B, - 0x2A, 0x01, // ERP - 0x00, - 0x30, 0x14, // RSN - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise cipher count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise cipher - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x04, // AKM Suite - 0x28, 0x00, // RSN Capability - 0x32, 0x01, // Extended Supported Rates - 0x6C, - 0x36, 0x03, // MDID IE - 0x12, 0x34, // MDID - 0x80, // FT Capability and Policy - 0x85, 0x1E, - 0x03, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, - 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x31, 0x65, 0x00, 0x00, 0x00, 0x00, 0x27, - 0x96, 0x06, - 0x00, 0x40, 0x96, 0x00, 0x0E, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x06, - 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x03, 0x05, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x0B, 0x09, - 0xDD, 0x05, - 0x00, 0x40, 0x96, 0x14, 0x01, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00 -}; - - -// -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_8_Hidden = {0x00, 0xA0, 0xB0, 0xC0, 0xD0,0xE8}; - -UCHAR s_TLV_BSS_Entry_Beacon_8_Hidden [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x52, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x24, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x00, // SSID - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x46, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_BSS_Entry_ProbeResponse_8_Hidden [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x5a, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x2C, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x46, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // Band ID -}; - - -UCHAR s_TLV_Success_AssociationResult_8_Hidden[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD7, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x30, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x01, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, // SSID - 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) - // 0x00, 0x00, - // 0x04, 0x00, - // 0x00, 0x00, 0x00, 0x00 - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - - -//=============================================================================== -// -// 11ad -// -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_9_11ad_PSK = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9}; - -UCHAR s_TLV_BSS_Entry_9_11ad_Beacon_PSK [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x3F, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x0C, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x31, 0x04, // Capability - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_9_11ad_Beacon_Dmg_PSK [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x47, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x14, 0x00, // For WiFi Beacon - // DMG Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) - 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) - 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) - 0x07, // 1 - DMG Parameters (9.4.1.47) - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xCB, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x98, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x31, 0x04, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_9_11ad_ProbeResponse_Dmg_PSK [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xCB, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x98, 0x00, // For WiFi Beacon - // Dmg - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x17, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_9_11ad_PSK [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x96, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x65, 0x00, - 0x31, 0x04, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x94, 11, - 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x47, 0x00, - 0x17, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x94, 0x11, // DMG Capabilities - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address - 0x03, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x98, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -UCHAR s_TLV_Success_AssociationResult_9_11ad_Dmg_PSK [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x96, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x65, 0x00, - 0x05, 0x00, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x94, 11, - 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x47, 0x00, - 0x17, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x94, 0x11, // DMG Capabilities - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address - 0x03, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x98, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_10_11ad_1x = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA}; - -UCHAR s_TLV_BSS_Entry_10_11ad_Beacon_1x [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x3F, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x0C, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x31, 0x04, // Capability - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_10_11ad_Beacon_Dmg_1x [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x47, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x14, 0x00, // For WiFi Beacon - // DMG Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) - 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) - 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) - 0x07, // 1 - DMG Parameters (9.4.1.47) - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xCB, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x98, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x31, 0x04, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_10_11ad_ProbeResponse_Dmg_1x [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xCB, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x98, 0x00, // For WiFi Beacon - // Dmg - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x17, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_10_11ad_1x [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x96, 0x01, - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x65, 0x00, - 0x31, 0x04, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x94, 11, - 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x47, 0x00, - 0x17, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x94, 0x11, // DMG Capabilities - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address - 0x03, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x98, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -UCHAR s_TLV_Success_AssociationResult_10_11ad_Dmg_1x [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x96, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x01, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x65, 0x00, - 0x05, 0x00, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x01, 0x08, // Supported Rates - 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, - - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x94, 11, - 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x47, 0x00, - 0x17, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x94, 0x11, // DMG Capabilities - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address - 0x03, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x98, 0x00, - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK - 0x03, 0x01, // DSS Parameters - 0x02, - 0x30, 0x14, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x08, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x01, // AKM Suite - 0x00, 0x00, // RSN Capability - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - 0xDD, 0x21, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_11_11ad_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB}; - -UCHAR s_TLV_BSS_Entry_11_11ad_Beacon_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x3F, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x0C, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x05, 0x00, // Capability - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_11_11ad_Beacon_Dmg_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x47, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) - 0x0A, 0x00, - 0x05, 0x00, // For WiFi Beacon - // DMG Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) - 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) - 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) - 0x07, // 1 - DMG Parameters (9.4.1.47) - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC9, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x96, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x05, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x03, 0x01, // DSS Parameters - 0x02, - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x00, // AID - 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x28, - 0xDD, 0x27, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_BSS_Entry_11_11ad_ProbeResponse_Dmg_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC9, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) - 0x09, 0x00, - 0x96, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x05, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x03, 0x01, // DSS Parameters - 0x02, - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x00, // AID - 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x28, - 0xDD, 0x27, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xC1, 0xFF, 0xFF, 0xFF, // RSSI - 0x64, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x03, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_11_11ad_Open [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x71, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x36, 0x00, - 0x05, 0x00, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x2E, 0x01, - 0x08, - 0x94, 11, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x00, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0x49, 0x2D, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x53, 0x00, - 0x07, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, // DMG Capabilities - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x02, // AID - 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x2C, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x96, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x05, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x03, 0x01, // DSS Parameters - 0x02, - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x28, - 0xDD, 0x27, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -UCHAR s_TLV_Success_AssociationResult_11_11ad_Dmg_Open [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x71, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x03, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x03, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x36, 0x00, - 0x05, 0x00, // Capabilities - 0x01, 0x00, // Listen Interval - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x2E, 0x01, - 0x08, - 0x94, 11, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x00, // AID - 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0x49, 0x2D, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x53, 0x00, - 0x07, 0x00, // Capabilities - 0x00, 0x00, // Status code - 0x02, 0x00, // Association ID - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, // DMG Capabilities - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address - 0x02, // AID - 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO - 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x2C, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, - 0x96, 0x00, // For WiFi Beacon - // WiFi Beacon - 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) - 0x64, 0x00, // Beacon Interval (8.4.1.3) - 0x05, 0x00, // Capability - - 0x00, 0x09, // SSID - 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON - 0x03, 0x01, // DSS Parameters - 0x02, - 0x7F, 0x04, - 0x00, 0x00, 0x00, 0x02, - 0x94, 0x11, - 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, 0x00, - 0x00, - 0x97, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, - 0xBE, 0x04, - 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x12, - 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, - 0x10, 0x00, - 0x2E, 0x01, - 0x28, - 0xDD, 0x27, - 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, - 0xDD, 0x0F, - 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00 -}; - - -//=============================================================================== -// -// 11ax -// -//=============================================================================== - -// -// Open on 2.4 GHz -// -WDI_MAC_ADDRESS s_Connect_Addr_12_11ax_24_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC}; - - -UCHAR s_TLV_BSS_Entry_12_11ax_24_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x78, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x4A, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x11, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', - 0x01, 0x04, - 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, - 0x01, // DSSS Parameter - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x46, 0x05, - 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_Success_AssociationResult_12_11ax_24_Open [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x28, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x4E, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x11, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x01, 0x0B, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x45, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x43, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x11, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', - 0x01, 0x04, - 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, - 0x01, // DSSS Parameter - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - - -//=============================================================================== - -// -// Open on 5 GHz -// -WDI_MAC_ADDRESS s_Connect_Addr_13_11ax_5_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED}; - - -UCHAR s_TLV_BSS_Entry_13_11ax_5_Open [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x76, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x48, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x0F, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', - 0x01, 0x04, - 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, - 0x01, // DSSS Parameter - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x46, 0x05, - 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x24, 0x00, 0x00, 0x00, // Channel 36 - 0x02, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_Success_AssociationResult_13_11ax_5_Open [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0F, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x02, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x4C, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0xF, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x24, 0x30, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x45, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - 0xFF, 0x13, // Extension IE - 0x23, // HE Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities - 0x00, - 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x2C, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0xF, // SSID - 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', - 0x01, 0x04, - 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, - 0x01, // DSSS Parameter - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -//=============================================================================== -// - -// #define SAE_MIXED_MODE 1 - -WDI_MAC_ADDRESS s_Connect_Addr_14_WPA3_SAE_CCMP = { 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32 }; - -UCHAR s_TLV_BSS_Entry_14_WPA3_SAE_CCMP [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type -#ifdef SAE_MIXED_MODE - 0x91, 0x00, //Len -#else - 0x8D, 0x00, //Len -#endif // SAE_MIXED_MODE - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, -#ifdef SAE_MIXED_MODE - 0x5E, 0x00, -#else - 0x5A, 0x00, -#endif // SAE_MIXED_MODE - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0C, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved -#ifdef SAE_MIXED_MODE - 0x30, 0x18, -#else - 0x30, 0x14, -#endif // SAE_MIXED_MODE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -#ifdef SAE_MIXED_MODE - 0x02, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - WPA2PSK - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE - 0x80, 0x00, // RSN Capability - no MFPR or MFPC -#else - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE - 0xC0, 0x00, // RSN Capability = MFP-Capable -#endif // SAE_MIXED_MODE - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId - -}; - -UCHAR s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, -#ifdef SAE_MIXED_MODE - 0x2A, 0x01, -#else - 0x26, 0x01, -#endif // SAE_MIXED_MODE - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x4A, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x0C, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x01, 0x0B, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x14, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise cipher count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AMK Suite Count - 0x00, 0x0F, 0xAC, 0x08, // AMK Suite - WPA3SAE - 0xC0, 0x00, // RSN Capability = MFP-Capable + MFP-Required - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, // Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x18, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, -#ifdef SAE_MIXED_MODE - 0x5E, 0x00, -#else - 0x5A, 0x00, -#endif // SAE_MIXED_MODE - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0C, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved -#ifdef SAE_MIXED_MODE - 0x30, 0x18, -#else - 0x30, 0x14, -#endif // SAE_MIXED_MODE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Multicast Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -#ifdef SAE_MIXED_MODE - 0x02, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - WPA2PSK - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE - 0x80, 0x00, // RSN Cap = MFP-Capable -#else - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE - 0xC0, 0x00, // RSN Cap = MFP-Capable + MFP required -#endif // SAE_MIXED_MODE - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - - -// -// SAE-Specific definitions :: Start -// -DWORD g_dwSaeResendConfirmRequested = 0; - -UCHAR pucSAECommitResponse [] = - { - 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) - 0x01, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) - 0x00, 0x00, // [3] usStatusCode = 0 or 76 (ANTI_CLOGGING_TOKEN_REQUIRED) (not-IE, 2 octets) - 0x13, 0x00, // [10] FiniteCyclicGroup (not-IE, 2 octets) -// 0x00, 0x00, 0x00, 0x00, // [11] AntiCloggingToken (not-IE, variable octets) - // [13] AP Scalar - 0x93, 0x48, 0x89, 0xab, 0x38, 0x6b, 0x72, 0xd5, 0xff, 0x0d, 0x3c, 0xaa, 0x09, 0x56, 0x50, 0x20, - 0x2b, 0xd0, 0x3e, 0x26, 0x96, 0xb5, 0x90, 0x5f, 0x7b, 0x49, 0x5f, 0x3b, 0x7d, 0xc3, 0x5b, 0x48, - - // [14] AP Element - 0x58, 0x54, 0x5e, 0x6c, 0xa0, 0xe8, 0x86, 0xef, 0xfb, 0x05, 0x2a, 0xfb, 0x63, 0x2c, 0xa2, 0x19, - 0x5b, 0xb0, 0xb0, 0xa8, 0x25, 0xe5, 0x9d, 0xba, 0x6b, 0xaa, 0x0e, 0x93, 0xaf, 0x04, 0x6e, 0xf4, - 0xc9, 0x45, 0x5f, 0xec, 0x43, 0xfe, 0x5e, 0xb0, 0x2a, 0x6b, 0x8a, 0xbc, 0x8f, 0xd7, 0x07, 0x87, - 0x87, 0x3d, 0xd1, 0xd5, 0xd7, 0xfd, 0xe3, 0x07, 0x3a, 0x4c, 0xf3, 0xc2, 0xc7, 0x6f, 0x59, 0x5c, - }; -UCHAR pucSAECommitResponseReflection [] = - { - 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) - 0x01, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) - 0x00, 0x00, // [3] usStatusCode = 0 or 76 (ANTI_CLOGGING_TOKEN_REQUIRED) (not-IE, 2 octets) - 0x13, 0x00, // [10] FiniteCyclicGroup (not-IE, 2 octets) -// 0x00, 0x00, 0x00, 0x00, // [11] AntiCloggingToken (not-IE, variable octets) - // [13] AP Scalar - - 0x49, 0x5c, 0x2c, 0xb4, 0x20, 0xec, 0xc9, 0xe8, 0xe8, 0x03, 0x2d, 0x00, 0x8d, 0xab, 0x4d, 0x91, - 0x70, 0x16, 0x06, 0x28, 0x40, 0x83, 0xb9, 0x8d, 0x19, 0xc6, 0x43, 0xcb, 0x63, 0x29, 0x9f, 0x03, - - // [14] AP Element - 0x13, 0x2e, 0xfc, 0x90, 0xb9, 0xd7, 0xb5, 0xc1, 0x2a, 0x1d, 0xe9, 0x05, 0x9c, 0xb3, 0xba, 0xc8, - 0xa6, 0x93, 0xff, 0xbf, 0x23, 0x02, 0x42, 0x3e, 0x58, 0xc2, 0x0d, 0x00, 0x10, 0xe8, 0x44, 0x60, - 0x9d, 0xfc, 0x34, 0x5e, 0x98, 0x8e, 0xf2, 0x12, 0x67, 0x24, 0xd0, 0x80, 0xfb, 0x2f, 0x1e, 0x7a, - 0xe6, 0x54, 0x01, 0x00, 0x50, 0xd4, 0xfe, 0x66, 0x47, 0x62, 0xc0, 0x3c, 0x9f, 0x7a, 0x10, 0x27, - }; - -UCHAR pucSAEConfirmResponse [] = - { - 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) - 0x02, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) - 0x00, 0x00, // [3] usStatusCode = 0 or 76 (DOT11_FRAME_STATUS_ANTI_CLOGGING_TOKEN_REQUIRED) (not-Element, 2 octets) - 0x00, 0x00, // [12] SendConfirm (not-IE, 2 octets) - // [15] Confirm - 0xc7, 0xd1, 0x04, 0x94, 0x29, 0xec, 0xdf, 0x25, 0xda, 0xaa, 0x79, 0x6f, 0xda, 0xe9, 0x91, 0x9f, - 0x4b, 0x83, 0xad, 0xa3, 0x08, 0xde, 0x62, 0xca, 0xcd, 0x59, 0xfc, 0xf5, 0xc5, 0x4d, 0xeb, 0xd9, - }; - -UCHAR pucM1SaeFrame[] = -{ - // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER - 0x88, 0x02, // Frame Control: Version = 0x0, Type = DOT11_FRAME_TYPE_DATA, Subtype = DOT11_DATA_SUBTYPE_DATA - 0x30, 0x00, // Duration - 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Address1: Receiver/Destination/STA address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Address2: Transmittor/Bssid address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Address3: Source address - 0x00, 0x00, 0x07, 0x00, // Sequence Control - // IEEE_8022_LLC_SNAP - 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP - 0x88, 0x8e, // sh_etype = DOT11_ETH_TYPE_EAPOL - // NWF_EAPOL_HEADER - 0x02, // Version = NWF_EAPOL_PROTOCOL_VERSION_V1 = 1 OR NWF_EAPOL_PROTOCOL_VERSION_V2 = 2 - 0x03, // Type = EAPOL_Key = 2 - 0x00, 0x75, // Length - // NWF_EAPOL_RSNA_KEY_DESC - 0x02, // Type - 0x00, 0x8a, // Info - 0x00, 0x10, // Length - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Replay Counter - 0x57, 0x63, 0xf3, 0xb6, 0x6e, 0xc8, 0x90, 0xe4, 0xae, 0xfc, 0x2c, 0x50, 0xb0, 0xa9, 0x04, 0x29, // Nonce - 0x97, 0xb9, 0x80, 0x26, 0x13, 0x1a, 0xe2, 0xf0, 0x24, 0x30, 0x4b, 0x87, 0x57, 0x15, 0xcf, 0x87, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // MIC - 0x00, 0x16, // Key length - 0xdd, 0x14, // KeyData -> DOT11_INFO_ELEMENT_ID_VENDOR_SPECIFIC + Len - 0x00, 0x0f, 0xac, 0x04, // OUI -> RSN_KEY_DATA_OUI + RSN_KEY_DATA_OUI_TYPE_PMKID -> {0x00,0x0F,0xAC} + {0x04) - 0x37, 0xfb, 0x9a, 0x24, 0xc1, 0x57, 0x8c, 0xce, 0xc3, 0x60, 0x6c, 0x6f, 0x39, 0xe0, 0xb7, 0x02, // PMKID -}; - - -UCHAR pucExpectedM2SaeFrame[] = -{ - // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER - 0x88, 0x01, // Frame Control - 0x2c, 0x00, // Duration - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Receiver/Destination/STA address - 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Transmittor/Bssid address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address - 0x00, 0x00, 0x07, 0x00, - // IEEE_8022_LLC_SNAP - 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP - 0x88, 0x8e, // sh_etype - // NWF_EAPOL_HEADER - 0x01, // Version = bProtocolVersion = NWF_EAPOL_PROTOCOL_VERSION_V1 = 1 - 0x03, // Type = EAPOL_Key = 2 - 0x00, 0x75, // Length - // NWF_EAPOL_RSNA_KEY_DESC - 0x02, // Type = bKeyDesc = NWF_EAPOL_KEY_DESC_RSNA = 2 - 0x01, 0x0a, // Info = usKeyInfo, ResponseKeyInfo.Version = KEY_DESC_VERSION_AES, Type=RSN_KEY_TYPE_PAIRWISE, MIC=1, Secure=0 - 0x00, 0x00, // Length - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Replay Counter - 0x80, 0xf8, 0x10, 0x83, 0x4f, 0x0f, 0x40, 0xa1, 0xe5, 0x5d, 0x51, 0x92, 0x83, 0x4f, 0x8e, 0x98, // Nonce - 0x09, 0xca, 0xd5, 0x14, 0xc6, 0x08, 0x4c, 0xa9, 0xed, 0xc3, 0xa8, 0xff, 0xce, 0xc9, 0x36, 0xb6, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved - 0xa1, 0x79, 0x5f, 0x05, 0xa4, 0x12, 0x84, 0xf2, 0xf9, 0x0c, 0x79, 0x88, 0xeb, 0x92, 0x71, 0x62, // MIC - 0x00, 0x16, // Key Length - 0x30, 0x14, 0x01, 0x00, 0x00, 0x0f, 0xac, 0x04, 0x01, 0x00, 0x00, 0x0f, 0xac, 0x04, 0x01, 0x00, // Key Data = RSN - 0x00, 0x0f, 0xac, 0x08, 0x80, 0x00 - -}; - -UCHAR pucM3SaeFrame[] = -{ - // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER - 0x88, 0x02, // Frame Control - 0x30, 0x00, // Duration - 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Receiver/Destination/STA address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Transmittor/Bssid address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address - 0x00, 0x00, 0x07, 0x00, // Sequence Control - // IEEE_8022_LLC_SNAP - 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP - 0x88, 0x8e, // sh_etype - // NWF_EAPOL_HEADER - 0x02, // Version - 0x03, // Type - 0x00, 0x97, // Length - // NWF_EAPOL_RSNA_KEY_DESC - 0x02, // Type - 0x13, 0xca, // Info - 0x00, 0x10, // Length - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // Replay Counter - 0x57, 0x63, 0xf3, 0xb6, 0x6e, 0xc8, 0x90, 0xe4, 0xae, 0xfc, 0x2c, 0x50, 0xb0, 0xa9, 0x04, 0x29, // Nonce - 0x97, 0xb9, 0x80, 0x26, 0x13, 0x1a, 0xe2, 0xf0, 0x24, 0x30, 0x4b, 0x87, 0x57, 0x15, 0xcf, 0x87, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved - 0xa5, 0xea, 0xdc, 0xfd, 0x97, 0xc7, 0x72, 0x76, 0x24, 0xe2, 0x7e, 0x71, 0x45, 0x3a, 0x24, 0xca, // MIC - 0x00, 0x38, // Key Length - 0x6f, 0x39, 0x30, 0x2c, 0x46, 0xb4, 0x3c, 0xf8, 0x42, 0x07, 0x8e, 0xc9, 0x65, 0x05, 0x2c, 0xd0, // Encrypted Key data - 0xe1, 0x7b, 0xdd, 0x2e, 0xbd, 0x69, 0x09, 0x1e, 0x39, 0xcc, 0x1a, 0xb3, 0x6e, 0x55, 0xd1, 0xad, - 0x5c, 0x45, 0x52, 0x4b, 0x83, 0x5d, 0x39, 0xe3, 0x1c, 0xb6, 0xed, 0x35, 0x52, 0x76, 0xb1, 0xc6, - 0x5a, 0x2c, 0x96, 0x07, 0x77, 0x15, 0x15, 0x5c, -}; - - -UCHAR pucExpectedM4SaeFrame[] = -{ - // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER - 0x88, 0x01, // Frame Control - 0x2c, 0x00, // Duration - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Receiver/Destination/STA address - 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Transmittor/Bssid address - 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address - 0x10, 0x00, 0x07, 0x00, // Sequence Control - // IEEE_8022_LLC_SNAP - 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP - 0x88, 0x8e, // sh_etype - // NWF_EAPOL_HEADER - 0x01, // Version - 0x03, // Type - 0x00, 0x5f, // Length - // NWF_EAPOL_RSNA_KEY_DESC - 0x02, // Type - 0x03, 0x0a, // Info - 0x00, 0x00, // Length - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // Replay Counter - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Nonce - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved - 0x52, 0x97, 0x0f, 0x90, 0x69, 0x7d, 0xcd, 0xeb, 0x98, 0xbf, 0xb1, 0x2a, 0xb2, 0x3e, 0xcc, 0x49, // MIC - 0x00, 0x00, // Key Length -}; - -// -// SAE-Specific definitions :: End -// - -// -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_15_WPA2PSK_SHA256 = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF}; - -UCHAR s_TLV_BSS_Entry_15_WPA2PSK_SHA256 [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x91, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x5e, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'H', 'A', '2', '5', '6', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1a, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x06, // AKM Suite - 0xCC, 0x00, // RSN Capability - 0x00, 0x00, - 0x00, 0x0F, 0xAC, 0x06, // Group Cipher - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x28, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x48, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x01, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x14, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise cipher count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AMK Suite Count - 0x00, 0x0F, 0xAC, 0x06, // AMK Suite - WPA2PSK_SHA256 - 0xC0, 0x00, // RSN Capability = MFP-Capable + MFP-Required - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x5e, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0A, // SSID - 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1a, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - 0xCC, 0x00, // RSN Capability - 0x00, 0x00, - 0x00, 0x0F, 0xAC, 0x06, // Group Cipher - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - - -// -//=============================================================================== -// - -#ifdef WPA3_ARUBA_SIM -WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5}; // For Aruba -#elif WPA3_INTEL_SIM -WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a}; // For Intel -#else -WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0}; -#endif - -UCHAR s_TLV_BSS_Entry_16_WPA3_SUITEB [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x97, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length -#ifdef WPA3_ARUBA_SIM - 0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5, // For Aruba -#elif WPA3_INTEL_SIM - 0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a, // For Intel -#else - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0, -#endif - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x64, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x10, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved - 0x30, 0x1A, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId - -}; - -UCHAR s_TLV_Success_AssociationResult_16_WPA3_SUITEB[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x3A, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, -#ifdef WPA3_ARUBA_SIM - 0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5, // For Aruba -#elif WPA3_INTEL_SIM - 0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a, // For Intel -#else - 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0, -#endif - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, // Association Status - 0x00, 0x00, 0x00, 0x00, // Status Code - 0x00, // ReAssociationRequest - 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_ENT_192 = 8 - 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C - 0x00, // FourAddressSupported - 0x00, // Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, // DSInfo - 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x54, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x10, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, 0x07, 0x12, //Power Capability - 0x24, 0x02, 0x01, 0x0B, //Supported Channels - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x1A, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x64, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x10, // SSID - 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1A, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x04, 0x00, 0x00, 0x00, - -}; - -//=============================================================================== -// -// 6 GHz -// -//=============================================================================== - -// -// RNR IE has the following format (only care about TBTT length = 8 or 12): -// 0xc9, 0x -// 0x -> 2 bytes (contains number and size of each element) -// 0x, 0x -> 2 bytes (applies to all element in this list) -// 0x -> 1 byte -// 0x -> 6 bytes -// [0x] -> 4 bytes -// 0x -> 1 byte -// - -// -// Mac addresses have the following nomenclature for 6GHz Ssids -// -// 1st 3 bytes are 0x00 0xA1, 0xB0 -// 4th byte is for SSID: -// 01 = 6E__1 -// 02 = 6E__2 -// 03 = SSID3 -// 04 = SSID4 -// 5th Byte is for band: -// 02 = 2.4 GHz -// 05 = 5 GHz -// 06 = 6 GHz -// 6th byte is instance -// 01 = 1st instance -// 02 - 2nd instance -// : -// - -//=============================================================================== -// SIX_G: 6E__1: -// (1 * 2.4 GHz) + (1 * 5 GHz) + (2 * 6 GHz) -// 2.4 GHz: -// S1_24_1: S1_5_1 (In+Out) + S1_6_1 (Out) + S1_6_2 (Out) -// 5 GHz: -// S1_5_1: S1_24_1 (In+Out) + S1_6_1 (Out) + S1_6_2 (Out) -// 6 GHz: -// S1_6_1: S1_24_1 (In) + S1_5_1 (In) -// S1_6_2: S1_24_1 (In) + S1_5_1 (In) -//=============================================================================== - -// -// 6E__1: 1 * 2.4 GHz Bss's -// 1 RNR IE with 3 entries: Band:Channel = [5:36 + 6:101 + 6:133] -// -WDI_MAC_ADDRESS s_Connect_Addr_17_6G_S1_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01}; -UCHAR s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xE9, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xB6, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x01, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x30, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x73, 0x24, // Operating Class = 115 (5 GHz), Channel = 36 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 5 GHz - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel / Freq = 2412 MHz - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0B, 0x02, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8B, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates - 0x30, 0x48, 0x60, 0x6c, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x78, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - 0x53, 0x53, 0x49, 0x44, 0x31, - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x01, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xb6, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x01, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc9, 0x30, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x73, 0x24, // Operating Class = 115 (5 GHz), Channel = 36 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 5 GHz - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -// 6E__1: 1 * 5 GHz Bss's -// 1 RNR IE with 3 entries: Band:Channel = [2.4:1 + 6:101 + 6:133] -// -WDI_MAC_ADDRESS s_Connect_Addr_18_6G_S1_5_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01}; -UCHAR s_TLV_BSS_Entry_18_6G_S1_5_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xe9, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xb6, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x24, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc9, 0x30, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x01, // Operating Class = 81 (2.4 GHz), Channel = 1 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 2.4 GHz - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x24, 0x00, 0x00, 0x00, // Channel / Freq = 36 / 5180 MHz - 0x02, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0B, 0x02, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x02, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8B, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates - 0x30, 0x48, 0x60, 0x6c, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x78, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - 0x53, 0x53, 0x49, 0x44, 0x31, - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x24, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xb6, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x24, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc9, 0x30, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x01, // Operating Class = 81 (2.4 GHz), Channel = 1 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 2.4 GHz - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -// 6E__1: 1/2 * 6 GHz Bss's -// -WDI_MAC_ADDRESS s_Connect_Addr_19_6G_S1a_6_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01}; -UCHAR s_TLV_BSS_Entry_19_6G_S1a_6_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC6, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x65, 0x00, 0x00, 0x00, // Channel / Freq = 101 / 6445 MHz - 0x05, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xfD, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x05, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8E, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0x7d, 0x02, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x8A, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x65, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x65, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -// 6E__1: 2/2 * 6 GHz Bss's -// -WDI_MAC_ADDRESS s_Connect_Addr_20_6G_S1b_6_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02}; -UCHAR s_TLV_BSS_Entry_20_6G_S1b_6_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC6, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x85, 0x00, 0x00, 0x00, // Channel / Freq = 133 / 6605 MHz - 0x05, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xFD, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x05, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8E, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0x7d, 0x02, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x8A, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x85, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '1', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -//=============================================================================== -// SIX_G: 6E__2: -// (1 * 2.4 GHz) + (1 * 5 GHz) + (1 * 6 GHz) -// 2.4 GHz: -// S2_24_1: S2_5_1 (In+Out) + [S2_6_2 (Out)] -// 5 GHz: -// S2_5_1: S2_24_1 (In+Out) + S2_6_1 (Out) + [S2_6_2 (Out)] -// 6 GHz: -// S2_6_1: S2_5_1 (In) -//=============================================================================== - -// -// 6E__2: 1 * 2.4 GHz Bss's -// 2 RNR IEs with 1 entry each: Band:Channel = [5:44] + [6:101] -// -WDI_MAC_ADDRESS s_Connect_Addr_21_6G_S2_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x24, 0x01}; -UCHAR s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xD3, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xA0, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x06, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x0c, // RNR IE - 0x04, 0x08, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length - 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0x40, // 6E__2 on 5 GHz - 0xc9, 0x0c, // RNR IE - 0x00, 0x08, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0x42, // 6E__2 on 6 Ghz (Sabe Ssid) - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x06, 0x00, 0x00, 0x00, // Channel / Freq = 2437 MHz - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xF5, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8B, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates - 0x30, 0x48, 0x60, 0x6c, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x78, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - 0x53, 0x53, 0x49, 0x44, 0x31, - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x06, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xa0, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x06, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x0c, // RNR IE - 0x04, 0x08, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length - 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0x40, // 6E__2 on 5 GHz - 0xc9, 0x0c, // RNR IE - 0x00, 0x08, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length - 0x83, 0x65, // Operating Class = 131, Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0x42, // 6E__2 on 6 Ghz (Sabe Ssid) - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -// 6E__2: 1 * 5 GHz Bss's -// 3 RNR IEs with 1 entry each: Band:Channel = [2.4:6] + [6:101] + [6:133] -// -WDI_MAC_ADDRESS s_Connect_Addr_22_6G_S2_5_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01}; -UCHAR s_TLV_BSS_Entry_22_6G_S2_5_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xed, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xba, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x2c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x10, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 2.4 GHz - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, (6 GHz) Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x42, // 6E__2 on 6 Ghz - 0xc9, 0x10, // RNR IE - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, (6 GHz) Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x00, // 6E__2 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x2c, 0x00, 0x00, 0x00, // Channel / Freq = 44 / 5220 MHz - 0x02, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x0F, 0x02, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x02, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8B, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates - 0x30, 0x48, 0x60, 0x6c, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x78, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - 0x53, 0x53, 0x49, 0x44, 0x31, - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x2c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xba, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x2c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc9, 0x10, // RNR IE - 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 2.4 GHz - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x65, // Operating Class = 131, (6 GHz) Channel = 101 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x42, // 6E__2 on 6 Ghz - 0xc9, 0x10, // RNR IE - 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131, (6 GHz) Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x00, // 6E__2 on 6 GHz - - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -// -// 6E__2: 1 * 6 GHz Bss's -// -WDI_MAC_ADDRESS s_Connect_Addr_23_6G_S2_6_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01}; -UCHAR s_TLV_BSS_Entry_23_6G_S2_6_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC6, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x79, 0x00, 0x00, 0x00, // Channel / Freq = 121 / 6545 MHz - 0x05, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xFD, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x05, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8E, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0x7d, 0x02, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x8A, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x79, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -//=============================================================================== -// SIX_G: SSID3: -// (1 * 2.4 GHz) -// 2.4 GHz: -// S3_24_1: *S2_5_1 (Out)* -//=============================================================================== - -// -// SSID3: 1 * 2.4 GHz Bss's -// 2 RNR IEs with 1 entry each Band:Channel = [5:44 + 6:133] -// -WDI_MAC_ADDRESS s_Connect_Addr_24_6G_S3_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01}; -UCHAR s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xDB, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xa8, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '3', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x0a, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 5 GHz - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131 (6 GHz), Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel / Freq = 2457 MHz - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xFD, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8B, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '3', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates - 0x30, 0x48, 0x60, 0x6c, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x78, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - 0x53, 0x53, 0x49, 0x44, 0x31, - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0x0a, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0xa8, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '3', - 0x01, 0x08, // Supported Rates - 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, - 0x03, 0x01, // DS Parameter Set - 0x0a, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0x6c, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) - 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] - 0x30, 0x48, 0x60, 0x6c, - 0x3d, 0x16, // HT Information (802.11n D1.10) - 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 5 GHz - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x83, 0x85, // Operating Class = 131 (6 GHz), Channel = 133 - 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 6 GHz - - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - - -//=============================================================================== -// SIX_G: SSID4 (non-colocated AP): -// (1 * 6 GHz) -// 6 GHz: -// S4_6_1: -//=============================================================================== - -// -// SSID4: 1 * 6 GHz Bss's -// -WDI_MAC_ADDRESS s_Connect_Addr_25_6G_S4_6_Ghz = {0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01}; -UCHAR s_TLV_BSS_Entry_25_6G_S4_6_Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xC6, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '4', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0xe5, 0x00, 0x00, 0x00, // Channel / Freq = 229 / 7085 MHz - 0x05, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xFD, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x05, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x8E, 0x00, - - 0x01, 0x11, // Capabilities - 0xfa, 0x00, // Listen Interval - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '4', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x21, 0x02, // Power Capability Min: 0, Max: 15 - 0x00, 0x0f, - 0x24, 0x32, // Supported Channels - 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, - 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, - 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, - 0xa5, 0x01, - 0x46, 0x05, // RM Enabled Capabilities - 0x72, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0x0a, // Extended Capabilities - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element - 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, - 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0x7d, 0x02, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x8A, 0x00, - - 0x01, 0x11, // Capabilities - 0x00, 0x00, // Status Code: Successful - 0x00, 0xc0, // Association ID: 0x0000 - 0x00, 0x05, // SSID Parameter set - '6', 'E', '_', '_', '2', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x03, 0x01, // DS Parameter set: Current Channel: 10 - 0xe5, - 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x93, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Inteval - 0x01, 0x00, // Capabilities - 0x00, 0x05, // SSID - '6', 'E', '_', '_', '4', - 0x01, 0x08, // Supported Rates - 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, - 0x05, 0x04, // TIM - DTIM 0 of 0 - 0x00, 0x02, 0x00, 0xa4, - 0x0b, 0x05, - 0x00, 0x00, 0x00, 0x12, 0x7a, - 0x2a, 0x01, // ERP Information - 0x00, - 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element - 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, - 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, - 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) - 0x3b, - 0xbd, 0x02, - 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) - 0x23, - 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, - 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, - 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) - 0x24, - 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, - 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set - 0x26, - 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, - - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, - -}; - -//=============================================================================== -// WDI_OWE_RNR -//=============================================================================== - - -/// WDI_OWE_RNR -/// -/// Description -/// - Non-Transition mode OWE network -/// - Advertises Reduced Neighbor Reports (RNRs) for the OWE Transition Mode BSSes WDI_OWE_TM_OWE and WDI_OWE_TM_OPEN -/// - Note: The OWE TM BSSes do not advertise RNR IEs -/// - Definitions for these two Transition Mode networks follows this one -/// -/// Intention -/// - Test Non-Transition Mode OWE networks -/// - Test discovery of OWE Transition Mode network via RNR prior to receiving beacon or probe -/// - Since the networks are indicated in order during scans (i.e. the OWE TM networks will be indicated after this one) -/// it is expected that RNR for the OWE TM networks will be received before their beacons and probes. -/// -/// Expectation -/// - Scan results display WDI_OWE_RNR as an Enhanced Open network to which connections are supported -/// - The RNR will not effect connections to or display of OWE Transition Mode networks that it contains -/// -/// Limitations -/// - Connections to this network will fail because the driver does not OWE DH Handshake -WDI_MAC_ADDRESS s_ConnectAddr_26_OWE_With_RNR = {00, 0xA0, 0xB0, 0xC0, 0xD1, 0xFF}; -UCHAR s_TLV_BSS_Entry_26_OWE_With_RNR [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xB6, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0xFF, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x83, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0B, // SSID - 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'R', 'N', 'R', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1a, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x12, // AKM Suite - OWE - 0xC0, 0x00, // RSN Capability - MFP Req + Capable - 0x00, 0x00, - 0x00, 0x0F, 0xAC, 0x06, // Group Cipher - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x0B, // Operating Class = 81 (2.4 GHz), Channel = B - 0x00, // TBTT Offset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, // MAC Address --> OWE Transition Mode OWE (Defined below) - 0xFD, 0x1F, 0x3F, 0x49, // Short SSID for WDI_OWE_TM_OWE - 0x00, // BssParameters - - 0xc9, 0x10, // RNR IE - 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x0B, // Operating Class = 81 (2.4 GHz), Channel = B - 0x00, // TBTT Offset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, // MAC Address --> OWE Transition Mode Open (Defined below) - 0x21, 0x24, 0x6C, 0x85, // Short SSID for WDI_OWE_TM_OPEN - 0x00, // BssParameters - - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -// Test client hasn't implemented OWE DH handshake, so just indicate assoc failure -UCHAR s_TLV_Failure_AssociationResult_26_OWE_With_RNR [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x46, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0xC0, 0xD1, 0xFF, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x01, 0x00, 0x00, 0x00, // Association Status: WDI_ASSOC_STATUS_FAILURE - 0x00, 0x00, 0x00, 0x00, // Status Code - 0x00, // ReAssociationRequest - 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm - 0x00, // FourAddressSupported - 0x00, // Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, // DSInfo - 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime - 0x00, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; - -/// WDI_OWE_TM_OWE -/// Description -/// - OWE BSS of OWE Transition Mode network -/// - Auth Type is OWE -/// - Partner BSS is the OWE Transition Mode Open BSS "WDI_OWE_TM_OPEN" -/// - Per the spec, this network is hidden and contains an OWE TM element listing information about the partner BSS -/// - Listed in RNR of BSS WDI_OWE_RNR -/// - RNR IEs are not avertised by this BSS -/// -/// Intention -/// - Test OWE Transition Mode -/// - Test discovery of OWE Transition Mode network via RNR prior to receiving a beacon or probe -/// - Since the networks are indicated in order during scans, the RNR for this network will be received before its beacon. -/// -/// Expectation -/// - The OWE spec requires the STA to display the SSID of the Open BSS to the user for interoperability. User initiated connections to the SSID of the Open BSS -/// will initiate a connection to the OWE BSS and this is reflected in the security type in the UI. This allows STAs to view the same network SSID regardless of their -/// support for OWE, while also allowing the most secure connection to be made. -/// -/// - The UI will display: -/// - SSID: "WDI_OWE_TM_OPEN" (The SSID of the Open BSS) -/// - A hidden BSS may also be displayed, but only a single entry with an SSID is expected -/// - Security Description: "Enhanced Open" -/// - "Secured" or a lock icon should not be displayed -/// - No password prompt on connect -/// - "Connect" will initiate a connection to the OWE Transition Mode BSS Entry -/// - In the entry containing the BSSID of the OWE TM OWE BSS, "netsh wlan show networks mode=bss" displays -/// - SSID: "WDI_OWE_TM_OPEN" -/// - Authentication: OWE -/// - Encryption: CCMP -/// - MFP Required: 1 -/// -/// Limitations -/// - Connections to this network will fail because the driver does not OWE DH Handshake -WDI_MAC_ADDRESS s_ConnectAddr_27_OWE_TM_OWE = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00}; -UCHAR s_TLV_BSS_Entry_27_OWE_TM_OWE [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xA1, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x6e, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1a, // RSN IE - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher - 0x01, 0x00, // AKM Suite count - 0x00, 0x0F, 0xAC, 0x12, // AKM Suite - OWE - 0xC0, 0x00, // RSN Capability - MFP Req + Capable - 0x00, 0x00, - 0x00, 0x0F, 0xAC, 0x06, // Group Cipher - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - 0xDD, 0x1A, // Vendor specific - OWE Transition Mode - 0x50, 0x6F, 0x9A, 0x1C, // WFA OUI + OWE TM OUI (0x1C) - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, // Partner BSS BSSID - 0x0F, // Partner BSS SSID Length - 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'P', 'E', 'N', // Partner BSS SSID - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -// Test client hasn't implemented simulated OWE DH handshake, so just indicate assoc failure -UCHAR s_TLV_Failure_AssociationResult_27_OWE_TM_OWE [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x46, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA1, 0xB0, 0xC0, 0xD1, 0x00, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x01, 0x00, 0x00, 0x00, //Association Status: WDI_ASSOC_STATUS_FAILURE - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x00, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; - -/// WDI_OWE_TM_OPEN -/// Description -/// - Open BSS of OWE Transition Mode network -/// - Open network -/// - Partner BSS is the OWE Transition Mode OWE BSS "WDI_OWE_TM_OWE" -/// - Per the spec, this network is hidden and contains an OWE TM element listing information about the partner BSS -/// - Listed in RNR of BSS WDI_OWE_RNR -/// - RNR IEs are not avertised by this BSS -/// -/// Intention -/// - Test OWE Transition Mode -/// - Test discovery of OWE Transition Mode network via RNR prior to receiving a beacon or probe -/// - Since the networks are indicated in order during scans, the RNR for this network will be received before its beacon. -/// -/// Expectation -/// - The OWE spec requires the STA to display the SSID of the Open BSS to the user for interoperability. User initiated connections to the SSID of the Open BSS -/// will initiate a connection to the OWE BSS and this is reflected in the security type in the UI. This allows STAs to view the same network SSID regardless of their -/// support for OWE, while also allowing the most secure connection to be made. -/// -/// - The UI will display: -/// - SSID: "WDI_OWE_TM_OPEN" (The SSID of the Open BSS) -/// - A hidden BSS may also be displayed, but only a single entry with an SSID is expected -/// - Security Description: "Enhanced Open" -/// - "Secured" or a lock icon should not be displayed -/// - No password prompt on connect -/// - "Connect" will initiate a connection to the OWE Transition Mode BSS Entry -/// - In the entry containing the BSSID of this BSS, "netsh wlan show networks mode=bss" displays -/// - SSID: (Hidden) -/// - Authentication: Open -/// - Encryption: None -/// -/// Limitations -/// - Connections to this network will fail because the driver does not OWE DH Handshake -WDI_MAC_ADDRESS s_ConnectAddr_28_OWE_TM_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01}; -UCHAR s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x95, 0x00, // Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, - - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x62, 0x00, // Length - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x0F, // SSID - 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'P', 'E', 'N', - 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - 0xDD, 0x19, // Vendor specific - OWE Transition Mode - 0x50, 0x6F, 0x9A, 0x1C, // WFA OUI + OWE TM OUI (0x1C) - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, // Partner BSS BSSID - 0x0E, // Partner BSS SSID Length - 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'W', 'E', // Partner BSS SSID - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x0B, 0x00, 0x00, 0x00, // Channel - 0x01, 0x00, 0x00, 0x00 // BandId -}; - -// Test client hasn't implemented OWE DH handshake, so just indicate assoc failure -UCHAR s_TLV_Failure_AssociationResult_28_OWE_TM_Open [] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0x46, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x01, 0x00, 0x00, 0x00, //Association Status: WDI_ASSOC_STATUS_FAILURE - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x00, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; - -//=============================================================================== -// -// Wi-Fi 7 -// -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_29_WiFi7_Mixed_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02}; -WDI_MAC_ADDRESS s_Connect_Addr_30_WiFi7_Mixed_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03}; -WDI_MAC_ADDRESS s_Connect_Addr_31_WiFi7_Mixed_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04}; -WDI_MAC_ADDRESS s_Connect_Addr_32_WiFi7_Mixed_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05}; - -UCHAR s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1 [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xfa, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03, // Link 1 MAC address - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0xc7, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0f, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved - 0x32, 0x01, // DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES - 0xFB, // BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY - 0x30, 0x2a, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP - 0x03, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher = CCMP-128 - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher = GCMP-128 - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 - 0x03, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - PSK - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - SAE-256 - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xCC, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - // [B7-B4] [B3-B0] [B15-B12] [b11-B8] - // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] - 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : AP Link 1 MAC address - // Remaining STA Profile for Link 2 - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : AP Link 2 MAC address - // Remaining STA Profile for Link 3 - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x24, 0x00, 0x00, 0x00, // Channel - 0x02, 0x00, 0x00, 0x00 // BandId - -}; - -UCHAR s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xc0, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03, // AP Link 1 Mac Address - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, // Association Status - 0x00, 0x00, 0x00, 0x00, // Status Code - 0x00, // ReAssociationRequest - 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_SAE = 9 - 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C - 0x00, // FourAddressSupported - 0x00, // Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, // DSInfo - 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x7e, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x0f, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x01, 0x0B, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x1A, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Sta MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : STA Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Sta Link 2 MAC address - // STA Profile - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x55, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, - 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : AP Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : AP Link 2 MAC address - // STA Profile - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x9b, 0x00, - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0f, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x32, 0x01, - 0xFB, // H2E Only - 0x30, 0x2a, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP - 0x03, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher = CCMP-128 - 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher = GCMP-128 - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 - 0x03, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - PSK - 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - SAE-256 - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : MAC address - // STA Profile - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht - -}; - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_33_WiFi7_Open_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06}; -WDI_MAC_ADDRESS s_Connect_Addr_34_WiFi7_Open_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07}; -WDI_MAC_ADDRESS s_Connect_Addr_35_WiFi7_Open_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08}; -WDI_MAC_ADDRESS s_Connect_Addr_36_WiFi7_Open_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09}; - -UCHAR s_TLV_BSS_Entry_34_WiFi7_Open_Link_1 [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xca, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // AP Link 1 address - // WDI_TLV_BEACON_FRAME - 0x0a, 0x00, - 0x97, 0x00, - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x01, 0x00, // Capability - 0x00, 0x0e, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - // [B7-B4] [B3-B0] [B15-B12] [b11-B8] - // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] - 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link2 MAC address - // Remaining STA Profile for Link 2 - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x37, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 3 MAC address - // Remaining STA Profile for Link 3 - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x9d, 0x00, 0x00, 0x00, // Channel - 0x02, 0x00, 0x00, 0x00 // BandId - -}; - -UCHAR s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xb3, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // AP Link 1 Mac Address - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, // Association Status - 0x00, 0x00, 0x00, 0x00, // Status Code - 0x00, // ReAssociationRequest - 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_CIPHER_ALGO_NONE = 0 - 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 - 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 - 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 - 0x00, // FourAddressSupported - 0x00, // Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, // DSInfo - 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime - 0x02, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x75, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x0e, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x01, 0x0B, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0xff, 0x3d, // Multilink Extension Element - 0x6B, // Multilink Extension ID - // Multi-Link Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x80, 0x01, // [EML=1 + Medium=0 + BSS=0 + LinkID=0] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=1] - 0x0b, // Common Info length - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Local STA MLD Mac address (required for Basic) - // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - 0x81, 0x00, 0x00, // [ EML Capabilities (3 octets) ] - 0x02, 0x00, // [ MLD Capabilities (2 octets) - (2 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x15, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x32, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0010] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : Local Link 1 MAC address - // STA Profile - // Remaining STA Profile for Link 2 - 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x15, // Length = 21 - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Local Sta Link 2 MAC address - // STA Profile - // Remaining STA Profile for Link 3 - 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x55, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // STA Info : AP Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 2 MAC address - // STA Profile - - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x97, 0x00, - - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x01, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x0e, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 2 MAC address - // STA Profile - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht - -}; - -//=============================================================================== - -WDI_MAC_ADDRESS s_Connect_Addr_37_WiFi7_Only_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a}; -WDI_MAC_ADDRESS s_Connect_Addr_38_WiFi7_Only_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b}; -WDI_MAC_ADDRESS s_Connect_Addr_39_WiFi7_Only_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c}; -WDI_MAC_ADDRESS s_Connect_Addr_40_WiFi7_Only_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d}; - -UCHAR s_TLV_BSS_Entry_38_WiFi7_Only_Link_1 [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0xe8, 0x00, //Len - - // WDI_TLV_BSSID = 10 = 0xa - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b, // Link 1 MAC address - - // WDI_TLV_BEACON_FRAME = 143 = 0x8f - 0x0a, 0x00, - 0xb5, 0x00, - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x10, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, - 0x06, // DSS Parameters - 0x05, 0x04, - 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, - 0x00, // ERP - 0x2F, 0x01, - 0x00, // Reserved - 0x30, 0x1a, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xCC, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - // [B7-B4] [B3-B0] [B15-B12] [b11-B8] - // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] - 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : AP Link 1 MAC address - // Remaining STA Profile for Link 2 - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] - 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] - 0x06, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : AP Link 2 MAC address - // Remaining STA Profile for Link 3 - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x32, 0x01, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - 0xc9, 0x14, // RNR IE - 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length - 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 - 0x00, // TBTTOffset - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // Bssid - 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid - 0x40, // BssParameters - 0x00, // 20 MHz - 0x32, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... - - 0x32, 0x04, // Extended Supported Rates: DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES - 0x0C, 0x12, 0x18, 0xFB, // 0xFB = BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x09, 0x00, - 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_PHY_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x01, 0x00, 0x00, 0x00, // Channel - 0x05, 0x00, 0x00, 0x00 // BandId -}; - -UCHAR s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xaf, 0x01, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b, // AP Link 1 Mac Address - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, // Association Status - 0x00, 0x00, 0x00, 0x00, // Status Code - 0x00, // ReAssociationRequest - 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_SAE = 9 - 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 - 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C - 0x00, // FourAddressSupported - 0x00, // Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, // DSInfo - 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime - 0x01, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x7f, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x10, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates - 0x21, 0x02, - 0x07, 0x12, //Power Capability - 0x24, 0x02, - 0x01, 0x0B, //Supported Channels - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x08, - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings - 0x30, 0x1A, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Sta MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : STA Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Sta Link 2 MAC address - // STA Profile - - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x55, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates - 0x32, 0x04, - 0x0C, 0x12, 0x18, 0x60, //Extended Rates - 0xDD, 0x18, - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, - 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // AP MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : AP Link 1 MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : AP Link 2 MAC address - // STA Profile - - // WDI_TLV_BEACON_FRAME - 0x30, 0x00, - 0x89, 0x00, - 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x31, 0x04, // Capability - 0x00, 0x10, // SSID - 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', - 0x01, 0x08, - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates - 0x03, 0x01, 0x06, // DSS Parameters - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - 0x2A, 0x01, 0x00, // ERP - 0x2F, 0x01, 0x00, // Reserved - 0x30, 0x1a, - 0x01, 0x00, // Version - 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP - 0x01, 0x00, // Pairwise Cipher Count - 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP - 0x01, 0x00, // AKM Suite Count - 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) - 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... - 0x00, 0x00, // PMKID Count - 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC - 0xff, 0x23, // Multilink Extension Element - 0x6B, // Multilink Extension ID - 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) - 0x09, // Common Info length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // MLD Mac address (required for Basic) - 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] - // [ BSS Parameters Change Count (1 octet) - from AP only ] - // [ Medium Synchronization delay (2 octets) - from AP only] - // [ EML Capabilities (2 octets) ] - 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] - // Per-Sta profile - 1/2 (Link 2) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : MAC address - // STA Profile - // Per-Sta profile - 2/2 (Link 3) - 0x00, // Subelement ID = 0 for Per-Sta Profile Element - 0x09, // Length - 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 - 0x00, // STA Info : Length - 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : MAC address - // STA Profile - 0x32, 0x04, // Extended Supported Rates: DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES - 0x0C, 0x12, 0x18, 0xFB, // 0xFB = BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY - 0xDD, 0x09, - 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht - -}; - -//=============================================================================== -// DualSta networks -//=============================================================================== -// - -WDI_MAC_ADDRESS s_Connect_Addr_41_DualSta_5Ghz = {0x00, 0x51, 0x30, 0x40, 0x50, 0x60}; -UCHAR s_TLV_BSS_Entry_41_DualSta_5Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x63, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0x51, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x35, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x04, // Supported Rates - 0x02, 0x04, 0x0B, 0x16, - 0x03, 0x01, // DSSS Parameter - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x46, 0x05, // RM Enabled Capabilities - 0x02, 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x07, // Vendor specific - MBO-OCE IE - 0x50, 0x6F, 0x9A, // WFA OUI - 0x16, // MBO-OCE IE OUI Type - 0x01, // Attribute ID - AP capability - 0x01, // Attrib length - 0x00, // Not cellular data aware - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x24, 0x00, 0x00, 0x00, // Channel - 0x02, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD7, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0x51, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x02, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x30, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x08, // Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x21, 0x02, // Power Capability - 0x07, 0x12, - 0x24, 0x02, // Supported Channels - 0x01, 0x0B, - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x07, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, //Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x32, 0x04, //Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x18, //WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, - -}; - -// ----- - -WDI_MAC_ADDRESS s_Connect_Addr_42_DualSta_6Ghz = {0x00, 0x52, 0x30, 0x40, 0x50, 0x60}; -UCHAR s_TLV_BSS_Entry_42_DualSta_6Ghz [] = -{ - // WDI_TLV_BSS_ENTRY - 0x08, 0x00, //Type - 0x63, 0x00, //Len - - // WDI_TLV_BSSID - 0x02, 0x00, // Type - 0x06, 0x00, // Length - 0x00, 0x52, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_PROBE_RESPONSE_FRAME - 0x09, 0x00, // Type - 0x35, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x04, // Supported Rates - 0x02, 0x04, 0x0B, 0x16, - 0x03, 0x01, // DSSS Parameter - 0x01, - 0x05, 0x04, // TIM - 0x00, 0x01, 0x00, 0x00, - 0x46, 0x05, // RM Enabled Capabilities - 0x02, 0x00, 0x00, 0x00, 0x00, - 0xDD, 0x07, // Vendor specific - MBO-OCE IE - 0x50, 0x6F, 0x9A, // WFA OUI - 0x16, // MBO-OCE IE OUI Type - 0x01, // Attribute ID - AP capability - 0x01, // Attrib length - 0x00, // Not cellular data aware - - // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT - 0x0d, 0x00, - 0x04, 0x00, - 0x04, 0x05, 0x06, 0x07, - - // WDI_TLV_BSS_ENTRY_SIGNAL_INFO - 0x0b, 0x00, - 0x08, 0x00, - 0xCE, 0xFF, 0xFF, 0xFF, // RSSI - 0x5A, 0x00, 0x00, 0x00, // Link Quality - - // WDI_TLV_BSS_ENTRY_CHANNEL_INFO - 0x3a, 0x00, - 0x08, 0x00, - 0x09, 0x00, 0x00, 0x00, // Channel - 0x05, 0x00, 0x00, 0x00 // Band ID -}; - -UCHAR s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz[] = -{ - // WDI_TLV_ASSOCIATION_RESULT - 0x35, 0x00, - 0xD7, 0x00, - - // WDI_TLV_BSSID - 0x02, 0x00, - 0x06, 0x00, - 0x00, 0x52, 0x30, 0x40, 0x50, 0x60, - - // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS - 0x2D, 0x00, - 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, //Association Status - 0x00, 0x00, 0x00, 0x00, //Status Code - 0x00, //ReAssociationRequest - 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm - 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm - 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm - 0x00, //FourAddressSupported - 0x00, //Port Authorized - 0x00, // WMM QoS Enabled - 0x00, 0x00, 0x00, 0x00, //DSInfo - 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime - 0x05, 0x00, 0x00, 0x00, // Band ID - 0x00, 0x00, 0x00, 0x00, // IHV Association Status - 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario - - // WDI_TLV_ASSOCIATION_REQUEST_FRAME - 0x2E, 0x00, - 0x30, 0x00, - 0x21, 0x04, // Capabilities - 0x0A, 0x00, // Listen Interval - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x08, // Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x21, 0x02, // Power Capability - 0x07, 0x12, - 0x24, 0x02, // Supported Channels - 0x01, 0x0B, - 0x32, 0x04, // Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x07, // WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, - - // WDI_TLV_ASSOCIATION_RESPONSE_FRAME - 0x2F, 0x00, - 0x30, 0x00, - 0x01, 0x04, //Capability - 0x00, 0x00, //Status - 0x01, 0xC0, //Association ID - 0x01, 0x08, //Rates - 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, - 0x32, 0x04, //Extended Rates - 0x0C, 0x12, 0x18, 0x60, - 0xDD, 0x18, //WMM settings - 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, - 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, - - // WDI_TLV_BEACON_PROBE_RESPONSE - 0x30, 0x00, // Type - 0x25, 0x00, // Length - 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp - 0x64, 0x00, // Beacon Interval - 0x00, 0x04, // Capability - 0x00, 0x08, - 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID - 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates - 0x03, 0x01, 0x01, // DSSS Parameter - 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM - - // WDI_TLV_PHY_TYPE_LIST - 0x19, 0x00, - 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, - -}; - -//=============================================================================== -//=============================================================================== - -// clang-format on diff --git a/network/wlan/WIFICX/drivercode/trace.h b/network/wlan/WIFICX/drivercode/trace.h index 7bbda1fa..39b9033d 100644 --- a/network/wlan/WIFICX/drivercode/trace.h +++ b/network/wlan/WIFICX/drivercode/trace.h @@ -5,16 +5,16 @@ #ifndef TRACE_H #define TRACE_H -//extern "C" -//{ -//#include -//} #define WPP_USE_TRACE_LEVELS // 21BA7B61-05F8-41F1-9048-C09493DCFE38 #define WPP_CONTROL_GUIDS \ WPP_DEFINE_CONTROL_GUID(WdiLibraryCtlGuid, (21BA7B61, 05F8, 41F1, 9048, C09493DCFE38), WPP_DEFINE_BIT(DUMMY)) +//#define WPP_LEVEL_EXP_ENABLED(LEVEL, EXP) WPP_LEVEL_ENABLED(LEVEL) +//#define WPP_LEVEL_EXP_LOGGER(LEVEL, EXP) WPP_LEVEL_LOGGER(LEVEL) + + #define WPP_RECORDER_LEVEL_FLAGS_ARGS(lvl, flags) WPP_CONTROL(WPP_BIT_##flags).AutoLogContext, lvl, WPP_BIT_##flags #define WPP_RECORDER_LEVEL_FLAGS_FILTER(lvl, flags) \ (WPP_LEVEL_ENABLED(lvl) || lvl < TRACE_LEVEL_VERBOSE || WPP_CONTROL(WPP_BIT_##flags).AutoLogVerboseEnabled) @@ -36,7 +36,6 @@ #define WFCError(Format, ...) #define WFCInfo(Format, ...) - // begin_wpp config // USEPREFIX (TraceEntry, "%!STDPREFIX!"); // FUNC TraceEntry{LEVEL=TRACE_LEVEL_VERBOSE}(...); @@ -66,62 +65,6 @@ // end_wpp // -// -// C++ with Activity ID function entry/exit commands -// -// begin_wpp config -// -// USEPREFIX (TraceActEntry, "%!STDPREFIX! [O:%p][A:%x]", this, this->get_ActivityId()); -// FUNC TraceActEntry{LEVEL=TRACE_LEVEL_VERBOSE}(...); -// USESUFFIX (TraceActEntry, "--> %!FUNC!"); -// -// USEPREFIX (TraceActExit, "%!STDPREFIX! [O:%p][A:%x]", this, this->get_ActivityId()); -// FUNC TraceActExit{LEVEL=TRACE_LEVEL_VERBOSE}(EXP); -// USESUFFIX (TraceActExit, "<-- %!FUNC!: 0x%x", EXP); -// -// end_wpp -// - -// -// C++ with Activity ID trace commands -// -// begin_wpp config -// -// USEPREFIX (WFCActError, "%!STDPREFIX! [O:%p][A:%x][ERROR]", this, this->get_ActivityId()); -// FUNC WFCActError{LEVEL=TRACE_LEVEL_ERROR}(MSG, ...); -// -// USEPREFIX (WFCActErrorStatus, "%!STDPREFIX! [O:%p][A:%x][ERROR=%x]", this, this->get_ActivityId(), status); -// FUNC WFCActErrorStatus{LEVEL=TRACE_LEVEL_ERROR}(MSG, ...); -// -// USEPREFIX (WFCActInfo, "%!STDPREFIX! [O:%p][A:%x][INFO]", this, this->get_ActivityId()); -// FUNC WFCActInfo{LEVEL=TRACE_LEVEL_INFORMATION}(MSG, ...); -// -// USEPREFIX (WFCActTrace, "%!STDPREFIX! [O:%p][A:%x][TRACE]", this, this->get_ActivityId()); -// FUNC WFCActTrace{LEVEL=TRACE_LEVEL_VERBOSE}(MSG, ...); -// -// end_wpp -// - -// -// C++ with Port ID trace commands -// -// begin_wpp config -// -// USEPREFIX (WFCPortError, "%!STDPREFIX! [O:%p][P:%x][ERROR]", this, this->GetPortId()); -// FUNC WFCPortError{LEVEL=TRACE_LEVEL_ERROR}(MSG, ...); -// -// USEPREFIX (WFCPortErrorStatus, "%!STDPREFIX! [O:%p][P:%x][ERROR=%x]", this, this->GetPortId(), status); -// FUNC WFCPortErrorStatus{LEVEL=TRACE_LEVEL_ERROR}(MSG, ...); -// -// USEPREFIX (WFCPortInfo, "%!STDPREFIX! [O:%p][P:%x][INFO]", this, this->GetPortId()); -// FUNC WFCPortInfo{LEVEL=TRACE_LEVEL_INFORMATION}(MSG, ...); -// -// USEPREFIX (WFCPortTrace, "%!STDPREFIX! [O:%p][P:%x][TRACE]", this, this->GetPortId()); -// FUNC WFCPortTrace{LEVEL=TRACE_LEVEL_VERBOSE}(MSG, ...); -// -// end_wpp -// - #define MACRO_START \ do \ { @@ -130,12 +73,12 @@ while (0) // -// WPP Macros: WX_RETURN_IF_NOT_NT_SUCCESS_MSG +// WPP Macros: WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG // // begin_wpp config -// FUNC WX_RETURN_IF_NOT_NT_SUCCESS_MSG{COMPNAME=DUMMY,LEVEL=TRACE_LEVEL_ERROR}(NTEXPR,MSG,...); -// USEPREFIX (WX_RETURN_IF_NOT_NT_SUCCESS_MSG, "%!STDPREFIX! !! WifiCx - %!FUNC!: "); -// USESUFFIX (WX_RETURN_IF_NOT_NT_SUCCESS_MSG, " [status=%!STATUS!]", nt__wpp); +// FUNC WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG{COMPNAME=DUMMY,LEVEL=TRACE_LEVEL_ERROR}(NTEXPR,MSG,...); +// USEPREFIX (WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG, "%!STDPREFIX! !! WifiIhv - %!FUNC!: "); +// USESUFFIX (WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG, " [status=%!STATUS!]", nt__wpp); // end_wpp #define WPP_COMPNAME_LEVEL_NTEXPR_PRE(comp, level, ntexpr) \ @@ -155,7 +98,7 @@ // // begin_wpp config // FUNC WX_RETURN_INSUFFICIENT_RESOURCES_IF_NULL_MSG{COMPNAME=DUMMY,LEVEL=TRACE_LEVEL_ERROR}(PTR2,MSG,...); -// USEPREFIX (WX_RETURN_INSUFFICIENT_RESOURCES_IF_NULL_MSG, "%!STDPREFIX! !! WifiCx - %!FUNC!: "); +// USEPREFIX (WX_RETURN_INSUFFICIENT_RESOURCES_IF_NULL_MSG, "%!STDPREFIX! !! WifiIhv - %!FUNC!: "); // USESUFFIX (WX_RETURN_INSUFFICIENT_RESOURCES_IF_NULL_MSG, "%!s! is null", #PTR2); // end_wpp @@ -175,7 +118,7 @@ // // begin_wpp config // FUNC WX_RETURN_IF_NULL_MSG{COMPNAME=DUMMY,LEVEL=TRACE_LEVEL_ERROR}(PTR3,MSG,...); -// USEPREFIX (WX_RETURN_IF_NULL_MSG, "%!STDPREFIX! !! WifiCx - %!FUNC!: "); +// USEPREFIX (WX_RETURN_IF_NULL_MSG, "%!STDPREFIX! !! WifiIhv - %!FUNC!: "); // USESUFFIX (WX_RETURN_IF_NULL_MSG, "%!s! is null", #PTR3); // end_wpp @@ -233,14 +176,7 @@ __inline ByteArray log_lenstr(ULONG len, const void* buf) // // DEFINE_CPLX_TYPE(MACADDR, WPP_LOGMACADDR, DOT11_MAC_ADDRESS, ItemMACAddr,"s", _MAC_, 0); // -// CUSTOM_TYPE(WFC_RX_PEER_STATE, ItemEnum(_WFC_RX_PEER_STATE)); -// // CUSTOM_TYPE(MESSAGE_ID, ItemEnum(WDI_TLV::ENUMS::MESSAGE_ID)); -// CUSTOM_TYPE(WFC_PORT_PROPERTY_NAME, ItemEnum(WFC_PORT_PROPERTY_NAME)); -// CUSTOM_TYPE(DisconnectInDxReason, ItemEnum(CSetPowerJob::DisconnectInDxReason)); -// CUSTOM_TYPE(WFC_JOB_TYPE, ItemEnum(_WFC_JOB_TYPE)); -// CUSTOM_TYPE(ConfigurableActionFrameWakePatterns, ItemEnum(ConfigurableActionFrameWakePatterns)); -// CUSTOM_TYPE(WFC_PORT_TYPE, ItemEnum(_WFC_PORT_TYPE)); // end_wpp // diff --git a/network/wlan/WIFICX/drivercode/umkmfusion.h b/network/wlan/WIFICX/drivercode/umkmfusion.h index cc74cd83..f94454f8 100644 --- a/network/wlan/WIFICX/drivercode/umkmfusion.h +++ b/network/wlan/WIFICX/drivercode/umkmfusion.h @@ -24,6 +24,13 @@ namespace Wifi return SUCCEEDED(hr) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL; } + _inline + NTSTATUS ConvertNDISSTATUSoNTSTATUS(NDIS_STATUS ndisStatus) { + + return ndisStatus > 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL; + } + + _Must_inspect_result_ _inline NTSTATUS SizeTAddSafe(_In_ size_t Augend, _In_ size_t Addend, _Out_ _Deref_out_range_(== , Augend + Addend) size_t* pResult) diff --git a/network/wlan/WIFICX/drivercode/wifihal.cpp b/network/wlan/WIFICX/drivercode/wifihal.cpp new file mode 100644 index 00000000..824ab6ac --- /dev/null +++ b/network/wlan/WIFICX/drivercode/wifihal.cpp @@ -0,0 +1,907 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. + +#include "precomp.h" +#include "wifirequest.h" +#include "wifiHALtestdata.h" +#include "WifiHal.h" +#include "WifiHal.tmh" + +NTSTATUS WifiHAL::WifiIhvSetDeviceCapabilities(WDFDEVICE Device) +{ + WIFI_DEVICE_CAPABILITIES deviceCaps = {}; + WIFI_DEVICE_CAPABILITIES_INIT(&deviceCaps); + + deviceCaps.HardwareRadioState = TRUE; + deviceCaps.SoftwareRadioState = TRUE; + deviceCaps.FirmwareVersion[MAX_FIRMWARE_VERSION_LENGTH]; + deviceCaps.ActionFramesSupported = TRUE; + deviceCaps.NumRxStreams = 1; + deviceCaps.NumTxStreams = 1; + deviceCaps.Support_eCSA = FALSE; + deviceCaps.MACAddressRandomization = FALSE; + deviceCaps.MACAddressRandomizationMask.Address[0] = 0; + deviceCaps.MACAddressRandomizationMask.Address[1] = 0; + deviceCaps.MACAddressRandomizationMask.Address[2] = 0; + deviceCaps.MACAddressRandomizationMask.Address[3] = 0xFF; + deviceCaps.MACAddressRandomizationMask.Address[4] = 0; + deviceCaps.MACAddressRandomizationMask.Address[5] = 0; + deviceCaps.BluetoothCoexistenceSupport = WDI_BLUETOOTH_COEXISTENCE_PERFORMANCE_MAINTAINED; + deviceCaps.SupportsNonWdiOidRequests = FALSE; + deviceCaps.FastTransitionSupported = TRUE; + deviceCaps.MU_MIMOSupported = FALSE; + deviceCaps.SAEAuthenticationSupported = TRUE; + deviceCaps.BSSTransitionSupported = TRUE; + deviceCaps.MBOSupported = FALSE; + deviceCaps.BeaconReportsImplemented = FALSE; + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + WifiDeviceSetDeviceCapabilities(Device, &deviceCaps), + "Failed to set device capabilities"); + + WIFI_STATION_CAPABILITIES StationCaps = {}; + WIFI_STATION_CAPABILITIES_INIT(&StationCaps); + + StationCaps.ScanSSIDListSize = 4; + StationCaps.DesiredSSIDListSize = 1; + StationCaps.PrivacyExemptionListSize = 1; + StationCaps.KeyMappingTableSize = 32; + StationCaps.DefaultKeyTableSize = 4; + StationCaps.WEPKeyValueMaxLength = 0x20; + StationCaps.MaxNumPerSTA = 4; + StationCaps.SupportedQOSFlags = 0; + StationCaps.HostFIPSModeImplemented = FALSE; + StationCaps.MFPCapable = TRUE; + StationCaps.AutoPowerSaveMode = FALSE; + StationCaps.BSSListCachemanagement = FALSE; + StationCaps.ConnectBSSSelectionOverride = FALSE; + StationCaps.MaxNetworkOffloadListSize = 0; + StationCaps.HESSIDConnectionSupported = FALSE; + StationCaps.FTMAsInitiatorSupport = FALSE; + StationCaps.FTMNumberOfSupportedTargets = 0; + + const DOT11_AUTH_CIPHER_PAIR UnicastAlgos[] = { + {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_NONE}, + {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_WEP}, + {DOT11_AUTH_ALGO_WPA_PSK, DOT11_CIPHER_ALGO_CCMP}, + {DOT11_AUTH_ALGO_RSNA, DOT11_CIPHER_ALGO_CCMP}, + {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_TKIP}, + {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_CCMP}, + {DOT11_AUTH_ALGO_WPA3_ENT_192, DOT11_CIPHER_ALGO_GCMP_256}, + {DOT11_AUTH_ALGO_WPA3_ENT, DOT11_CIPHER_ALGO_CCMP}, + {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_GCMP_256}, + {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_CCMP}, + {DOT11_AUTH_ALGO_OWE, DOT11_CIPHER_ALGO_GCMP_256}, + {DOT11_AUTH_ALGO_OWE, DOT11_CIPHER_ALGO_CCMP}, + }; + + const DOT11_AUTH_CIPHER_PAIR McastMgmtAlgos[] = { + {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_NONE}, + {DOT11_AUTH_ALGO_RSNA, DOT11_CIPHER_ALGO_BIP}, + {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_BIP}, + {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_BIP}, + {DOT11_AUTH_ALGO_WPA3_ENT, DOT11_CIPHER_ALGO_BIP}, + {DOT11_AUTH_ALGO_WPA3_ENT_192, DOT11_CIPHER_ALGO_BIP_GMAC_256}, + }; + + StationCaps.NumSupportedUnicastAlgorithms = ARRAYSIZE(UnicastAlgos); + StationCaps.UnicastAlgorithmsList = const_cast(UnicastAlgos); + StationCaps.NumSupportedMulticastDataAlgorithms = ARRAYSIZE(UnicastAlgos); + StationCaps.MulticastDataAlgorithmsList = const_cast(UnicastAlgos); + StationCaps.NumSupportedMulticastMgmtAlgorithms = ARRAYSIZE(McastMgmtAlgos); + StationCaps.MulticastMgmtAlgorithmsList = const_cast(McastMgmtAlgos); + + WIFI_STA_BANDS_COMBINATION SecondaryStaBandsCombinations[] = { + {2, {WDI_BAND_ID_2400, WDI_BAND_ID_5000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, + {2, {WDI_BAND_ID_2400, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, + {2, {WDI_BAND_ID_5000, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, + {3, {WDI_BAND_ID_2400, WDI_BAND_ID_5000, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN}}, + }; + + StationCaps.NumSecondaryStaBandCombinations = ARRAYSIZE(SecondaryStaBandsCombinations); + StationCaps.SecondaryStaBandsCombinations = SecondaryStaBandsCombinations; + + WDI_MAC_ADDRESS MLOAddresses[] = { + {0x11, 0x01, 0x02, 0x03, 0x04, 0x21}, + {0x11, 0x01, 0x02, 0x03, 0x04, 0x22}, + }; + StationCaps.MaxMLOLinksSupported = ARRAYSIZE(MLOAddresses); + StationCaps.MLOAddressesList = MLOAddresses; + + RSNA_AKM_SUITE AkmsList[] = { + rsna_akm_1x, + rsna_akm_psk, + rsna_akm_ft_1x_sha256, + rsna_akm_ft_psk_sha256, + rsna_akm_1x_sha256, + rsna_akm_psk_sha256, + rsna_akm_sae_pmk256, + rsna_akm_1x_suite_b_sha384, + rsna_akm_owe, + rsna_akm_1x_sha384, + rsna_akm_sae_pmk384, + }; + StationCaps.NumAkmsSupported = ARRAYSIZE(AkmsList); + StationCaps.AkmsList = AkmsList; + + if (WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, MSCSSupported)) + { + StationCaps.MSCSSupported = true; + } + if (WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, DSCPToUPMappingSupported)) + { + StationCaps.DSCPToUPMappingSupported = true; + } + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + WifiDeviceSetStationCapabilities(Device, &StationCaps), + "Failed to set station capabilities"); + + WIFI_BAND_CAPABILITIES BandCaps = {}; + WIFI_BAND_CAPABILITIES_INIT(&BandCaps); + + const WDI_PHY_TYPE Phy24GHz[] = { WDI_PHY_TYPE_ERP, WDI_PHY_TYPE_HE }; // g, ax + const WDI_PHY_TYPE Phy5GHz[] = { WDI_PHY_TYPE_OFDM, WDI_PHY_TYPE_HE, WDI_PHY_TYPE_EHT }; // a, ax, be + const WDI_PHY_TYPE Phy6GHz[] = { WDI_PHY_TYPE_HE, WDI_PHY_TYPE_EHT }; // ax, be + const WDI_PHY_TYPE pPhy60GHz[] = { WDI_PHY_TYPE_DMG }; // ad + const WDI_PHY_TYPE phyIHV[2] = { WDI_PHY_TYPE_OFDM, static_cast(WDI_PHY_TYPE_IHV_START + 1) }; + + // clang-format off + + const WDI_CHANNEL_MAPPING_ENTRY ChannelMap24[] = { + {1, 2412}, + {2, 2417}, + {3, 2422}, + {4, 2427}, + {5, 2432}, + {6, 2437}, + {7, 2442}, + {8, 2447}, + {9, 2452}, + {10, 2457}, + {11, 2462}, + {12, 2467}, // Not used in US + {13, 2472}, // Not used in US + {14, 2484}, // Allowed in Japan only + }; + + const WDI_CHANNEL_MAPPING_ENTRY ChannelMap5[] = { + {7, 5035}, // Not used in US + {8, 5040}, // Not used in US + {9, 5045}, // Not used in US + {11, 5055}, // Not used in US + {12, 5060}, // Not used in US + {16, 5080}, // Not used in US + {32, 5160}, // Unknown status + {34, 5170}, // Not used in US + {36, 5180}, + {38, 5190}, + {40, 5200}, + {42, 5210}, + {44, 5220}, + {46, 5230}, + {48, 5240}, + {50, 5250}, // DFS + {52, 5260}, // DFS + {54, 5270}, // DFS + {56, 5280}, // DFS + {58, 5290}, // DFS + {60, 5300}, // DFS + {62, 5310}, // DFS + {64, 5320}, // DFS + {68, 5340}, // Unknown status + {96, 5480}, // Unknown status + {100, 5500}, // DFS + {102, 5510}, // DFS + {104, 5520}, // DFS + {106, 5530}, // DFS + {108, 5540}, // DFS + {110, 5550}, // DFS + {112, 5560}, // DFS + {114, 5570}, // DFS + {116, 5580}, // DFS + {118, 5590}, // DFS + {120, 5600}, // DFS + {122, 5610}, // DFS + {124, 5620}, // DFS + {126, 5630}, // DFS + {128, 5640}, // DFS + {132, 5660}, // DFS + {134, 5670}, // DFS + {136, 5680}, // DFS + {138, 5690}, // DFS + {140, 5700}, // DFS + {142, 5710}, // DFS + {142, 5720}, // DFS + {144, 5730}, // DFS + {149, 5745}, + {151, 5755}, + {153, 5765}, + {155, 5785}, + {157, 5785}, + {159, 5795}, + {161, 5805}, + {165, 5825}, + {169, 5845}, // Not used in US + {173, 5865}, // Not used in US + {183, 4915}, // Not used in US + {184, 4920}, // Not used in US + {185, 4925}, // Not used in US + {187, 4935}, // Not used in US + {188, 4940}, // Not used in US + {189, 4945}, // Not used in US + {192, 4960}, // Not used in US + {196, 4980}, // Not used in US + }; + + const WDI_CHANNEL_MAPPING_ENTRY channelMap6[] = { + {1, 5955}, + {5, 5975}, // PSC Channel (1) + {9, 5995}, + + {13, 6015}, + {17, 6035}, + {21, 6055}, // PSC Channel (2) + {25, 6075}, + {29, 6095}, + + {33, 6115}, + {37, 6135}, // PSC Channel (3) + {41, 6155}, + {45, 6175}, + {49, 6195}, + + {53, 6215}, // PSC Channel (4) + {57, 6235}, + {61, 6255}, + {65, 6275}, + {69, 6295}, // PSC Channel (5) + + {73, 6315}, + {77, 6335}, + {81, 6355}, + {85, 6375}, // PSC Channel (6) + {89, 6395}, + + {93, 6415}, + {97, 6435}, + {101, 6455}, // PSC Channel (7) + {105, 6475}, + {109, 6495}, + + {113, 6515}, + {117, 6535}, // PSC Channel (8) + {121, 6555}, + {125, 6575}, + {129, 6595}, + + {133, 6615}, // PSC Channel (9) + {137, 6635}, + {141, 6655}, + {145, 6675}, + {149, 6695}, // PSC Channel (10) + + {153, 6715}, + {157, 6735}, + {161, 6755}, + {165, 6775}, // PSC Channel (11) + {169, 6795}, + + {173, 6815}, + {177, 6835}, + {181, 6855}, // PSC Channel (12) + {185, 6875}, + {189, 6895}, + + {193, 6915}, + {197, 6935}, // PSC Channel (13) + {201, 6955}, + {205, 6975}, + {209, 6995}, + + {213, 7015}, // PSC Channel (14) + {217, 7035}, + {221, 7055}, + {225, 7075}, + {229, 7095}, // PSC Channel (15) + + {233, 7115}, + {237, 7135}, + {241, 7155}, + {245, 7175}, + {249, 7195}, + + {253, 7215}, + }; + + const WDI_CHANNEL_MAPPING_ENTRY channelMap60[] = { + {1, 58320}, + {2, 60480}, + {3, 62640}, + {4, 64800}, + {5, 66960}, + {6, 69120}, + }; + + // clang-format on + + UINT32 ChannelWidth10Mhz = 10; + UINT32 ChannelWidth20Mhz = 20; + UINT32 channelWidth2160Mhz = 2160; + UINT32 pChannelWidth6Ghz[] = { 20, 40, 80, 160, 320 }; + + WIFI_BAND_INFO BandInfo[4] = {}; // Upto 4 bands + UINT32 bandInfoCount = 0; + + if (m_SupportedBands & WDI_BAND_ID_2400) + { + BandInfo[bandInfoCount].BandID = WDI_BAND_ID_2400; + BandInfo[bandInfoCount].BandState = TRUE; + BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy24GHz); + BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy24GHz); + BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(ChannelMap24); + BandInfo[bandInfoCount].ValidChannelTypes = const_cast(ChannelMap24); + BandInfo[bandInfoCount].NumChannelWidths = 1; + BandInfo[bandInfoCount].ChannelWidthList = &ChannelWidth10Mhz; + bandInfoCount++; + } + NT_ASSERT(bandInfoCount <= 1); + + if (m_SupportedBands & WDI_BAND_ID_5000) + { + BandInfo[bandInfoCount].BandID = WDI_BAND_ID_5000; + BandInfo[bandInfoCount].BandState = TRUE; + BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy5GHz); + BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy5GHz); + BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(ChannelMap5); + BandInfo[bandInfoCount].ValidChannelTypes = const_cast(ChannelMap5); + BandInfo[bandInfoCount].NumChannelWidths = 1; + BandInfo[bandInfoCount].ChannelWidthList = &ChannelWidth20Mhz; + bandInfoCount++; + } + NT_ASSERT(bandInfoCount <= 2); + + if (m_SupportedBands & WDI_BAND_ID_6000) + { + BandInfo[bandInfoCount].BandID = WDI_BAND_ID_6000; // 6 + BandInfo[bandInfoCount].BandState = TRUE; + BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy6GHz); + BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy6GHz); + BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(channelMap6); + BandInfo[bandInfoCount].ValidChannelTypes = const_cast(channelMap6); + BandInfo[bandInfoCount].NumChannelWidths = ARRAYSIZE(pChannelWidth6Ghz); + BandInfo[bandInfoCount].ChannelWidthList = pChannelWidth6Ghz; + bandInfoCount++; + } + + NT_ASSERT(bandInfoCount <= 3); + if (m_SupportedBands & WDI_BAND_ID_60000) + { + BandInfo[bandInfoCount].BandID = WDI_BAND_ID_60000; // 60 + BandInfo[bandInfoCount].BandState = TRUE; + BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(pPhy60GHz); + BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(pPhy60GHz); + BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(channelMap60); + BandInfo[bandInfoCount].ValidChannelTypes = const_cast(channelMap60); + BandInfo[bandInfoCount].NumChannelWidths = 1; + BandInfo[bandInfoCount].ChannelWidthList = &channelWidth2160Mhz; + bandInfoCount++; + } + NT_ASSERT(bandInfoCount <= 4); + + BandCaps.NumBands = bandInfoCount; + BandCaps.BandInfoList = BandInfo; + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + WifiDeviceSetBandCapabilities(Device, &BandCaps), + "Failed to set band capabilities"); + + WIFI_PHY_CAPABILITIES PhyCaps = {}; + WIFI_PHY_CAPABILITIES_INIT(&PhyCaps); + + WIFI_PHY_INFO PhyInfoList[3]; + + const WDI_DATA_RATE_ENTRY DataRateListErp[] = { + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 4}, + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 22}, + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; + const WDI_DATA_RATE_ENTRY DataRateListOfdm[] = { + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; + const WDI_DATA_RATE_ENTRY DataRateListEht[] = { + {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; + + PhyInfoList[0].PhyType = WDI_PHY_TYPE_ERP; + PhyInfoList[0].NumberDataRateEntries = ARRAYSIZE(DataRateListErp); + RtlCopyMemory(&PhyInfoList[0].DataRateList, &DataRateListErp, sizeof(DataRateListErp)); + + PhyInfoList[1].PhyType = WDI_PHY_TYPE_HE; + PhyInfoList[1].NumberDataRateEntries = ARRAYSIZE(DataRateListOfdm); + RtlCopyMemory(&PhyInfoList[1].DataRateList, &DataRateListOfdm, sizeof(DataRateListOfdm)); + + PhyInfoList[2].PhyType = WDI_PHY_TYPE_EHT; + PhyInfoList[2].NumberDataRateEntries = ARRAYSIZE(DataRateListEht); + RtlCopyMemory(&PhyInfoList[2].DataRateList, &DataRateListEht, sizeof(DataRateListEht)); + + PhyCaps.NumPhyTypes = ARRAYSIZE(PhyInfoList); + PhyCaps.PhyInfoList = PhyInfoList; + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + WifiDeviceSetPhyCapabilities(Device, &PhyCaps), + "Failed to set PHY capabilities"); + + return STATUS_SUCCESS; +} + +NTSTATUS WifiHAL::WifiIhvReset(WDFDEVICE Device, const WDI_TASK_DOT11_RESET_PARAMETERS& ResetParameters, const PWDI_MESSAGE_HEADER pWdiHeader, PCTLV_CONTEXT) +{ + if (0 == ResetParameters.Optional.ResetMACAddress_IsPresent) + { + WFCTrace("DOT11 Reset, set default MIB = %d, no MAC Address specified\n", ResetParameters.Dot11ResetParameters.SetDefaultMIB); + } + else + { + WFCTrace( + "DOT11 Reset, set default MIB = %d, MAC Address = %2x:%2x:%2x:%2x:%2x:%2x\n", + ResetParameters.Dot11ResetParameters.SetDefaultMIB, + ResetParameters.ResetMACAddress.Address[0], + ResetParameters.ResetMACAddress.Address[1], + ResetParameters.ResetMACAddress.Address[2], + ResetParameters.ResetMACAddress.Address[3], + ResetParameters.ResetMACAddress.Address[4], + ResetParameters.ResetMACAddress.Address[5]); + } + + // Reset the connection ID in case the previous connection attempt did not complete + m_LastConnectEntryId = 0; + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_DOT11_RESET_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); + + return STATUS_SUCCESS; +} + +_Use_decl_annotations_ +NTSTATUS WifiHAL::WifiIhvSetRadioState(WDFDEVICE Device, const WDI_SET_RADIO_STATE_PARAMETERS& RadioState, const PWDI_MESSAGE_HEADER pWdiHeader, PCTLV_CONTEXT Context) +{ + if (RadioState.SoftwareRadioState != m_CurrentRadioState) + { + // Change the radio state + m_CurrentRadioState = RadioState.SoftwareRadioState; + + // Send the radio state indication + WDI_INDICATION_RADIO_STATUS_PARAMETERS RadioStatusParams = {}; + UINT8* pOutput = nullptr; + ULONG cbOutput = 0; + + RadioStatusParams.RadioState.HardwareState = TRUE; + RadioStatusParams.RadioState.SoftwareState = m_CurrentRadioState; + if (GenerateWdiIndicationRadioStatus(&RadioStatusParams, 0, Context, &cbOutput, &pOutput) == NDIS_STATUS_SUCCESS) + { + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_RADIO_STATUS, 0, pOutput, cbOutput); + FreeGenerated(pOutput); + } + } + + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_SET_RADIO_STATE_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); + + return STATUS_SUCCESS; +} + +_Use_decl_annotations_ +NTSTATUS WifiHAL::WifiIhvScan(WDFDEVICE Device, WDI_SCAN_PARAMETERS& ScanParameters, const PWDI_MESSAGE_HEADER pWdiHeader, PCTLV_CONTEXT) +{ + for (UINT8 connectEntry = 1; connectEntry < ConnectEntryId_MAX; connectEntry++) + { + if (m_SupportedBands & g_ConnectEntries[connectEntry].BandId) + { + PUCHAR pBssEntry = g_ConnectEntries[connectEntry].pTlvBssEntry; + // + // If currently connected, see if the connected entry should be skipped + // + if ((m_LastConnectEntryId != 0) && + (RtlCompareMemory(&m_ConnectedPeer, &pBssEntry[8], sizeof(DOT11_MAC_ADDRESS)) == sizeof(DOT11_MAC_ADDRESS))) + { + // Already connected, don't report this entry + continue; + } + + // TODO: Skip the IHV band as it is not being reported in capabilities + if (g_ConnectEntries[connectEntry].BandId == TESTMP_BAND_IHV) + { + continue; + } + + // Send the BSS entry indication + WifiIhvSendIndicationToOs( + Device, + pWdiHeader, + WDI_INDICATION_BSS_ENTRY_LIST, + 0, + g_ConnectEntries[connectEntry].pTlvBssEntry, + g_ConnectEntries[connectEntry].TlvBssEntrySize); + } + } + + // + // See if the hidden network needs to be indicated + // + if ((ScanParameters.SSIDList.ElementCount > 0) && (ScanParameters.SSIDList.pElements[0].ElementCount == 8) && + (ScanParameters.SSIDList.pElements[0].pElements[4] == 'H') && (ScanParameters.SSIDList.pElements[0].pElements[5] == 'I') && + (ScanParameters.SSIDList.pElements[0].pElements[6] == 'D') && (ScanParameters.SSIDList.pElements[0].pElements[7] == 'E')) + { + WifiIhvSendIndicationToOs( + Device, pWdiHeader, WDI_INDICATION_BSS_ENTRY_LIST, 0, s_TLV_BSS_Entry_ProbeResponse_8_Hidden, sizeof(s_TLV_BSS_Entry_ProbeResponse_8_Hidden)); + } + + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_SCAN_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); + + return STATUS_SUCCESS; +} + +NTSTATUS WifiHAL::WifiIhvConnect(WDFDEVICE Device, WDI_TASK_CONNECT_PARAMETERS& ConnectParameters, const PWDI_MESSAGE_HEADER pWdiHeader, PCTLV_CONTEXT) +{ + NT_ASSERT(m_LastConnectEntryId == 0); + if (m_LastConnectEntryId != 0) // Not Disconnected State + { +#ifdef WIFI_IHV_NETV + DeleteDatapathPeer( + deviceContext->netAdapters[pWdiHeader->PortId], reinterpret_cast(&deviceContext->ConnectedPeer)); +#endif // WIFI_IHV_NETV + } + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG(WifiIhvPerformAssociation( + Device, &ConnectParameters.PreferredBSSEntryList, &ConnectParameters.ConnectParameters.AuthenticationAlgorithms, pWdiHeader), + "Failed to perform association"); + + // + // WPA3-SAE requires the SAE Exchange, so do not complete the Connection request until the SAE exchange is complete + // + if (WDI_AUTH_ALGO_WPA3_SAE != m_LastAuthAlgo) + { + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_CONNECT_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); + } + + return STATUS_SUCCESS; +} + +_Use_decl_annotations_ +NTSTATUS WifiHAL::WifiIhvSendLinkStateIndication(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, ULONG numLinks) +{ + // Report link quality + NTSTATUS ntStatus = STATUS_SUCCESS; + PWIFI_IHV_DEVICE_CONTEXT pDeviceContext = WifiGetIhvDeviceContext(Device); + WDI_INDICATION_LINK_STATE_CHANGE_PARAMETERS linkStateChangeParameters = {}; + WDI_LINK_INFO_CONTAINER pLinkInfo[2] = {}; + UINT8* pOutput = nullptr; + ULONG cbOutput = 0; + + RtlCopyMemory( + &linkStateChangeParameters.LinkStateChangeParameters.PeerMACAddress, &m_ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); + linkStateChangeParameters.LinkStateChangeParameters.TxLinkSpeed = 30000; + linkStateChangeParameters.LinkStateChangeParameters.RxLinkSpeed = 30000; + linkStateChangeParameters.LinkStateChangeParameters.LinkQuality = 56; + + // Default linkId for non-Mlo connections is 0 + pLinkInfo[0].LinkID = 0; + RtlCopyMemory(&pLinkInfo[0].LocalLinkMACAddress, &m_LocalLinkAddresses[0], sizeof(DOT11_MAC_ADDRESS)); + RtlCopyMemory(&pLinkInfo[0].PeerLinkMACAddress, &m_ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); + pLinkInfo[0].ChannelNumber = 6; + pLinkInfo[0].BandId = WDI_BAND_ID_2400; + pLinkInfo[0].RSSI = -50; + pLinkInfo[0].Bandwidth = 40; + pLinkInfo[0].TxMCS = 3; + pLinkInfo[0].RxMCS = 4; + + if (numLinks > 1) + { + // For Mlo connections, set the link ID for the first link to 1 + pLinkInfo[0].LinkID = 1; + + pLinkInfo[1].LinkID = 2; + RtlCopyMemory(&pLinkInfo[1].LocalLinkMACAddress, &m_LocalLinkAddresses[1], sizeof(DOT11_MAC_ADDRESS)); + RtlCopyMemory(&pLinkInfo[1].PeerLinkMACAddress, &m_ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); + pLinkInfo[1].ChannelNumber = 36; + pLinkInfo[1].BandId = WDI_BAND_ID_5000; + pLinkInfo[1].RSSI = -30; + pLinkInfo[1].Bandwidth = 160; + pLinkInfo[1].TxMCS = 8; + pLinkInfo[1].RxMCS = 9; + } + + linkStateChangeParameters.LinkInfo.pElements = pLinkInfo; + linkStateChangeParameters.LinkInfo.ElementCount = numLinks > 1 ? 2 : 1; + + ntStatus = GenerateWdiIndicationLinkStateChangeFromIhv(&linkStateChangeParameters, 0, &pDeviceContext->TlvContext, &cbOutput, &pOutput); + if (STATUS_SUCCESS == ntStatus) + { + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_LINK_STATE_CHANGE, 0, pOutput, cbOutput); + FreeGenerated(pOutput); + } + else + { + WFCError("Failed to generate WDI_INDICATION_LINK_STATE_CHANGE - 0x%08x\n", ntStatus); + } + + return ntStatus; +} + +_Use_decl_annotations_ +NTSTATUS WifiHAL::WifiIhvPerformAssociation( + WDFDEVICE Device, + struct ArrayOfElements* pPreferredBSSEntryList, + struct ArrayOfElements* pAuthenticationAlgorithms, + PWDI_MESSAGE_HEADER pWdiHeader) +{ + + ULONG bssIndex = 0; + ULONG connectEntry = ConnectEntryId_MAX; + NTSTATUS ntStatus = STATUS_SUCCESS; + UINT32 NewConnectEntryId = 0; // Disconnected State + WDI_AUTH_ALGORITHM NewAuthAlgo = pAuthenticationAlgorithms->pElements[0]; + UCHAR pucData[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10 }; +#ifdef WIFI_IHV_NETV + WifiNetvDevice* pDeviceContext = WifiNetvDeviceGetContext(Device); +#else + PWIFI_IHV_DEVICE_CONTEXT pDeviceContext = WifiGetIhvDeviceContext(Device); +#endif // WIFI_IHV_NETV + ULONG assocStatus = WDI_ASSOC_STATUS_SUCCESS; + + do + { + // We search for the BSSID pattern to figure out what AP we are trying to connect to + for (bssIndex = 0; bssIndex < pPreferredBSSEntryList->ElementCount; bssIndex++) + { + for (connectEntry = 1; connectEntry < ConnectEntryId_MAX; connectEntry++) + { + if (RtlCompareMemory( + pPreferredBSSEntryList->pElements[bssIndex].BSSID.Address, + g_ConnectEntries[connectEntry].pMacAddress, + sizeof(DOT11_MAC_ADDRESS)) == sizeof(DOT11_MAC_ADDRESS)) + { + PUCHAR pAssociationResult = g_ConnectEntries[connectEntry].pTlvAssociationResult; + + NewConnectEntryId = connectEntry; + m_LastConnectTransactionId = pWdiHeader->TransactionId; +#ifdef WIFI_IHV_NETV + // add peer on datapath + AddDatapathPeer(pDeviceContext->netAdapters[pWdiHeader->PortId], + reinterpret_cast(g_ConnectEntries[connectEntry].pMacAddress)); +#endif // WIFI_IHV_NETV + +#ifdef WIFI_IHV_HANDSHAKE + // Pretend to recieve M1 on datapath before, the association complete has made it up the control path. + RecieveDatapathFrame(0x33, sizeof(pucData), pucData); +#endif // WIFI_IHV_HANDSHAKE + + if (NewAuthAlgo == WDI_AUTH_ALGO_WPA3_SAE) + { + WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED_PARAMETERS SAEAuthParamsNeeded; + UINT8* pOutput = nullptr; + ULONG cbOutput = 0; + NDIS_STATUS ndisStatus = NDIS_STATUS_SUCCESS; + + // + // Handle special case for WPA3-SAE + // Send the Indication to request additonal SAE params + // + g_dwSaeResendConfirmRequested = 0; + SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED; + RtlCopyMemory( + SAEAuthParamsNeeded.BssId.Address, g_ConnectEntries[connectEntry].pMacAddress, sizeof(DOT11_MAC_ADDRESS)); + + ndisStatus = GenerateWdiIndicationSaeAuthParamsNeeded( + &SAEAuthParamsNeeded, 0, &pDeviceContext->TlvContext, &cbOutput, &pOutput); + if (ndisStatus == NDIS_STATUS_SUCCESS) + { + WFCInfo("[SAE] Indicating request for COMMIT_REQUEST_PARAMS_NEEDED ..."); + + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, 0, pOutput, cbOutput); + + FreeGenerated(pOutput); + + break; + } + } + + // Get the assoc status + RtlCopyMemory(&assocStatus, &pAssociationResult[18], sizeof(ULONG)); + + // Send the association indication + WifiIhvSendIndicationToOs( + Device, + pWdiHeader, + WDI_INDICATION_ASSOCIATION_RESULT, + 0, + g_ConnectEntries[connectEntry].pTlvAssociationResult, + g_ConnectEntries[connectEntry].TlvAssociationResultSize); + + break; + } + } + + // If we found a matching BSSID entry, we are done + if (connectEntry < ConnectEntryId_MAX) + { + break; + } + } + + } while (FALSE); + + if (WDI_ASSOC_STATUS_SUCCESS != assocStatus || 0 == NewConnectEntryId || bssIndex >= pPreferredBSSEntryList->ElementCount) + { + NewConnectEntryId = 0; // Disconnected State + NewAuthAlgo = WDI_AUTH_ALGO_80211_OPEN; + ntStatus = STATUS_UNSUCCESSFUL; + } + else + { + RtlCopyMemory(&m_ConnectedPeer, pPreferredBSSEntryList->pElements[bssIndex].BSSID.Address, sizeof(DOT11_MAC_ADDRESS)); + } + + m_LastConnectEntryId = NewConnectEntryId; + m_LastAuthAlgo = NewAuthAlgo; + + if (STATUS_SUCCESS == ntStatus && (WDI_AUTH_ALGO_WPA3_SAE != m_LastAuthAlgo)) + { + // Report link quality + ntStatus = WifiIhvSendLinkStateIndication(Device, pWdiHeader, 2); + } + + return ntStatus; +} + +NTSTATUS WifiHAL::WifiIhvSetSaeAuthParams(WDFDEVICE Device, const WDI_SET_SAE_AUTH_PARAMS_COMMAND& setSAEAuthParams, const PWDI_MESSAGE_HEADER pWdiHeader, PCTLV_CONTEXT Context) +{ + WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED_PARAMETERS SAEAuthParamsNeeded{}; + UINT8* pOutput = nullptr; + ULONG cbOutput = 0; + + // Commit frame when Status = 0: FiniteCyclicGroup + Scalar + Element + // Commit frame when Status = 76: FiniteCyclicGroup + AntiCloggingToken + WFCInfo("WDI_SET_SAE_AUTH_PARAMS called!!!\n"); + if (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS == setSAEAuthParams.SAERequestType) + { + WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS has Commit request for Tx, Setting CommitResponse for Rx\n"); + + SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_COMMIT_FRAME; + SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; + + // + // Send reflection attack first + // + SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAECommitResponseReflection); + SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAECommitResponseReflection; + } + else if ( + (WDI_SAE_REQUEST_TYPE_FAILURE == setSAEAuthParams.SAERequestType) && + (WDI_SAE_STATUS_COMMIT_MESSAGE_REFLECTION_ATTACK_DETECTED == setSAEAuthParams.SAEStatus)) + { + WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS returned Reflection error -- Inidicate proper CommitResponse for Rx\n"); + + SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME; + SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; + SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAECommitResponse); + SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAECommitResponse; + } + else if (WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS == setSAEAuthParams.SAERequestType) + { + WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS has Confirm request for Tx, Setting ConfirmResponse for Rx\n"); + + if (g_dwSaeResendConfirmRequested) + { + SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME; + SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; + SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAEConfirmResponse); + SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAEConfirmResponse; + } + else + { + g_dwSaeResendConfirmRequested = 1; + + SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST; + } + } + else + { + if (WDI_SAE_REQUEST_TYPE_FAILURE == setSAEAuthParams.SAERequestType) + { + WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has indicated error - %d\n", setSAEAuthParams.SAEStatus); + } + else if (WDI_SAE_REQUEST_TYPE_SUCCESS == setSAEAuthParams.SAERequestType) + { + WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has indicated SAE success - %d\n", setSAEAuthParams.SAEStatus); + } + else + { + WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has set INVALID Request type = %d\n", setSAEAuthParams.SAERequestType); + } + + // Send the association indication + // This assumes that the association result fields are in the right order + if (WDI_AUTH_ALGO_WPA3_SAE == m_LastAuthAlgo) + { + g_ConnectEntries[m_LastConnectEntryId].pTlvAssociationResult[27] = (UCHAR)WDI_AUTH_ALGO_WPA3_SAE; + } + else + { + g_ConnectEntries[m_LastConnectEntryId].pTlvAssociationResult[27] = (UCHAR)WDI_AUTH_ALGO_RSNA_PSK; + } + + WifiIhvSendIndicationToOs( + Device, + pWdiHeader, + WDI_INDICATION_ASSOCIATION_RESULT, + 0, + g_ConnectEntries[m_LastConnectEntryId].pTlvAssociationResult, + g_ConnectEntries[m_LastConnectEntryId].TlvAssociationResultSize); + RtlCopyMemory(&m_ConnectedPeer, &g_ConnectEntries[m_LastConnectEntryId].pMacAddress, sizeof(DOT11_MAC_ADDRESS)); + + // Report link quality + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG(WifiIhvSendLinkStateIndication(Device, pWdiHeader, 1), + "Failed WifiIhvSendLinkStateIndication"); + + WifiIhvSendIndicationToOs( + Device, pWdiHeader, WDI_INDICATION_CONNECT_COMPLETE, m_LastConnectTransactionId, nullptr, 0); +#ifdef WIFI_IHV_HANDSHAKE + // + // Receive M1 frame of 4-way handshake + // + RecieveDatapathFrame(0x33, sizeof(pucM1SaeFrame), pucM1SaeFrame); + + // + // Receive M3 frame of 4-way handshake + // + RecieveDatapathFrame(0x33, sizeof(pucM3SaeFrame), pucM3SaeFrame); +#endif + } + + RtlCopyMemory(SAEAuthParamsNeeded.BssId.Address, &g_ConnectEntries[m_LastConnectEntryId].pMacAddress, sizeof(DOT11_MAC_ADDRESS)); + + auto ndisStatus = + GenerateWdiIndicationSaeAuthParamsNeeded(&SAEAuthParamsNeeded, 0, Context, &cbOutput, &pOutput); + if (ndisStatus == NDIS_STATUS_SUCCESS) + { + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, 0, pOutput, cbOutput); + + FreeGenerated(pOutput); + } + else + { + WFCError("Failed to generate WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED - 0x%08x\n", ndisStatus); + } + + return STATUS_SUCCESS; +} + +_Use_decl_annotations_ +void WifiHAL::WifiIhvPerformDisassociation(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, _In_ WDI_ASSOC_STATUS DisassocStatus) +{ + UCHAR s_TLV_Disassociation[] = + { + // WDI_TLV_ASSOCIATION_RESULT + 0xBC, 0x00, + 0x0A, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + + // WDI_TLV Need Peer Cleanup Params + 0xb4, 0x00, + 0x01, 0x00, + + 0x00 + }; + + RtlCopyMemory(&s_TLV_Disassociation[4], &m_ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); + RtlCopyMemory(&s_TLV_Disassociation[10], &DisassocStatus, sizeof(ULONG)); + + // Send the disassociation indication + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_DISASSOCIATION, 0, s_TLV_Disassociation, sizeof(s_TLV_Disassociation)); + + m_LastConnectEntryId = 0; // Disconnected State + +#ifdef WIFI_IHV_NETV + DeleteDatapathPeer(0x33); +#endif + + WifiIhvSendIndicationToOs(Device, pWdiHeader, WDI_INDICATION_DISCONNECT_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); +} \ No newline at end of file diff --git a/network/wlan/WIFICX/drivercode/wifihal.h b/network/wlan/WIFICX/drivercode/wifihal.h new file mode 100644 index 00000000..5f1ec299 --- /dev/null +++ b/network/wlan/WIFICX/drivercode/wifihal.h @@ -0,0 +1,31 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +#pragma once + +// The class for Wifi IHV device's HAL functionalities +class WifiHAL +{ +public: + NTSTATUS WifiIhvSetDeviceCapabilities(_In_ WDFDEVICE Device); + NTSTATUS WifiIhvReset(_In_ WDFDEVICE Device,_In_ const WDI_TASK_DOT11_RESET_PARAMETERS& ResetParameters, _In_ const PWDI_MESSAGE_HEADER pWdiHeader, _In_ PCTLV_CONTEXT Context); + NTSTATUS WifiIhvSetRadioState(_In_ WDFDEVICE Device, _In_ const WDI_SET_RADIO_STATE_PARAMETERS& RadioState, _In_ const PWDI_MESSAGE_HEADER pWdiHeader, _In_ PCTLV_CONTEXT Context); + NTSTATUS WifiIhvScan(_In_ WDFDEVICE Device, _In_ WDI_SCAN_PARAMETERS& ScanParameters, _In_ const PWDI_MESSAGE_HEADER pWdiHeader, _In_ PCTLV_CONTEXT Context); + NTSTATUS WifiIhvConnect(_In_ WDFDEVICE Device, _In_ WDI_TASK_CONNECT_PARAMETERS& ConnectParameters, _In_ const PWDI_MESSAGE_HEADER pWdiHeader, _In_ PCTLV_CONTEXT Context); + NTSTATUS WifiIhvPerformAssociation(_In_ WDFDEVICE Device, _In_ struct ArrayOfElements* pPreferredBSSEntryList, _In_ struct ArrayOfElements* pAuthenticationAlgorithms, _In_ PWDI_MESSAGE_HEADER pWdiHeader); + NTSTATUS WifiIhvSetSaeAuthParams(_In_ WDFDEVICE Device, _In_ const WDI_SET_SAE_AUTH_PARAMS_COMMAND& setSAEAuthParams, _In_ const PWDI_MESSAGE_HEADER pWdiHeader, _In_ PCTLV_CONTEXT Context); + void WifiIhvPerformDisassociation(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, _In_ WDI_ASSOC_STATUS DisassocStatus); +private: + NTSTATUS WifiIhvSendLinkStateIndication(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, ULONG numLinks); + + UCHAR m_CurrentRadioState{}; + UINT32 m_LastConnectEntryId{}; + UINT32 m_LastConnectTransactionId{}; + WDI_AUTH_ALGORITHM m_LastAuthAlgo{}; + DOT11_MAC_ADDRESS m_ConnectedPeer{}; + + const WDI_MAC_ADDRESS m_LocalLinkAddresses[2] = { + {0x11, 0x01, 0x02, 0x03, 0x04, 0x21}, + {0x11, 0x01, 0x02, 0x03, 0x04, 0x22}, + }; + + const ULONG m_SupportedBands = (WDI_BAND_ID_2400 | WDI_BAND_ID_5000 | WDI_BAND_ID_6000); +}; diff --git a/network/wlan/WIFICX/drivercode/wifihaltestdata.h b/network/wlan/WIFICX/drivercode/wifihaltestdata.h new file mode 100644 index 00000000..7ded0f2b --- /dev/null +++ b/network/wlan/WIFICX/drivercode/wifihaltestdata.h @@ -0,0 +1,8290 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +#pragma once + +#define TESTMP_BAND_IHV 0x00000010 + +// clang-format on + +#define ConnectEntryId_MAX ARRAYSIZE(g_ConnectEntries) + +// +//=============================================================================== +// Set alternate local addresses based on simulation parameters +//=============================================================================== +// +UCHAR s_ArubaSimLocalAddress[] = {0xd4, 0x6a, 0x6a, 0x52, 0x18, 0x07}; // For Wpa3SuiteB - Aruba +UCHAR g_IntelSimLocalAddress[] = {0x34, 0x13, 0xe8, 0xb3, 0x14, 0x4c}; // For Wpa3SuiteB - Intel +UCHAR g_SaeSimLocalAddress[] = {0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5}; // For Wpa3Sae + +#ifdef WPA3_ARUBA_SIM +PUCHAR g_AlternateLocalAddress = s_ArubaSimLocalAddress; +#elif WPA3_INTEL_SIM +PUCHAR g_AlternateLocalAddress = g_IntelSimLocalAddress; +#elif WPA3_SAE +PUCHAR g_AlternateLocalAddress = g_SaeSimLocalAddress; +#else +PUCHAR g_AlternateLocalAddress = NULL; +#endif + +// clang-format off + +// +//=============================================================================== +// + +UCHAR s_DeviceServiceTestBlob[] = +{ + 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa +}; + +// +//=============================================================================== +// + +UCHAR s_TLV_AssociationParametersRequestedType[] = +{ + // WDI_TLV_ASSOCIATION_PARAMETERS_REQUESTED_TYPE + 0xBB, 0x00, + 0x02, 0x00, + 0x9F, 0x00 // PMKID +}; + +UCHAR s_TLV_RoamingNeededIndication[] = +{ + // WDI_TLV_ROAMING_NEEDED_PARAMETERS + 0x55, 0x00, + 0x04, 0x00, + 0x0a, 0x00, 0x00, 0x00 +}; + +UCHAR s_TLV_NeighborReport[] = +{ + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_ACTION_FRAME_BODY + 0xBE, 0x00, + 0x14, 0x00, + 0x05, // Category = Radio Measurement + 0x05, // Action = Neighbor Report Response + 0x01, // Dialog Token + 0x34, // Element ID = Neighbor Report + 0x0F, // Length + 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, // BSSID + 0x00, 0x00, 0x00, 0x00, // BSSID Information + 0x00, // Operating class + 0x06, // Channel Number + 0x00, // PHY Type + 0x00, 0x00, // Optional IEs +}; + +// +//=============================================================================== +// + +// +//=============================================================================== +// BSs entries +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr = {0x00, 0x20, 0x30, 0x40, 0x50, 0x60}; + +UCHAR s_TLV_BSS_Entry_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x63, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x35, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID + 0x01, 0x04, // Supported Rates + 0x02, 0x04, 0x0B, 0x16, + 0x03, 0x01, // DSSS Parameter + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x46, 0x05, // RM Enabled Capabilities + 0x02, 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x07, // Vendor specific - MBO-OCE IE + 0x50, 0x6F, 0x9A, // WFA OUI + 0x16, // MBO-OCE IE OUI Type + 0x01, // Attribute ID - AP capability + 0x01, // Attrib length + 0x00, // Not cellular data aware + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_SuccessOpenAssociationResult[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD7, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x30, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, + 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID + 0x01, 0x08, // Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x21, 0x02, // Power Capability + 0x07, 0x12, + 0x24, 0x02, // Supported Channels + 0x01, 0x0B, + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x07, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, //Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x32, 0x04, //Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x18, //WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'W', 'F', 'C', '_', 'O', 'P', 'E', 'N', // SSID + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) + // 0x00, 0x00, + // 0x04, 0x00, + // 0x00, 0x00, 0x00, 0x00 + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, + +}; + + +UCHAR s_TLV_OpenDisassociation[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0xBC, 0x00, + 0x0A, 0x00, + 0x00, 0x20, 0x30, 0x40, 0x50, 0x60, + 0x01, 0x00, 0x00, 0x00, + + // WDI_TLV Need Peer Cleanup Params + 0xb4, 0x00, + 0x01, 0x00, + 0x00 +}; + +WDI_MAC_ADDRESS s_Connect_Addr_2_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2}; + +UCHAR s_TLV_BSS_Entry_2_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x59, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x26, 0x00, + 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', + 0x03, 0x01, // DSSS Parameter + 0x01, + 0x01, 0x04, // Supported Rates + 0x02, 0x04, 0x0B, 0x16, + 0x46, 0x05, // RM Enabled Capabilities + 0x02, 0x00, 0x00, 0x00, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x28, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // Band ID + +}; + +UCHAR s_TLV_Success_AssociationResult_2_Open[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD7, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE2, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x30, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', + 0x01, 0x08, // Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x21, 0x02, // Power Capability + 0x07, 0x12, + 0x24, 0x02, // Supported Channels + 0x01, 0x0B, + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x07, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, // Capability + 0x00, 0x00, // Status + 0x01, 0xC0, // Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x18, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x25, 0x00, + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', + 0x01, 0x04, + 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, // DSSS Parameter + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + + // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) + // 0x00, 0x00, + // 0x04, 0x00, + // 0x00, 0x00, 0x00, 0x00 + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + +// +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_3_WEP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3}; + +UCHAR s_TLV_BSS_Entry_3_WEP [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x52, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x1f, 0x00, + 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x10, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', + 0x03, 0x01, 0x01, // DSSS Parameter (Offset: 42) + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x3C, 0x00, 0x00, 0x00, // Link Quality (Offset: 57) + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel (Offset: 64) + 0x01, 0x00, 0x00, 0x00, // Band ID + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00 +}; + + +UCHAR s_TLV_Success_AssociationResult_3_WEP[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD9, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE3, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x32, 0x00, + 0x10, 0x04, // Capability + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x01, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x10, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'W', 'E', 'P', + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) + // 0x00, 0x00, + // 0x04, 0x00, + // 0x00, 0x00, 0x00, 0x00 + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + + +// +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_4_RSNA_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4}; + +#define WFA_TEST_MIN_RSN_IE 1 + +UCHAR s_TLV_BSS_Entry_4_RSNA_CCMP [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type +#ifdef WFA_TEST_MIN_RSN_IE + 0x79, 0x00, //Len +#else + 0x8B, 0x00, //Len +#endif // WFA_TEST_MIN_RSN_IE + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, +#ifdef WFA_TEST_MIN_RSN_IE + 0x46, 0x00, +#else + 0x58, 0x00, +#endif // WFA_TEST_MIN_RSN_IE + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved +#ifdef WFA_TEST_MIN_RSN_IE + 0x30, 0x02, + 0x01, 0x00, +#else + 0x30, 0x14, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite -- RSNA_PSK + 0x00, 0x00, // RSN Capability +#endif // WFA_TEST_MIN_RSN_IE + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_4_RSNA_CCMP[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x22, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE4, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x48, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x01, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x14, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x02, 0x00, 0x00, // RSN + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x58, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x14, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x02, 0x00, 0x00, // RSN + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + + +// +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_5_IHV = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5}; + +UCHAR s_TLV_BSS_Entry_5_IHV [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x52, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x1f, 0x00, + 0x44, 0x55, 0x66, 0x77, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x10, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', + 0x03, 0x01, 0x01, // DSSS Parameter + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x3C, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x24, 0x00, 0x00, 0x00, // Channel = 36 + 0x08, 0x00, 0x00, 0x00, // Band ID = Custom +// 0x02, 0x00, 0x00, 0x00, // Band ID + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00 +}; + + +UCHAR s_TLV_Success_AssociationResult_5_IHV[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD9, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x02, 0x00, 0x00, 0x80, //AuthAlgorithm = Custom + 0x01, 0x00, 0x00, 0x80, //UnicastCipherAlgorithm + 0x01, 0x00, 0x00, 0x80, //MulticastDataCipherAlgorithm + 0x01, 0x00, 0x00, 0x80, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x80, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x32, 0x00, + 0x10, 0x04, // Capability + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x24, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x10, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', '_', 'I', 'H', 'V', + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) + // 0x00, 0x00, + // 0x04, 0x00, + // 0x00, 0x00, 0x00, 0x00 + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x02, 0x00, 0x00, 0x80, // Phy = IHV Phy 2 + +}; + + +UCHAR s_TLV_IhvRequestComplete[] = +{ + // WDI_TLV_IHV_DATA + 0xBD, 0x00, + 0x0A, 0x00, + + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0x00, 0x00, 0x01 +}; + + +UCHAR s_TLV_IhvIndication[] = +{ + // WDI_TLV_IHV_DATA + 0xBD, 0x00, + 0x30, 0x00, + + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE5 +}; + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_6_FT_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6}; + +UCHAR s_TLV_BSS_Entry_6_FT_CCMP [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xEA, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xB7, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x07, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x03, 0x01, // DSS Parameters + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x07, 0x06, // Country + 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, + 0x0B, 0x05, + 0x00, 0x00, 0x53, 0x8D, 0x5B, + 0x2A, 0x01, + 0x00, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x03, // AKM Suite + 0x28, 0x00, // RSN Capability + 0x32, 0x01, + 0x6C, + 0x36, 0x03, // MDID IE + 0x0B, 0x47, // MDID + 0x00, // FT Capability and Policy + 0x85, 0x1E, + 0x00, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, + 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x35, 0x32, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x96, 0x06, + 0x00, 0x40, 0x96, 0x00, 0x0B, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x06, + 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x03, 0x05, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x0B, 0x09, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x14, 0x01, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x4A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_6_FT_CCMP[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0C, 0x02, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE6, + + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x06, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x3E, 0x00, + 0x31, 0x04, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x07, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x03, // AKM Suite -- FT + 0x0C, 0x00, // RSN Capability + 0x32, 0x01, // Extended Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x0B, 0x47, // MDID + 0x00, // FT Capability and Policy + 0xDD, 0x07, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0xC5, 0x00, + 0x31, 0x04, // Capability + 0x00, 0x00, // Status + 0x01, 0xC0, // Association ID + 0x01, 0x08, // Supported Rates + 0x96, 0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x30, 0x26, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x03, // AKM Suite -- FT + 0x28, 0x00, // RSN Capability + 0x01, 0x00, // PMKID Count -- PMKR1Name + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //PMKID + 0x32, 0x01, // Extended Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x0B, 0x47, // MDID + 0x00, // FT Capability and Policy + 0x37, 0x69, // FTE IE + 0x00, 0x00, // MIC Control - 0 => no MIC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //MIC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //ANonce + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //SNonce + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x06, // R1KH-ID + 0xB4, 0xC7, 0x99, 0x8A, 0xB6, 0x30, + 0x03, 0x0D, // R0KH-ID + 'a', 'p', '8', '1', '3', '2', '-', '7', '3', '4', 'E', 'B', '0', + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xB7, 0x00, + 0xDD, 0x50, 0x3D, 0xF7, 0xE2, 0x01, 0x00, 0x00, // Supported Rates + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x07, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', // WDI__FT + 0x01, 0x08, + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x03, 0x01, // DSS Parameters + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x07, 0x06, // Country + 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, + 0x0B, 0x05, + 0x00, 0x00, 0x6E, 0x8D, 0x5B, + 0x2A, 0x01, // ERP + 0x00, + 0x30, 0x14, // RSN + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise cipher count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise cipher + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x03, // AKM Suite + 0x0C, 0x00, // RSN Capability + 0x32, 0x01, // Extended Supported Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x0B, 0x47, // MDID + 0x00, // FT Capability and Policy + 0x85, 0x1E, + 0x03, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, + 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x31, 0x65, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x96, 0x06, + 0x00, 0x40, 0x96, 0x00, 0x0E, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x06, + 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x03, 0x05, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x0B, 0x09, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x14, 0x01, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00 +}; + + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_7_FT_PSK_CCMP = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7}; + +UCHAR s_TLV_BSS_Entry_7_FT_PSK_CCMP [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xED, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xBA, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x03, 0x01, // DSS Parameters + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x07, 0x06, // Country + 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, + 0x0B, 0x05, + 0x00, 0x00, 0x53, 0x8D, 0x5B, + 0x2A, 0x01, + 0x00, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x04, // AKM Suite + 0x28, 0x00, // RSN Capability + 0x32, 0x01, + 0x6C, + 0x36, 0x03, // MDID IE + 0x12, 0x34, // MDID + 0x80, // FT Capability and Policy + 0x85, 0x1E, + 0x00, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, + 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x35, 0x32, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x96, 0x06, + 0x00, 0x40, 0x96, 0x00, 0x0B, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x06, + 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x03, 0x05, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x0B, 0x09, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x14, 0x01, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x4A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_7_FT_PSK_CCMP[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0C, 0x02, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, + + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x41, 0x00, + 0x31, 0x04, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x30, 0x14, // RSN IE + 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, 0xAC, 0x04, 0x01, 0x00, 0x00, 0x0F, + 0xAC, 0x01, 0x00, 0x00, + 0x32, 0x01, // Extended Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x12, 0x34, // MDID + 0x80, // FT Capability and Policy + 0xDD, 0x07, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0xBF, 0x00, + 0x31, 0x04, // Capability + 0x00, 0x00, // Status + 0x01, 0xC0, // Association ID + 0x01, 0x08, // Supported Rates + 0x96, 0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x30, 0x26, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher -- CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher -- CCMP + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x04, // AKM Suite -- FT-PSK + 0x28, 0x00, // RSN Capability + 0x01, 0x00, // PMKID Count -- PMKR1Name + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //PMKID + 0x32, 0x01, // Extended Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x12, 0x34, // MDID + 0x80, // FT Capability and Policy + 0x37, 0x63, // FTE IE + 0x00, 0x02, // MIC Control + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //MIC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //ANonce + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //SNonce + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x06, // R1KH-ID + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE7, + 0x03, 0x07, // R0KH-ID + 'x', '@', 'y', '.', 'c', 'o', 'm', + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xBA, 0x00, + 0xDD, 0x50, 0x3D, 0xF7, 0xE2, 0x01, 0x00, 0x00, // Supported Rates + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', '_', 'F', 'T', 'P', 'S', 'K', // WDI__FTPSK + 0x01, 0x08, + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + 0x03, 0x01, // DSS Parameters + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x07, 0x06, // Country + 0x55, 0x53, 0x20, 0x01, 0x0B, 0x1E, + 0x0B, 0x05, + 0x00, 0x00, 0x6E, 0x8D, 0x5B, + 0x2A, 0x01, // ERP + 0x00, + 0x30, 0x14, // RSN + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise cipher count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise cipher + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x04, // AKM Suite + 0x28, 0x00, // RSN Capability + 0x32, 0x01, // Extended Supported Rates + 0x6C, + 0x36, 0x03, // MDID IE + 0x12, 0x34, // MDID + 0x80, // FT Capability and Policy + 0x85, 0x1E, + 0x03, 0x00, 0x8F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0x59, 0x00, 0x41, 0x50, 0x30, 0x30, 0x31, 0x34, + 0x2E, 0x36, 0x39, 0x34, 0x30, 0x2E, 0x38, 0x31, 0x65, 0x00, 0x00, 0x00, 0x00, 0x27, + 0x96, 0x06, + 0x00, 0x40, 0x96, 0x00, 0x0E, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x06, + 0x00, 0x40, 0x96, 0x01, 0x01, 0x04, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x03, 0x05, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x0B, 0x09, + 0xDD, 0x05, + 0x00, 0x40, 0x96, 0x14, 0x01, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00 +}; + + +// +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_8_Hidden = {0x00, 0xA0, 0xB0, 0xC0, 0xD0,0xE8}; + +UCHAR s_TLV_BSS_Entry_Beacon_8_Hidden [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x52, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x24, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x00, // SSID + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x46, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_BSS_Entry_ProbeResponse_8_Hidden [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x5a, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x2C, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x46, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // Band ID +}; + + +UCHAR s_TLV_Success_AssociationResult_8_Hidden[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD7, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE8, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x30, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x01, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x07, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, // SSID + 'W', 'D', 'I', '_', 'H', 'I', 'D', 'E', + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_ETHERTYPE_ENCAP_TABLE (optional) + // 0x00, 0x00, + // 0x04, 0x00, + // 0x00, 0x00, 0x00, 0x00 + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + + +//=============================================================================== +// +// 11ad +// +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_9_11ad_PSK = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9}; + +UCHAR s_TLV_BSS_Entry_9_11ad_Beacon_PSK [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x3F, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x0C, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x31, 0x04, // Capability + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_9_11ad_Beacon_Dmg_PSK [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x47, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x14, 0x00, // For WiFi Beacon + // DMG Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) + 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) + 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) + 0x07, // 1 - DMG Parameters (9.4.1.47) + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xCB, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x98, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x31, 0x04, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_9_11ad_ProbeResponse_Dmg_PSK [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xCB, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x98, 0x00, // For WiFi Beacon + // Dmg + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x17, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_9_11ad_PSK [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x96, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x65, 0x00, + 0x31, 0x04, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x94, 11, + 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x47, 0x00, + 0x17, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x94, 0x11, // DMG Capabilities + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address + 0x03, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x98, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +UCHAR s_TLV_Success_AssociationResult_9_11ad_Dmg_PSK [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x96, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xE9, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x65, 0x00, + 0x05, 0x00, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x94, 11, + 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x47, 0x00, + 0x17, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x94, 0x11, // DMG Capabilities + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address + 0x03, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x98, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_10_11ad_1x = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA}; + +UCHAR s_TLV_BSS_Entry_10_11ad_Beacon_1x [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x3F, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x0C, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x31, 0x04, // Capability + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_10_11ad_Beacon_Dmg_1x [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x47, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x14, 0x00, // For WiFi Beacon + // DMG Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) + 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) + 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) + 0x07, // 1 - DMG Parameters (9.4.1.47) + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xCB, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x98, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x31, 0x04, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_10_11ad_ProbeResponse_Dmg_1x [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xCB, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x98, 0x00, // For WiFi Beacon + // Dmg + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x17, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_10_11ad_1x [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x96, 0x01, + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x65, 0x00, + 0x31, 0x04, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', '1', 'x', // WDI_ad_1x + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x94, 11, + 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x47, 0x00, + 0x17, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x94, 0x11, // DMG Capabilities + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address + 0x03, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x98, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +UCHAR s_TLV_Success_AssociationResult_10_11ad_Dmg_1x [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x96, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEA, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x08, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x08, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x01, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x65, 0x00, + 0x05, 0x00, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x01, 0x08, // Supported Rates + 0x0C, 0x12, 0x96, 0x18, 0x24, 0x30, 0x48, 0x60, + + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x94, 11, + 0x04, 0xCE, 0x14, 0x0A, 0x3B, 0x61, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x47, 0x00, + 0x17, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x94, 0x11, // DMG Capabilities + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, // STA address + 0x03, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x98, 0x00, + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', 'P', 'S', 'K', // WDI_adPSK + 0x03, 0x01, // DSS Parameters + 0x02, + 0x30, 0x14, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x08, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x01, // AKM Suite + 0x00, 0x00, // RSN Capability + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0x34, 0x6B, 0x01, 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + 0xDD, 0x21, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_11_11ad_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB}; + +UCHAR s_TLV_BSS_Entry_11_11ad_Beacon_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x3F, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x0C, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x05, 0x00, // Capability + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_11_11ad_Beacon_Dmg_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x47, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_BEACON_FRAME (8.3.3.2, Table 8-33a) + 0x0A, 0x00, + 0x05, 0x00, // For WiFi Beacon + // DMG Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x00, 0x0c, 0x38, // 3 - Sector Sweep (9.5.1) + 0x64, 0x00, // 2 - Beacon Interval (9.4.1.3) + 0xc0, 0x7c, 0x18, 0x08, 0x20, 0x18, // 6 - Beacon Interval Control (Fig 9-60) + 0x07, // 1 - DMG Parameters (9.4.1.47) + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC9, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x96, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x05, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x03, 0x01, // DSS Parameters + 0x02, + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x00, // AID + 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x28, + 0xDD, 0x27, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_BSS_Entry_11_11ad_ProbeResponse_Dmg_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC9, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_PROBE_RESPONSE_FRAME (8.3.3.2, Table 8-33a) + 0x09, 0x00, + 0x96, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x05, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x03, 0x01, // DSS Parameters + 0x02, + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x00, // AID + 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x28, + 0xDD, 0x27, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xC1, 0xFF, 0xFF, 0xFF, // RSSI + 0x64, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x03, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_11_11ad_Open [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x71, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x36, 0x00, + 0x05, 0x00, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x2E, 0x01, + 0x08, + 0x94, 11, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x00, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0x49, 0x2D, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x53, 0x00, + 0x07, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, // DMG Capabilities + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x02, // AID + 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x2C, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x96, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x05, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x03, 0x01, // DSS Parameters + 0x02, + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x28, + 0xDD, 0x27, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +UCHAR s_TLV_Success_AssociationResult_11_11ad_Dmg_Open [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x71, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm -- RSNA_PSK + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x03, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x03, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x36, 0x00, + 0x05, 0x00, // Capabilities + 0x01, 0x00, // Listen Interval + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x2E, 0x01, + 0x08, + 0x94, 11, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x00, // AID + 0x11, 0xD1, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0x49, 0x2D, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x53, 0x00, + 0x07, 0x00, // Capabilities + 0x00, 0x00, // Status code + 0x02, 0x00, // Association ID + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, // DMG Capabilities + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEB, // STA address + 0x02, // AID + 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, // DOT11_DMG_STA_CAPABILITY_INFO + 0x00, 0x00, // DOT11_DMG_PCP_AP_CAPABILITY_INFO + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x2C, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, + 0x96, 0x00, // For WiFi Beacon + // WiFi Beacon + 0x38, 0xE3, 0x3B, 0x64, 0x11, 0x00, 0x00, 0x00, // TimeStamp (9.4.1.10) + 0x64, 0x00, // Beacon Interval (8.4.1.3) + 0x05, 0x00, // Capability + + 0x00, 0x09, // SSID + 'W', 'D', 'I', '_', 'a', 'd', '_', 'O', 'N', // WDI_ad_ON + 0x03, 0x01, // DSS Parameters + 0x02, + 0x7F, 0x04, + 0x00, 0x00, 0x00, 0x02, + 0x94, 0x11, + 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, 0x01, 0xD2, 0xB7, 0x06, 0x00, 0x00, 0x40, 0x10, 0x00, + 0x00, + 0x97, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, + 0xBE, 0x04, + 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x12, + 0x00, 0x00, 0x03, 0xA4, 0x28, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x40, 0x00, 0x62, 0x32, + 0x10, 0x00, + 0x2E, 0x01, + 0x28, + 0xDD, 0x27, + 0x04, 0xCE, 0x14, 0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, + 0xDD, 0x0F, + 0x50, 0x6F, 0x9A, 0x17, 0x01, 0x09, 0x00, 0x07, 0x04, 0xCE, 0x14, 0x07, 0xA3, 0x66, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00 +}; + + +//=============================================================================== +// +// 11ax +// +//=============================================================================== + +// +// Open on 2.4 GHz +// +WDI_MAC_ADDRESS s_Connect_Addr_12_11ax_24_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC}; + + +UCHAR s_TLV_BSS_Entry_12_11ax_24_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x78, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x4A, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x11, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', + 0x01, 0x04, + 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, + 0x01, // DSSS Parameter + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x46, 0x05, + 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_Success_AssociationResult_12_11ax_24_Open [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x28, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEC, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x4E, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x11, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x45, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x43, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x11, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '2', '.', '4', + 0x01, 0x04, + 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, + 0x01, // DSSS Parameter + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + + +//=============================================================================== + +// +// Open on 5 GHz +// +WDI_MAC_ADDRESS s_Connect_Addr_13_11ax_5_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED}; + + +UCHAR s_TLV_BSS_Entry_13_11ax_5_Open [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x76, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x48, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x0F, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', + 0x01, 0x04, + 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, + 0x01, // DSSS Parameter + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x46, 0x05, + 0x02, 0x00, 0x00, 0x00, 0x00, // RM Enabled Capabilities + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x24, 0x00, 0x00, 0x00, // Channel 36 + 0x02, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_Success_AssociationResult_13_11ax_5_Open [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0F, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xED, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x4C, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0xF, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x24, 0x30, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x45, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xFF, 0x13, // Extension IE + 0x23, // HE Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, // MAC Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // PHY Capabilities + 0x00, + 0x00, 0x00, 0x00, 0x00, // HE-MCS and NSS + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x2C, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0xF, // SSID + 'W', 'D', 'I', '_', 'O', 'P', 'E', 'N', '_', '1', '1', 'a', 'x', '.', '5', + 0x01, 0x04, + 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, + 0x01, // DSSS Parameter + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +//=============================================================================== +// + +// #define SAE_MIXED_MODE 1 + +WDI_MAC_ADDRESS s_Connect_Addr_14_WPA3_SAE_CCMP = { 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32 }; + +UCHAR s_TLV_BSS_Entry_14_WPA3_SAE_CCMP [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type +#ifdef SAE_MIXED_MODE + 0x91, 0x00, //Len +#else + 0x8D, 0x00, //Len +#endif // SAE_MIXED_MODE + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, +#ifdef SAE_MIXED_MODE + 0x5E, 0x00, +#else + 0x5A, 0x00, +#endif // SAE_MIXED_MODE + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0C, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved +#ifdef SAE_MIXED_MODE + 0x30, 0x18, +#else + 0x30, 0x14, +#endif // SAE_MIXED_MODE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher +#ifdef SAE_MIXED_MODE + 0x02, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - WPA2PSK + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE + 0x80, 0x00, // RSN Capability - no MFPR or MFPC +#else + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE + 0xC0, 0x00, // RSN Capability = MFP-Capable +#endif // SAE_MIXED_MODE + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId + +}; + +UCHAR s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, +#ifdef SAE_MIXED_MODE + 0x2A, 0x01, +#else + 0x26, 0x01, +#endif // SAE_MIXED_MODE + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x4A, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0C, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x14, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise cipher count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AMK Suite Count + 0x00, 0x0F, 0xAC, 0x08, // AMK Suite - WPA3SAE + 0xC0, 0x00, // RSN Capability = MFP-Capable + MFP-Required + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, // Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x18, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, +#ifdef SAE_MIXED_MODE + 0x5E, 0x00, +#else + 0x5A, 0x00, +#endif // SAE_MIXED_MODE + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0C, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'A', 'E', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved +#ifdef SAE_MIXED_MODE + 0x30, 0x18, +#else + 0x30, 0x14, +#endif // SAE_MIXED_MODE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Multicast Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher +#ifdef SAE_MIXED_MODE + 0x02, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - WPA2PSK + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE + 0x80, 0x00, // RSN Cap = MFP-Capable +#else + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - WPA3SAE + 0xC0, 0x00, // RSN Cap = MFP-Capable + MFP required +#endif // SAE_MIXED_MODE + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + + +// +// SAE-Specific definitions :: Start +// +DWORD g_dwSaeResendConfirmRequested = 0; + +UCHAR pucSAECommitResponse [] = + { + 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) + 0x01, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) + 0x00, 0x00, // [3] usStatusCode = 0 or 76 (ANTI_CLOGGING_TOKEN_REQUIRED) (not-IE, 2 octets) + 0x13, 0x00, // [10] FiniteCyclicGroup (not-IE, 2 octets) +// 0x00, 0x00, 0x00, 0x00, // [11] AntiCloggingToken (not-IE, variable octets) + // [13] AP Scalar + 0x93, 0x48, 0x89, 0xab, 0x38, 0x6b, 0x72, 0xd5, 0xff, 0x0d, 0x3c, 0xaa, 0x09, 0x56, 0x50, 0x20, + 0x2b, 0xd0, 0x3e, 0x26, 0x96, 0xb5, 0x90, 0x5f, 0x7b, 0x49, 0x5f, 0x3b, 0x7d, 0xc3, 0x5b, 0x48, + + // [14] AP Element + 0x58, 0x54, 0x5e, 0x6c, 0xa0, 0xe8, 0x86, 0xef, 0xfb, 0x05, 0x2a, 0xfb, 0x63, 0x2c, 0xa2, 0x19, + 0x5b, 0xb0, 0xb0, 0xa8, 0x25, 0xe5, 0x9d, 0xba, 0x6b, 0xaa, 0x0e, 0x93, 0xaf, 0x04, 0x6e, 0xf4, + 0xc9, 0x45, 0x5f, 0xec, 0x43, 0xfe, 0x5e, 0xb0, 0x2a, 0x6b, 0x8a, 0xbc, 0x8f, 0xd7, 0x07, 0x87, + 0x87, 0x3d, 0xd1, 0xd5, 0xd7, 0xfd, 0xe3, 0x07, 0x3a, 0x4c, 0xf3, 0xc2, 0xc7, 0x6f, 0x59, 0x5c, + }; +UCHAR pucSAECommitResponseReflection [] = + { + 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) + 0x01, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) + 0x00, 0x00, // [3] usStatusCode = 0 or 76 (ANTI_CLOGGING_TOKEN_REQUIRED) (not-IE, 2 octets) + 0x13, 0x00, // [10] FiniteCyclicGroup (not-IE, 2 octets) +// 0x00, 0x00, 0x00, 0x00, // [11] AntiCloggingToken (not-IE, variable octets) + // [13] AP Scalar + + 0x49, 0x5c, 0x2c, 0xb4, 0x20, 0xec, 0xc9, 0xe8, 0xe8, 0x03, 0x2d, 0x00, 0x8d, 0xab, 0x4d, 0x91, + 0x70, 0x16, 0x06, 0x28, 0x40, 0x83, 0xb9, 0x8d, 0x19, 0xc6, 0x43, 0xcb, 0x63, 0x29, 0x9f, 0x03, + + // [14] AP Element + 0x13, 0x2e, 0xfc, 0x90, 0xb9, 0xd7, 0xb5, 0xc1, 0x2a, 0x1d, 0xe9, 0x05, 0x9c, 0xb3, 0xba, 0xc8, + 0xa6, 0x93, 0xff, 0xbf, 0x23, 0x02, 0x42, 0x3e, 0x58, 0xc2, 0x0d, 0x00, 0x10, 0xe8, 0x44, 0x60, + 0x9d, 0xfc, 0x34, 0x5e, 0x98, 0x8e, 0xf2, 0x12, 0x67, 0x24, 0xd0, 0x80, 0xfb, 0x2f, 0x1e, 0x7a, + 0xe6, 0x54, 0x01, 0x00, 0x50, 0xd4, 0xfe, 0x66, 0x47, 0x62, 0xc0, 0x3c, 0x9f, 0x7a, 0x10, 0x27, + }; + +UCHAR pucSAEConfirmResponse [] = + { + 0x03, 0x00, // [1] usAlgorithmNumber = DOT11_AUTH_SAE (not-IE, 2 octets) + 0x02, 0x00, // [2] usXid: Commit=1, Confirm=2 (not-IE, 2 octets) + 0x00, 0x00, // [3] usStatusCode = 0 or 76 (DOT11_FRAME_STATUS_ANTI_CLOGGING_TOKEN_REQUIRED) (not-Element, 2 octets) + 0x00, 0x00, // [12] SendConfirm (not-IE, 2 octets) + // [15] Confirm + 0xc7, 0xd1, 0x04, 0x94, 0x29, 0xec, 0xdf, 0x25, 0xda, 0xaa, 0x79, 0x6f, 0xda, 0xe9, 0x91, 0x9f, + 0x4b, 0x83, 0xad, 0xa3, 0x08, 0xde, 0x62, 0xca, 0xcd, 0x59, 0xfc, 0xf5, 0xc5, 0x4d, 0xeb, 0xd9, + }; + +UCHAR pucM1SaeFrame[] = +{ + // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER + 0x88, 0x02, // Frame Control: Version = 0x0, Type = DOT11_FRAME_TYPE_DATA, Subtype = DOT11_DATA_SUBTYPE_DATA + 0x30, 0x00, // Duration + 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Address1: Receiver/Destination/STA address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Address2: Transmittor/Bssid address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Address3: Source address + 0x00, 0x00, 0x07, 0x00, // Sequence Control + // IEEE_8022_LLC_SNAP + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP + 0x88, 0x8e, // sh_etype = DOT11_ETH_TYPE_EAPOL + // NWF_EAPOL_HEADER + 0x02, // Version = NWF_EAPOL_PROTOCOL_VERSION_V1 = 1 OR NWF_EAPOL_PROTOCOL_VERSION_V2 = 2 + 0x03, // Type = EAPOL_Key = 2 + 0x00, 0x75, // Length + // NWF_EAPOL_RSNA_KEY_DESC + 0x02, // Type + 0x00, 0x8a, // Info + 0x00, 0x10, // Length + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Replay Counter + 0x57, 0x63, 0xf3, 0xb6, 0x6e, 0xc8, 0x90, 0xe4, 0xae, 0xfc, 0x2c, 0x50, 0xb0, 0xa9, 0x04, 0x29, // Nonce + 0x97, 0xb9, 0x80, 0x26, 0x13, 0x1a, 0xe2, 0xf0, 0x24, 0x30, 0x4b, 0x87, 0x57, 0x15, 0xcf, 0x87, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // MIC + 0x00, 0x16, // Key length + 0xdd, 0x14, // KeyData -> DOT11_INFO_ELEMENT_ID_VENDOR_SPECIFIC + Len + 0x00, 0x0f, 0xac, 0x04, // OUI -> RSN_KEY_DATA_OUI + RSN_KEY_DATA_OUI_TYPE_PMKID -> {0x00,0x0F,0xAC} + {0x04) + 0x37, 0xfb, 0x9a, 0x24, 0xc1, 0x57, 0x8c, 0xce, 0xc3, 0x60, 0x6c, 0x6f, 0x39, 0xe0, 0xb7, 0x02, // PMKID +}; + + +UCHAR pucExpectedM2SaeFrame[] = +{ + // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER + 0x88, 0x01, // Frame Control + 0x2c, 0x00, // Duration + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Receiver/Destination/STA address + 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Transmittor/Bssid address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address + 0x00, 0x00, 0x07, 0x00, + // IEEE_8022_LLC_SNAP + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP + 0x88, 0x8e, // sh_etype + // NWF_EAPOL_HEADER + 0x01, // Version = bProtocolVersion = NWF_EAPOL_PROTOCOL_VERSION_V1 = 1 + 0x03, // Type = EAPOL_Key = 2 + 0x00, 0x75, // Length + // NWF_EAPOL_RSNA_KEY_DESC + 0x02, // Type = bKeyDesc = NWF_EAPOL_KEY_DESC_RSNA = 2 + 0x01, 0x0a, // Info = usKeyInfo, ResponseKeyInfo.Version = KEY_DESC_VERSION_AES, Type=RSN_KEY_TYPE_PAIRWISE, MIC=1, Secure=0 + 0x00, 0x00, // Length + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Replay Counter + 0x80, 0xf8, 0x10, 0x83, 0x4f, 0x0f, 0x40, 0xa1, 0xe5, 0x5d, 0x51, 0x92, 0x83, 0x4f, 0x8e, 0x98, // Nonce + 0x09, 0xca, 0xd5, 0x14, 0xc6, 0x08, 0x4c, 0xa9, 0xed, 0xc3, 0xa8, 0xff, 0xce, 0xc9, 0x36, 0xb6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved + 0xa1, 0x79, 0x5f, 0x05, 0xa4, 0x12, 0x84, 0xf2, 0xf9, 0x0c, 0x79, 0x88, 0xeb, 0x92, 0x71, 0x62, // MIC + 0x00, 0x16, // Key Length + 0x30, 0x14, 0x01, 0x00, 0x00, 0x0f, 0xac, 0x04, 0x01, 0x00, 0x00, 0x0f, 0xac, 0x04, 0x01, 0x00, // Key Data = RSN + 0x00, 0x0f, 0xac, 0x08, 0x80, 0x00 + +}; + +UCHAR pucM3SaeFrame[] = +{ + // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER + 0x88, 0x02, // Frame Control + 0x30, 0x00, // Duration + 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Receiver/Destination/STA address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Transmittor/Bssid address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address + 0x00, 0x00, 0x07, 0x00, // Sequence Control + // IEEE_8022_LLC_SNAP + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP + 0x88, 0x8e, // sh_etype + // NWF_EAPOL_HEADER + 0x02, // Version + 0x03, // Type + 0x00, 0x97, // Length + // NWF_EAPOL_RSNA_KEY_DESC + 0x02, // Type + 0x13, 0xca, // Info + 0x00, 0x10, // Length + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // Replay Counter + 0x57, 0x63, 0xf3, 0xb6, 0x6e, 0xc8, 0x90, 0xe4, 0xae, 0xfc, 0x2c, 0x50, 0xb0, 0xa9, 0x04, 0x29, // Nonce + 0x97, 0xb9, 0x80, 0x26, 0x13, 0x1a, 0xe2, 0xf0, 0x24, 0x30, 0x4b, 0x87, 0x57, 0x15, 0xcf, 0x87, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved + 0xa5, 0xea, 0xdc, 0xfd, 0x97, 0xc7, 0x72, 0x76, 0x24, 0xe2, 0x7e, 0x71, 0x45, 0x3a, 0x24, 0xca, // MIC + 0x00, 0x38, // Key Length + 0x6f, 0x39, 0x30, 0x2c, 0x46, 0xb4, 0x3c, 0xf8, 0x42, 0x07, 0x8e, 0xc9, 0x65, 0x05, 0x2c, 0xd0, // Encrypted Key data + 0xe1, 0x7b, 0xdd, 0x2e, 0xbd, 0x69, 0x09, 0x1e, 0x39, 0xcc, 0x1a, 0xb3, 0x6e, 0x55, 0xd1, 0xad, + 0x5c, 0x45, 0x52, 0x4b, 0x83, 0x5d, 0x39, 0xe3, 0x1c, 0xb6, 0xed, 0x35, 0x52, 0x76, 0xb1, 0xc6, + 0x5a, 0x2c, 0x96, 0x07, 0x77, 0x15, 0x15, 0x5c, +}; + + +UCHAR pucExpectedM4SaeFrame[] = +{ + // DOT11_MGMT_HEADER - DOT11_DATA_SHORT_HEADER + 0x88, 0x01, // Frame Control + 0x2c, 0x00, // Duration + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Receiver/Destination/STA address + 0x9c, 0xda, 0x3e, 0xf2, 0x7d, 0xd5, // Transmittor/Bssid address + 0x34, 0x13, 0xe8, 0xbc, 0x4d, 0x32, // Source address + 0x10, 0x00, 0x07, 0x00, // Sequence Control + // IEEE_8022_LLC_SNAP + 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00, // NWF_802_LLC_SNAP + 0x88, 0x8e, // sh_etype + // NWF_EAPOL_HEADER + 0x01, // Version + 0x03, // Type + 0x00, 0x5f, // Length + // NWF_EAPOL_RSNA_KEY_DESC + 0x02, // Type + 0x03, 0x0a, // Info + 0x00, 0x00, // Length + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // Replay Counter + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Nonce + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // IV + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RSC + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved + 0x52, 0x97, 0x0f, 0x90, 0x69, 0x7d, 0xcd, 0xeb, 0x98, 0xbf, 0xb1, 0x2a, 0xb2, 0x3e, 0xcc, 0x49, // MIC + 0x00, 0x00, // Key Length +}; + +// +// SAE-Specific definitions :: End +// + +// +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_15_WPA2PSK_SHA256 = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF}; + +UCHAR s_TLV_BSS_Entry_15_WPA2PSK_SHA256 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x91, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x5e, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'H', 'A', '2', '5', '6', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1a, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x06, // AKM Suite + 0xCC, 0x00, // RSN Capability + 0x00, 0x00, + 0x00, 0x0F, 0xAC, 0x06, // Group Cipher + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x28, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xEF, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x48, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x01, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x14, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise cipher count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AMK Suite Count + 0x00, 0x0F, 0xAC, 0x06, // AMK Suite - WPA2PSK_SHA256 + 0xC0, 0x00, // RSN Capability = MFP-Capable + MFP-Required + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x5e, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0A, // SSID + 'W', 'D', 'I', '_', 'S', 'E', 'C', 'U', 'R', 'E', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1a, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite + 0xCC, 0x00, // RSN Capability + 0x00, 0x00, + 0x00, 0x0F, 0xAC, 0x06, // Group Cipher + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + + +// +//=============================================================================== +// + +#ifdef WPA3_ARUBA_SIM +WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5}; // For Aruba +#elif WPA3_INTEL_SIM +WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a}; // For Intel +#else +WDI_MAC_ADDRESS s_Connect_Addr_16_WPA3_SUITEB = {0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0}; +#endif + +UCHAR s_TLV_BSS_Entry_16_WPA3_SUITEB [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x97, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length +#ifdef WPA3_ARUBA_SIM + 0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5, // For Aruba +#elif WPA3_INTEL_SIM + 0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a, // For Intel +#else + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0, +#endif + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x64, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x10, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0x30, 0x1A, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId + +}; + +UCHAR s_TLV_Success_AssociationResult_16_WPA3_SUITEB[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x3A, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, +#ifdef WPA3_ARUBA_SIM + 0xa8, 0xbd, 0x27, 0xcd, 0xe0, 0xa5, // For Aruba +#elif WPA3_INTEL_SIM + 0x8c, 0xfd, 0xf0, 0x0f, 0x7f, 0x4a, // For Intel +#else + 0x00, 0xA0, 0xB0, 0xC0, 0xD0, 0xF0, +#endif + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_ENT_192 = 8 + 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x54, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x10, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, 0x07, 0x12, //Power Capability + 0x24, 0x02, 0x01, 0x0B, //Supported Channels + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x1A, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x64, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x10, // SSID + 'W', 'D', 'I', '_', 'W', 'P', 'A', '3', '-', 'S', 'U', 'I', 'T', 'E', '_', 'B', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1A, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x0C, // AKM Suite - WPA3-SuiteB + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, + +}; + +//=============================================================================== +// +// 6 GHz +// +//=============================================================================== + +// +// RNR IE has the following format (only care about TBTT length = 8 or 12): +// 0xc9, 0x +// 0x -> 2 bytes (contains number and size of each element) +// 0x, 0x -> 2 bytes (applies to all element in this list) +// 0x -> 1 byte +// 0x -> 6 bytes +// [0x] -> 4 bytes +// 0x -> 1 byte +// + +// +// Mac addresses have the following nomenclature for 6GHz Ssids +// +// 1st 3 bytes are 0x00 0xA1, 0xB0 +// 4th byte is for SSID: +// 01 = 6E__1 +// 02 = 6E__2 +// 03 = SSID3 +// 04 = SSID4 +// 5th Byte is for band: +// 02 = 2.4 GHz +// 05 = 5 GHz +// 06 = 6 GHz +// 6th byte is instance +// 01 = 1st instance +// 02 - 2nd instance +// : +// + +//=============================================================================== +// SIX_G: 6E__1: +// (1 * 2.4 GHz) + (1 * 5 GHz) + (2 * 6 GHz) +// 2.4 GHz: +// S1_24_1: S1_5_1 (In+Out) + S1_6_1 (Out) + S1_6_2 (Out) +// 5 GHz: +// S1_5_1: S1_24_1 (In+Out) + S1_6_1 (Out) + S1_6_2 (Out) +// 6 GHz: +// S1_6_1: S1_24_1 (In) + S1_5_1 (In) +// S1_6_2: S1_24_1 (In) + S1_5_1 (In) +//=============================================================================== + +// +// 6E__1: 1 * 2.4 GHz Bss's +// 1 RNR IE with 3 entries: Band:Channel = [5:36 + 6:101 + 6:133] +// +WDI_MAC_ADDRESS s_Connect_Addr_17_6G_S1_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01}; +UCHAR s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xE9, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xB6, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x01, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x30, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x73, 0x24, // Operating Class = 115 (5 GHz), Channel = 36 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 5 GHz + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel / Freq = 2412 MHz + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0B, 0x02, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8B, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates + 0x30, 0x48, 0x60, 0x6c, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x78, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + 0x53, 0x53, 0x49, 0x44, 0x31, + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x01, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xb6, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x01, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc9, 0x30, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x73, 0x24, // Operating Class = 115 (5 GHz), Channel = 36 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 5 GHz + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +// 6E__1: 1 * 5 GHz Bss's +// 1 RNR IE with 3 entries: Band:Channel = [2.4:1 + 6:101 + 6:133] +// +WDI_MAC_ADDRESS s_Connect_Addr_18_6G_S1_5_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01}; +UCHAR s_TLV_BSS_Entry_18_6G_S1_5_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xe9, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xb6, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x24, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc9, 0x30, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x01, // Operating Class = 81 (2.4 GHz), Channel = 1 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 2.4 GHz + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x24, 0x00, 0x00, 0x00, // Channel / Freq = 36 / 5180 MHz + 0x02, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0B, 0x02, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x01, 0x05, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8B, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates + 0x30, 0x48, 0x60, 0x6c, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x78, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + 0x53, 0x53, 0x49, 0x44, 0x31, + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x24, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xb6, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x24, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc9, 0x30, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x01, // Operating Class = 81 (2.4 GHz), Channel = 1 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x02, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 2.4 GHz + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 Ghz + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, 0x18, 0x3a, 0x94, 0x4f, 0x40, // 6E__1 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +// 6E__1: 1/2 * 6 GHz Bss's +// +WDI_MAC_ADDRESS s_Connect_Addr_19_6G_S1a_6_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01}; +UCHAR s_TLV_BSS_Entry_19_6G_S1a_6_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC6, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x65, 0x00, 0x00, 0x00, // Channel / Freq = 101 / 6445 MHz + 0x05, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xfD, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x05, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8E, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0x7d, 0x02, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x8A, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x65, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x65, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +// 6E__1: 2/2 * 6 GHz Bss's +// +WDI_MAC_ADDRESS s_Connect_Addr_20_6G_S1b_6_Ghz = {0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02}; +UCHAR s_TLV_BSS_Entry_20_6G_S1b_6_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC6, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x85, 0x00, 0x00, 0x00, // Channel / Freq = 133 / 6605 MHz + 0x05, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xFD, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x01, 0x06, 0x02, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x05, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8E, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0x7d, 0x02, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x8A, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x85, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '1', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +//=============================================================================== +// SIX_G: 6E__2: +// (1 * 2.4 GHz) + (1 * 5 GHz) + (1 * 6 GHz) +// 2.4 GHz: +// S2_24_1: S2_5_1 (In+Out) + [S2_6_2 (Out)] +// 5 GHz: +// S2_5_1: S2_24_1 (In+Out) + S2_6_1 (Out) + [S2_6_2 (Out)] +// 6 GHz: +// S2_6_1: S2_5_1 (In) +//=============================================================================== + +// +// 6E__2: 1 * 2.4 GHz Bss's +// 2 RNR IEs with 1 entry each: Band:Channel = [5:44] + [6:101] +// +WDI_MAC_ADDRESS s_Connect_Addr_21_6G_S2_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x24, 0x01}; +UCHAR s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xD3, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xA0, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x06, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x0c, // RNR IE + 0x04, 0x08, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length + 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0x40, // 6E__2 on 5 GHz + 0xc9, 0x0c, // RNR IE + 0x00, 0x08, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0x42, // 6E__2 on 6 Ghz (Sabe Ssid) + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x06, 0x00, 0x00, 0x00, // Channel / Freq = 2437 MHz + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xF5, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8B, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates + 0x30, 0x48, 0x60, 0x6c, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x78, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + 0x53, 0x53, 0x49, 0x44, 0x31, + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x06, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xa0, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x06, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x0c, // RNR IE + 0x04, 0x08, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length + 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0x40, // 6E__2 on 5 GHz + 0xc9, 0x0c, // RNR IE + 0x00, 0x08, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x08 = TBTT Length + 0x83, 0x65, // Operating Class = 131, Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0x42, // 6E__2 on 6 Ghz (Sabe Ssid) + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +// 6E__2: 1 * 5 GHz Bss's +// 3 RNR IEs with 1 entry each: Band:Channel = [2.4:6] + [6:101] + [6:133] +// +WDI_MAC_ADDRESS s_Connect_Addr_22_6G_S2_5_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01}; +UCHAR s_TLV_BSS_Entry_22_6G_S2_5_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xed, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xba, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x2c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x10, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 2.4 GHz + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, (6 GHz) Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x42, // 6E__2 on 6 Ghz + 0xc9, 0x10, // RNR IE + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, (6 GHz) Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x00, // 6E__2 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x2c, 0x00, 0x00, 0x00, // Channel / Freq = 44 / 5220 MHz + 0x02, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x0F, 0x02, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8B, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates + 0x30, 0x48, 0x60, 0x6c, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x78, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + 0x53, 0x53, 0x49, 0x44, 0x31, + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x2c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xba, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x2c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc9, 0x10, // RNR IE + 0x04, 0x0c, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x02, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 2.4 GHz + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00 => B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x65, // Operating Class = 131, (6 GHz) Channel = 101 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x42, // 6E__2 on 6 Ghz + 0xc9, 0x10, // RNR IE + 0x0c, 0x0c, // TBTT: 0x0c => B2:3=1(FilteredAP:Reserved),B4-B7=f(TBTT Information Count=3+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131, (6 GHz) Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x00, // 6E__2 on 6 GHz + + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +// +// 6E__2: 1 * 6 GHz Bss's +// +WDI_MAC_ADDRESS s_Connect_Addr_23_6G_S2_6_Ghz = {0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01}; +UCHAR s_TLV_BSS_Entry_23_6G_S2_6_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC6, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x79, 0x00, 0x00, 0x00, // Channel / Freq = 121 / 6545 MHz + 0x05, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xFD, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x05, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8E, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0x7d, 0x02, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x8A, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x79, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +//=============================================================================== +// SIX_G: SSID3: +// (1 * 2.4 GHz) +// 2.4 GHz: +// S3_24_1: *S2_5_1 (Out)* +//=============================================================================== + +// +// SSID3: 1 * 2.4 GHz Bss's +// 2 RNR IEs with 1 entry each Band:Channel = [5:44 + 6:133] +// +WDI_MAC_ADDRESS s_Connect_Addr_24_6G_S3_2_4_Ghz = {0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01}; +UCHAR s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xDB, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xa8, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '3', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x0a, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 5 GHz + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131 (6 GHz), Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel / Freq = 2457 MHz + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xFD, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x03, 0x02, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8B, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '3', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0xa5, 0x09, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates + 0x30, 0x48, 0x60, 0x6c, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x78, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + 0x53, 0x53, 0x49, 0x44, 0x31, + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0x0a, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbit/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0xa8, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '3', + 0x01, 0x08, // Supported Rates + 0x82, 0x84, 0x0b, 0x16, 0x8c, 0x12, 0x98, 0xa4, + 0x03, 0x01, // DS Parameter Set + 0x0a, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0x6c, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0x2d, 0x1a, // HT Capabilities (802.11n D1.10) + 0x76, 0x08, 0x17, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x32, 0x04, // Extended Supported Rates 24, 36, 48, 54 [Mbits/sec] + 0x30, 0x48, 0x60, 0x6c, + 0x3d, 0x16, // HT Information (802.11n D1.10) + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x73, 0x2e, // Operating Class = 115 (5 GHz), Channel = 44 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x05, 0x01, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 5 GHz + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x83, 0x85, // Operating Class = 131 (6 GHz), Channel = 133 + 0x00, 0x00, 0xA1, 0xB0, 0x02, 0x06, 0x02, 0xa2, 0x6b, 0x9d, 0xd6, 0x40, // 6E__2 on 6 GHz + + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + + +//=============================================================================== +// SIX_G: SSID4 (non-colocated AP): +// (1 * 6 GHz) +// 6 GHz: +// S4_6_1: +//=============================================================================== + +// +// SSID4: 1 * 6 GHz Bss's +// +WDI_MAC_ADDRESS s_Connect_Addr_25_6G_S4_6_Ghz = {0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01}; +UCHAR s_TLV_BSS_Entry_25_6G_S4_6_Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xC6, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '4', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0xe5, 0x00, 0x00, 0x00, // Channel / Freq = 229 / 7085 MHz + 0x05, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xFD, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0x04, 0x06, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x07, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x04, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x04, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x05, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x8E, 0x00, + + 0x01, 0x11, // Capabilities + 0xfa, 0x00, // Listen Interval + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '4', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x21, 0x02, // Power Capability Min: 0, Max: 15 + 0x00, 0x0f, + 0x24, 0x32, // Supported Channels + 0x24, 0x01, 0x28, 0x01, 0x2c, 0x01, 0x30, 0x01, 0x34, 0x01, 0x38, 0x01, 0x3c, 0x01, 0x40, 0x01, + 0x64, 0x01, 0x68, 0x01, 0x6c, 0x01, 0x70, 0x01, 0x74, 0x01, 0x78, 0x01, 0x7c, 0x01, 0x80, 0x01, + 0x84, 0x01, 0x88, 0x01, 0x8c, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 0x01, 0x9d, 0x01, 0xa1, 0x01, + 0xa5, 0x01, + 0x46, 0x05, // RM Enabled Capabilities + 0x72, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0a, // Extended Capabilities + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xdd, 0x07, // Vendor Specific: Microsoft Corp.: WMM/WME: Information Element + 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00, + 0xff, 0x1e, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0x01, 0x78, 0x20, 0x0a, 0xc0, 0x8b, 0x0e, 0x30, 0x02, 0x00, 0xfd, 0x09, 0x8c, 0x0e, 0xcf, 0xf2, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x61, 0x1c, 0xc7, 0x71, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0x7d, 0x02, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x8A, 0x00, + + 0x01, 0x11, // Capabilities + 0x00, 0x00, // Status Code: Successful + 0x00, 0xc0, // Association ID: 0x0000 + 0x00, 0x05, // SSID Parameter set + '6', 'E', '_', '_', '2', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x03, 0x01, // DS Parameter set: Current Channel: 10 + 0xe5, + 0x0b, 0x05, // QBSS Load Element 802.11e CCA Version + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x93, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Inteval + 0x01, 0x00, // Capabilities + 0x00, 0x05, // SSID + '6', 'E', '_', '_', '4', + 0x01, 0x08, // Supported Rates + 0x8c, 0x12, 0x98, 0xa4, 0x30, 0x48, 0x60, 0x6c, + 0x05, 0x04, // TIM - DTIM 0 of 0 + 0x00, 0x02, 0x00, 0xa4, + 0x0b, 0x05, + 0x00, 0x00, 0x00, 0x12, 0x7a, + 0x2a, 0x01, // ERP Information + 0x00, + 0xdd, 0x18, // Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element + 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xa4, 0x00, 0x00, 0x27, 0xa4, 0x00, 0x00, + 0x42, 0x43, 0x5e, 0x00, 0x62, 0x32, 0x2f, 0x00, + 0xff, 0x03, // Ext Tag: HE Extended Capabilities (802.11ax/D3.0) + 0x3b, + 0xbd, 0x02, + 0xff, 0x27, // Ext Tag: HE Capabilities (802.11ax/D3.0) + 0x23, + 0xf7, 0x70, 0x99, 0x16, 0x64, 0x00, 0x0e, 0x30, 0x0c, 0xb6, 0x02, 0x1b, 0xb4, 0x0c, 0xcf, 0x30, + 0x00, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0xfa, 0xff, 0x7b, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, + 0xff, 0x0c, // Ext Tag: HE Operation (802.11ax/D3.0) + 0x24, + 0xf4, 0x3f, 0x02, 0x00, 0xf0, 0xff, 0x05, 0x03, 0x07, 0x0f, 0x00, + 0xff, 0x0e, // Ext Tag: MU EDCA Parameter Set + 0x26, + 0xc0, 0x07, 0xa4, 0x01, 0x23, 0xa4, 0x01, 0x42, 0x43, 0x01, 0x62, 0x32, 0x01, + + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, + +}; + +//=============================================================================== +// WDI_OWE_RNR +//=============================================================================== + + +/// WDI_OWE_RNR +/// +/// Description +/// - Non-Transition mode OWE network +/// - Advertises Reduced Neighbor Reports (RNRs) for the OWE Transition Mode BSSes WDI_OWE_TM_OWE and WDI_OWE_TM_OPEN +/// - Note: The OWE TM BSSes do not advertise RNR IEs +/// - Definitions for these two Transition Mode networks follows this one +/// +/// Intention +/// - Test Non-Transition Mode OWE networks +/// - Test discovery of OWE Transition Mode network via RNR prior to receiving beacon or probe +/// - Since the networks are indicated in order during scans (i.e. the OWE TM networks will be indicated after this one) +/// it is expected that RNR for the OWE TM networks will be received before their beacons and probes. +/// +/// Expectation +/// - Scan results display WDI_OWE_RNR as an Enhanced Open network to which connections are supported +/// - The RNR will not effect connections to or display of OWE Transition Mode networks that it contains +/// +/// Limitations +/// - Connections to this network will fail because the driver does not OWE DH Handshake +WDI_MAC_ADDRESS s_ConnectAddr_26_OWE_With_RNR = {00, 0xA0, 0xB0, 0xC0, 0xD1, 0xFF}; +UCHAR s_TLV_BSS_Entry_26_OWE_With_RNR [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xB6, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0xFF, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x83, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0B, // SSID + 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'R', 'N', 'R', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1a, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x12, // AKM Suite - OWE + 0xC0, 0x00, // RSN Capability - MFP Req + Capable + 0x00, 0x00, + 0x00, 0x0F, 0xAC, 0x06, // Group Cipher + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x0B, // Operating Class = 81 (2.4 GHz), Channel = B + 0x00, // TBTT Offset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, // MAC Address --> OWE Transition Mode OWE (Defined below) + 0xFD, 0x1F, 0x3F, 0x49, // Short SSID for WDI_OWE_TM_OWE + 0x00, // BssParameters + + 0xc9, 0x10, // RNR IE + 0x00, 0x0c, // TBTT: 0x00,B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x0B, // Operating Class = 81 (2.4 GHz), Channel = B + 0x00, // TBTT Offset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, // MAC Address --> OWE Transition Mode Open (Defined below) + 0x21, 0x24, 0x6C, 0x85, // Short SSID for WDI_OWE_TM_OPEN + 0x00, // BssParameters + + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +// Test client hasn't implemented OWE DH handshake, so just indicate assoc failure +UCHAR s_TLV_Failure_AssociationResult_26_OWE_With_RNR [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x46, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0xC0, 0xD1, 0xFF, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x01, 0x00, 0x00, 0x00, // Association Status: WDI_ASSOC_STATUS_FAILURE + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x00, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +/// WDI_OWE_TM_OWE +/// Description +/// - OWE BSS of OWE Transition Mode network +/// - Auth Type is OWE +/// - Partner BSS is the OWE Transition Mode Open BSS "WDI_OWE_TM_OPEN" +/// - Per the spec, this network is hidden and contains an OWE TM element listing information about the partner BSS +/// - Listed in RNR of BSS WDI_OWE_RNR +/// - RNR IEs are not avertised by this BSS +/// +/// Intention +/// - Test OWE Transition Mode +/// - Test discovery of OWE Transition Mode network via RNR prior to receiving a beacon or probe +/// - Since the networks are indicated in order during scans, the RNR for this network will be received before its beacon. +/// +/// Expectation +/// - The OWE spec requires the STA to display the SSID of the Open BSS to the user for interoperability. User initiated connections to the SSID of the Open BSS +/// will initiate a connection to the OWE BSS and this is reflected in the security type in the UI. This allows STAs to view the same network SSID regardless of their +/// support for OWE, while also allowing the most secure connection to be made. +/// +/// - The UI will display: +/// - SSID: "WDI_OWE_TM_OPEN" (The SSID of the Open BSS) +/// - A hidden BSS may also be displayed, but only a single entry with an SSID is expected +/// - Security Description: "Enhanced Open" +/// - "Secured" or a lock icon should not be displayed +/// - No password prompt on connect +/// - "Connect" will initiate a connection to the OWE Transition Mode BSS Entry +/// - In the entry containing the BSSID of the OWE TM OWE BSS, "netsh wlan show networks mode=bss" displays +/// - SSID: "WDI_OWE_TM_OPEN" +/// - Authentication: OWE +/// - Encryption: CCMP +/// - MFP Required: 1 +/// +/// Limitations +/// - Connections to this network will fail because the driver does not OWE DH Handshake +WDI_MAC_ADDRESS s_ConnectAddr_27_OWE_TM_OWE = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00}; +UCHAR s_TLV_BSS_Entry_27_OWE_TM_OWE [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xA1, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x6e, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1a, // RSN IE + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher + 0x01, 0x00, // AKM Suite count + 0x00, 0x0F, 0xAC, 0x12, // AKM Suite - OWE + 0xC0, 0x00, // RSN Capability - MFP Req + Capable + 0x00, 0x00, + 0x00, 0x0F, 0xAC, 0x06, // Group Cipher + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + 0xDD, 0x1A, // Vendor specific - OWE Transition Mode + 0x50, 0x6F, 0x9A, 0x1C, // WFA OUI + OWE TM OUI (0x1C) + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, // Partner BSS BSSID + 0x0F, // Partner BSS SSID Length + 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'P', 'E', 'N', // Partner BSS SSID + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +// Test client hasn't implemented simulated OWE DH handshake, so just indicate assoc failure +UCHAR s_TLV_Failure_AssociationResult_27_OWE_TM_OWE [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x46, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA1, 0xB0, 0xC0, 0xD1, 0x00, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x01, 0x00, 0x00, 0x00, //Association Status: WDI_ASSOC_STATUS_FAILURE + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x00, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +/// WDI_OWE_TM_OPEN +/// Description +/// - Open BSS of OWE Transition Mode network +/// - Open network +/// - Partner BSS is the OWE Transition Mode OWE BSS "WDI_OWE_TM_OWE" +/// - Per the spec, this network is hidden and contains an OWE TM element listing information about the partner BSS +/// - Listed in RNR of BSS WDI_OWE_RNR +/// - RNR IEs are not avertised by this BSS +/// +/// Intention +/// - Test OWE Transition Mode +/// - Test discovery of OWE Transition Mode network via RNR prior to receiving a beacon or probe +/// - Since the networks are indicated in order during scans, the RNR for this network will be received before its beacon. +/// +/// Expectation +/// - The OWE spec requires the STA to display the SSID of the Open BSS to the user for interoperability. User initiated connections to the SSID of the Open BSS +/// will initiate a connection to the OWE BSS and this is reflected in the security type in the UI. This allows STAs to view the same network SSID regardless of their +/// support for OWE, while also allowing the most secure connection to be made. +/// +/// - The UI will display: +/// - SSID: "WDI_OWE_TM_OPEN" (The SSID of the Open BSS) +/// - A hidden BSS may also be displayed, but only a single entry with an SSID is expected +/// - Security Description: "Enhanced Open" +/// - "Secured" or a lock icon should not be displayed +/// - No password prompt on connect +/// - "Connect" will initiate a connection to the OWE Transition Mode BSS Entry +/// - In the entry containing the BSSID of this BSS, "netsh wlan show networks mode=bss" displays +/// - SSID: (Hidden) +/// - Authentication: Open +/// - Encryption: None +/// +/// Limitations +/// - Connections to this network will fail because the driver does not OWE DH Handshake +WDI_MAC_ADDRESS s_ConnectAddr_28_OWE_TM_Open = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01}; +UCHAR s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x95, 0x00, // Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, + + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x62, 0x00, // Length + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x0F, // SSID + 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'P', 'E', 'N', + 0x01, 0x08, 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x32, 0x04, 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + 0xDD, 0x19, // Vendor specific - OWE Transition Mode + 0x50, 0x6F, 0x9A, 0x1C, // WFA OUI + OWE TM OUI (0x1C) + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x00, // Partner BSS BSSID + 0x0E, // Partner BSS SSID Length + 'W', 'D', 'I', '_', 'O', 'W', 'E', '_', 'T', 'M', '_', 'O', 'W', 'E', // Partner BSS SSID + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x0B, 0x00, 0x00, 0x00, // Channel + 0x01, 0x00, 0x00, 0x00 // BandId +}; + +// Test client hasn't implemented OWE DH handshake, so just indicate assoc failure +UCHAR s_TLV_Failure_AssociationResult_28_OWE_TM_Open [] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0x46, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x01, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x01, 0x00, 0x00, 0x00, //Association Status: WDI_ASSOC_STATUS_FAILURE + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x00, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, // DisableDataPathOffloadsScenario + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +//=============================================================================== +// +// Wi-Fi 7 +// +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_29_WiFi7_Mixed_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02}; +WDI_MAC_ADDRESS s_Connect_Addr_30_WiFi7_Mixed_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03}; +WDI_MAC_ADDRESS s_Connect_Addr_31_WiFi7_Mixed_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04}; +WDI_MAC_ADDRESS s_Connect_Addr_32_WiFi7_Mixed_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05}; + +UCHAR s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xfa, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03, // Link 1 MAC address + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0xc7, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0f, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0x32, 0x01, // DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES + 0xFB, // BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY + 0x30, 0x2a, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP + 0x03, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher = CCMP-128 + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher = GCMP-128 + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 + 0x03, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - PSK + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - SAE-256 + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xCC, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // [B7-B4] [B3-B0] [B15-B12] [b11-B8] + // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] + 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : AP Link 1 MAC address + // Remaining STA Profile for Link 2 + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : AP Link 2 MAC address + // Remaining STA Profile for Link 3 + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x24, 0x00, 0x00, 0x00, // Channel + 0x02, 0x00, 0x00, 0x00 // BandId + +}; + +UCHAR s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xc0, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x03, // AP Link 1 Mac Address + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_SAE = 9 + 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x7e, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0f, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x1A, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Sta MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : STA Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Sta Link 2 MAC address + // STA Profile + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x55, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, + 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : AP Link 2 MAC address + // STA Profile + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x9b, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0f, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'M', 'i', 'x', 'e', 'd', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x32, 0x01, + 0xFB, // H2E Only + 0x30, 0x2a, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP + 0x03, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x04, // Pairwise Cipher = CCMP-128 + 0x00, 0x0F, 0xAC, 0x08, // Pairwise Cipher = GCMP-128 + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 + 0x03, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x02, // AKM Suite - PSK + 0x00, 0x0F, 0xAC, 0x08, // AKM Suite - SAE-256 + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x02, // MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x04, // STA Info : MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x05, // STA Info : MAC address + // STA Profile + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht + +}; + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_33_WiFi7_Open_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06}; +WDI_MAC_ADDRESS s_Connect_Addr_34_WiFi7_Open_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07}; +WDI_MAC_ADDRESS s_Connect_Addr_35_WiFi7_Open_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08}; +WDI_MAC_ADDRESS s_Connect_Addr_36_WiFi7_Open_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09}; + +UCHAR s_TLV_BSS_Entry_34_WiFi7_Open_Link_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xca, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // AP Link 1 address + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x97, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x01, 0x00, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // [B7-B4] [B3-B0] [B15-B12] [b11-B8] + // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] + 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link2 MAC address + // Remaining STA Profile for Link 2 + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x37, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 3 MAC address + // Remaining STA Profile for Link 3 + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x9d, 0x00, 0x00, 0x00, // Channel + 0x02, 0x00, 0x00, 0x00 // BandId + +}; + +UCHAR s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xb3, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // AP Link 1 Mac Address + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_CIPHER_ALGO_NONE = 0 + 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x75, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0xff, 0x3d, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // Multi-Link Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x80, 0x01, // [EML=1 + Medium=0 + BSS=0 + LinkID=0] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=1] + 0x0b, // Common Info length + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Local STA MLD Mac address (required for Basic) + // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + 0x81, 0x00, 0x00, // [ EML Capabilities (3 octets) ] + 0x02, 0x00, // [ MLD Capabilities (2 octets) - (2 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x32, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0010] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : Local Link 1 MAC address + // STA Profile + // Remaining STA Profile for Link 2 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length = 21 + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Local Sta Link 2 MAC address + // STA Profile + // Remaining STA Profile for Link 3 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x55, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x07, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 2 MAC address + // STA Profile + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x97, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x01, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'O', 'p', 'e', 'n', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 2 MAC address + // STA Profile + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht + +}; + +//=============================================================================== + +WDI_MAC_ADDRESS s_Connect_Addr_37_WiFi7_Only_MLD = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a}; +WDI_MAC_ADDRESS s_Connect_Addr_38_WiFi7_Only_Link_1 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b}; +WDI_MAC_ADDRESS s_Connect_Addr_39_WiFi7_Only_Link_2 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c}; +WDI_MAC_ADDRESS s_Connect_Addr_40_WiFi7_Only_Link_3 = {0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d}; + +UCHAR s_TLV_BSS_Entry_38_WiFi7_Only_Link_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xe8, 0x00, //Len + + // WDI_TLV_BSSID = 10 = 0xa + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b, // Link 1 MAC address + + // WDI_TLV_BEACON_FRAME = 143 = 0x8f + 0x0a, 0x00, + 0xb5, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x10, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0x30, 0x1a, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP-256 + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xCC, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // [B7-B4] [B3-B0] [B15-B12] [b11-B8] + // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] + 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : AP Link 1 MAC address + // Remaining STA Profile for Link 2 + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : AP Link 2 MAC address + // Remaining STA Profile for Link 3 + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x32, 0x01, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x32, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + + 0x32, 0x04, // Extended Supported Rates: DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES + 0x0C, 0x12, 0x18, 0xFB, // 0xFB = BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x01, 0x00, 0x00, 0x00, // Channel + 0x05, 0x00, 0x00, 0x00 // BandId +}; + +UCHAR s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xaf, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0b, // AP Link 1 Mac Address + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x08, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_AUTH_ALGO_WPA3_SAE = 9 + 0x09, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x09, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_CIPHER_ALGO_GCMP_256 = 9 + 0x0C, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_CIPHER_ALGO_BIP_GMAC_256 = C + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x01, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x7f, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x10, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0x30, 0x1A, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x04, // Group Cipher = CCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Sta MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : STA Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Sta Link 2 MAC address + // STA Profile + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x55, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, + 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : AP Link 2 MAC address + // STA Profile + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x89, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x10, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'a', 'k', 'm', ':', '2', '4', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, 0x06, // DSS Parameters + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, 0x00, // ERP + 0x2F, 0x01, 0x00, // Reserved + 0x30, 0x1a, + 0x01, 0x00, // Version + 0x00, 0x0F, 0xAC, 0x09, // Group Cipher = GCMP + 0x01, 0x00, // Pairwise Cipher Count + 0x00, 0x0F, 0xAC, 0x09, // Pairwise Cipher = GCMP + 0x01, 0x00, // AKM Suite Count + 0x00, 0x0F, 0xAC, 0x18, // AKM Suite - SAE-384 (Wi-Fi 7) + 0xC0, 0x00, // RSN Capability = MFPC + MFPR + ... + 0x00, 0x00, // PMKID Count + 0x00, 0x0F, 0xAC, 0x0C, // Group Mgmt Cipher = GMAC + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0a, // MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0c, // STA Info : MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x0d, // STA Info : MAC address + // STA Profile + 0x32, 0x04, // Extended Supported Rates: DOT11_INFO_ELEMENT_ID_EXTD_SUPPORTED_RATES + 0x0C, 0x12, 0x18, 0xFB, // 0xFB = BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht + +}; + +//=============================================================================== +// DualSta networks +//=============================================================================== +// + +WDI_MAC_ADDRESS s_Connect_Addr_41_DualSta_5Ghz = {0x00, 0x51, 0x30, 0x40, 0x50, 0x60}; +UCHAR s_TLV_BSS_Entry_41_DualSta_5Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x63, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0x51, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x35, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x04, // Supported Rates + 0x02, 0x04, 0x0B, 0x16, + 0x03, 0x01, // DSSS Parameter + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x46, 0x05, // RM Enabled Capabilities + 0x02, 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x07, // Vendor specific - MBO-OCE IE + 0x50, 0x6F, 0x9A, // WFA OUI + 0x16, // MBO-OCE IE OUI Type + 0x01, // Attribute ID - AP capability + 0x01, // Attrib length + 0x00, // Not cellular data aware + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x24, 0x00, 0x00, 0x00, // Channel + 0x02, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD7, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0x51, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x30, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x08, // Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x21, 0x02, // Power Capability + 0x07, 0x12, + 0x24, 0x02, // Supported Channels + 0x01, 0x0B, + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x07, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, //Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x32, 0x04, //Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x18, //WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, + +}; + +// ----- + +WDI_MAC_ADDRESS s_Connect_Addr_42_DualSta_6Ghz = {0x00, 0x52, 0x30, 0x40, 0x50, 0x60}; +UCHAR s_TLV_BSS_Entry_42_DualSta_6Ghz [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0x63, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x00, 0x52, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_PROBE_RESPONSE_FRAME + 0x09, 0x00, // Type + 0x35, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x04, // Supported Rates + 0x02, 0x04, 0x0B, 0x16, + 0x03, 0x01, // DSSS Parameter + 0x01, + 0x05, 0x04, // TIM + 0x00, 0x01, 0x00, 0x00, + 0x46, 0x05, // RM Enabled Capabilities + 0x02, 0x00, 0x00, 0x00, 0x00, + 0xDD, 0x07, // Vendor specific - MBO-OCE IE + 0x50, 0x6F, 0x9A, // WFA OUI + 0x16, // MBO-OCE IE OUI Type + 0x01, // Attribute ID - AP capability + 0x01, // Attrib length + 0x00, // Not cellular data aware + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x04, 0x00, + 0x04, 0x05, 0x06, 0x07, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_CHANNEL_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x09, 0x00, 0x00, 0x00, // Channel + 0x05, 0x00, 0x00, 0x00 // Band ID +}; + +UCHAR s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xD7, 0x00, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x00, 0x52, 0x30, 0x40, 0x50, 0x60, + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, //Association Status + 0x00, 0x00, 0x00, 0x00, //Status Code + 0x00, //ReAssociationRequest + 0x01, 0x00, 0x00, 0x00, //AuthAlgorithm + 0x00, 0x00, 0x00, 0x00, //UnicastCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastDataCipherAlgorithm + 0x00, 0x00, 0x00, 0x00, //MulticastMgmtCipherAlgorithm + 0x00, //FourAddressSupported + 0x00, //Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, //DSInfo + 0x00, 0x00, 0x00, 0x00, //AssociationComebackTime + 0x05, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x30, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x08, // Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x21, 0x02, // Power Capability + 0x07, 0x12, + 0x24, 0x02, // Supported Channels + 0x01, 0x0B, + 0x32, 0x04, // Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x07, // WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x30, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, //Rates + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, + 0x32, 0x04, //Extended Rates + 0x0C, 0x12, 0x18, 0x60, + 0xDD, 0x18, //WMM settings + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, + 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, + + // WDI_TLV_BEACON_PROBE_RESPONSE + 0x30, 0x00, // Type + 0x25, 0x00, // Length + 0x00, 0x11, 0x22, 0x33, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x00, 0x04, // Capability + 0x00, 0x08, + 'D', 'u', 'a', 'l', '-', 'S', 't', 'a', // SSID + 0x01, 0x04, 0x02, 0x04, 0x0B, 0x16, // Supported Rates + 0x03, 0x01, 0x01, // DSSS Parameter + 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, // TIM + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, + +}; + +//=============================================================================== +// Data throughput test networks +//=============================================================================== +// + +__declspec(selectany) WDI_MAC_ADDRESS s_Connect_Addr_43_Speed_01_WiFi7_Open_Link_1 = {0x22, 0x22, 0x22, 0x22, 0x00, 0x01}; +__declspec(selectany) WDI_MAC_ADDRESS s_Connect_Addr_44_Speed_02_WiFi7_Open_Link_1 = {0x22, 0x22, 0x22, 0x22, 0x00, 0x02}; +__declspec(selectany) UCHAR s_TLV_BSS_Entry_43_WiFi7_Open_Link_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xca, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x22, 0x22, 0x22, 0X22, 0x00, 0x01, // AP Link 1 address + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x97, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x01, 0x00, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '1', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // [B7-B4] [B3-B0] [B15-B12] [b11-B8] + // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] + 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link2 MAC address + // Remaining STA Profile for Link 2 + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x37, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 3 MAC address + // Remaining STA Profile for Link 3 + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x9d, 0x00, 0x00, 0x00, // Channel + 0x02, 0x00, 0x00, 0x00 // BandId + +}; + +__declspec(selectany) UCHAR s_TLV_Success_AssociationResult_43_WiFi7_Open_Link_1[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xb3, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x22, 0x22, 0x22, 0x22, 0x00, 0x01, // AP Link 1 Mac Address + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_CIPHER_ALGO_NONE = 0 + 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x75, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '1', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0xff, 0x3d, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // Multi-Link Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x80, 0x01, // [EML=1 + Medium=0 + BSS=0 + LinkID=0] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=1] + 0x0b, // Common Info length + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Local STA MLD Mac address (required for Basic) + // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + 0x81, 0x00, 0x00, // [ EML Capabilities (3 octets) ] + 0x02, 0x00, // [ MLD Capabilities (2 octets) - (2 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x32, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0010] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : Local Link 1 MAC address + // STA Profile + // Remaining STA Profile for Link 2 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length = 21 + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Local Sta Link 2 MAC address + // STA Profile + // Remaining STA Profile for Link 3 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x55, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x22, 0x22, 0x22, 0x22, 0x00, 0x01, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x22, 0x22, 0x22, 0x22, 0x00, 0x02, // STA Info : AP Link 2 MAC address + // STA Profile + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x97, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x01, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '1', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 2 MAC address + // STA Profile + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht + +}; + + +__declspec(selectany) UCHAR s_TLV_BSS_Entry_44_WiFi7_Open_Link_1 [] = +{ + // WDI_TLV_BSS_ENTRY + 0x08, 0x00, //Type + 0xca, 0x00, //Len + + // WDI_TLV_BSSID + 0x02, 0x00, // Type + 0x06, 0x00, // Length + 0x22, 0x22, 0x22, 0x22, 0x00, 0x02, // AP Link 1 address + // WDI_TLV_BEACON_FRAME + 0x0a, 0x00, + 0x97, 0x00, + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x64, 0x00, // Beacon Interval + 0x01, 0x00, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '2', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // [B7-B4] [B3-B0] [B15-B12] [b11-B8] + // [EML=0 + Medium=0 + BSS=1 + LinkID=1] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=0] + 0x20, 0x00, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link2 MAC address + // Remaining STA Profile for Link 2 + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x37, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 3 MAC address + // Remaining STA Profile for Link 3 + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_BSS_ENTRY_DEVICE_CONTEXT + 0x0d, 0x00, + 0x09, 0x00, + 0x04, 0x05, 0x06, 0x07, 0x04, 0x05, 0x06, 0x07, 0x00, + + // WDI_TLV_BSS_ENTRY_SIGNAL_INFO + 0x0b, 0x00, + 0x08, 0x00, + 0xCE, 0xFF, 0xFF, 0xFF, // RSSI + 0x5A, 0x00, 0x00, 0x00, // Link Quality + + // WDI_TLV_BSS_ENTRY_PHY_INFO + 0x3a, 0x00, + 0x08, 0x00, + 0x9d, 0x00, 0x00, 0x00, // Channel + 0x02, 0x00, 0x00, 0x00 // BandId + +}; + +__declspec(selectany) UCHAR s_TLV_Success_AssociationResult_44_WiFi7_Open_Link_1[] = +{ + // WDI_TLV_ASSOCIATION_RESULT + 0x35, 0x00, + 0xb3, 0x01, + + // WDI_TLV_BSSID + 0x02, 0x00, + 0x06, 0x00, + 0x22, 0x22, 0x22, 0x22, 0x00, 0x02, // AP Link 1 Mac Address + + // WDI_TLV_ASSOCIATION_RESULT_PARAMETERS + 0x2D, 0x00, + 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, // Association Status + 0x00, 0x00, 0x00, 0x00, // Status Code + 0x00, // ReAssociationRequest + 0x00, 0x00, 0x00, 0x00, // AuthAlgorithm = WDI_CIPHER_ALGO_NONE = 0 + 0x00, 0x00, 0x00, 0x00, // UnicastCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastDataCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, 0x00, 0x00, 0x00, // MulticastMgmtCipherAlgorithm = WDI_AUTH_ALGO_80211_OPEN = 0 + 0x00, // FourAddressSupported + 0x00, // Port Authorized + 0x00, // WMM QoS Enabled + 0x00, 0x00, 0x00, 0x00, // DSInfo + 0x00, 0x00, 0x00, 0x00, // AssociationComebackTime + 0x02, 0x00, 0x00, 0x00, // Band ID + 0x00, 0x00, 0x00, 0x00, // IHV Association Status + 0x00, 0x00, 0x00, 0x00, //DisableDataPathOffloadsScenario + + // WDI_TLV_ASSOCIATION_REQUEST_FRAME + 0x2E, 0x00, + 0x75, 0x00, + 0x21, 0x04, // Capabilities + 0x0A, 0x00, // Listen Interval + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '2', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Rates + 0x21, 0x02, + 0x07, 0x12, //Power Capability + 0x24, 0x02, + 0x01, 0x0B, //Supported Channels + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x08, + 0x00, 0x50, 0xF2, 0x02, 0x00, 0x01, 0x00, 0x03, // WMM settings + 0xff, 0x3d, // Multilink Extension Element + 0x6B, // Multilink Extension ID + // Multi-Link Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x80, 0x01, // [EML=1 + Medium=0 + BSS=0 + LinkID=0] [Reserved=0 + Basic=0] [Reserved=0000] [Reserved=000 MLD=1] + 0x0b, // Common Info length + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, // Local STA MLD Mac address (required for Basic) + // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + 0x81, 0x00, 0x00, // [ EML Capabilities (3 octets) ] + 0x02, 0x00, // [ MLD Capabilities (2 octets) - (2 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x32, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0010] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x21, // STA Info : Local Link 1 MAC address + // STA Profile + // Remaining STA Profile for Link 2 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x15, // Length = 21 + // STA Control = [B7-B4] [B3-B0] [B15-B12] [b11-B8] + 0x33, 0x00, // [DTIM=0 + BeaconInt=0 + MAC=1 + Complete=1] [LinkID=0011] [Reserved=0000] [Reserved=0 + BSS=0 + NTSRBit=0 + NTSRPres=0] + 0x06, // Length + 0x11, 0x01, 0x02, 0x03, 0x04, 0x22, // STA Info : Local Sta Link 2 MAC address + // STA Profile + // Remaining STA Profile for Link 3 + 0x11, 0x15, 0x21, 0x02, 0x00, 0x0e, 0xff, 0x03, 0x38, 0x01, 0x30, 0x00, + + + // WDI_TLV_ASSOCIATION_RESPONSE_FRAME + 0x2F, 0x00, + 0x55, 0x00, + 0x01, 0x04, //Capability + 0x00, 0x00, //Status + 0x01, 0xC0, //Association ID + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, //Rates + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, //Extended Rates + 0xDD, 0x18, + 0x00, 0x50, 0xF2, 0x02, 0x01, 0x01, 0x80, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x27, 0xA4, 0x00, 0x00, 0x42, 0x43, 0x5E, 0x00, 0x62, 0x32, 0x2F, 0x00, //WMM settings + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x22, 0x22, 0x22, 0x22, 0x00, 0x01, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x22, 0x22, 0x22, 0x22, 0x00, 0x02, // STA Info : AP Link 2 MAC address + // STA Profile + + + // WDI_TLV_BEACON_FRAME + 0x30, 0x00, + 0x97, 0x00, + + 0x22, 0x02, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, // Timestamp + 0x01, 0x00, // Beacon Interval + 0x31, 0x04, // Capability + 0x00, 0x0e, // SSID + 'W', 'i', '-', 'F', 'i', ' ', '7', ' ', '-', ' ', 'D', 'T', '0', '2', + 0x01, 0x08, + 0x82, 0x84, 0x8B, 0x96, 0x24, 0x30, 0x48, 0x6C, // Supported Rates + 0x03, 0x01, + 0x06, // DSS Parameters + 0x05, 0x04, + 0x00, 0x01, 0x00, 0x00, // TIM + 0x2A, 0x01, + 0x00, // ERP + 0x2F, 0x01, + 0x00, // Reserved + 0xff, 0x23, // Multilink Extension Element + 0x6B, // Multilink Extension ID + 0x01, 0x10, // MultiLink Control ([Reserved=0000000 + MLDCapabilities=1 + 000 + LinkID=1 + Reserved=0 + Basic=000] = 0000000 1 000 1 0 000 = 0x0110) + 0x09, // Common Info length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x06, // AP MLD Mac address (required for Basic) + 0x01, // [ Link ID (1 octet) - in Beacon/ProbeResp/(Re)AssocResp frames ] + // [ BSS Parameters Change Count (1 octet) - from AP only ] + // [ Medium Synchronization delay (2 octets) - from AP only] + // [ EML Capabilities (2 octets) ] + 0x00, 0x03, // [ MLD Capabilities (2 octets) - (3 links max) in Beacon/ProbeResp/(Re)AssocReq/(Re)AssocResp frames ] + // Per-Sta profile - 1/2 (Link 2) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x22, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // STA Info : AP Link 1 MAC address + // STA Profile + // Per-Sta profile - 2/2 (Link 3) + 0x00, // Subelement ID = 0 for Per-Sta Profile Element + 0x09, // Length + 0x00, 0x23, // STA Control = (Reserved=00000+BSSParam=0+NTSRBS=0+NTSRLP=0+DTIM=0+BeaconInt=0+MAC=1+CompleteP=0+LinkID=0001) = 0x0021 + 0x00, // STA Info : Length + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // STA Info : AP Link 2 MAC address + // STA Profile + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x08, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x03, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0xc9, 0x14, // RNR IE + 0x04, 0x10, // TBTT: 0x04 => B2=1(FilteredAP),B4-B7=0(TBTT Information Count=0+1) :: 0x0c = TBTT Length + 0x51, 0x06, // Operating Class = 81 (2.4 GHz), Channel = 6 + 0x00, // TBTTOffset + 0x00, 0xA0, 0xB0, 0xC0, 0xD1, 0x09, // Bssid + 0x1d, 0xc5, 0x3b, 0x12, // ShortSsid + 0x40, // BssParameters + 0x00, // 20 MHz + 0x12, 0x07, 0x56, // Mld Parameters: MLD ID(8 bits) : LinkID (4 bits) + ... + 0x32, 0x04, + 0x0C, 0x12, 0x18, 0x60, // Extended Supported Rates + 0xDD, 0x09, + 0x00, 0x10, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Vendor Specific + + // WDI_TLV_PHY_TYPE_LIST + 0x19, 0x00, + 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, // dot11_phy_type_eht + +}; + +//=============================================================================== +//=============================================================================== + +typedef struct +{ + UINT32 BandId; + WDI_MAC_ADDRESS* pMacAddress; + PUCHAR pTlvBssEntry; + UINT32 TlvBssEntrySize; + PUCHAR pTlvAssociationResult; + UINT32 TlvAssociationResultSize; + +} WdiTestConnectEntry, * PWdiTestConnectEntry; + +WdiTestConnectEntry g_ConnectEntries[] = +{ + // 0 + { // 0th Entry is disconnected state + 0, + nullptr, + nullptr, 0, + nullptr, 0, + }, + + // 1 - WFC_OPEN + { + WDI_BAND_ID_2400, + &s_Connect_Addr, + s_TLV_BSS_Entry_1, sizeof(s_TLV_BSS_Entry_1), + s_TLV_SuccessOpenAssociationResult, sizeof(s_TLV_SuccessOpenAssociationResult), + }, + + // 2 - WFC_OPEN + { + WDI_BAND_ID_2400, + &s_Connect_Addr_2_Open, + s_TLV_BSS_Entry_2_Open, sizeof(s_TLV_BSS_Entry_2_Open), + s_TLV_Success_AssociationResult_2_Open, sizeof(s_TLV_Success_AssociationResult_2_Open), + }, + + // 3 - WDI__WEP + { + WDI_BAND_ID_2400, + &s_Connect_Addr_3_WEP, + s_TLV_BSS_Entry_3_WEP, sizeof(s_TLV_BSS_Entry_3_WEP), + s_TLV_Success_AssociationResult_3_WEP, sizeof(s_TLV_Success_AssociationResult_3_WEP), + }, + + // 4 - WDI_SECURE + { + WDI_BAND_ID_2400, + &s_Connect_Addr_4_RSNA_CCMP, + s_TLV_BSS_Entry_4_RSNA_CCMP, sizeof(s_TLV_BSS_Entry_4_RSNA_CCMP), + s_TLV_Success_AssociationResult_4_RSNA_CCMP, sizeof(s_TLV_Success_AssociationResult_4_RSNA_CCMP), + }, + + // 5 - WDI__IHV + { + TESTMP_BAND_IHV, + &s_Connect_Addr_5_IHV, + s_TLV_BSS_Entry_5_IHV, sizeof(s_TLV_BSS_Entry_5_IHV), + s_TLV_Success_AssociationResult_5_IHV, sizeof(s_TLV_Success_AssociationResult_5_IHV), + }, + + // 6 - WDI__FT + { + WDI_BAND_ID_2400, + &s_Connect_Addr_6_FT_CCMP, + s_TLV_BSS_Entry_6_FT_CCMP, sizeof(s_TLV_BSS_Entry_6_FT_CCMP), + s_TLV_Success_AssociationResult_6_FT_CCMP, sizeof(s_TLV_Success_AssociationResult_6_FT_CCMP), + }, + + // 7 - WDI__FTPSK + { + WDI_BAND_ID_2400, + &s_Connect_Addr_7_FT_PSK_CCMP, + s_TLV_BSS_Entry_7_FT_PSK_CCMP, sizeof(s_TLV_BSS_Entry_7_FT_PSK_CCMP), + s_TLV_Success_AssociationResult_7_FT_PSK_CCMP, sizeof(s_TLV_Success_AssociationResult_7_FT_PSK_CCMP), + }, + + // 8 - + { + WDI_BAND_ID_2400, + &s_Connect_Addr_8_Hidden, + s_TLV_BSS_Entry_Beacon_8_Hidden, sizeof(s_TLV_BSS_Entry_Beacon_8_Hidden), + s_TLV_Success_AssociationResult_8_Hidden, sizeof(s_TLV_Success_AssociationResult_8_Hidden), + }, + + // 9 - WDI_adPSK + { + WDI_BAND_ID_60000, + &s_Connect_Addr_9_11ad_PSK, + s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK, sizeof(s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK), + s_TLV_Success_AssociationResult_9_11ad_PSK, sizeof(s_TLV_Success_AssociationResult_9_11ad_PSK), + }, + + // 10 - WDI_ad_1x + { + WDI_BAND_ID_60000, + &s_Connect_Addr_10_11ad_1x, + s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x, sizeof(s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x), + s_TLV_Success_AssociationResult_10_11ad_1x, sizeof(s_TLV_Success_AssociationResult_10_11ad_1x), + }, + + // 11 - WDI_ad_ON + { + WDI_BAND_ID_60000, + &s_Connect_Addr_11_11ad_Open, + s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open, sizeof(s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open), + s_TLV_Success_AssociationResult_11_11ad_Open, sizeof(s_TLV_Success_AssociationResult_11_11ad_Open), + }, + + // 12 - WDI_OPEN_11ax.2.4 + { + WDI_BAND_ID_60000, + &s_Connect_Addr_12_11ax_24_Open, + s_TLV_BSS_Entry_12_11ax_24_Open, sizeof(s_TLV_BSS_Entry_12_11ax_24_Open), + s_TLV_Success_AssociationResult_12_11ax_24_Open, sizeof(s_TLV_Success_AssociationResult_12_11ax_24_Open), + }, + + // 13 - WDI_OPEN_11ax.5 + { + WDI_BAND_ID_5000, + &s_Connect_Addr_13_11ax_5_Open, + s_TLV_BSS_Entry_13_11ax_5_Open, sizeof(s_TLV_BSS_Entry_13_11ax_5_Open), + s_TLV_Success_AssociationResult_13_11ax_5_Open, sizeof(s_TLV_Success_AssociationResult_13_11ax_5_Open), + }, + + // 14 - WDI_WPA3-SAE + { + WDI_BAND_ID_2400, + &s_Connect_Addr_14_WPA3_SAE_CCMP, + s_TLV_BSS_Entry_14_WPA3_SAE_CCMP, sizeof(s_TLV_BSS_Entry_14_WPA3_SAE_CCMP), + s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP, sizeof(s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP), + }, + + // 15 - WDI_SHA256 + { + WDI_BAND_ID_2400, + &s_Connect_Addr_15_WPA2PSK_SHA256, + s_TLV_BSS_Entry_15_WPA2PSK_SHA256, sizeof(s_TLV_BSS_Entry_15_WPA2PSK_SHA256), + s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256, sizeof(s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256), + }, + + // 16 - WDI_WPA3-SUITE_B + { + WDI_BAND_ID_2400, + &s_Connect_Addr_16_WPA3_SUITEB, + s_TLV_BSS_Entry_16_WPA3_SUITEB, sizeof(s_TLV_BSS_Entry_16_WPA3_SUITEB), + s_TLV_Success_AssociationResult_16_WPA3_SUITEB, sizeof(s_TLV_Success_AssociationResult_16_WPA3_SUITEB), + }, + + // 17 - 6E__1 + { + WDI_BAND_ID_2400, + &s_Connect_Addr_17_6G_S1_2_4_Ghz, + s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz, sizeof(s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz), + s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz), + }, + + // 18 - 6E__1 + { + WDI_BAND_ID_5000, + &s_Connect_Addr_18_6G_S1_5_Ghz, + s_TLV_BSS_Entry_18_6G_S1_5_Ghz, sizeof(s_TLV_BSS_Entry_18_6G_S1_5_Ghz), + s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz, sizeof(s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz), + }, + + // 19 - 6E__1 + { + WDI_BAND_ID_6000, + &s_Connect_Addr_19_6G_S1a_6_Ghz, + s_TLV_BSS_Entry_19_6G_S1a_6_Ghz, sizeof(s_TLV_BSS_Entry_19_6G_S1a_6_Ghz), + s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz, sizeof(s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz), + }, + + // 20 - 6E__1 + { + WDI_BAND_ID_6000, + &s_Connect_Addr_20_6G_S1b_6_Ghz, + s_TLV_BSS_Entry_20_6G_S1b_6_Ghz, sizeof(s_TLV_BSS_Entry_20_6G_S1b_6_Ghz), + s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz, sizeof(s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz), + }, + + // 21 - 6E__2 + { + WDI_BAND_ID_2400, + &s_Connect_Addr_21_6G_S2_2_4_Ghz, + s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz, sizeof(s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz), + s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz), + }, + + // 22 - 6E__2 + { + WDI_BAND_ID_5000, + &s_Connect_Addr_22_6G_S2_5_Ghz, + s_TLV_BSS_Entry_22_6G_S2_5_Ghz, sizeof(s_TLV_BSS_Entry_22_6G_S2_5_Ghz), + s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz, sizeof(s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz), + }, + + // 23 - 6E__2 + { + WDI_BAND_ID_6000, + &s_Connect_Addr_23_6G_S2_6_Ghz, + s_TLV_BSS_Entry_23_6G_S2_6_Ghz, sizeof(s_TLV_BSS_Entry_23_6G_S2_6_Ghz), + s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz, sizeof(s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz), + }, + + // 24 - 6E__3 + { + WDI_BAND_ID_2400, + &s_Connect_Addr_24_6G_S3_2_4_Ghz, + s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz, sizeof(s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz), + s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz), + }, + + // 25 - 6E__4 + { + WDI_BAND_ID_6000, + &s_Connect_Addr_25_6G_S4_6_Ghz, + s_TLV_BSS_Entry_25_6G_S4_6_Ghz, sizeof(s_TLV_BSS_Entry_25_6G_S4_6_Ghz), + s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz, sizeof(s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz), + }, + + // 26 - WDI_OWE_RNR + { + WDI_BAND_ID_2400, + &s_ConnectAddr_26_OWE_With_RNR, + s_TLV_BSS_Entry_26_OWE_With_RNR, sizeof(s_TLV_BSS_Entry_26_OWE_With_RNR), + s_TLV_Failure_AssociationResult_26_OWE_With_RNR, sizeof(s_TLV_Failure_AssociationResult_26_OWE_With_RNR) + }, + // 27 - + { + WDI_BAND_ID_2400, + &s_ConnectAddr_27_OWE_TM_OWE, + s_TLV_BSS_Entry_27_OWE_TM_OWE, sizeof(s_TLV_BSS_Entry_27_OWE_TM_OWE), + s_TLV_Failure_AssociationResult_27_OWE_TM_OWE, sizeof(s_TLV_Failure_AssociationResult_27_OWE_TM_OWE) + }, + // 28 - WDI_OWE_TM_OPEN + { + WDI_BAND_ID_2400, + &s_ConnectAddr_28_OWE_TM_Open, + s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon, sizeof(s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon), + s_TLV_Failure_AssociationResult_28_OWE_TM_Open, sizeof(s_TLV_Failure_AssociationResult_28_OWE_TM_Open) + }, + + // 29 is only MLD address for Wi-Fi 7 + // 30 - Wi-Fi 7 - Mixed + { + WDI_BAND_ID_5000, + &s_Connect_Addr_30_WiFi7_Mixed_Link_1, + s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1, sizeof(s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1), + s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1, sizeof(s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1), + }, + // 34 - Wi-Fi 7 - Open + { + WDI_BAND_ID_5000, + &s_Connect_Addr_34_WiFi7_Open_Link_1, + s_TLV_BSS_Entry_34_WiFi7_Open_Link_1, sizeof(s_TLV_BSS_Entry_34_WiFi7_Open_Link_1), + s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1, sizeof(s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1), + }, + // 38 - Wi-Fi 7 - Only + { + WDI_BAND_ID_6000, + &s_Connect_Addr_38_WiFi7_Only_Link_1, + s_TLV_BSS_Entry_38_WiFi7_Only_Link_1, sizeof(s_TLV_BSS_Entry_38_WiFi7_Only_Link_1), + s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1, sizeof(s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1), + }, + + // 41 - Dual-Sta + { + WDI_BAND_ID_5000, + &s_Connect_Addr_41_DualSta_5Ghz, + s_TLV_BSS_Entry_41_DualSta_5Ghz, sizeof(s_TLV_BSS_Entry_41_DualSta_5Ghz), + s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz, sizeof(s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz), + }, + + // 42 - Dual-Sta + { + WDI_BAND_ID_6000, + &s_Connect_Addr_42_DualSta_6Ghz, + s_TLV_BSS_Entry_42_DualSta_6Ghz, sizeof(s_TLV_BSS_Entry_42_DualSta_6Ghz), + s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz, sizeof(s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz), + }, + + // 43 - Speed Test(01) + { + WDI_BAND_ID_5000, + &s_Connect_Addr_43_Speed_01_WiFi7_Open_Link_1, + s_TLV_BSS_Entry_43_WiFi7_Open_Link_1, sizeof(s_TLV_BSS_Entry_43_WiFi7_Open_Link_1), + s_TLV_Success_AssociationResult_43_WiFi7_Open_Link_1, sizeof(s_TLV_Success_AssociationResult_43_WiFi7_Open_Link_1), + }, + + // 44 - Speed Test(02) + { + WDI_BAND_ID_5000, + &s_Connect_Addr_44_Speed_02_WiFi7_Open_Link_1, + s_TLV_BSS_Entry_44_WiFi7_Open_Link_1, sizeof(s_TLV_BSS_Entry_44_WiFi7_Open_Link_1), + s_TLV_Success_AssociationResult_44_WiFi7_Open_Link_1, sizeof(s_TLV_Success_AssociationResult_44_WiFi7_Open_Link_1), + }, +}; + +// clang-format on diff --git a/network/wlan/WIFICX/drivercode/wifirequest.cpp b/network/wlan/WIFICX/drivercode/wifirequest.cpp index 06703795..1fefe040 100644 --- a/network/wlan/WIFICX/drivercode/wifirequest.cpp +++ b/network/wlan/WIFICX/drivercode/wifirequest.cpp @@ -1,308 +1,10 @@ -//------------------------------------------------------------------------------- -// Net Adapter source file -// // Copyright (c) Microsoft Corporation. All rights reserved. #include "precomp.h" -#include "testdata.h" -#include +#include "wifiHAL.h" #include "wifirequest.h" #include "wifirequest.tmh" -// clang-format off - - -WdiTestConnectEntry g_ConnectEntries[] = -{ - // 0 - { // 0th Entry is disconnected state - 0, - nullptr, - nullptr, 0, - nullptr, 0, - }, - - // 1 - WFC_OPEN - { - WDI_BAND_ID_2400, - &s_Connect_Addr, - s_TLV_BSS_Entry_1, sizeof(s_TLV_BSS_Entry_1), - s_TLV_SuccessOpenAssociationResult, sizeof(s_TLV_SuccessOpenAssociationResult), - }, - - // 2 - WFC_OPEN - { - WDI_BAND_ID_2400, - &s_Connect_Addr_2_Open, - s_TLV_BSS_Entry_2_Open, sizeof(s_TLV_BSS_Entry_2_Open), - s_TLV_Success_AssociationResult_2_Open, sizeof(s_TLV_Success_AssociationResult_2_Open), - }, - - // 3 - WDI__WEP - { - WDI_BAND_ID_2400, - &s_Connect_Addr_3_WEP, - s_TLV_BSS_Entry_3_WEP, sizeof(s_TLV_BSS_Entry_3_WEP), - s_TLV_Success_AssociationResult_3_WEP, sizeof(s_TLV_Success_AssociationResult_3_WEP), - }, - - // 4 - WDI_SECURE - { - WDI_BAND_ID_2400, - &s_Connect_Addr_4_RSNA_CCMP, - s_TLV_BSS_Entry_4_RSNA_CCMP, sizeof(s_TLV_BSS_Entry_4_RSNA_CCMP), - s_TLV_Success_AssociationResult_4_RSNA_CCMP, sizeof(s_TLV_Success_AssociationResult_4_RSNA_CCMP), - }, - - // 5 - WDI__IHV - { - TESTMP_BAND_IHV, - &s_Connect_Addr_5_IHV, - s_TLV_BSS_Entry_5_IHV, sizeof(s_TLV_BSS_Entry_5_IHV), - s_TLV_Success_AssociationResult_5_IHV, sizeof(s_TLV_Success_AssociationResult_5_IHV), - }, - - // 6 - WDI__FT - { - WDI_BAND_ID_2400, - &s_Connect_Addr_6_FT_CCMP, - s_TLV_BSS_Entry_6_FT_CCMP, sizeof(s_TLV_BSS_Entry_6_FT_CCMP), - s_TLV_Success_AssociationResult_6_FT_CCMP, sizeof(s_TLV_Success_AssociationResult_6_FT_CCMP), - }, - - // 7 - WDI__FTPSK - { - WDI_BAND_ID_2400, - &s_Connect_Addr_7_FT_PSK_CCMP, - s_TLV_BSS_Entry_7_FT_PSK_CCMP, sizeof(s_TLV_BSS_Entry_7_FT_PSK_CCMP), - s_TLV_Success_AssociationResult_7_FT_PSK_CCMP, sizeof(s_TLV_Success_AssociationResult_7_FT_PSK_CCMP), - }, - - // 8 - - { - WDI_BAND_ID_2400, - &s_Connect_Addr_8_Hidden, - s_TLV_BSS_Entry_Beacon_8_Hidden, sizeof(s_TLV_BSS_Entry_Beacon_8_Hidden), - s_TLV_Success_AssociationResult_8_Hidden, sizeof(s_TLV_Success_AssociationResult_8_Hidden), - }, - - // 9 - WDI_adPSK - { - WDI_BAND_ID_60000, - &s_Connect_Addr_9_11ad_PSK, -#ifdef DMG_CAPABILITIES - s_TLV_BSS_Entry_9_11ad_ProbeResponse_Dmg_PSK, sizeof(s_TLV_BSS_Entry_9_11ad_ProbeResponse_Dmg_PSK), - s_TLV_Success_AssociationResult_9_11ad_Dmg_PSK, sizeof(s_TLV_Success_AssociationResult_9_11ad_Dmg_PSK), -#else - s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK, sizeof(s_TLV_BSS_Entry_9_11ad_ProbeResponse_PSK), - s_TLV_Success_AssociationResult_9_11ad_PSK, sizeof(s_TLV_Success_AssociationResult_9_11ad_PSK), -#endif // DMG_CAPABILITIES - }, - - // 10 - WDI_ad_1x - { - WDI_BAND_ID_60000, - &s_Connect_Addr_10_11ad_1x, -#ifdef DMG_CAPABILITIES - s_TLV_BSS_Entry_10_11ad_ProbeResponse_Dmg_1x, sizeof(s_TLV_BSS_Entry_10_11ad_ProbeResponse_Dmg_1x), - s_TLV_Success_AssociationResult_10_11ad_Dmg_1x, sizeof(s_TLV_Success_AssociationResult_10_11ad_Dmg_1x), -#else - s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x, sizeof(s_TLV_BSS_Entry_10_11ad_ProbeResponse_1x), - s_TLV_Success_AssociationResult_10_11ad_1x, sizeof(s_TLV_Success_AssociationResult_10_11ad_1x), -#endif // DMG_CAPABILITIES - }, - - // 11 - WDI_ad_ON - { - WDI_BAND_ID_60000, - &s_Connect_Addr_11_11ad_Open, -#ifdef DMG_CAPABILITIES - s_TLV_BSS_Entry_11_11ad_ProbeResponse_Dmg_Open, sizeof(s_TLV_BSS_Entry_11_11ad_ProbeResponse_Dmg_Open), - s_TLV_Success_AssociationResult_11_11ad_Dmg_Open, sizeof(s_TLV_Success_AssociationResult_11_11ad_Dmg_Open), -#else - s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open, sizeof(s_TLV_BSS_Entry_11_11ad_ProbeResponse_Open), - s_TLV_Success_AssociationResult_11_11ad_Open, sizeof(s_TLV_Success_AssociationResult_11_11ad_Open), -#endif // DMG_CAPABILITIES - }, - - // 12 - WDI_OPEN_11ax.2.4 - { - WDI_BAND_ID_60000, - &s_Connect_Addr_12_11ax_24_Open, - s_TLV_BSS_Entry_12_11ax_24_Open, sizeof(s_TLV_BSS_Entry_12_11ax_24_Open), - s_TLV_Success_AssociationResult_12_11ax_24_Open, sizeof(s_TLV_Success_AssociationResult_12_11ax_24_Open), - }, - - // 13 - WDI_OPEN_11ax.5 - { - WDI_BAND_ID_5000, - &s_Connect_Addr_13_11ax_5_Open, - s_TLV_BSS_Entry_13_11ax_5_Open, sizeof(s_TLV_BSS_Entry_13_11ax_5_Open), - s_TLV_Success_AssociationResult_13_11ax_5_Open, sizeof(s_TLV_Success_AssociationResult_13_11ax_5_Open), - }, - - // 14 - WDI_WPA3-SAE - { - WDI_BAND_ID_2400, - &s_Connect_Addr_14_WPA3_SAE_CCMP, - s_TLV_BSS_Entry_14_WPA3_SAE_CCMP, sizeof(s_TLV_BSS_Entry_14_WPA3_SAE_CCMP), - s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP, sizeof(s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP), - }, - - // 15 - WDI_SHA256 - { - WDI_BAND_ID_2400, - &s_Connect_Addr_15_WPA2PSK_SHA256, - s_TLV_BSS_Entry_15_WPA2PSK_SHA256, sizeof(s_TLV_BSS_Entry_15_WPA2PSK_SHA256), - s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256, sizeof(s_TLV_Success_AssociationResult_15_WPA2PSK_SHA256), - }, - - // 16 - WDI_WPA3-SUITE_B - { - WDI_BAND_ID_2400, - &s_Connect_Addr_16_WPA3_SUITEB, - s_TLV_BSS_Entry_16_WPA3_SUITEB, sizeof(s_TLV_BSS_Entry_16_WPA3_SUITEB), - s_TLV_Success_AssociationResult_16_WPA3_SUITEB, sizeof(s_TLV_Success_AssociationResult_16_WPA3_SUITEB), - }, - - // 17 - 6E__1 - { - WDI_BAND_ID_2400, - &s_Connect_Addr_17_6G_S1_2_4_Ghz, - s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz, sizeof(s_TLV_BSS_Entry_17_6G_S1_2_4_Ghz), - s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_17_6G_S1_2_4_Ghz), - }, - - // 18 - 6E__1 - { - WDI_BAND_ID_5000, - &s_Connect_Addr_18_6G_S1_5_Ghz, - s_TLV_BSS_Entry_18_6G_S1_5_Ghz, sizeof(s_TLV_BSS_Entry_18_6G_S1_5_Ghz), - s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz, sizeof(s_TLV_Success_AssociationResult_18_6G_S1_5_Ghz), - }, - - // 19 - 6E__1 - { - WDI_BAND_ID_6000, - &s_Connect_Addr_19_6G_S1a_6_Ghz, - s_TLV_BSS_Entry_19_6G_S1a_6_Ghz, sizeof(s_TLV_BSS_Entry_19_6G_S1a_6_Ghz), - s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz, sizeof(s_TLV_Success_AssociationResult_19_6G_S1a_6_Ghz), - }, - - // 20 - 6E__1 - { - WDI_BAND_ID_6000, - &s_Connect_Addr_20_6G_S1b_6_Ghz, - s_TLV_BSS_Entry_20_6G_S1b_6_Ghz, sizeof(s_TLV_BSS_Entry_20_6G_S1b_6_Ghz), - s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz, sizeof(s_TLV_Success_AssociationResult_20_6G_S1b_6_Ghz), - }, - - // 21 - 6E__2 - { - WDI_BAND_ID_2400, - &s_Connect_Addr_21_6G_S2_2_4_Ghz, - s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz, sizeof(s_TLV_BSS_Entry_21_6G_S2_2_4_Ghz), - s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_21_6G_S2_2_4_Ghz), - }, - - // 22 - 6E__2 - { - WDI_BAND_ID_5000, - &s_Connect_Addr_22_6G_S2_5_Ghz, - s_TLV_BSS_Entry_22_6G_S2_5_Ghz, sizeof(s_TLV_BSS_Entry_22_6G_S2_5_Ghz), - s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz, sizeof(s_TLV_Success_AssociationResult_22_6G_S2_5_Ghz), - }, - - // 23 - 6E__2 - { - WDI_BAND_ID_6000, - &s_Connect_Addr_23_6G_S2_6_Ghz, - s_TLV_BSS_Entry_23_6G_S2_6_Ghz, sizeof(s_TLV_BSS_Entry_23_6G_S2_6_Ghz), - s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz, sizeof(s_TLV_Success_AssociationResult_23_6G_S2_6_Ghz), - }, - - // 24 - 6E__3 - { - WDI_BAND_ID_2400, - &s_Connect_Addr_24_6G_S3_2_4_Ghz, - s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz, sizeof(s_TLV_BSS_Entry_24_6G_S3_2_4_Ghz), - s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz, sizeof(s_TLV_Success_AssociationResult_24_6G_S3_2_4_Ghz), - }, - - // 25 - 6E__4 - { - WDI_BAND_ID_6000, - &s_Connect_Addr_25_6G_S4_6_Ghz, - s_TLV_BSS_Entry_25_6G_S4_6_Ghz, sizeof(s_TLV_BSS_Entry_25_6G_S4_6_Ghz), - s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz, sizeof(s_TLV_Success_AssociationResult_25_6G_S4_6_Ghz), - }, - - // 26 - WDI_OWE_RNR - { - WDI_BAND_ID_2400, - &s_ConnectAddr_26_OWE_With_RNR, - s_TLV_BSS_Entry_26_OWE_With_RNR, sizeof(s_TLV_BSS_Entry_26_OWE_With_RNR), - s_TLV_Failure_AssociationResult_26_OWE_With_RNR, sizeof(s_TLV_Failure_AssociationResult_26_OWE_With_RNR) - }, - // 27 - - { - WDI_BAND_ID_2400, - &s_ConnectAddr_27_OWE_TM_OWE, - s_TLV_BSS_Entry_27_OWE_TM_OWE, sizeof(s_TLV_BSS_Entry_27_OWE_TM_OWE), - s_TLV_Failure_AssociationResult_27_OWE_TM_OWE, sizeof(s_TLV_Failure_AssociationResult_27_OWE_TM_OWE) - }, - // 28 - WDI_OWE_TM_OPEN - { - WDI_BAND_ID_2400, - &s_ConnectAddr_28_OWE_TM_Open, - s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon, sizeof(s_TLV_BSS_Entry_28_OWE_TM_Open_Beacon), - s_TLV_Failure_AssociationResult_28_OWE_TM_Open, sizeof(s_TLV_Failure_AssociationResult_28_OWE_TM_Open) - }, - - // 29 is only MLD address for Wi-Fi 7 - // 30 - Wi-Fi 7 - Mixed - { - WDI_BAND_ID_5000, - &s_Connect_Addr_30_WiFi7_Mixed_Link_1, - s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1, sizeof(s_TLV_BSS_Entry_30_WiFi7_Mixed_Link_1), - s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1, sizeof(s_TLV_Success_AssociationResult_30_WiFi7_Mixed_Link_1), - }, - // 34 - Wi-Fi 7 - Open - { - WDI_BAND_ID_5000, - &s_Connect_Addr_34_WiFi7_Open_Link_1, - s_TLV_BSS_Entry_34_WiFi7_Open_Link_1, sizeof(s_TLV_BSS_Entry_34_WiFi7_Open_Link_1), - s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1, sizeof(s_TLV_Success_AssociationResult_34_WiFi7_Open_Link_1), - }, - // 38 - Wi-Fi 7 - Only - { - WDI_BAND_ID_6000, - &s_Connect_Addr_38_WiFi7_Only_Link_1, - s_TLV_BSS_Entry_38_WiFi7_Only_Link_1, sizeof(s_TLV_BSS_Entry_38_WiFi7_Only_Link_1), - s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1, sizeof(s_TLV_Success_AssociationResult_38_WiFi7_Only_Link_1), - }, - - // 41 - Dual-Sta - { - WDI_BAND_ID_5000, - &s_Connect_Addr_41_DualSta_5Ghz, - s_TLV_BSS_Entry_41_DualSta_5Ghz, sizeof(s_TLV_BSS_Entry_41_DualSta_5Ghz), - s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz, sizeof(s_TLV_SuccessOpenAssociationResult_41_DualSta_5Ghz), - }, - - // 42 - Dual-Sta - { - WDI_BAND_ID_6000, - &s_Connect_Addr_42_DualSta_6Ghz, - s_TLV_BSS_Entry_42_DualSta_6Ghz, sizeof(s_TLV_BSS_Entry_42_DualSta_6Ghz), - s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz, sizeof(s_TLV_SuccessOpenAssociationResult_42_DualSta_6Ghz), - }, -}; - -// clang-format on - -#define ConnectEntryId_MAX ARRAYSIZE(g_ConnectEntries) - _Use_decl_annotations_ void EvtWifiDeviceSendCommand(WDFDEVICE Device, WIFIREQUEST SendRequest) { @@ -323,10 +25,9 @@ void EvtWifiDeviceSendCommand(WDFDEVICE Device, WIFIREQUEST SendRequest) } _Use_decl_annotations_ -void WifiCxTestSendIndication(WDFDEVICE Device, PWDI_MESSAGE_HEADER pWdiHeader, UINT16 MessageId, UINT32 TransactionId, PUCHAR pTlvData, UINT32 TlvDataSize) +void WifiIhvSendIndicationToOs(WDFDEVICE Device, PWDI_MESSAGE_HEADER pWdiHeader, UINT16 MessageId, UINT32 TransactionId, PUCHAR pTlvData, UINT32 TlvDataSize) { - NTSTATUS ntStatus; - WDFMEMORY data; + WDFMEMORY data = WDF_NO_HANDLE; PUCHAR pIndicationBuffer = nullptr; PWDI_MESSAGE_HEADER pIndicationHeader = nullptr; SIZE_T indicationSize = sizeof(WDI_MESSAGE_HEADER) + TlvDataSize; @@ -335,11 +36,9 @@ void WifiCxTestSendIndication(WDFDEVICE Device, PWDI_MESSAGE_HEADER pWdiHeader, WDF_OBJECT_ATTRIBUTES_INIT(&objectAttribs); objectAttribs.ParentObject = Device; - ntStatus = WdfMemoryCreate(&objectAttribs, NonPagedPoolNx, 0, indicationSize, &data, reinterpret_cast(&pIndicationBuffer)); - - if (!NT_SUCCESS(ntStatus)) + if(!NT_SUCCESS(WdfMemoryCreate(&objectAttribs, NonPagedPoolNx, 0, indicationSize, &data, reinterpret_cast(&pIndicationBuffer)))) { - WFCError("%!FUNC!: Failed to initialize indication buffer %!STATUS!", ntStatus); + WFCError("Failed to create indication buffer"); return; } @@ -361,321 +60,11 @@ void WifiCxTestSendIndication(WDFDEVICE Device, PWDI_MESSAGE_HEADER pWdiHeader, WdfObjectDelete(data); } -_Use_decl_annotations_ -UINT WifiCxTestSetOutput(PWIFI_DEVICE_CONTEXT pDeviceContext, void* ReqBuffer, SIZE_T ReqBufferSize, PUCHAR pTlvData, UINT32 TlvDataSize) -{ - UNREFERENCED_PARAMETER(pDeviceContext); - PWDI_MESSAGE_HEADER pWdiHeader = static_cast(ReqBuffer); - UINT BytesWritten = 0; - pWdiHeader->Status = NDIS_STATUS_SUCCESS; // TODO Need to set it to actual output - - if (ReqBufferSize >= (TlvDataSize + sizeof(WDI_MESSAGE_HEADER))) - { - if (TlvDataSize > 0) - { - RtlCopyMemory((static_cast(ReqBuffer)) + sizeof(WDI_MESSAGE_HEADER), pTlvData, TlvDataSize); - } - BytesWritten = static_cast(TlvDataSize); - } - else - { - pWdiHeader->Status = NDIS_STATUS_BUFFER_OVERFLOW; - } - return BytesWritten; -} - -_Use_decl_annotations_ -NDIS_STATUS WifiCxTestGetAdapterCapabilities(PWIFI_DEVICE_CONTEXT pDeviceContext, void* ReqBuffer, SIZE_T ReqBufferSize) -{ - NDIS_STATUS ndisStatus = NDIS_STATUS_SUCCESS; - PUCHAR pOutput = nullptr; - ULONG length = 0; - - // Generate TLV - ndisStatus = - GenerateWdiGetAdapterCapabilities(&pDeviceContext->AdapterCapabilities, 0, &pDeviceContext->TlvContext, &length, &pOutput); - - if (ndisStatus == NDIS_STATUS_SUCCESS) - { - // Set the information in the wifirequest - WifiCxTestSetOutput(pDeviceContext, ReqBuffer, ReqBufferSize, pOutput, length); - } - - FreeGenerated(pOutput); - - return ndisStatus; -} - -_Use_decl_annotations_ -NDIS_STATUS WifiCxTestSetAdapterConfiguration(PWIFI_DEVICE_CONTEXT pDeviceContext, void* ReqBuffer, SIZE_T ReqBufferSize) -{ - NDIS_STATUS ndisStatus = NDIS_STATUS_SUCCESS; - WDI_SET_FIRMWARE_CONFIGURATION_PARAMETERS fwConfig = {}; - - ULONG TLVStreamLength = static_cast(ReqBufferSize - sizeof(WDI_MESSAGE_HEADER)); - auto TLVByteStream = static_cast(ReqBuffer) + sizeof(WDI_MESSAGE_HEADER); - - DumpMessageTlvByteStream( - WDI_SET_ADAPTER_CONFIGURATION, TRUE, pDeviceContext->TlvContext.PeerVersion, TLVStreamLength, TLVByteStream, 0, nullptr); - ndisStatus = ParseWdiSetAdapterConfiguration(TLVStreamLength, TLVByteStream, &pDeviceContext->TlvContext, &fwConfig); - - if (ndisStatus == NDIS_STATUS_SUCCESS) - { - if (fwConfig.Optional.MacAddress_IsPresent) - { - pDeviceContext->AdapterCapabilities.InterfaceAttributes.InterfaceCapabilities.Address = fwConfig.MacAddress; - } - } - - CleanupParsedWdiSetAdapterConfiguration(&fwConfig); - - return ndisStatus; -} - - -extern WDI_MAC_ADDRESS STAAddress; - -WDI_MAC_ADDRESS LocalLinkAddresses[] = { - {0x11, 0x01, 0x02, 0x03, 0x04, 0x21}, - {0x11, 0x01, 0x02, 0x03, 0x04, 0x22}, -}; - -static NTSTATUS WifiCxTestSendLinkStateIndication(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, ULONG numLinks) -{ - // Report link quality - NTSTATUS ntStatus = STATUS_SUCCESS; - PWIFI_DEVICE_CONTEXT pDeviceContext = WifiGetDeviceContext(Device); - WDI_INDICATION_LINK_STATE_CHANGE_PARAMETERS linkStateChangeParameters = {}; - WDI_LINK_INFO_CONTAINER pLinkInfo[2] = {}; - UINT8* pOutput = nullptr; - ULONG cbOutput = 0; - - RtlCopyMemory( - &linkStateChangeParameters.LinkStateChangeParameters.PeerMACAddress, &pDeviceContext->ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); - linkStateChangeParameters.LinkStateChangeParameters.TxLinkSpeed = 30000; - linkStateChangeParameters.LinkStateChangeParameters.RxLinkSpeed = 30000; - linkStateChangeParameters.LinkStateChangeParameters.LinkQuality = 56; - - pLinkInfo[0].LinkID = 1; - RtlCopyMemory(&pLinkInfo[0].LocalLinkMACAddress, &LocalLinkAddresses[0], sizeof(DOT11_MAC_ADDRESS)); - RtlCopyMemory(&pLinkInfo[0].PeerLinkMACAddress, &pDeviceContext->ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); - pLinkInfo[0].ChannelNumber = 6; - pLinkInfo[0].BandId = WDI_BAND_ID_2400; - pLinkInfo[0].RSSI = -50; - pLinkInfo[0].Bandwidth = 40; - pLinkInfo[0].TxMCS = 3; - pLinkInfo[0].RxMCS = 4; - - if (numLinks > 1) - { - pLinkInfo[1].LinkID = 2; - RtlCopyMemory(&pLinkInfo[1].LocalLinkMACAddress, &LocalLinkAddresses[1], sizeof(DOT11_MAC_ADDRESS)); - RtlCopyMemory(&pLinkInfo[1].PeerLinkMACAddress, &pDeviceContext->ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); - pLinkInfo[1].ChannelNumber = 36; - pLinkInfo[1].BandId = WDI_BAND_ID_5000; - pLinkInfo[1].RSSI = -30; - pLinkInfo[1].Bandwidth = 160; - pLinkInfo[1].TxMCS = 8; - pLinkInfo[1].RxMCS = 9; - } - - linkStateChangeParameters.LinkInfo.pElements = pLinkInfo; - linkStateChangeParameters.LinkInfo.ElementCount = numLinks > 1 ? 2 : 1; - - ntStatus = - GenerateWdiIndicationLinkStateChangeFromIhv(&linkStateChangeParameters, 0, &pDeviceContext->TlvContext, &cbOutput, &pOutput); - if (STATUS_SUCCESS == ntStatus) - { - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_LINK_STATE_CHANGE, 0, pOutput, cbOutput); - FreeGenerated(pOutput); - } - else - { - WFCError("Failed to generate WDI_INDICATION_LINK_STATE_CHANGE - 0x%08x\n", ntStatus); - } - - return ntStatus; -} - -#define TEST_RSN_EAPOL_SHA384_KCK_LENGTH (192 / 8) // 24 bytes -#define TEST_RSN_EAPOL_SHA384_KEK_LENGTH (256 / 8) // 32 bytes -#define TEST_RSN_CCMP_KEY_LENGTH 16 -#define TEST_RSN_BIP_GMAC_256_KEY_LENGTH 32 - -#define TEST_NUM_LINKS 3 -#define TEST_NUM_CIPHER_KEY_TYPES 3 - - -static NTSTATUS WifiCxTestPerformAssociation( - _In_ WDFDEVICE Device, - _In_ struct ArrayOfElements* pPreferredBSSEntryList, - _In_ struct ArrayOfElements* pAuthenticationAlgorithms, - _In_ PWDI_MESSAGE_HEADER pWdiHeader) -{ - - ULONG bssIndex = 0; - ULONG connectEntry = ConnectEntryId_MAX; - NTSTATUS ntStatus = STATUS_SUCCESS; - UINT32 NewConnectEntryId = 0; // Disconnected State - WDI_AUTH_ALGORITHM NewAuthAlgo = pAuthenticationAlgorithms->pElements[0]; - UCHAR pucData[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10}; - PWIFI_DEVICE_CONTEXT pDeviceContext = WifiGetDeviceContext(Device); - ULONG assocStatus = WDI_ASSOC_STATUS_SUCCESS; - - do - { - // We search for the BSSID pattern to figure out what AP we are trying to connect to - for (bssIndex = 0; bssIndex < pPreferredBSSEntryList->ElementCount; bssIndex++) - { - for (connectEntry = 1; connectEntry < ConnectEntryId_MAX; connectEntry++) - { - if (RtlCompareMemory( - pPreferredBSSEntryList->pElements[bssIndex].BSSID.Address, - g_ConnectEntries[connectEntry].pMacAddress, - sizeof(DOT11_MAC_ADDRESS)) == sizeof(DOT11_MAC_ADDRESS)) - { - PUCHAR pAssociationResult = g_ConnectEntries[connectEntry].pTlvAssociationResult; - - NewConnectEntryId = connectEntry; - pDeviceContext->LastConnectTransactionId = pWdiHeader->TransactionId; - - // TODO NetAdapter: datapath not yet implemented -#ifdef WIFICX_TEST_DATAPATH - // add peer on datapath - AddDatapathPeer(0x33, *g_ConnectEntries[connectEntry].pMacAddress); - - // example inject frame - InjectDatapathFrame(0x33); - - // Pretend to recieve M1 on datapath before, the association complete has made it up the control path. - RecieveDatapathFrame(0x33, sizeof(pucData), pucData); - -#endif - if ((&s_Connect_Addr_14_WPA3_SAE_CCMP == g_ConnectEntries[connectEntry].pMacAddress) || - (&s_Connect_Addr_30_WiFi7_Mixed_Link_1 == g_ConnectEntries[connectEntry].pMacAddress) || - (&s_Connect_Addr_38_WiFi7_Only_Link_1 == g_ConnectEntries[connectEntry].pMacAddress)) - { - WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED_PARAMETERS SAEAuthParamsNeeded; - UINT8* pOutput = nullptr; - ULONG cbOutput = 0; - NDIS_STATUS ndisStatus = NDIS_STATUS_SUCCESS; - - // - // Handle special case for WPA3-SAE - // Send the Indication to request additonal SAE params - // - g_dwSaeResendConfirmRequested = 0; - SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED; - RtlCopyMemory( - SAEAuthParamsNeeded.BssId.Address, g_ConnectEntries[connectEntry].pMacAddress, sizeof(DOT11_MAC_ADDRESS)); - - ndisStatus = GenerateWdiIndicationSaeAuthParamsNeeded( - &SAEAuthParamsNeeded, 0, &pDeviceContext->TlvContext, &cbOutput, &pOutput); - if (ndisStatus == NDIS_STATUS_SUCCESS) - { - WFCInfo("[SAE] Indicating request for COMMIT_REQUEST_PARAMS_NEEDED ..."); - - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, 0, pOutput, cbOutput); - - FreeGenerated(pOutput); - - break; - } - } - - // Get the assoc status - RtlCopyMemory(&assocStatus, &pAssociationResult[18], sizeof(ULONG)); - - // Send the association indication - WifiCxTestSendIndication( - Device, - pWdiHeader, - WDI_INDICATION_ASSOCIATION_RESULT, - 0, - g_ConnectEntries[connectEntry].pTlvAssociationResult, - g_ConnectEntries[connectEntry].TlvAssociationResultSize); - - break; - } - } - - // - // If we found a matching BSSID entry, we are done - // - if (connectEntry < ConnectEntryId_MAX) - { - break; - } - } - - } while (FALSE); - - if (WDI_ASSOC_STATUS_SUCCESS != assocStatus || 0 == NewConnectEntryId || bssIndex >= pPreferredBSSEntryList->ElementCount) - { - NewConnectEntryId = 0; // Disconnected State - NewAuthAlgo = WDI_AUTH_ALGO_80211_OPEN; - ntStatus = STATUS_UNSUCCESSFUL; - } - else - { - RtlCopyMemory(&pDeviceContext->ConnectedPeer, pPreferredBSSEntryList->pElements[bssIndex].BSSID.Address, sizeof(DOT11_MAC_ADDRESS)); - } - - pDeviceContext->LastConnectEntryId = NewConnectEntryId; - pDeviceContext->LastAuthAlgo = NewAuthAlgo; - - if (STATUS_SUCCESS == ntStatus && (WDI_AUTH_ALGO_WPA3_SAE != pDeviceContext->LastAuthAlgo)) - { - // Report link quality - ntStatus = WifiCxTestSendLinkStateIndication(Device, pWdiHeader, 2); - } - - return ntStatus; -} - -static void WifiCxTestPerformDisassociation(_In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, _In_ WDI_ASSOC_STATUS DisassocStatus) -{ - // clang-format off - UCHAR s_TLV_Disassociation[] = - { - // WDI_TLV_ASSOCIATION_RESULT - 0xBC, 0x00, - 0x0A, 0x00, - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - - // WDI_TLV Need Peer Cleanup Params - 0xb4, 0x00, - 0x01, 0x00, - - 0x00 - }; - // clang-format on - - PWIFI_DEVICE_CONTEXT pDeviceContext = WifiGetDeviceContext(Device); - - // TODO NetAdapter: datapath not yet implemented -#ifdef WIFICX_TEST_DATAPATH - // example inject frame - InjectDatapathFrame(0x33); -#endif - - RtlCopyMemory(&s_TLV_Disassociation[4], &pDeviceContext->ConnectedPeer, sizeof(DOT11_MAC_ADDRESS)); - RtlCopyMemory(&s_TLV_Disassociation[10], &DisassocStatus, sizeof(ULONG)); - - // Send the disassociation indication - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_DISASSOCIATION, 0, s_TLV_Disassociation, sizeof(s_TLV_Disassociation)); - - pDeviceContext->LastConnectEntryId = 0; // Disconnected State -} - _Use_decl_annotations_ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buffer, UINT InBufferLen, UINT OutBufferLen, UINT* pBytesWritten) { NTSTATUS ntStatus = STATUS_SUCCESS; - NDIS_STATUS ndisStatus = NDIS_STATUS_SUCCESS; - PWIFI_DEVICE_CONTEXT deviceContext = WifiGetDeviceContext(Device); + PWIFI_IHV_DEVICE_CONTEXT deviceContext = WifiGetIhvDeviceContext(Device); PWDI_MESSAGE_HEADER pWdiHeader = static_cast(Buffer); UINT BytesWritten = sizeof(WDI_MESSAGE_HEADER); @@ -703,42 +92,31 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf { WDI_SET_RADIO_STATE_PARAMETERS RadioStateParams = {}; ULONG TLVStreamLength = static_cast(InBufferLen - sizeof(WDI_MESSAGE_HEADER)); - auto TLVByteStream = buffer + sizeof(WDI_MESSAGE_HEADER); + auto TLVByteStream = buffer +sizeof(WDI_MESSAGE_HEADER); DumpMessageTlvByteStream( WDI_TASK_SET_RADIO_STATE, TRUE, deviceContext->TlvContext.PeerVersion, TLVStreamLength, TLVByteStream, 0, nullptr); - ParseWdiTaskSetRadioState(TLVStreamLength, TLVByteStream, &deviceContext->TlvContext, &RadioStateParams); - if (RadioStateParams.SoftwareRadioState != deviceContext->CurrentRadioState) - { - // Change the radio state - deviceContext->CurrentRadioState = RadioStateParams.SoftwareRadioState; - - // Send the radio state indication - WDI_INDICATION_RADIO_STATUS_PARAMETERS RadioStatusParams = {}; - UINT8* pOutput = nullptr; - ULONG cbOutput = 0; - - RadioStatusParams.RadioState.HardwareState = TRUE; - RadioStatusParams.RadioState.SoftwareState = deviceContext->CurrentRadioState; - GenerateWdiIndicationRadioStatus(&RadioStatusParams, 0, &deviceContext->TlvContext, &cbOutput, &pOutput); - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_RADIO_STATUS, 0, pOutput, cbOutput); + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + Wifi::ConvertNDISSTATUSoNTSTATUS( + ParseWdiTaskSetRadioState( + TLVStreamLength, + TLVByteStream, + &deviceContext->TlvContext, + &RadioStateParams)), + "Set Radio State parsing failed"); - FreeGenerated(pOutput); + // No WX_RETURN here since we need to cleanup. + ntStatus = deviceContext->wifiHAL->WifiIhvSetRadioState( + Device, RadioStateParams, pWdiHeader, &deviceContext->TlvContext); + if(!NT_SUCCESS(ntStatus)) + { + WFCError("WifiIhvSetRadioState failed: %!STATUS!\n", ntStatus); } - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_SET_RADIO_STATE_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); - CleanupParsedWdiTaskSetRadioState(&RadioStateParams); } break; - - case WDI_SET_ADAPTER_CONFIGURATION: - { - ndisStatus = WifiCxTestSetAdapterConfiguration(deviceContext, Buffer, InBufferLen); - } - break; - case WDI_TASK_SCAN: { ULONG scanDataLength = static_cast(InBufferLen - sizeof(WDI_MESSAGE_HEADER)); @@ -746,63 +124,24 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf WDI_SCAN_PARAMETERS scanParams = {}; - ndisStatus = ParseWdiTaskScan(scanDataLength, pScanData, &deviceContext->TlvContext, &scanParams); - - if (NDIS_STATUS_SUCCESS != ndisStatus) - { - WFCTrace("Scan parameters parsing failed: %d\n", ndisStatus); - // ntStatus = NdisConvertNdisStatusToNtStatus(parseStatus); - break; - } - - for (UINT8 connectEntry = 1; connectEntry < ConnectEntryId_MAX; connectEntry++) - { - if (g_SupportedBands & g_ConnectEntries[connectEntry].BandId) - { - - PUCHAR pBssEntry = g_ConnectEntries[connectEntry].pTlvBssEntry; - - // - // If currently connected, see if the connected entry should be skipped - // - if ((deviceContext->LastConnectEntryId != 0) && - (RtlCompareMemory(&deviceContext->ConnectedPeer, &pBssEntry[8], sizeof(DOT11_MAC_ADDRESS)) == sizeof(DOT11_MAC_ADDRESS))) - { - // Already connected, don't report this entry - continue; - } - - // TODO: Skip the IHV band as it is not being reported in capabilities - if (g_ConnectEntries[connectEntry].BandId == TESTMP_BAND_IHV) - { - continue; - } + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + Wifi::ConvertNDISSTATUSoNTSTATUS( + ParseWdiTaskScan( + scanDataLength, + pScanData, + &deviceContext->TlvContext, + &scanParams)), + "Scan parameters parsing failed"); - // Send the BSS entry indication - WifiCxTestSendIndication( - Device, - pWdiHeader, - WDI_INDICATION_BSS_ENTRY_LIST, - 0, - g_ConnectEntries[connectEntry].pTlvBssEntry, - g_ConnectEntries[connectEntry].TlvBssEntrySize); - } - } - - // - // See if the hidden network needs to be indicated - // - if ((scanParams.SSIDList.ElementCount > 0) && (scanParams.SSIDList.pElements[0].ElementCount == 8) && - (scanParams.SSIDList.pElements[0].pElements[4] == 'H') && (scanParams.SSIDList.pElements[0].pElements[5] == 'I') && - (scanParams.SSIDList.pElements[0].pElements[6] == 'D') && (scanParams.SSIDList.pElements[0].pElements[7] == 'E')) + // No WX_RETURN here since we need to cleanup. + ntStatus = deviceContext->wifiHAL->WifiIhvScan( + Device, scanParams, pWdiHeader, &deviceContext->TlvContext); + if (!NT_SUCCESS(ntStatus)) { - WifiCxTestSendIndication( - Device, pWdiHeader, WDI_INDICATION_BSS_ENTRY_LIST, 0, s_TLV_BSS_Entry_ProbeResponse_8_Hidden, sizeof(s_TLV_BSS_Entry_ProbeResponse_8_Hidden)); + WFCError("WifiIhvSetRadioState failed: %!STATUS!\n", ntStatus); } CleanupParsedWdiTaskScan(&scanParams); - - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_SCAN_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); } break; @@ -813,30 +152,17 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf ULONG resetDataLength = static_cast(InBufferLen - sizeof(WDI_MESSAGE_HEADER)); auto pResetData = buffer + sizeof(WDI_MESSAGE_HEADER); - ndisStatus = ParseWdiTaskDot11Reset(resetDataLength, pResetData, &deviceContext->TlvContext, &resetParameters); + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + Wifi::ConvertNDISSTATUSoNTSTATUS(ParseWdiTaskDot11Reset(resetDataLength, pResetData, &deviceContext->TlvContext, &resetParameters)), + "DOT11 Reset parameters parsing failed"); - if (NDIS_STATUS_SUCCESS != ndisStatus) - { - WFCTrace("DOT11 Reset parameters parsing failed: %d\n", ndisStatus); - } - else if (0 == resetParameters.Optional.ResetMACAddress_IsPresent) + // No WX_RETURN here since we need to cleanup. + ntStatus = deviceContext->wifiHAL->WifiIhvReset( + Device, resetParameters, pWdiHeader, &deviceContext->TlvContext); + if (!NT_SUCCESS(ntStatus)) { - WFCTrace("DOT11 Reset, set default MIB = %d, no MAC Address specified\n", resetParameters.Dot11ResetParameters.SetDefaultMIB); + WFCError("WifiIhvReset failed: %!STATUS!\n", ntStatus); } - else - { - WFCTrace( - "DOT11 Reset, set default MIB = %d, MAC Address = %2x:%2x:%2x:%2x:%2x:%2x\n", - resetParameters.Dot11ResetParameters.SetDefaultMIB, - resetParameters.ResetMACAddress.Address[0], - resetParameters.ResetMACAddress.Address[1], - resetParameters.ResetMACAddress.Address[2], - resetParameters.ResetMACAddress.Address[3], - resetParameters.ResetMACAddress.Address[4], - resetParameters.ResetMACAddress.Address[5]); - } - - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_DOT11_RESET_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); CleanupParsedWdiTaskDot11Reset(&resetParameters); } @@ -849,51 +175,29 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf DumpMessageTlvByteStream(WDI_TASK_CONNECT, TRUE, deviceContext->TlvContext.PeerVersion, connectDataLength, pConnectData, 0, nullptr); - WDI_TASK_CONNECT_PARAMETERS connectParams; + WDI_TASK_CONNECT_PARAMETERS connectParams{}; - if (deviceContext->LastConnectEntryId != 0) // Not Disconnected State - { - ASSERT(FALSE); - // TODO NetAdapter: datapath not yet implemented -#ifdef WIFICX_TEST_DATAPATH - DeleteDatapathPeer(0x33); -#endif - } // We search for the BSSID pattern to figure out what AP we are trying to connect to - ndisStatus = ParseWdiTaskConnect(connectDataLength, pConnectData, &deviceContext->TlvContext, &connectParams); - if (NDIS_STATUS_SUCCESS != ndisStatus) + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + Wifi::ConvertNDISSTATUSoNTSTATUS(ParseWdiTaskConnect(connectDataLength, pConnectData, &deviceContext->TlvContext, &connectParams)), + "Connect parameters parsing failed"); + + // No WX_RETURN here since we need to cleanup. + ntStatus = deviceContext->wifiHAL->WifiIhvConnect( + Device, connectParams, pWdiHeader, &deviceContext->TlvContext); + if (!NT_SUCCESS(ntStatus)) { - // ntStatus = NdisConvertNdisStatusToNtStatus(parseStatus); - WFCTrace("ParseWdiTaskConnect FAIled %d\n", ndisStatus); - break; + WFCError("WifiIhvConnect failed: %!STATUS!\n", ntStatus); } - // Call the helper - ndisStatus = WifiCxTestPerformAssociation( - Device, &connectParams.PreferredBSSEntryList, &connectParams.ConnectParameters.AuthenticationAlgorithms, pWdiHeader); CleanupParsedWdiTaskConnect(&connectParams); - - // - // WPA3-SAE requires the SAE Exchange, so do not complete the Connection request until the SAE exchange is complete - // - if (WDI_AUTH_ALGO_WPA3_SAE != deviceContext->LastAuthAlgo) - { - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_CONNECT_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); - } } break; case WDI_TASK_DISCONNECT: { - WifiCxTestPerformDisassociation(Device, pWdiHeader, WDI_ASSOC_STATUS_DISASSOCIATED_BY_HOST); - - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_DISCONNECT_COMPLETE, pWdiHeader->TransactionId, nullptr, 0); - -#ifdef WIFICX_TEST_DATAPATH - // TODO NetAdapter: datapath not yet implemented - DeleteDatapathPeer(0x33); -#endif + deviceContext->wifiHAL->WifiIhvPerformDisassociation(Device, pWdiHeader, WDI_ASSOC_STATUS_DISASSOCIATED_BY_HOST); } break; @@ -903,161 +207,28 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf case WDI_SET_DELETE_CIPHER_KEYS: case WDI_SET_RECEIVE_PACKET_FILTER: case WDI_SET_CONNECTION_QUALITY: + case WDI_SET_ADAPTER_CONFIGURATION: // Doing Nothing special break; case WDI_SET_SAE_AUTH_PARAMS: { WDI_SET_SAE_AUTH_PARAMS_COMMAND setSAEAuthParams; - WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED_PARAMETERS SAEAuthParamsNeeded; - UINT8* pOutput = nullptr; - ULONG cbOutput = 0; - - // Commit frame when Status = 0: FiniteCyclicGroup + Scalar + Element - // Commit frame when Status = 76: FiniteCyclicGroup + AntiCloggingToken - WFCInfo("WDI_SET_SAE_AUTH_PARAMS called!!!\n"); + + WX_RETURN_NTSTATUS_IF_NOT_NT_SUCCESS_MSG( + Wifi::ConvertNDISSTATUSoNTSTATUS(ParseWdiSetSaeAuthParams( + InBufferLen - sizeof(WDI_MESSAGE_HEADER), (PUINT8)buffer + sizeof(WDI_MESSAGE_HEADER), &deviceContext->TlvContext, &setSAEAuthParams)), + "Failed to parse WDI_SET_SAE_AUTH_PARAMS"); - ndisStatus = ParseWdiSetSaeAuthParams( - InBufferLen - sizeof(WDI_MESSAGE_HEADER), (PUINT8)buffer + sizeof(WDI_MESSAGE_HEADER), &deviceContext->TlvContext, &setSAEAuthParams); - if (ndisStatus == NDIS_STATUS_SUCCESS) + // No WX_RETURN here since we need to cleanup. + ntStatus = deviceContext->wifiHAL->WifiIhvSetSaeAuthParams( + Device, setSAEAuthParams, pWdiHeader, &deviceContext->TlvContext); + if (!NT_SUCCESS(ntStatus)) { - if (WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS == setSAEAuthParams.SAERequestType) - { - WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS has Commit request for Tx, Setting CommitResponse for Rx\n"); - - SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_COMMIT_FRAME; - SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; - - // - // Send reflection attack first - // - SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAECommitResponseReflection); - SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAECommitResponseReflection; - } - else if ( - (WDI_SAE_REQUEST_TYPE_FAILURE == setSAEAuthParams.SAERequestType) && - (WDI_SAE_STATUS_COMMIT_MESSAGE_REFLECTION_ATTACK_DETECTED == setSAEAuthParams.SAEStatus)) - { - WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS returned Reflection error -- Inidicate proper CommitResponse for Rx\n"); - - SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME; - SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; - SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAECommitResponse); - SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAECommitResponse; - } - else if (WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMS == setSAEAuthParams.SAERequestType) - { - WFCInfo("[SAE] WDI_SET_SAE_AUTH_PARAMS has Confirm request for Tx, Setting ConfirmResponse for Rx\n"); - - if (g_dwSaeResendConfirmRequested) - { - SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME; - SAEAuthParamsNeeded.Optional.SAECommitFrame_IsPresent = 1; - SAEAuthParamsNeeded.SAECommitFrame.ElementCount = sizeof(pucSAEConfirmResponse); - SAEAuthParamsNeeded.SAECommitFrame.pElements = pucSAEConfirmResponse; - } - else - { - g_dwSaeResendConfirmRequested = 1; - - SAEAuthParamsNeeded.SAEIndicationType = WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST; - } - } - else - { - if (WDI_SAE_REQUEST_TYPE_FAILURE == setSAEAuthParams.SAERequestType) - { - WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has indicated error - %d\n", setSAEAuthParams.SAEStatus); - } - else if (WDI_SAE_REQUEST_TYPE_SUCCESS == setSAEAuthParams.SAERequestType) - { - WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has indicated SAE success - %d\n", setSAEAuthParams.SAEStatus); - } - else - { - WFCInfo("[SAE] OID_WDI_SET_SAE_AUTH_PARAMS has set INVALID Request type = %d\n", setSAEAuthParams.SAERequestType); - } -#ifdef WIFICX_TEST_DATAPATH - // example inject frame - InjectDatapathFrame(0x33); -#endif - // Send the association indication - if (WDI_AUTH_ALGO_WPA3_SAE == deviceContext->LastAuthAlgo) - { - s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP[27] = (UCHAR)WDI_AUTH_ALGO_WPA3_SAE; - } - else - { - s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP[27] = (UCHAR)WDI_AUTH_ALGO_RSNA_PSK; - } - - WifiCxTestSendIndication( - Device, - pWdiHeader, - WDI_INDICATION_ASSOCIATION_RESULT, - 0, - s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP, - sizeof(s_TLV_Success_AssociationResult_14_WPA3_SAE_CCMP)); - RtlCopyMemory(&deviceContext->ConnectedPeer, &s_Connect_Addr_14_WPA3_SAE_CCMP, sizeof(DOT11_MAC_ADDRESS)); - - // Report link quality - ntStatus = WifiCxTestSendLinkStateIndication(Device, pWdiHeader, 1); - - WifiCxTestSendIndication( - Device, pWdiHeader, WDI_INDICATION_CONNECT_COMPLETE, deviceContext->LastConnectTransactionId, nullptr, 0); - -#ifdef WIFICX_TEST_DATAPATH - // - // Receive M1 frame of 4-way handshake - // - RecieveDatapathFrame(0x33, sizeof(pucM1SaeFrame), pucM1SaeFrame); - - // - // Receive M3 frame of 4-way handshake - // - RecieveDatapathFrame(0x33, sizeof(pucM3SaeFrame), pucM3SaeFrame); -#endif - break; - } - - RtlCopyMemory(SAEAuthParamsNeeded.BssId.Address, &s_Connect_Addr_14_WPA3_SAE_CCMP, sizeof(DOT11_MAC_ADDRESS)); - - ndisStatus = - GenerateWdiIndicationSaeAuthParamsNeeded(&SAEAuthParamsNeeded, 0, &deviceContext->TlvContext, &cbOutput, &pOutput); - if (ndisStatus == NDIS_STATUS_SUCCESS) - { - WifiCxTestSendIndication(Device, pWdiHeader, WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED, 0, pOutput, cbOutput); - - FreeGenerated(pOutput); - } - else - { - WFCError("Failed to generate WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED - 0x%08x\n", ndisStatus); - } - } - else - { - WFCError("[SAE] Failed to parse WDI_SET_SAE_AUTH_PARAMS data - 0x%08x\n", ndisStatus); + WFCError("WifiIhvSetSaeAuthParams failed: %!STATUS!\n", ntStatus); } - CleanupParsedWdiSetSaeAuthParamsToIhv(&setSAEAuthParams); - } - break; - - case WDI_SET_LOCATION_PRIVACY: - { - WDI_SET_LOCATION_PRIVACY_PARAMETERS privacyParams; - ndisStatus = ParseWdiSetLocationPrivacyToIhv( - InBufferLen - sizeof(WDI_MESSAGE_HEADER), (PUINT8)buffer + sizeof(WDI_MESSAGE_HEADER), &deviceContext->TlvContext, &privacyParams); - if (NDIS_STATUS_SUCCESS == ndisStatus) - { - WFCInfo("[WDI_SET_LOCATION_PRIVACY]: Got privacy setting = %x *****\n", privacyParams.LocationAllowed); - CleanupParsedWdiSetLocationPrivacy(&privacyParams); - } - else - { - WFCError("[WDI_SET_LOCATION_PRIVACY]: ParseWdiSetLocationPrivacyToIhv FAIled %x0x *****\n", ndisStatus); - } + CleanupParsedWdiSetSaeAuthParams(&setSAEAuthParams); } break; @@ -1066,9 +237,6 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf break; } - // Set the ndis Status in the WDI header - pWdiHeader->Status = ndisStatus; - // Set the output length if (pBytesWritten) { @@ -1076,446 +244,3 @@ static NTSTATUS ProcessWifiRequest(WDFDEVICE Device, UINT16 MessageId, void* Buf } return ntStatus; } - -_Use_decl_annotations_ -NTSTATUS WifiCxTestSetDeviceCapabilities(WDFDEVICE Device) -{ - WIFI_DEVICE_CAPABILITIES deviceCaps = {}; - WIFI_DEVICE_CAPABILITIES_INIT(&deviceCaps); - - deviceCaps.HardwareRadioState = TRUE; - deviceCaps.SoftwareRadioState = TRUE; - deviceCaps.FirmwareVersion[MAX_FIRMWARE_VERSION_LENGTH]; - deviceCaps.ActionFramesSupported = TRUE; - deviceCaps.NumRxStreams = 1; - deviceCaps.NumTxStreams = 1; - deviceCaps.Support_eCSA = FALSE; - deviceCaps.MACAddressRandomization = FALSE; - deviceCaps.MACAddressRandomizationMask.Address[0] = 0; - deviceCaps.MACAddressRandomizationMask.Address[1] = 0; - deviceCaps.MACAddressRandomizationMask.Address[2] = 0; - deviceCaps.MACAddressRandomizationMask.Address[3] = 0xFF; - deviceCaps.MACAddressRandomizationMask.Address[4] = 0; - deviceCaps.MACAddressRandomizationMask.Address[5] = 0; - deviceCaps.BluetoothCoexistenceSupport = WDI_BLUETOOTH_COEXISTENCE_PERFORMANCE_MAINTAINED; - deviceCaps.SupportsNonWdiOidRequests = FALSE; - deviceCaps.FastTransitionSupported = TRUE; - deviceCaps.MU_MIMOSupported = FALSE; - deviceCaps.SAEAuthenticationSupported = TRUE; - deviceCaps.BSSTransitionSupported = TRUE; - deviceCaps.MBOSupported = FALSE; - deviceCaps.BeaconReportsImplemented = FALSE; - - WifiDeviceSetDeviceCapabilities(Device, &deviceCaps); - - WIFI_STATION_CAPABILITIES StationCaps = {}; - WIFI_STATION_CAPABILITIES_INIT(&StationCaps); - - StationCaps.ScanSSIDListSize = 4; - StationCaps.DesiredSSIDListSize = 1; - StationCaps.PrivacyExemptionListSize = 1; - StationCaps.KeyMappingTableSize = 32; - StationCaps.DefaultKeyTableSize = 4; - StationCaps.WEPKeyValueMaxLength = 0x20; - StationCaps.MaxNumPerSTA = 4; - StationCaps.SupportedQOSFlags = 0; - StationCaps.HostFIPSModeImplemented = FALSE; - StationCaps.MFPCapable = TRUE; - StationCaps.AutoPowerSaveMode = FALSE; - StationCaps.BSSListCachemanagement = FALSE; - StationCaps.ConnectBSSSelectionOverride = FALSE; - StationCaps.MaxNetworkOffloadListSize = 0; - StationCaps.HESSIDConnectionSupported = FALSE; - StationCaps.FTMAsInitiatorSupport = FALSE; - StationCaps.FTMNumberOfSupportedTargets = 0; - - const DOT11_AUTH_CIPHER_PAIR UnicastAlgos[] = { - {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_NONE}, - {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_WEP}, - {DOT11_AUTH_ALGO_WPA_PSK, DOT11_CIPHER_ALGO_CCMP}, - {DOT11_AUTH_ALGO_RSNA, DOT11_CIPHER_ALGO_CCMP}, - {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_TKIP}, - {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_CCMP}, - {DOT11_AUTH_ALGO_WPA3_ENT_192, DOT11_CIPHER_ALGO_GCMP_256}, - {DOT11_AUTH_ALGO_WPA3_ENT, DOT11_CIPHER_ALGO_CCMP}, - {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_GCMP_256}, - {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_CCMP}, - {DOT11_AUTH_ALGO_OWE, DOT11_CIPHER_ALGO_GCMP_256}, - {DOT11_AUTH_ALGO_OWE, DOT11_CIPHER_ALGO_CCMP}, - }; - - const DOT11_AUTH_CIPHER_PAIR McastMgmtAlgos[] = { - {DOT11_AUTH_ALGO_80211_OPEN, DOT11_CIPHER_ALGO_NONE}, - {DOT11_AUTH_ALGO_RSNA, DOT11_CIPHER_ALGO_BIP}, - {DOT11_AUTH_ALGO_RSNA_PSK, DOT11_CIPHER_ALGO_BIP}, - {DOT11_AUTH_ALGO_WPA3_SAE, DOT11_CIPHER_ALGO_BIP}, - {DOT11_AUTH_ALGO_WPA3_ENT, DOT11_CIPHER_ALGO_BIP}, - {DOT11_AUTH_ALGO_WPA3_ENT_192, DOT11_CIPHER_ALGO_BIP_GMAC_256}, - }; - - StationCaps.NumSupportedUnicastAlgorithms = ARRAYSIZE(UnicastAlgos); - StationCaps.UnicastAlgorithmsList = const_cast(UnicastAlgos); - StationCaps.NumSupportedMulticastDataAlgorithms = ARRAYSIZE(UnicastAlgos); - StationCaps.MulticastDataAlgorithmsList = const_cast(UnicastAlgos); - StationCaps.NumSupportedMulticastMgmtAlgorithms = ARRAYSIZE(McastMgmtAlgos); - StationCaps.MulticastMgmtAlgorithmsList = const_cast(McastMgmtAlgos); - - WIFI_STA_BANDS_COMBINATION SecondaryStaBandsCombinations[] = { - {2, {WDI_BAND_ID_2400, WDI_BAND_ID_5000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, - {2, {WDI_BAND_ID_2400, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, - {2, {WDI_BAND_ID_5000, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN, WDI_BAND_ID_UNKNOWN}}, - {3, {WDI_BAND_ID_2400, WDI_BAND_ID_5000, WDI_BAND_ID_6000, WDI_BAND_ID_UNKNOWN}}, - }; - - StationCaps.NumSecondaryStaBandCombinations = ARRAYSIZE(SecondaryStaBandsCombinations); - StationCaps.SecondaryStaBandsCombinations = SecondaryStaBandsCombinations; - - WDI_MAC_ADDRESS MLOAddresses[] = { - {0x11, 0x01, 0x02, 0x03, 0x04, 0x21}, - {0x11, 0x01, 0x02, 0x03, 0x04, 0x22}, - }; - StationCaps.MaxMLOLinksSupported = ARRAYSIZE(MLOAddresses); - StationCaps.MLOAddressesList = MLOAddresses; - - RSNA_AKM_SUITE AkmsList[] = { - rsna_akm_1x, - rsna_akm_psk, - rsna_akm_ft_1x_sha256, - rsna_akm_ft_psk_sha256, - rsna_akm_1x_sha256, - rsna_akm_psk_sha256, - rsna_akm_sae_pmk256, - rsna_akm_1x_suite_b_sha384, - rsna_akm_owe, - rsna_akm_1x_sha384, - rsna_akm_sae_pmk384, - }; - StationCaps.NumAkmsSupported = ARRAYSIZE(AkmsList); - StationCaps.AkmsList = AkmsList; - - if (WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, MSCSSupported)) - { - StationCaps.MSCSSupported = true; - } - if (WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, DSCPToUPMappingSupported)) - { - StationCaps.DSCPToUPMappingSupported = true; - } -#ifdef _KERNEL_MODE - if (!KdRefreshDebuggerNotPresent()) - { - DbgPrintEx( - DPFLTR_DEFAULT_ID, - DPFLTR_ERROR_LEVEL, - "WIFI_IS_FIELD_AVAILABLE:WIFI_STATION_CAPABILITIES::MSCSSupported %u\n", - WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, MSCSSupported)); - DbgPrintEx( - DPFLTR_DEFAULT_ID, - DPFLTR_ERROR_LEVEL, - "WIFI_IS_FIELD_AVAILABLE:WIFI_STATION_CAPABILITIES::DSCPToUPMappingSupported %u\n", - WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, DSCPToUPMappingSupported)); - DbgPrintEx( - DPFLTR_DEFAULT_ID, - DPFLTR_ERROR_LEVEL, - "WIFI_IS_FIELD_AVAILABLE:WIFI_STATION_CAPABILITIES::MaxNumConfigurableActionFrameWakePatterns %u\n", - WIFI_IS_FIELD_AVAILABLE(WIFI_STATION_CAPABILITIES, MaxNumConfigurableActionFrameWakePatterns)); - DbgPrintEx( - DPFLTR_DEFAULT_ID, - DPFLTR_ERROR_LEVEL, - "WIFI_IS_FUNCTION_AVAILABLE:WifiPowerOffloadGetActionFrameWakePatternParameters %u\n", - WIFI_IS_FUNCTION_AVAILABLE(WifiPowerOffloadGetActionFrameWakePatternParameters)); - } -#endif - WifiDeviceSetStationCapabilities(Device, &StationCaps); - - WIFI_BAND_CAPABILITIES BandCaps = {}; - WIFI_BAND_CAPABILITIES_INIT(&BandCaps); - - const WDI_PHY_TYPE Phy24GHz[] = { WDI_PHY_TYPE_ERP, WDI_PHY_TYPE_HE }; // g, ax - const WDI_PHY_TYPE Phy5GHz[] = { WDI_PHY_TYPE_OFDM, WDI_PHY_TYPE_HE, WDI_PHY_TYPE_EHT }; // a, ax, be - const WDI_PHY_TYPE Phy6GHz[] = { WDI_PHY_TYPE_HE, WDI_PHY_TYPE_EHT }; // ax, be - const WDI_PHY_TYPE pPhy60GHz[] = { WDI_PHY_TYPE_DMG }; // ad - const WDI_PHY_TYPE phyIHV[2] = { WDI_PHY_TYPE_OFDM, static_cast(WDI_PHY_TYPE_IHV_START + 1) }; - - // clang-format off - - const WDI_CHANNEL_MAPPING_ENTRY ChannelMap24[] = { - {1, 2412}, - {2, 2417}, - {3, 2422}, - {4, 2427}, - {5, 2432}, - {6, 2437}, - {7, 2442}, - {8, 2447}, - {9, 2452}, - {10, 2457}, - {11, 2462}, - {12, 2467}, // Not used in US - {13, 2472}, // Not used in US - {14, 2484}, // Allowed in Japan only - }; - - const WDI_CHANNEL_MAPPING_ENTRY ChannelMap5[] = { - {7, 5035}, // Not used in US - {8, 5040}, // Not used in US - {9, 5045}, // Not used in US - {11, 5055}, // Not used in US - {12, 5060}, // Not used in US - {16, 5080}, // Not used in US - {32, 5160}, // Unknown status - {34, 5170}, // Not used in US - {36, 5180}, - {38, 5190}, - {40, 5200}, - {42, 5210}, - {44, 5220}, - {46, 5230}, - {48, 5240}, - {50, 5250}, // DFS - {52, 5260}, // DFS - {54, 5270}, // DFS - {56, 5280}, // DFS - {58, 5290}, // DFS - {60, 5300}, // DFS - {62, 5310}, // DFS - {64, 5320}, // DFS - {68, 5340}, // Unknown status - {96, 5480}, // Unknown status - {100, 5500}, // DFS - {102, 5510}, // DFS - {104, 5520}, // DFS - {106, 5530}, // DFS - {108, 5540}, // DFS - {110, 5550}, // DFS - {112, 5560}, // DFS - {114, 5570}, // DFS - {116, 5580}, // DFS - {118, 5590}, // DFS - {120, 5600}, // DFS - {122, 5610}, // DFS - {124, 5620}, // DFS - {126, 5630}, // DFS - {128, 5640}, // DFS - {132, 5660}, // DFS - {134, 5670}, // DFS - {136, 5680}, // DFS - {138, 5690}, // DFS - {140, 5700}, // DFS - {142, 5710}, // DFS - {142, 5720}, // DFS - {144, 5730}, // DFS - {149, 5745}, - {151, 5755}, - {153, 5765}, - {155, 5785}, - {157, 5785}, - {159, 5795}, - {161, 5805}, - {165, 5825}, - {169, 5845}, // Not used in US - {173, 5865}, // Not used in US - {183, 4915}, // Not used in US - {184, 4920}, // Not used in US - {185, 4925}, // Not used in US - {187, 4935}, // Not used in US - {188, 4940}, // Not used in US - {189, 4945}, // Not used in US - {192, 4960}, // Not used in US - {196, 4980}, // Not used in US - }; - - const WDI_CHANNEL_MAPPING_ENTRY channelMap6[] = { - {1, 5955}, - {5, 5975}, // PSC Channel (1) - {9, 5995}, - - {13, 6015}, - {17, 6035}, - {21, 6055}, // PSC Channel (2) - {25, 6075}, - {29, 6095}, - - {33, 6115}, - {37, 6135}, // PSC Channel (3) - {41, 6155}, - {45, 6175}, - {49, 6195}, - - {53, 6215}, // PSC Channel (4) - {57, 6235}, - {61, 6255}, - {65, 6275}, - {69, 6295}, // PSC Channel (5) - - {73, 6315}, - {77, 6335}, - {81, 6355}, - {85, 6375}, // PSC Channel (6) - {89, 6395}, - - {93, 6415}, - {97, 6435}, - {101, 6455}, // PSC Channel (7) - {105, 6475}, - {109, 6495}, - - {113, 6515}, - {117, 6535}, // PSC Channel (8) - {121, 6555}, - {125, 6575}, - {129, 6595}, - - {133, 6615}, // PSC Channel (9) - {137, 6635}, - {141, 6655}, - {145, 6675}, - {149, 6695}, // PSC Channel (10) - - {153, 6715}, - {157, 6735}, - {161, 6755}, - {165, 6775}, // PSC Channel (11) - {169, 6795}, - - {173, 6815}, - {177, 6835}, - {181, 6855}, // PSC Channel (12) - {185, 6875}, - {189, 6895}, - - {193, 6915}, - {197, 6935}, // PSC Channel (13) - {201, 6955}, - {205, 6975}, - {209, 6995}, - - {213, 7015}, // PSC Channel (14) - {217, 7035}, - {221, 7055}, - {225, 7075}, - {229, 7095}, // PSC Channel (15) - - {233, 7115}, - {237, 7135}, - {241, 7155}, - {245, 7175}, - {249, 7195}, - - {253, 7215}, - }; - - const WDI_CHANNEL_MAPPING_ENTRY channelMap60[] = { - {1, 58320}, - {2, 60480}, - {3, 62640}, - {4, 64800}, - {5, 66960}, - {6, 69120}, - }; - - // clang-format on - - UINT32 ChannelWidth10Mhz = 10; - UINT32 ChannelWidth20Mhz = 20; - UINT32 channelWidth2160Mhz = 2160; - UINT32 pChannelWidth6Ghz[] = { 20, 40, 80, 160, 320 }; - - WIFI_BAND_INFO BandInfo[4] = {}; // Upto 4 bands - UINT32 bandInfoCount = 0; - - if (g_SupportedBands & WDI_BAND_ID_2400) - { - BandInfo[bandInfoCount].BandID = WDI_BAND_ID_2400; - BandInfo[bandInfoCount].BandState = TRUE; - BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy24GHz); - BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy24GHz); - BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(ChannelMap24); - BandInfo[bandInfoCount].ValidChannelTypes = const_cast(ChannelMap24); - BandInfo[bandInfoCount].NumChannelWidths = 1; - BandInfo[bandInfoCount].ChannelWidthList = &ChannelWidth10Mhz; - bandInfoCount++; - } - NT_ASSERT(bandInfoCount <= 1); - - if (g_SupportedBands & WDI_BAND_ID_5000) - { - BandInfo[bandInfoCount].BandID = WDI_BAND_ID_5000; - BandInfo[bandInfoCount].BandState = TRUE; - BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy5GHz); - BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy5GHz); - BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(ChannelMap5); - BandInfo[bandInfoCount].ValidChannelTypes = const_cast(ChannelMap5); - BandInfo[bandInfoCount].NumChannelWidths = 1; - BandInfo[bandInfoCount].ChannelWidthList = &ChannelWidth20Mhz; - bandInfoCount++; - } - NT_ASSERT(bandInfoCount <= 2); - - if (g_SupportedBands & WDI_BAND_ID_6000) - { - BandInfo[bandInfoCount].BandID = WDI_BAND_ID_6000; // 6 - BandInfo[bandInfoCount].BandState = TRUE; - BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(Phy6GHz); - BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(Phy6GHz); - BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(channelMap6); - BandInfo[bandInfoCount].ValidChannelTypes = const_cast(channelMap6); - BandInfo[bandInfoCount].NumChannelWidths = ARRAYSIZE(pChannelWidth6Ghz); - BandInfo[bandInfoCount].ChannelWidthList = pChannelWidth6Ghz; - bandInfoCount++; - } - - NT_ASSERT(bandInfoCount <= 3); - if (g_SupportedBands & WDI_BAND_ID_60000) - { - BandInfo[bandInfoCount].BandID = WDI_BAND_ID_60000; // 60 - BandInfo[bandInfoCount].BandState = TRUE; - BandInfo[bandInfoCount].NumValidPhyTypes = ARRAYSIZE(pPhy60GHz); - BandInfo[bandInfoCount].ValidPhyTypeList = const_cast(pPhy60GHz); - BandInfo[bandInfoCount].NumValidChannelTypes = ARRAYSIZE(channelMap60); - BandInfo[bandInfoCount].ValidChannelTypes = const_cast(channelMap60); - BandInfo[bandInfoCount].NumChannelWidths = 1; - BandInfo[bandInfoCount].ChannelWidthList = &channelWidth2160Mhz; - bandInfoCount++; - } - NT_ASSERT(bandInfoCount <= 4); - - BandCaps.NumBands = bandInfoCount; - BandCaps.BandInfoList = BandInfo; - - WifiDeviceSetBandCapabilities(Device, &BandCaps); - - WIFI_PHY_CAPABILITIES PhyCaps = {}; - WIFI_PHY_CAPABILITIES_INIT(&PhyCaps); - - WIFI_PHY_INFO PhyInfoList[3]; - - const WDI_DATA_RATE_ENTRY DataRateListErp[] = { - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 4}, - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 22}, - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; - const WDI_DATA_RATE_ENTRY DataRateListOfdm[] = { - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; - const WDI_DATA_RATE_ENTRY DataRateListEht[] = { - {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 2}, {WDI_DATA_RATE_RX_RATE | WDI_DATA_RATE_TX_RATE, 108} }; - - PhyInfoList[0].PhyType = WDI_PHY_TYPE_ERP; - PhyInfoList[0].NumberDataRateEntries = ARRAYSIZE(DataRateListErp); - RtlCopyMemory(&PhyInfoList[0].DataRateList, &DataRateListErp, sizeof(DataRateListErp)); - - PhyInfoList[1].PhyType = WDI_PHY_TYPE_HE; - PhyInfoList[1].NumberDataRateEntries = ARRAYSIZE(DataRateListOfdm); - RtlCopyMemory(&PhyInfoList[1].DataRateList, &DataRateListOfdm, sizeof(DataRateListOfdm)); - - PhyInfoList[2].PhyType = WDI_PHY_TYPE_EHT; - PhyInfoList[2].NumberDataRateEntries = ARRAYSIZE(DataRateListEht); - RtlCopyMemory(&PhyInfoList[2].DataRateList, &DataRateListEht, sizeof(DataRateListEht)); - - PhyCaps.NumPhyTypes = ARRAYSIZE(PhyInfoList); - PhyCaps.PhyInfoList = PhyInfoList; - - WifiDeviceSetPhyCapabilities(Device, &PhyCaps); - - return STATUS_SUCCESS; -} \ No newline at end of file diff --git a/network/wlan/WIFICX/drivercode/wifirequest.h b/network/wlan/WIFICX/drivercode/wifirequest.h index b2221c1e..601fec7d 100644 --- a/network/wlan/WIFICX/drivercode/wifirequest.h +++ b/network/wlan/WIFICX/drivercode/wifirequest.h @@ -1,30 +1,16 @@ // Copyright (C) Microsoft Corporation. All rights reserved. #pragma once +#include "device.h" EVT_WIFI_DEVICE_SEND_COMMAND EvtWifiDeviceSendCommand; static NTSTATUS ProcessWifiRequest( _In_ WDFDEVICE Device, _In_ UINT16 MessageId, _In_ void* Buffer, _In_ UINT InBufferLen, _In_ UINT OutBufferLen, _In_ UINT* pBytesWritten); -UINT WifiCxTestSetOutput( - _In_ PWIFI_DEVICE_CONTEXT pDeviceContext, - _Inout_ void* ReqBuffer, - _In_ SIZE_T ReqBufferSize, - _In_opt_bytecount_(TlvDataSize) PUCHAR pTlvData, - _In_ UINT32 TlvDataSize); - -void WifiCxTestSendIndication( +void WifiIhvSendIndicationToOs( _In_ WDFDEVICE Device, _In_ PWDI_MESSAGE_HEADER pWdiHeader, _In_ UINT16 MessageId, _In_ UINT32 TransactionId, _In_opt_bytecount_(TlvDataSize) PUCHAR pTlvData, _In_ UINT32 TlvDataSize); - -NDIS_STATUS WifiCxTestGetAdapterCapabilities(_In_ PWIFI_DEVICE_CONTEXT pDeviceContext, _In_ void* ReqBuffer, _In_ SIZE_T ReqBufferSize); - -NDIS_STATUS WifiCxTestSetAdapterConfiguration(_In_ PWIFI_DEVICE_CONTEXT pDeviceContext, _In_ void* ReqBuffer, _In_ SIZE_T ReqBufferSize); - -NTSTATUS WifiCxTestSetDeviceCapabilities(_In_ WDFDEVICE Device); - -ULONG g_SupportedBands = (WDI_BAND_ID_2400 | WDI_BAND_ID_5000 | WDI_BAND_ID_6000); \ No newline at end of file diff --git a/network/wlan/WIFICX/km/wificxsampleclientkm.vcxproj b/network/wlan/WIFICX/km/wificxsampleclientkm.vcxproj index 73dfb632..aea719ed 100644 --- a/network/wlan/WIFICX/km/wificxsampleclientkm.vcxproj +++ b/network/wlan/WIFICX/km/wificxsampleclientkm.vcxproj @@ -127,6 +127,9 @@ true $(DDK_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + true + ..\drivercode\trace.h + false $(DDK_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -138,6 +141,10 @@ $(DDK_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + true + true + ..\drivercode\trace.h + false $(DDK_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -149,6 +156,10 @@ $(DDK_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + true + true + ..\drivercode\trace.h + false $(DDK_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -160,6 +171,10 @@ $(DDK_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + true + true + ..\drivercode\trace.h + false $(DDK_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -177,13 +192,19 @@ + + + + + + - + diff --git a/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj b/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj index 5e4d00b9..70383f39 100644 --- a/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj +++ b/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj @@ -128,9 +128,13 @@ sha256 - $(WDK_UM_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + $(WDK_UM_INC_PATH)wlan\2.0;$(KIT_SHARED_INC_PATH_WDK);%(AdditionalIncludeDirectories) WIFICX_TEMPORARY_REMOVED_FOR_USERMODE;%(PreprocessorDefinitions) true + ..\drivercode\trace.h + false + false + true $(WDK_UM_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -141,9 +145,13 @@ sha256 - $(WDK_UM_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + $(WDK_UM_INC_PATH)wlan\2.0;$(KIT_SHARED_INC_PATH_WDK);%(AdditionalIncludeDirectories) WIFICX_TEMPORARY_REMOVED_FOR_USERMODE;%(PreprocessorDefinitions) true + ..\drivercode\trace.h + false + false + true $(WDK_UM_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -154,9 +162,13 @@ sha256 - $(WDK_UM_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + $(WDK_UM_INC_PATH)wlan\2.0;$(KIT_SHARED_INC_PATH_WDK);%(AdditionalIncludeDirectories) WIFICX_TEMPORARY_REMOVED_FOR_USERMODE;%(PreprocessorDefinitions) true + ..\drivercode\trace.h + false + false + true $(WDK_UM_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -167,9 +179,13 @@ sha256 - $(WDK_UM_INC_PATH)wlan\2.0;%(AdditionalIncludeDirectories) + $(WDK_UM_INC_PATH)wlan\2.0;$(KIT_SHARED_INC_PATH_WDK);%(AdditionalIncludeDirectories) WIFICX_TEMPORARY_REMOVED_FOR_USERMODE;%(PreprocessorDefinitions) true + ..\drivercode\trace.h + false + false + true $(WDK_UM_LIB_PATH)wlan\2.0\WificxTLVGenParse.lib;%(AdditionalDependencies) @@ -181,10 +197,12 @@ + - - + + + @@ -193,6 +211,7 @@ + diff --git a/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj.filters b/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj.filters index 20ff1a35..099c33f8 100644 --- a/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj.filters +++ b/network/wlan/WIFICX/um/wificxsampleclientum.vcxproj.filters @@ -24,42 +24,54 @@ - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + + Header Files + + + Header Files + + + Header Files + + Header Files - + + Source Files + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files -- cgit v1.3.1