PicoScenes API Docs
 
Loading...
Searching...
No Matches
MAC80211FrontEndUtils Namespace Reference

Namespace containing utility functions for MAC80211 frontend operations. More...

Functions

std::optional< std::string > path2Intel5300Debugfs (const std::string &phyId, const std::string &dest)
 Get path to Intel 5300 debugfs entry.
 
std::optional< std::string > path2IntelMVMDebugfs (const std::string &phyId, const std::string &dest)
 Get path to Intel MVM debugfs entry.
 
std::optional< std::string > path2Ath9kDebugfs (const std::string &phyId, const std::string &dest)
 Get path to Atheros 9k debugfs entry.
 
uint32_t getIntelNewMVMRateNFlags4TxFrame (const ModularPicoScenesTxFrame &txframe)
 Get rate and flags for Intel new MVM transmission frame.
 
uint32_t getIntelLegacyMVMRateNFlags4TxFrame (const ModularPicoScenesTxFrame &txframe)
 Get rate and flags for Intel legacy MVM transmission frame.
 
uint32_t getIntelDVMRateNFlags4TxFrame (const ModularPicoScenesTxFrame &txframe)
 Get rate and flags for Intel DVM transmission frame.
 
bool isQCA9300NIC (const std::string &anyId)
 Check if device is a QCA9300 NIC.
 
bool isIWL5300NIC (const std::string &anyId)
 Check if device is an IWL5300 NIC.
 
bool isIntelMVMTypeNIC (const std::string &anyId)
 Check if device is an Intel MVM type NIC.
 
bool isIntelAX200TypeNIC (const std::string &anyId)
 Check if device is an Intel AX200 type NIC.
 
bool isIntelAX210TypeNIC (const std::string &anyId)
 Check if device is an Intel AX210 type NIC.
 
bool isIntelAX211SubTypeNIC (const std::string &anyId)
 Check if device is an Intel AX211 subtype NIC.
 
bool isSupportedHardware (const std::string &anyId)
 Check if device is supported hardware.
 
bool isIWL5300UsingCSIFirmware ()
 Check if IWL5300 is using CSI firmware.
 
bool isIWLMVMUsingCSIFirmware (const std::string &anyId)
 Check if Intel MVM is using CSI firmware.
 
bool isIWLAX210PNVMFileCorrect ()
 Check if Intel AX210 PNVM file is correct.
 
bool isIWLAX211PNVMFileCorrect ()
 Check if Intel AX211 PNVM file is correct.
 
std::vector< std::string > searchAllCompatibleIntel5300Phys ()
 Search for all compatible Intel 5300 physical interfaces.
 
std::vector< std::string > searchAllCompatibleIntelMVMPhys ()
 Search for all compatible Intel MVM physical interfaces.
 
std::vector< std::string > searchAllCompatibleAth9kPhys ()
 Search for all compatible Atheros 9k physical interfaces.
 
std::vector< std::string > searchAllCompatiblePhys ()
 Search for all compatible physical interfaces.
 
bool isDeviceArrayPrepared ()
 Check if device array is prepared.
 
std::optional< std::string > anyId2PhyId (const std::string &anyId)
 Convert any ID to physical interface ID.
 
std::optional< std::string > devId2PhyId (const std::string &devId)
 Convert device ID to physical interface ID.
 
std::optional< std::string > anyId2DevId (const std::string &anyId)
 Convert any ID to device ID.
 
std::optional< std::string > anyId2MonId (const std::string &anyId)
 Convert any ID to monitor interface ID.
 
std::optional< std::string > anyId2PhyPath (const std::string &anyId)
 Convert any ID to physical interface path.
 
std::array< uint8_t, 6 > MACAddress4PhyId (const std::string &phyId)
 Get MAC address for physical interface.
 
std::array< uint8_t, 6 > MACAddress4DevId (const std::string &devId)
 Get MAC address for device interface.
 
std::vector< std::string > searchNetworkInterfaces4PhyId (const std::string &phyId)
 Search for network interfaces associated with physical interface.
 
std::string searchMonId4PhyId (const std::string &phyId)
 Search for monitor interface associated with physical interface.
 
std::string searchDevId4PhyId (const std::string &phyId)
 Search for device interface associated with physical interface.
 
std::vector< double > systemSupportedChannelFrequencies (const std::string &phyId)
 
const std::vector< std::tuple< int, int, int > > & standard2_4_5GHzbandChannelsUpTo40MHzBW ()
 Get standard 2.4/5GHz band channels up to 40MHz bandwidth.
 
const std::vector< std::tuple< int, int, int > > & standard2_4_5GHzbandChannelsUpTo160MHzBW ()
 Get standard 2.4/5GHz band channels up to 160MHz bandwidth.
 
const std::vector< std::tuple< int, int, int > > & standardChannelsIn2_4_5_6GHzBandUpTo160MHzBW ()
 Get standard channels in 2.4/5/6GHz bands up to 160MHz bandwidth.
 
bool isSupportedChannelParametersBy2_4_5GBandHT40RateNIC (double controlFreq, double bw, double centerFreq)
 Check if channel parameters are supported by 2.4/5GHz band HT40 rate NIC.
 
bool isSupportedChannelParametersBy2_4_5GBandHE160RateNIC (double controlFreq, double bw, double centerFreq)
 Check if channel parameters are supported by 2.4/5GHz band HE160 rate NIC.
 
bool isSupportedChannelParametersBy2_4_5_6GBandHE160RateNIC (double controlFreq, double bw, double centerFreq)
 Check if channel parameters are supported by 2.4/5/6GHz band HE160 rate NIC.
 

Detailed Description

Namespace containing utility functions for MAC80211 frontend operations.

Function Documentation

◆ anyId2DevId()

std::optional< std::string > MAC80211FrontEndUtils::anyId2DevId ( const std::string &  anyId)

Convert any ID to device ID.

Parameters
anyIdAny identifier for the device
Returns
Optional string containing device ID

◆ anyId2MonId()

std::optional< std::string > MAC80211FrontEndUtils::anyId2MonId ( const std::string &  anyId)

Convert any ID to monitor interface ID.

Parameters
anyIdAny identifier for the device
Returns
Optional string containing monitor interface ID

◆ anyId2PhyId()

std::optional< std::string > MAC80211FrontEndUtils::anyId2PhyId ( const std::string &  anyId)

Convert any ID to physical interface ID.

Parameters
anyIdAny identifier for the device
Returns
Optional string containing physical interface ID

◆ anyId2PhyPath()

std::optional< std::string > MAC80211FrontEndUtils::anyId2PhyPath ( const std::string &  anyId)

Convert any ID to physical interface path.

Parameters
anyIdAny identifier for the device
Returns
Optional string containing physical interface path

◆ devId2PhyId()

std::optional< std::string > MAC80211FrontEndUtils::devId2PhyId ( const std::string &  devId)

Convert device ID to physical interface ID.

Parameters
devIdDevice identifier
Returns
Optional string containing physical interface ID

◆ getIntelDVMRateNFlags4TxFrame()

uint32_t MAC80211FrontEndUtils::getIntelDVMRateNFlags4TxFrame ( const ModularPicoScenesTxFrame &  txframe)

Get rate and flags for Intel DVM transmission frame.

Parameters
txframeTransmission frame to analyze
Returns
uint32_t Rate and flags configuration

◆ getIntelLegacyMVMRateNFlags4TxFrame()

uint32_t MAC80211FrontEndUtils::getIntelLegacyMVMRateNFlags4TxFrame ( const ModularPicoScenesTxFrame &  txframe)

Get rate and flags for Intel legacy MVM transmission frame.

Parameters
txframeTransmission frame to analyze
Returns
uint32_t Rate and flags configuration

◆ getIntelNewMVMRateNFlags4TxFrame()

uint32_t MAC80211FrontEndUtils::getIntelNewMVMRateNFlags4TxFrame ( const ModularPicoScenesTxFrame &  txframe)

Get rate and flags for Intel new MVM transmission frame.

Parameters
txframeTransmission frame to analyze
Returns
uint32_t Rate and flags configuration

◆ isDeviceArrayPrepared()

bool MAC80211FrontEndUtils::isDeviceArrayPrepared ( )

Check if device array is prepared.

Returns
bool True if device array is prepared

◆ isIntelAX200TypeNIC()

bool MAC80211FrontEndUtils::isIntelAX200TypeNIC ( const std::string &  anyId)

Check if device is an Intel AX200 type NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is Intel AX200

◆ isIntelAX210TypeNIC()

bool MAC80211FrontEndUtils::isIntelAX210TypeNIC ( const std::string &  anyId)

Check if device is an Intel AX210 type NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is Intel AX210

◆ isIntelAX211SubTypeNIC()

bool MAC80211FrontEndUtils::isIntelAX211SubTypeNIC ( const std::string &  anyId)

Check if device is an Intel AX211 subtype NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is Intel AX211

◆ isIntelMVMTypeNIC()

bool MAC80211FrontEndUtils::isIntelMVMTypeNIC ( const std::string &  anyId)

Check if device is an Intel MVM type NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is Intel MVM type

◆ isIWL5300NIC()

bool MAC80211FrontEndUtils::isIWL5300NIC ( const std::string &  anyId)

Check if device is an IWL5300 NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is IWL5300

◆ isIWL5300UsingCSIFirmware()

bool MAC80211FrontEndUtils::isIWL5300UsingCSIFirmware ( )

Check if IWL5300 is using CSI firmware.

Returns
bool True if using CSI firmware

◆ isIWLAX210PNVMFileCorrect()

bool MAC80211FrontEndUtils::isIWLAX210PNVMFileCorrect ( )

Check if Intel AX210 PNVM file is correct.

Returns
bool True if PNVM file is correct

◆ isIWLAX211PNVMFileCorrect()

bool MAC80211FrontEndUtils::isIWLAX211PNVMFileCorrect ( )

Check if Intel AX211 PNVM file is correct.

Returns
bool True if PNVM file is correct

◆ isIWLMVMUsingCSIFirmware()

bool MAC80211FrontEndUtils::isIWLMVMUsingCSIFirmware ( const std::string &  anyId)

Check if Intel MVM is using CSI firmware.

Parameters
anyIdAny identifier for the device
Returns
bool True if using CSI firmware

◆ isQCA9300NIC()

bool MAC80211FrontEndUtils::isQCA9300NIC ( const std::string &  anyId)

Check if device is a QCA9300 NIC.

Parameters
anyIdAny identifier for the device
Returns
bool True if device is QCA9300

◆ isSupportedChannelParametersBy2_4_5_6GBandHE160RateNIC()

bool MAC80211FrontEndUtils::isSupportedChannelParametersBy2_4_5_6GBandHE160RateNIC ( double  controlFreq,
double  bw,
double  centerFreq 
)

Check if channel parameters are supported by 2.4/5/6GHz band HE160 rate NIC.

Parameters
controlFreqControl frequency
bwBandwidth
centerFreqCenter frequency
Returns
bool True if parameters are supported

◆ isSupportedChannelParametersBy2_4_5GBandHE160RateNIC()

bool MAC80211FrontEndUtils::isSupportedChannelParametersBy2_4_5GBandHE160RateNIC ( double  controlFreq,
double  bw,
double  centerFreq 
)

Check if channel parameters are supported by 2.4/5GHz band HE160 rate NIC.

Parameters
controlFreqControl frequency
bwBandwidth
centerFreqCenter frequency
Returns
bool True if parameters are supported

◆ isSupportedChannelParametersBy2_4_5GBandHT40RateNIC()

bool MAC80211FrontEndUtils::isSupportedChannelParametersBy2_4_5GBandHT40RateNIC ( double  controlFreq,
double  bw,
double  centerFreq 
)

Check if channel parameters are supported by 2.4/5GHz band HT40 rate NIC.

Parameters
controlFreqControl frequency
bwBandwidth
centerFreqCenter frequency
Returns
bool True if parameters are supported

◆ isSupportedHardware()

bool MAC80211FrontEndUtils::isSupportedHardware ( const std::string &  anyId)

Check if device is supported hardware.

Parameters
anyIdAny identifier for the device
Returns
bool True if hardware is supported

◆ MACAddress4DevId()

std::array< uint8_t, 6 > MAC80211FrontEndUtils::MACAddress4DevId ( const std::string &  devId)

Get MAC address for device interface.

Parameters
devIdDevice interface ID
Returns
6-byte array containing MAC address

◆ MACAddress4PhyId()

std::array< uint8_t, 6 > MAC80211FrontEndUtils::MACAddress4PhyId ( const std::string &  phyId)

Get MAC address for physical interface.

Parameters
phyIdPhysical interface ID
Returns
6-byte array containing MAC address

◆ path2Ath9kDebugfs()

std::optional< std::string > MAC80211FrontEndUtils::path2Ath9kDebugfs ( const std::string &  phyId,
const std::string &  dest 
)

Get path to Atheros 9k debugfs entry.

Parameters
phyIdPhysical interface ID
destDestination file in debugfs
Returns
Optional string containing the path if it exists

◆ path2Intel5300Debugfs()

std::optional< std::string > MAC80211FrontEndUtils::path2Intel5300Debugfs ( const std::string &  phyId,
const std::string &  dest 
)

Get path to Intel 5300 debugfs entry.

Parameters
phyIdPhysical interface ID
destDestination file in debugfs
Returns
Optional string containing the path if it exists

◆ path2IntelMVMDebugfs()

std::optional< std::string > MAC80211FrontEndUtils::path2IntelMVMDebugfs ( const std::string &  phyId,
const std::string &  dest 
)

Get path to Intel MVM debugfs entry.

Parameters
phyIdPhysical interface ID
destDestination file in debugfs
Returns
Optional string containing the path if it exists

◆ searchAllCompatibleAth9kPhys()

std::vector< std::string > MAC80211FrontEndUtils::searchAllCompatibleAth9kPhys ( )

Search for all compatible Atheros 9k physical interfaces.

Returns
Vector of physical interface identifiers

◆ searchAllCompatibleIntel5300Phys()

std::vector< std::string > MAC80211FrontEndUtils::searchAllCompatibleIntel5300Phys ( )

Search for all compatible Intel 5300 physical interfaces.

Returns
Vector of physical interface identifiers

◆ searchAllCompatibleIntelMVMPhys()

std::vector< std::string > MAC80211FrontEndUtils::searchAllCompatibleIntelMVMPhys ( )

Search for all compatible Intel MVM physical interfaces.

Returns
Vector of physical interface identifiers

◆ searchAllCompatiblePhys()

std::vector< std::string > MAC80211FrontEndUtils::searchAllCompatiblePhys ( )

Search for all compatible physical interfaces.

Returns
Vector of physical interface identifiers

◆ searchDevId4PhyId()

std::string MAC80211FrontEndUtils::searchDevId4PhyId ( const std::string &  phyId)

Search for device interface associated with physical interface.

Parameters
phyIdPhysical interface ID
Returns
Device interface name

◆ searchMonId4PhyId()

std::string MAC80211FrontEndUtils::searchMonId4PhyId ( const std::string &  phyId)

Search for monitor interface associated with physical interface.

Parameters
phyIdPhysical interface ID
Returns
Monitor interface name

◆ searchNetworkInterfaces4PhyId()

std::vector< std::string > MAC80211FrontEndUtils::searchNetworkInterfaces4PhyId ( const std::string &  phyId)

Search for network interfaces associated with physical interface.

Parameters
phyIdPhysical interface ID
Returns
Vector of network interface names

◆ standard2_4_5GHzbandChannelsUpTo160MHzBW()

const std::vector< std::tuple< int, int, int > > & MAC80211FrontEndUtils::standard2_4_5GHzbandChannelsUpTo160MHzBW ( )

Get standard 2.4/5GHz band channels up to 160MHz bandwidth.

Returns
Reference to vector of tuples containing channel parameters

◆ standard2_4_5GHzbandChannelsUpTo40MHzBW()

const std::vector< std::tuple< int, int, int > > & MAC80211FrontEndUtils::standard2_4_5GHzbandChannelsUpTo40MHzBW ( )

Get standard 2.4/5GHz band channels up to 40MHz bandwidth.

Returns
Reference to vector of tuples containing channel parameters

◆ standardChannelsIn2_4_5_6GHzBandUpTo160MHzBW()

const std::vector< std::tuple< int, int, int > > & MAC80211FrontEndUtils::standardChannelsIn2_4_5_6GHzBandUpTo160MHzBW ( )

Get standard channels in 2.4/5/6GHz bands up to 160MHz bandwidth.

Returns
Reference to vector of tuples containing channel parameters

◆ systemSupportedChannelFrequencies()

std::vector< double > MAC80211FrontEndUtils::systemSupportedChannelFrequencies ( const std::string &  phyId)