class SimFirmware
Defined at line 85 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 280 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void SimFirmware ()
Defined at line 301 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h
void ~SimFirmware ()
Defined at line 307 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
simulation::StationIfc * GetHardwareIfc ()
Defined at line 309 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 311 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
int32_t GetPM ()
Defined at line 316 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void SetCapabilityIovars (CapabilityIovars new_iovars)
Allow simulation to set CapabilityIovars
Defined at line 330 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 930 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void TriggerFirmwareDisassoc (wlan_ieee80211_wire::ReasonCode reason)
Defined at line 944 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void TriggerFirmwareDeauth (wlan_ieee80211_wire::ReasonCode reason)
Defined at line 948 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 952 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 959 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void TriggerFirmwareReassocEvent (const common::MacAddr & bssid)
Send a spurious REASSOC attempt event.
Defined at line 966 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void TriggerFirmwareRoamEvent (const common::MacAddr & bssid)
Send a spurious ROAM NO_NETWORKS failure event.
Defined at line 971 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 2440 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 2478 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void convert_chanspec_to_channel (uint16_t chanspec, wlan_ieee80211_wire::WlanChannel * ch)
channel-chanspec helper functions
Defined at line 3708 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
uint16_t convert_channel_to_chanspec (wlan_ieee80211_wire::WlanChannel * channel)
Defined at line 3712 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 318 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void BusStop ()
Defined at line 323 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
void SetHighWmeRxErrorRate ()
Defined at line 359 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h
void ClearHighWmeRxErrorRate ()
Defined at line 360 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.h
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 388 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 820 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 877 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 984 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t BusFlushTxQueue (int ifidx)
Defined at line 997 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 1002 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 1041 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
drivers::components::FrameContainer BusAcquireTxSpace (size_t count)
Defined at line 1050 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 1687 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
std::optional<drivers::components::Frame> GetRxFrame ()
Defined at line 1055 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 141 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t SetupInternalVmo ()
Defined at line 242 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarIfaceVarSet (SimIovarSetReq * req)
Direct handlers for different iovars.
Defined at line 2528 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarIfaceVarGet (SimIovarGetReq * req)
Defined at line 2538 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarSet (SimIovarSetReq * req)
Defined at line 2548 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarGet (SimIovarGetReq * req)
Defined at line 2554 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarAssocInfoGet (SimIovarGetReq * req)
Defined at line 2864 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarAssocMgrCmdSet (SimIovarSetReq * req)
Defined at line 2731 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarAssocRespIesGet (SimIovarGetReq * req)
Defined at line 2871 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarBssSet (SimIovarSetReq * req)
Defined at line 2724 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarCapGet (SimIovarGetReq * req)
Defined at line 2880 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarChanspecSet (SimIovarSetReq * req)
Defined at line 2672 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarCrashSet (SimIovarSetReq * req)
Defined at line 2808 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarCurEtheraddrSet (SimIovarSetReq * req)
Defined at line 2560 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarCurEtheraddrGet (SimIovarGetReq * req)
Defined at line 2566 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarEscanSet (SimIovarSetReq * req)
Defined at line 2698 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarInterfaceRemoveSet (SimIovarSetReq * req)
Defined at line 2690 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarJoinSet (SimIovarSetReq * req)
Defined at line 2708 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarNmodeGet (SimIovarGetReq * req)
Defined at line 2885 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarMpcSet (SimIovarSetReq * req)
Defined at line 2679 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarPfnMacaddrSet (SimIovarSetReq * req)
Defined at line 2574 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarPfnMacaddrGet (SimIovarGetReq * req)
Defined at line 2579 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarRrmGet (SimIovarGetReq * req)
Defined at line 2899 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarRxchainGet (SimIovarGetReq * req)
Defined at line 2819 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarSnrGet (SimIovarGetReq * req)
Defined at line 2829 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarSsidSet (SimIovarSetReq * req)
Defined at line 2694 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarStbcTxSet (SimIovarSetReq * req)
Defined at line 2584 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarStbcTxGet (SimIovarGetReq * req)
Defined at line 2599 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarTargetBssInfoGet (SimIovarGetReq * req)
Defined at line 2605 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarTxstreamsSet (SimIovarSetReq * req)
Defined at line 2621 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarTxstreamsGet (SimIovarGetReq * req)
Defined at line 2632 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarVerGet (SimIovarGetReq * req)
Defined at line 2814 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarVhtModeGet (SimIovarGetReq * req)
Defined at line 2892 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWmeAcStaGet (SimIovarGetReq * req)
Defined at line 2906 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWmeApsdGet (SimIovarGetReq * req)
Defined at line 2936 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWsecKeySet (SimIovarSetReq * req)
Defined at line 2638 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWsecKeyGet (SimIovarGetReq * req)
Defined at line 2660 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWstatsCountersGet (SimIovarGetReq * req)
Defined at line 2838 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarWmeCounterGet (SimIovarGetReq * req)
Defined at line 2942 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 2966 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc
zx_status_t IovarChanspecsGet (SimIovarGetReq * req)
Defined at line 2995 of file ../../src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sim/sim_fw.cc