.\" vim:tw=78:
.\" Copyright (c) 1999-2003 Agere Systems Inc. -- http://www.agere.com
.\" wlags49.4 7.20-abg 04/28/2004 13:30:00
.\"
.TH WLAGS49 4 "04/28/2004 13:30:00" "pcmcia-cs"
.SH NAME
wlags49 \- Agere Systems Wireless PC Card / PCI device drivers

wlags49_h2_cs.o \- Hermes-II Card Services (PCMCIA/CF) driver
.br
wlags49_h2.o    \- Hermes-II MiniPCI driver
.br
wlags49_h25.o   \- Hermes-II.5 PCI/CardBus driver
.br
wlags49_h25_cs.o\- Hermes-II.5 Card Services (PCMCIA/CF) driver

.SH SYNOPSIS
.nh
.fi
.B insmod wlags49_[h1,h2]_[cs].o
.br
.RB [ Authentication=n ]
.RB [ AuthKeyMngmtSuite=???? ]
.RB [ BRSC2GHz=b ]\p
.RB [ BRSC5GHz=b ]
.RB [ Coexistence=n ]
.RB [ Configured=???? ]\p
.RB [ ConnectionControl=???? ]
.RB [ CreateIBSS=s ]
.RB [ DebugFlag=n ]\p
.RB [ DesiredSSID=s ]
.RB [ DownloadFirmware=n ]
.RB [ DriverEnable=???? ]\p
.RB [ EnableEncryption=s ]
.RB [ Encryption=???? ]
.RB [ ExcludeUnencrypted=s ]\p
.RB [ IntraBSSRelay=s ]
.RB [ IrqList=i,j,... ]
.RB [ IrqMask=n ]\p
.RB [ Key1=s ]
.RB [ Key2=s ]
.RB [ Key3=s ]
.RB [ Key4=s ]\p
.RB [ LoadBalancing=s ]
.RB [ MaxSleepDuration=n ]
.RB [ MediumDistribution=s ]\p
.RB [ MicroWaveRobustness=s ]
.RB [ MulticastPMBuffering=s ]
.RB [ MulticastRate=n ]\p
.RB [ MulticastReceive=s ]
.RB [ NetworkAddress=n,n,n,n,n,n ]
.RB [ NetworkType=???? ]\p
.RB [ OwnATIMWindow=n ]
.RB [ OwnBeaconInterval=n ]
.RB [ OwnChannel=n ]\p
.RB [ OwnDTIMPeriod=n ]
.RB [ OwnName=s ]
.RB [ OwnSSID=s ]\p
.RB [ pc_debug=n ]
.RB [ PMEnabled=b ]
.RB [ PMHoldoverDuration=n ]\p
.RB [ PortType=n ]
.RB [ PowerMode=???? ]
.RB [ PromiscuousMode=s ]\p
.RB [ RejectANY=s ]
.RB [ RTSThreshold=n ]\p
.RB [ RTSThreshold1=n ]
.RB [ RTSThreshold2=n ]
.RB [ RTSThreshold3=n ]\p
.RB [ RTSThreshold4=n ]
.RB [ RTSThreshold5=n ]
.RB [ RTSThreshold6=n ]\p
.RB [ SRSC2GHz=b ]
.RB [ SRSC5GHz=b ]
.RB [ SystemScale=n ]\p
.RB [ TxKey=n ]
.RB [ TxRateControl=n ]\p
.RB [ TxRateControl1=n ]
.RB [ TxRateControl2=n ]
.RB [ TxRateControl3=n ]\p
.RB [ TxRateControl4=n ]
.RB [ TxRateControl5=n ]
.RB [ TxRateControl6=n ]\p
.RB [ WDSAddress=n,n,n,n,n,n ]\p
.RB [ WDSAddress1=n,n,n,n,n,n ]
.RB [ WDSAddress2=n,n,n,n,n,n ]\p
.RB [ WDSAddress3=n,n,n,n,n,n ]
.RB [ WDSAddress4=n,n,n,n,n,n ]\p
.RB [ WDSAddress5=n,n,n,n,n,n ]
.RB [ WDSAddress6=n,n,n,n,n,n ]\p
.fi



.SH DESCRIPTION
.I wlags49
is the low-level Card Services / PCI driver for the
.B Wireless PC Card, Wireless Integrated Card, Wireless Embedded Card
and other wireless adapters based on the Agere Systems Hermes-II, and Hermes-II.5 wireless MAC. When this driver is attached to a card, it
allocates the next available ethernet device (eth0..eth#). This
device name will be passed on to
.IR cardmgr (8),
or the PCI subsystem, for the card configuration, and reported in the kernel log file
with the I/O base address and MAC address used by the card.
.SH FEATURES
 \- Hot plug/unplug
 \- Access Point and peer-to-peer communication
 \- Card power management
 \- Support for Hermes-II & Hermes-II.5 based PCMCIA, Mini PCI, and CardBus cards
 \- Wired Equivalent Privacy (WEP)
 \- WPA-PSK support (EXPERIMENTAL)
 \- Driver utility interface (UIL)
 \- Wireless Extensions
 \- Software AP mode
.SH PARAMETERS
.TP
.B Authentication=n
Algorithm used for Authentication.
.BR
    1 \- Open System
.BR
    2 \- Shared Key
.BR
    Default: 1
.TP
.B Auth_key_mgmt_suite
???????????????
.TP
.B BRSC2GHz=b
Sets the card\'s Basic Rate Set in the 2.4GHz band. See SRSC2GHz
for the value\'s format.
.BR
    Default: 15 (or 0x000F, only 11b rates to accept legacy 11b stations)
.TP
.B BRSC5GHz-b
Sets the card\'s Basic Rate Set in the 5.0GHz band. See SRSC2GHz for the
value\'s format
.BR
    Default: 4080 (or 0x0FF0, all 11a rates)
.TP
.B Coexistence=n
Used to make the 802.11a/b/g coexistence behavior more strict.
.BR
    Default \- 0 (Use standard behavior)
.TP
.B ConnectionControl=n
Configures the card\'s connection control process in dealing with multiple
bands (802.11b/g vs. 802.11a).
.BR
    0 \- Single Band operation in 2GHz
.BR
    1 \- Single Band operation in 5GHz
.BR
    2 \- Multiple Band operation starting with 2GHz
.BR
    3 \- Multiple Band operation starting with 5GHz
.BR
    Default \- 2
.TP
.B Configured
???????????????
.TP
.B ConnectionControl
???????????????
.TP
.B CreateIBSS=s
Enable or disable IBSS Creation.
For correct operation, specification of a OwnSSID is required.
This mode requires firmware 6.04 or higher.
.BR
    N \- Disable
.BR
    Y \- Enable
.BR
    Default: N
.TP
.B DebugFlag=n
Selects the driver debugging level. This parameter is only available
if the module is compiled with debugging enabled. Refer to the
file
.B debug.h
in the source directory for information on the flag values.
.BR
    0x00000001L \- DBG_ERROR_ON
.BR
    0x00000002L \- DBG_WARNING_ON
.BR
    0x00000004L \- DBG_NOTICE_ON
.BR
    0x00000008L \- DBG_TRACE_ON
.BR
    0x00000010L \- DBG_VERBOSE_ON
.BR
    0x00000020L \- DBG_PARAM_ON
.BR
    0x00000040L \- DBG_BREAK_ON
.BR
    0x00000100L \- DBG_RX_ON
.BR
    0x00000200L \- DBG_TX_ON
.BR
    0x00000400L \- DBG_DS_ON
.BR
If the module is compiled with debugging enabled, DebugFlag
defaults to DBG_ERROR_ON, DBG_WARNING_ON and DBG_BREAK_ON.
DebugFlag overrules pc_debug.
.TP
.B DesiredSSID=s
Same as OwnSSID.
.TP
.B DownloadFirmware=n
This release of the driver introduces the ability to perform downloads of the STA/AP
firmware. In fact, this is required for Hermes-II based cards. This parameter tells
the driver which version of the firmware to download to the card.
.BR
    0 \- No download performed (Hermes-I only)
.BR
    1 \- Download STA firmware
.BR
    2 \- Download AP firmware
.BR
    Default: 1, when STA mode functionality is
                included in the build
             2, when code is built exclusively for
                AP mode
.TP
.B DriverEnable
???????????????
.TP
.B EnableEncryption=n
Set the method of Data encryption.
.BR
    0 \- Disable
.BR
    1 \- Enable WEP Encryption
.BR
    2 \- Enable WPA with TKIP encryption
.BR
    Default: 0
.TP
.B Encryption
???????????????
.TP
.B ExcludeUnencrypted=s
Controls how the stations must communicate with the AP.
.BR
    Y \- Stations must enable encryption and provide
         the proper encryption key to communicate
         with the AP.
.BR
    N \- Stations do not need to enable encryption
         to communicate with the AP.
.BR
    Default: N
.TP
.B IntraBSSRelay=s
Controls the automatic relay of received messages that are destined for other
stations in the BSS.
.BR
    Y \- Messages are relayed to the appropriate
         station(s).
.BR
    N \- Messages are passed up to the host.
.BR
    Default: Y
.TP
.B IrqList=i,j,...
Specifies the set of interrupts (up to 4) that may be allocated by
this driver. This overrides the values set in the
.B IrqMask
parameter. NOTE: This parameter is for PCMCIA only.
.TP
.B IrqMask=n
Specifies a mask of valid interrupts that may be allocated by this driver.
If
.B IrqList
is also specified, the values in
.B IrqList
are used instead. NOTE: This parameter is for PCMCIA only.
.BR
    Default: 0xdeb8 (IRQ 3,4,5,7,9,10,11,12,14,15)
.TP
.B Key1=s
Specifies one of 4 possible keys for the Data encryption.
One of these keys, identified by TxKey,
is used for the enciphering of Data that is transmitted by this station.
All keys specified can be used for the deciphering of Data that is received.
.BR
The key value can be an ASCII character string or a hexadecimal value.
The length of the key value can be 5 characters or 10 hexadecimal digits for
the standard encryption (Silver or Gold card), or 13 characters or 26
hexadecimal digits for the encryption with extended keys (Gold card only).
The keys defined in the station must match the keys defined in the access
points; both on value and number (1 through 4).
.BR
In 2.0 series Linux kernel modules, values that begin with a number are
considered integers. In this case a hexadecimal value string or a character
string starting with a number, will need to be surrounded by escaped
double quotes (ie. Key1=\\"0x1122334455\\" Key2=\\"12xyz\\").
.BR
    5 or 13, printable character string, or
.BR
    10 or 26 hex digits if preceded by "0x".
.BR
    If this parameter is omitted, the default of the MAC is used ( = 0-length).
.TP
.B Key2=s
Same as Key1.
.TP
.B Key3=s
Same as Key1.
.TP
.B Key4=s
Same as Key1.
.TP
.B LoadBalancing=s
Control for the Load Balancing algorithm for both STAs and APs. The AP
includes a load balancing element in the Probe Response and Beacon frames.
The STA uses this info to select an AP, not only based on comms quality, but
also on the load of that AP.
.BR
    Default: Y
.TP
.B MaxDataLength
???????????????
.TP
.B MaxSleepDuration=n
Set the maximum Power Management sleep duration in milliseconds.
Valid values are 0 to 65535 milliseconds.
.BR
    Default: 100
.TP
.B MediumDistribution=s
Control for the distribution of medium parameters, like communication
thresholds, microwave robustness, RTS/CTS thresholds, by APs. The associated
stations replace their own values with the received values.
.BR
    Default=Y
.TP
.B MicroWaveRobustness=s
Enable or disable Microwave Oven Robustness.
.BR
    N \- Disable
.BR
    Y \- Enable
.BR
    Default: N
.TP
.B MulticastPMBuffering=s
Controls buffering of multicast MAC frames for transmission after DTIM. If no,
multicast MAC frames are directly placed in the output queue.
.BR
    Default: Y
.TP
.B MulticastRate=n
Sets the data rate for multicast message transmission.
.BR
    1 \- Fixed 1Mb/s
    2 \- Fixed 2Mb/s
    3 \- Fixed 5.5Mb/s
    4 \- Fixed 11Mb/s
.BR
    Default: 2

For Hermes-II.5, an INTEGER CONVERTED bit mask representing the
rate to multicast, where the rates supported are as follows:

Bit  : 15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00
.br
------------------------------------------------------
.br
Rate : XX|XX|XX|XX|54|48|36|24|18|12| 9| 6|11|5.5|2| 1

    Default: 4 (Translates to 0x0004 = 5.5 Mb/sec)

.TP
.B MulticastReceive=s
Enable or disable receiving of all multicast packets when Card Power Management
is enabled. When enabled, the station will wake up frequently
to receive the multicast frames. This causes less optimal power savings.
.BR
    N \- Disable
.BR
    Y \- Enable
.BR
    Default: Y
.TP
.B NetworkAddress=n,n,n,n,n,n
Sets the adapter hardware ethernet address (MAC address) to the value
specified. Note that this is to be used to specify a Local MAC address. Do
not specify this parameter if the card\'s universal address is to be used.
Valid values are six hexadecimal digit-pairs (prefixed with 0x).
.BR
    Default: <factory assigned address>
.TP
.B NetworkType
???????????????
.TP
.B OwnATIMWindow=n
ATIM window time used for creating an IBSS.
.BR
    Range: 0..100
.BR
    Default: 0
.TP
.B OwnBeaconInterval=b
Beacon Interval in TU
.BR
    Range 20..200
.BR
    Default \- 100
.TP
.B channel=n
Same as OwnChannel.
.TP
.B OwnChannel=n
Sets the channel the Ad-Hoc or IBSS mode will use.
The default channel for Ad-Hoc mode is determined by the Wireless PC Card.
The default channel for IBSS is set to 10 by the driver.
This value has no effect when the adapter is used with an Access Point
(BSS network) since the Access Point automatically determines the channel.
Valid values are 0 to 14. However the channels allowed in
your region are subject to local regulations and are limited at
manufacturing time of the Wireless PC Card. When the provided value is
not allowed, the value remains unchanged.
.BR
    0 \- Use default channel
.BR
    Default: 0
.TP
.B OwnDTIMPeriod=n
The number of beacon intervals between successive Delivery Traffic Identification
Maps (DTIMs).
.BR
    Range: 1..65535
.BR
    Default: 1
.TP
.B OwnName=s
Sets the station name to the specified string value. This parameter
is used for diagnostic purposes, as a user\-friendly identification
of this system. This parameter accepts a maximum of 32 characters.
.BR
    Default: Linux
.TP
.B OwnSSID=s
Sets the card network name to the specified string value. This parameter
accepts a maximum of 32 characters. Whitespace in the network name
will need to be escaped with a backslash (ie. OwnSSID=My\\ Network).
.BR
    Default: ANY
.TP
.B pc_debug=n
Selects the PCMCIA debugging level. This parameter is only available
if the module is compiled with debugging enabled. A non\-zero value
enables debugging. Higher values yield more information, i.e. for any value all
lower values are implied.
.BR
    8 \- DBG_DS_ON
.BR
    7 \- DBG_RX_ON | DBG_TX_ON
.BR
    6 \- DBG_PARAM_ON
.BR
    5 \- DBG_TRACE_ON
.BR
    4 \- DBG_VERBOSE_ON
.BR
If the module is compiled with debugging enabled, pc_debug defaults to 5.
DebugFlag overrules pc_debug.
.BR
The name pc_debug rather than PcDebug, since pc_debug is used by many PCMCIA driver.
.TP
.B PMEnabled=b
Sets the card\'s Power Management state.
.BR
    0 \- Disable
.BR
    1 \- Enable Enhanced Mode
.BR
    2 \- Enabled Standard Mode
.BR
    0x8000 \- Enhanced?????? Mode (to be combined with 0x0001 or 0x0002)

    Default: 0 (Disabled)
.TP
.B PMHoldoverDuration=n
Time that the station remains in an awake state after a MAC frame transfer if
Enhanced Power Save is active.
.BR
    Range: 1..1000
.BR
    Default: 100
.TP
.B PowerMode
???????????????
.TP
.B PortType=n
Selects the type of network operation.
.BR
    1 \- Normal Operation (BSS or IBSS)
.BR
    3 \- Ad-Hoc Demo Mode
.BR
    Default: 1
.TP
.B PromiscuousMode=s
Switch for promiscuous mode reception.
.BR
    Default: N
.TP
.B RejectANY=s
Controls how stations associate to the device.
.BR
    Y \- Stations must provide the correct SSID to
         associate to the AP.
.BR
    N \- Stations are not required to provide the
         correct SSID to associate to the AP.
         Known as an \'open\' network.
.BR
    Default - N
.TP
.B RTSThreshold=n
Controls the RTS/CTS handshake threshold for transmissions in Station mode.
Valid values are 0 to 2347.
.BR
    500  \- Hidden Stations
.BR
    2347 \- No RTS/CTS
.BR
    Default: 2347
.TP
.B RTSThreshold1=n
Same as RTSThreshold, only for port 1 of in AccessPoint mode.
.TP
.B RTSThreshold2=n
Same as RTSThreshold1, only for port 2.
.TP
.B RTSThreshold3=n
Same as RTSThreshold1, only for port 3.
.TP
.B RTSThreshold4=n
Same as RTSThreshold1, only for port 4.
.TP
.B RTSThreshold5=n
Same as RTSThreshold1, only for port 5.
.TP
.B RTSThreshold6=n
Same as RTSThreshold1, only for port 6.
.TP
.B SRSC2GHz=b
Sets the card\'s Supported Rate Set in the 2.4GHz band. The value
is an INTEGER CONVERTED bit mask representing the rates to support,
where the rates supported are as follows:

Bit  : 15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00
.br
------------------------------------------------------
.br
Rate : XX|XX|XX|XX|54|48|36|24|18|12| 9| 6|11|5.5|2| 1
.BR
    Default: 4095 (or 0x0FFF, all 11b and 11g rates)
.TP
.B SRSC5GHz=b
Sets the card\'s Supported Rate Set in the 5.0GHz band. See SRSC2GHz
for the value\'s format.
.BR
    Default: 4080 (or 0x0FF0, all 11a rates)
.TP
.B SystemScale=n
Sets the distance between Access Points in the network. This value
influences the Modem Thresholds (EnergyDetectThreshold,
CarrierDetectThreshold and DeferThreshold) and
the Roaming Thresholds (CellSearchThreshold and OutOfRangeThreshold).
.BR
    1 \- Large
.BR
    2 \- Medium
.BR
    3 \- Small
.BR
    Default: 1
.TP
.B TxRateControl=n
Sets the data rate to be used by the transmitter. For Hermes-II:
.BR
    1 \- Fixed Low (1 Mb/sec)
.BR
    2 \- Fixed Standard (2 Mb/sec)
.BR
    3 \- Auto Rate Select High (11, 5.5, 2, 1 Mb/sec)
.BR
    4 \- Fixed Medium (5.5 Mb/sec)
.BR
    5 \- Fixed High (11 Mb/sec)
.BR
    6 \- Auto Rate Select Standard (2, 1 Mb/sec)
.BR
    7 \- Auto Rate Select Medium (5.5, 2, 1 Mb/sec)
.BR
    Default: 3

For Hermes-II.5, an INTEGER CONVERTED bit mask representing all of the
rates to support, where the rates supported are as follows:

Bit  : 15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00
.br
------------------------------------------------------
.br
Rate : XX|XX|XX|XX|54|48|36|24|18|12| 9| 6|11|5.5|2| 1
.BR
    Default: 4095 (Translates to 0xFFF, which is all rates)
.TP
.B RTSThreshold=n
Sets the number of octets in a message or fragment above which a
RTS/CTS handshake is performed.
Valid values are 0 to 2347.
.BR
    500  \- Hidden Stations
.BR
    2347 \- No RTS/CTS
.BR
    Default: 2347
.TP
.B TxKey=n
Designates which of the keys is to be used for the enciphering of data that is
transmitted by this station.
.BR
    Integer in the range 1..4.
.BR
    Default: 1
.TP
.B TxPowLevel
???????????????
.TP
.B TxRateControl=n
Sets the data rate to be used by the transmitter in Station mode.
.BR
    1 \- Fixed Low
.BR
    2 \- Fixed Standard
.BR
    3 \- Auto Rate Select (High)
.BR
    4 \- Fixed Medium
.BR
    5 \- Fixed High
.BR
    6 \- Auto Rate Select (Standard)
.BR
    7 \- Auto Rate Select (Medium)
.BR
    Default: 3

For Hermes-II.5, an INTEGER CONVERTED bit mask representing all of the
rates to support, where the rates supported are as follows:

Bit  : 15|14|13|12|11|10|09|08|07|06|05|04|03|02|01|00
.br
------------------------------------------------------
.br
Rate : XX|XX|XX|XX|54|48|36|24|18|12| 9| 6|11|5.5|2| 1
.BR
    Default: 4095 (Translates to 0xFFF, which is all rates)

.TP
.B TxRateControl1=n
Same as TxRateControl, only for port 1 in AccessPoint mode.
.TP
.B TxRateControl2=n
Same as TxRateControl1, only for port 2.
.TP
.B TxRateControl3=n
Same as TxRateControl1, only for port 3.
.TP
.B TxRateControl4=n
Same as TxRateControl1, only for port 4.
.TP
.B TxRateControl5=n
Same as TxRateControl1, only for port 5.
.TP
.B TxRateControl6=n
Same as TxRateControl1, only for port 6.
.TP
.B VendorDescription
???????????????
.TP
.B WDSAddress=n,n,n,n,n,n
MAC address that identifies the corresponding node of the WDS port in Station mode.
Note that for WDS to work properly, a bridge interface must be setup between the device and
the wds network devices created by the driver. For more information on bridge
interfaces, please refer to the man page for \'brctl\'.
.BR
    Default: 00:00:00:00:00:00
.TP
.B WDSAddress1=n,n,n,n,n,n
Same as WDSAddress, only for port 1 in AccessPoint mode.
.TP
.B WDSAddress2=n,n,n,n,n,n
Same as WDSAddress1, only for port 2.
.TP
.B WDSAddress3=n,n,n,n,n,n
Same as WDSAddress1, only for port 3.
.TP
.B WDSAddress4=n,n,n,n,n,n
Same as WDSAddress1, only for port 4.
.TP
.B WDSAddress5=n,n,n,n,n,n
Same as WDSAddress1, only for port 5.
.TP
.B WDSAddress6=n,n,n,n,n,n
Same as WDSAddress1, only for port 6.
.SH SECURITY
On a multi-user system only the system administrator needs access to the WEP
encryption keys. In this case, consider removing the read permission for
normal users of the PCMCIA config.opts file, the system log file, and any
Agere proprietary iwconfig-eth<n> scripts.
.SH CONTACT
If you encounter problems when installing or using this product, or would like
information about our other "Wireless" products, please contact your local
Authorized "Wireless" Reseller or Agere Systems sales office.

Addresses and telephone numbers of the Agere Systems sales offices are
listed on our Agere Systems web site.
.TP
.B WWW
http://www.agere.com
.SH SEE ALSO
.BR cardmgr (8),
.BR pcmcia (5),
.BR ifconfig (8),
.BR insmod (8),
.BR brctl (8).
