iPXE
Public Types | Data Fields
net80211_hw_info Struct Reference

Information on the capabilities of an 802.11 hardware device. More...

#include <net80211.h>

Public Types

enum  { NET80211_HW_RX_HAS_FCS = (1 << 1), NET80211_HW_NO_SHORT_PREAMBLE = (1 << 2), NET80211_HW_NO_SHORT_SLOT = (1 << 3) }
 A set of flags indicating peculiarities of this device. More...
enum  { NET80211_SIGNAL_NONE = 0, NET80211_SIGNAL_ARBITRARY, NET80211_SIGNAL_DB, NET80211_SIGNAL_DBM }
 Signal strength information that can be provided by the device. More...

Data Fields

u8 hwaddr [ETH_ALEN]
 Default hardware MAC address.
int modes
 A bitwise OR of the 802.11x modes supported by this device.
int bands
 A bitwise OR of the bands on which this device can communicate.
enum net80211_hw_info:: { ... }  flags
 A set of flags indicating peculiarities of this device.
enum net80211_hw_info:: { ... }  signal_type
 Signal strength information that can be provided by the device.
unsigned signal_max
 Maximum signal in arbitrary cases.
struct net80211_channel channels [NET80211_MAX_CHANNELS]
 List of RF channels supported by the card.
int nr_channels
 Number of supported channels.
u16 rates [NET80211_NR_BANDS][NET80211_MAX_RATES]
 List of transmission rates supported by the card, indexed by band.
int nr_rates [NET80211_NR_BANDS]
 Number of supported rates, indexed by band.
unsigned channel_change_time
 Estimate of the time required to change channels, in microseconds.

Detailed Description

Information on the capabilities of an 802.11 hardware device.

In its probe callback, an 802.11 driver must read hardware registers to determine the appropriate contents of this structure, fill it, and pass it to net80211_register() so that the 802.11 layer knows how to treat the hardware and what to advertise as supported to access points.

Definition at line 436 of file net80211.h.


Member Enumeration Documentation

anonymous enum

A set of flags indicating peculiarities of this device.

Enumerator:
NET80211_HW_RX_HAS_FCS 

Received frames include a frame check sequence.

NET80211_HW_NO_SHORT_PREAMBLE 

Hardware doesn't support 2.4GHz short preambles.

This is only relevant for 802.11b operation above 2Mbps. All 802.11g devices support short preambles.

NET80211_HW_NO_SHORT_SLOT 

Hardware doesn't support 802.11g short slot operation.

Definition at line 456 of file net80211.h.

             {
                /** Received frames include a frame check sequence. */
                NET80211_HW_RX_HAS_FCS = (1 << 1),

                /** Hardware doesn't support 2.4GHz short preambles
                 *
                 * This is only relevant for 802.11b operation above
                 * 2Mbps. All 802.11g devices support short preambles.
                 */
                NET80211_HW_NO_SHORT_PREAMBLE = (1 << 2),

                /** Hardware doesn't support 802.11g short slot operation */
                NET80211_HW_NO_SHORT_SLOT = (1 << 3),
        } flags;
anonymous enum

Signal strength information that can be provided by the device.

Signal strength is passed to net80211_rx(), primarily to allow determination of the closest access point for a multi-AP network. The units are provided for completeness of status displays.

Enumerator:
NET80211_SIGNAL_NONE 

No signal strength information supported.

NET80211_SIGNAL_ARBITRARY 

Signal strength in arbitrary units.

NET80211_SIGNAL_DB 

Signal strength in decibels relative to arbitrary base.

NET80211_SIGNAL_DBM 

Signal strength in decibels relative to 1mW.

Definition at line 478 of file net80211.h.

             {
                /** No signal strength information supported */
                NET80211_SIGNAL_NONE = 0,
                /** Signal strength in arbitrary units */
                NET80211_SIGNAL_ARBITRARY,
                /** Signal strength in decibels relative to arbitrary base */
                NET80211_SIGNAL_DB,
                /** Signal strength in decibels relative to 1mW */
                NET80211_SIGNAL_DBM,
        } signal_type;

Field Documentation

Default hardware MAC address.

The user may change this by setting the netX/mac setting before the driver's open function is called; in that case the driver must set the hardware MAC address to the address contained in the wrapping net_device's ll_addr field, or if that is impossible, set that ll_addr field back to the unchangeable hardware MAC address.

Definition at line 447 of file net80211.h.

Referenced by ath5k_attach(), ath9k_init_softc(), net80211_register(), and rtl818x_probe().

A bitwise OR of the 802.11x modes supported by this device.

Definition at line 450 of file net80211.h.

Referenced by ath5k_setup_bands(), ath9k_set_hw_capab(), and rtl818x_probe().

A bitwise OR of the bands on which this device can communicate.

Definition at line 453 of file net80211.h.

Referenced by ath5k_setup_bands(), ath9k_set_hw_capab(), iwlist(), net80211_step_associate(), and rtl818x_probe().

A set of flags indicating peculiarities of this device.

Referenced by ath5k_probe(), ath9k_set_hw_capab(), net80211_process_ie(), net80211_rx(), net80211_send_assoc(), and rtl818x_probe().

Signal strength information that can be provided by the device.

Signal strength is passed to net80211_rx(), primarily to allow determination of the closest access point for a multi-AP network. The units are provided for completeness of status displays.

Referenced by ath5k_probe(), ath9k_set_hw_capab(), iwstat(), and rtl818x_probe().

Maximum signal in arbitrary cases.

If signal_type is NET80211_SIGNAL_ARBITRARY or NET80211_SIGNAL_DB, the driver should report it on a scale from 0 to signal_max.

Definition at line 495 of file net80211.h.

Referenced by ath5k_probe(), ath9k_set_hw_capab(), iwstat(), and rtl818x_probe().

List of RF channels supported by the card.

Definition at line 498 of file net80211.h.

Referenced by ath5k_setup_bands(), ath9k_init_band_txpower(), ath9k_init_channels_rates(), net80211_filter_hw_channels(), and net80211_register().

Number of supported channels.

Definition at line 501 of file net80211.h.

Referenced by ath5k_setup_bands(), ath9k_init_band_txpower(), ath9k_init_channels_rates(), and net80211_filter_hw_channels().

List of transmission rates supported by the card, indexed by band.

Rates should be in 100kbps increments (e.g. 11 Mbps would be represented as the number 110).

Definition at line 508 of file net80211.h.

Referenced by ath5k_hw_write_rate_duration(), ath5k_setup_bands(), ath9k_init_channels_rates(), net80211_prepare_probe(), net80211_process_ie(), and rtl818x_probe().

Number of supported rates, indexed by band.

Definition at line 511 of file net80211.h.

Referenced by ath5k_hw_write_rate_duration(), ath5k_setup_bands(), ath9k_init_channels_rates(), ath9k_process_rate(), net80211_process_ie(), and rtl818x_probe().

Estimate of the time required to change channels, in microseconds.

If this is not known, a guess on the order of a few milliseconds (value of 1000-5000) is reasonable.

Definition at line 518 of file net80211.h.

Referenced by ath5k_probe(), ath9k_set_hw_capab(), net80211_probe_step(), and rtl818x_probe().


The documentation for this struct was generated from the following file: