class SimFirmware

Defined at line 86 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

Public Members

SimErrorInjector err_inj_

Public Methods

void SimFirmware (brcmf_simdev * simdev)

Defined at line 284 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t SetupInternalVmo ()

Defined at line 246 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void SimFirmware ()

Defined at line 306 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void ~SimFirmware ()

Defined at line 311 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

simulation::StationIfc * GetHardwareIfc ()

Defined at line 313 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void GetChipInfo (uint32_t * chip, uint32_t * chiprev)

Defined at line 315 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

int32_t GetPM ()

Defined at line 320 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void SetSuspendHook (fit::function<zx_status_t ()> suspend_hook)

Defined at line 334 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void SetResumeHook (fit::function<zx_status_t ()> resume_hook)

Defined at line 337 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void SetRecoveryHook (fit::function<void ()> recovery_hook)

Defined at line 340 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void SetCapabilityIovars (CapabilityIovars new_iovars)

Allow simulation to set CapabilityIovars

Defined at line 345 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void SetBssInfoOverride (const brcmf_bss_info_le & bss_info)

Defined at line 347 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void ClearBssInfoOverride ()

Defined at line 348 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void SetAssocRespIes (cpp20::span<const uint8_t> ies)

Defined at line 350 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

uint16_t GetNumClients (uint16_t ifidx)

Num of clients currently associated with the SoftAP IF

Defined at line 942 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareDisassoc (wlan_ieee80211_wire::ReasonCode reason)

Defined at line 956 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareDeauth (wlan_ieee80211_wire::ReasonCode reason)

Defined at line 960 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareDisassocIndFromBssid (wlan_ieee80211_wire::ReasonCode reason, const uint8_t[6] bssid)

Allows simulation of a disassoc ind coming from an unexpected BSS.

Defined at line 964 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareDeauthIndFromBssid (wlan_ieee80211_wire::ReasonCode reason, const uint8_t[6] bssid)

Allows simulation of a deauth ind coming from an unexpected BSS.

Defined at line 971 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareReassocEvent (const wlan::common::MacAddr & bssid)

Send a spurious REASSOC attempt event.

Defined at line 978 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void TriggerFirmwareRoamEvent (const wlan::common::MacAddr & bssid)

Send a spurious ROAM NO_NETWORKS failure event.

Defined at line 983 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarsSet (uint16_t ifidx, const char * name, const void * value, size_t value_len, bcme_status_t * fw_err)

Firmware iovar accessors

Defined at line 2480 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarsGet (uint16_t ifidx, const char * name, void * value_out, size_t value_len, bcme_status_t * fw_err)

Defined at line 2518 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusPreinit ()

Bus operations: calls from driver

Defined at line 322 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void BusStop ()

Defined at line 327 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusTxCtl (unsigned char * msg, uint len)

Process a TX CTL message. These have a BCDC header, followed by a payload that is determined

by the type of command.

Defined at line 392 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusTxFrameSingle (const wlan::drivers::components::Frame & frame)

Defined at line 832 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusTxFrames (cpp20::span<wlan::drivers::components::Frame> frames)

Defined at line 889 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusRxCtl (unsigned char * msg, uint len, int * rxlen_out)

Process an RX CTL message. We simply pass back the results of the previous TX CTL

operation, which has been stored in bcdc_response_. In real hardware, we may have to

indicate that the TX CTL operation has not completed. In simulated hardware, we perform

all operations synchronously.

This function is a simplified version of brcmf_sdio_bus_rxctl. As much of the

response `msg_` last stored by BcdcResponse::Set() is written to `data` as possible,

and the actual size of `msg_` is returned in `len_out`.

Defined at line 996 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusFlushTxQueue (int ifidx)

Defined at line 1009 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusGetBootloaderMacAddr (uint8_t * mac_addr)

Defined at line 1014 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusQueueRxSpace (cpp20::span<const fuchsia_hardware_network_driver::wire::RxSpaceBuffer> buffers, uint8_t *[] vmo_addrs)

Defined at line 1053 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

drivers::components::FrameContainer BusAcquireTxSpace (size_t count)

Defined at line 1062 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

std::vector<brcmf_wsec_key_le> GetKeyList (uint16_t ifidx)

This function returns the wsec_key_list for an iface to outside.

Defined at line 1701 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusSuspend ()

Defined at line 3771 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t BusResume ()

Defined at line 3773 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void BusRecovery ()

Defined at line 3775 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

std::optional<drivers::components::Frame> GetRxFrame ()

Defined at line 1067 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t SetupIovarTable ()

Steps to add an iovar handler:

1. If the iovar corresponds to a member variable in SimFirmware, use the generic handlers,

IovarSet(), IovarGet() and set the size and address of the variable OR

if the iovar corresponds to a member in sim_iface_entry_t , use the generic handlers,

IovarIfaceVarSet(), IovarIfaceVarGet() and set the size and offset of the variable.

2. Or else define the handler function as SimFirmware::Iovar

<Name

>{Set, Get} in sim-fw.{h, cc}.

3. If the iovar exists in kIovarInfoTable: modify the corresponding entry by replacing the

nullptr with your new handler.

Defined at line 143 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

void SetHighWmeRxErrorRate ()

Defined at line 383 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

void ClearHighWmeRxErrorRate ()

Defined at line 384 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h

zx_status_t IovarIfaceVarSet (SimIovarSetReq * req)

Direct handlers for different iovars.

Defined at line 2568 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarIfaceVarGet (SimIovarGetReq * req)

Defined at line 2578 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarSet (SimIovarSetReq * req)

Defined at line 2588 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarGet (SimIovarGetReq * req)

Defined at line 2594 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarAssocInfoGet (SimIovarGetReq * req)

Defined at line 2904 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarAssocMgrCmdSet (SimIovarSetReq * req)

Defined at line 2771 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarAssocRespIesGet (SimIovarGetReq * req)

Defined at line 2911 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarBssSet (SimIovarSetReq * req)

Defined at line 2764 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarCapGet (SimIovarGetReq * req)

Defined at line 2920 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarChanspecSet (SimIovarSetReq * req)

Defined at line 2712 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarCrashSet (SimIovarSetReq * req)

Defined at line 2848 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarCurEtheraddrSet (SimIovarSetReq * req)

Defined at line 2600 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarCurEtheraddrGet (SimIovarGetReq * req)

Defined at line 2606 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarEscanSet (SimIovarSetReq * req)

Defined at line 2738 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarInterfaceRemoveSet (SimIovarSetReq * req)

Defined at line 2730 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarJoinSet (SimIovarSetReq * req)

Defined at line 2748 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarNmodeGet (SimIovarGetReq * req)

Defined at line 2925 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarMpcSet (SimIovarSetReq * req)

Defined at line 2719 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarPfnMacaddrSet (SimIovarSetReq * req)

Defined at line 2614 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarPfnMacaddrGet (SimIovarGetReq * req)

Defined at line 2619 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarRrmGet (SimIovarGetReq * req)

Defined at line 2939 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarRxchainGet (SimIovarGetReq * req)

Defined at line 2859 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarSnrGet (SimIovarGetReq * req)

Defined at line 2869 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarSsidSet (SimIovarSetReq * req)

Defined at line 2734 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarStbcTxSet (SimIovarSetReq * req)

Defined at line 2624 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarStbcTxGet (SimIovarGetReq * req)

Defined at line 2639 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarTargetBssInfoGet (SimIovarGetReq * req)

Defined at line 2645 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarTxstreamsSet (SimIovarSetReq * req)

Defined at line 2661 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarTxstreamsGet (SimIovarGetReq * req)

Defined at line 2672 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarVerGet (SimIovarGetReq * req)

Defined at line 2854 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarVhtModeGet (SimIovarGetReq * req)

Defined at line 2932 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWmeAcStaGet (SimIovarGetReq * req)

Defined at line 2946 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWmeApsdGet (SimIovarGetReq * req)

Defined at line 2976 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWsecKeySet (SimIovarSetReq * req)

Defined at line 2678 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWsecKeyGet (SimIovarGetReq * req)

Defined at line 2700 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWstatsCountersGet (SimIovarGetReq * req)

Defined at line 2878 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarWmeCounterGet (SimIovarGetReq * req)

Defined at line 2982 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarBwCapGet (SimIovarGetReq * req)

The bw_cap iovar uses the passed in value as both the parameter and the return value.

Defined at line 3006 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

zx_status_t IovarChanspecsGet (SimIovarGetReq * req)

Defined at line 3035 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc

Records