.\" $NetBSD: ral.4,v 1.12 2017/07/03 21:30:58 wiz Exp $
.\" $OpenBSD: ral.4,v 1.53 2006/05/06 17:26:25 jmc Exp $
.\"
.\" Copyright (c) 2005, 2006
.\" Damien Bergamini <damien.bergamini@free.fr>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd December 13, 2009
.Dt RAL 4
.Os
.Sh NAME
.Nm ral
.Nd Ralink Technology IEEE 802.11a/b/g wireless network driver
.Sh SYNOPSIS
.Cd "ral* at cardbus?"
.Cd "ral* at pci?"
.Cd "ral* at uhub? port ?"
.Sh DESCRIPTION
The
.Nm
driver supports PCI/CardBus wireless adapters based on the Ralink RT2500,
RT2501, and RT2600 chipsets.
The
.Nm ral
driver supports USB 2.0 wireless adapters based on the Ralink RT2500USB
chipset.
.Pp
The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink.
It consists of two integrated chips, an RT2560 or RT2570(USB) MAC/BBP
and an RT2525 or RT2526(USB) radio transceiver.
.Pp
The RT2501 chipset is the second generation of 802.11b/g adapters from Ralink.
It consists of two integrated chips, an RT2561 MAC/BBP and an RT2527 radio
transceiver.
This chipset provides support for the IEEE 802.11e standard with multiple
hardware transmission queues and allows scatter/gather for efficient DMA
operations.
.Pp
The RT2600 chipset consists of two integrated chips, an RT2661 MAC/BBP and an
RT2529 radio transceiver.
This chipset uses the MIMO (multiple-input multiple-output) technology with
multiple antennas to extend the operating range of the adapter and to achieve
higher throughput.
MIMO will be the basis of the future IEEE 802.11n standard.
.Pp
These are the modes the
.Nm
driver can operate in:
.Bl -tag -width "IBSS-masterXX"
.It BSS mode
Also known as
.Em infrastructure
mode, this is used when associating with an access point, through
which all traffic passes.
This mode is the default.
.It IBSS mode
Also known as
.Em IEEE ad-hoc
mode or
.Em peer-to-peer
mode.
This is the standardized method of operating without an access point.
Stations associate with a service set.
However, actual connections between stations are peer-to-peer.
.It Host AP
In this mode the driver acts as an access point (base station)
for other cards.
.It monitor mode
In this mode the driver is able to receive packets without
associating with an access point.
This disables the internal receive filter and enables the card to
capture packets from networks which it wouldn't normally have access to,
or to scan for access points.
.El
.Pp
.Nm
supports software WEP.
Wired Equivalent Privacy (WEP) is the de facto encryption standard
for wireless networks.
It can be typically configured in one of three modes:
no encryption; 40-bit encryption; or 104-bit encryption.
Unfortunately, due to serious weaknesses in WEP protocol
it is strongly recommended that it not be used as the
sole mechanism to secure wireless communication.
WEP is not enabled by default.
.Pp
The transmit speed is user-selectable or can be adapted automatically by the
driver depending on the received signal strength and on the number of hardware
transmission retries.
See
.Xr rssadapt 9
for more information.
.Sh CONFIGURATION
The
.Nm
driver can be configured at runtime with
.Xr ifconfig 8
or on boot with
.Xr ifconfig.if 5
using the following parameters:
.Bl -tag -width Ds
.It Cm bssid Ar bssid
Set the desired BSSID.
.It Fl bssid
Unset the desired BSSID.
The interface will automatically select a BSSID in this mode, which is
the default.
.It Cm chan Ar n
Set the channel (radio frequency) to be used by the driver based on
the given channel ID
.Ar n .
.It Fl chan
Unset the desired channel to be used by the driver.
The driver will automatically select a channel in this mode, which is
the default.
.It Cm media Ar media
The
.Nm
driver supports the following
.Ar media
types:
.Pp
.Bl -tag -width autoselect -compact
.It Cm autoselect
Enable autoselection of the media type and options.
.It Cm DS1
Set 802.11b DS 1Mbps operation.
.It Cm DS2
Set 802.11b DS 2Mbps operation.
.It Cm DS5
Set 802.11b DS 5.5Mbps operation.
.It Cm DS11
Set 802.11b DS 11Mbps operation.
.It Cm OFDM6
Set 802.11a/g OFDM 6Mbps operation.
.It Cm OFDM9
Set 802.11a/g OFDM 9Mbps operation.
.It Cm OFDM12
Set 802.11a/g OFDM 12Mbps operation.
.It Cm OFDM18
Set 802.11a/g OFDM 18Mbps operation.
.It Cm OFDM24
Set 802.11a/g OFDM 24Mbps operation.
.It Cm OFDM36
Set 802.11a/g OFDM 36Mbps operation.
.It Cm OFDM48
Set 802.11a/g OFDM 48Mbps operation.
.It Cm OFDM54
Set 802.11a/g OFDM 54Mbps operation.
.El
.It Cm mediaopt Ar opts
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width monitor -compact
.It Cm hostap
Select Host AP operation.
.It Cm ibss
Select IBSS operation.
.It Cm monitor
Select monitor mode.
.El
.It Fl mediaopt Ar opts
Disable the specified media options on the driver and return it to the
default mode of operation (BSS).
.It Cm mode Ar mode
The
.Nm
driver supports the following modes:
.Pp
.Bl -tag -width 11b -compact
.It Cm 11a
Force 802.11a operation.
.It Cm 11b
Force 802.11b operation.
.It Cm 11g
Force 802.11g operation.
.El
.It Cm nwid Ar id
Set the network ID.
The
.Ar id
can either be any text string up to 32 characters in length,
or a series of hexadecimal digits up to 64 digits.
An empty
.Ar id
string allows the interface to connect to any available access points.
By default the
.Nm
driver uses an empty string.
Note that network ID is synonymous with Extended Service Set ID (ESSID).
.It Cm nwkey Ar key
Enable WEP encryption using the specified
.Ar key .
The
.Ar key
can either be a string, a series of hexadecimal digits (preceded by
.Sq 0x ) ,
or a set of keys of the form
.Dq n:k1,k2,k3,k4 ,
where
.Sq n
specifies which of the keys will be used for transmitted packets,
and the four keys,
.Dq k1
through
.Dq k4 ,
are configured as WEP keys.
If a set of keys is specified, a comma
.Pq Sq \&,
within the key must be escaped with a backslash.
Note that if multiple keys are used, their order must be the same within
the network.
.Nm
is capable of using both 40-bit (5 characters or 10 hexadecimal digits)
or 104-bit (13 characters or 26 hexadecimal digits) keys.
.It Fl nwkey
Disable WEP encryption.
This is the default mode of operation.
.El
.Sh FILES
The following firmware files are potentially loaded when an interface is
brought up:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It /libdata/firmware/ral/ral-rt2561
.It /libdata/firmware/ral/ral-rt2561s
.It /libdata/firmware/ral/ral-rt2661
.El
.Pp
RT2500 adapters do not require a firmware to operate.
.Sh HARDWARE
The following PCI adapters should work:
.Bd -filled
A-Link WL54H.
Amigo AWI-926W.
AMIT WL531P.
AOpen AOI-831.
ASUS WL-130g.
ASUS WIFI-G-AAY.
Atlantis Land A02-PCI-W54.
Belkin F5D7000 v3.
Canyon CN-WF511.
CNet CWP-854.
Compex WLP54G.
Conceptronic C54Ri.
Corega CG-WLPCI54GL.
Digitus DN-7006G-RA.
Dynalink WLG25PCI.
E-Tech WGPI02.
Edimax EW-7128g.
Eminent EM3037.
Encore ENLWI-G-RLAM.
Eusso UGL2454-VPR.
Fiberline WL-400P.
Foxconn WLL-3350.
Gigabyte GN-WPKG.
Hama WLAN PCI Card 54 Mbps.
Hawking HWP54GR.
Hercules HWGPCI-54.
iNexQ CR054g-009 (R03).
JAHT WN-4054PCI.
KCORP LifeStyle KLS-660.
LevelOne WNC-0301 v2.
Linksys WMP54G v4.
Micronet SP906GK.
Minitar MN54GPC-R.
MSI MS-6834.
MSI PC54G2.
OvisLink EVO-W54PCI.
PheeNet HWL-PCIG/RA.
Pro-Nets PC80211G.
Repotec RP-WP0854.
SATech SN-54P.
Signamax 065-1798.
Sitecom WL-115.
SparkLAN WL-660R.
Surecom EP-9321-g.
Sweex LC700030.
TekComm NE-9321-g.
Tonze PC-6200C.
Unex CR054g-R02.
Zinwell ZWX-G361.
Zonet ZEW1600.
.Ed
.Pp
The following CardBus adapters should work:
.Bd -filled
A-Link WL54PC.
Alfa AWPC036.
Amigo AWI-914W.
AMIT WL531C.
ASUS WL-107G.
Atlantis Land A02-PCM-W54.
Belkin F5D7010 v2.
Canyon CN-WF513.
CC&C WL-2102.
CNet CWC-854.
Conceptronic C54RC.
Corega CG-WLCB54GL.
Digitus DN-7001G-RA.
Dynalink WLG25CARDBUS.
E-Tech WGPC02.
E-Tech WGPC03.
Edimax EW-7108PCg.
Eminent EM3036.
Encore ENPWI-G-RLAM.
Eusso UGL2454-01R.
Fiberline WL-400X.
Gigabyte GN-WMKG.
Hawking HWC54GR.
Hercules HWGPCMCIA-54.
JAHT WN-4054P(E).
KCORP LifeStyle KLS-611.
LevelOne WPC-0301 v2.
Micronet SP908GK V3.
Minitar MN54GCB-R.
MSI CB54G2.
MSI MS-6835.
Pro-Nets CB80211G.
Repotec RP-WB7108.
SATech SN-54C.
Sitecom WL-112.
SparkLAN WL-611R.
Surecom EP-9428-g.
Sweex LC500050.
TekComm NE-9428-g.
Tonze PW-6200C.
Unex MR054g-R02.
Zinwell ZWX-G160.
Zonet ZEW1500.
.Ed
.Pp
The following Mini PCI adapters should work:
.Bd -filled
Amigo AWI-922W.
Billionton MIWLGRL.
Gigabyte GN-WIKG.
MSI MP54G2.
MSI MS-6833.
Tonze PC-620C.
Zinwell ZWX-G360.
.Ed
.Pp
The following USB 2.0 adapters should work:
.Bd -filled
AMIT WL532U.
ASUS WL-167g.
Belkin F5D7050 v2000.
Buffalo WLI-U2-KG54.
Buffalo WLI-U2-KG54-AI.
Buffalo WLI-U2-KG54-YB.
CNet CWD-854.
Compex WLU54G 2A1100.
Conceptronic C54RU.
D-Link DWL-G122 (b1).
Dynalink WLG25USB.
E-Tech WGUS02.
Gigabyte GN-WBKG.
Hercules HWGUSB2-54.
KCORP LifeStyle KLS-685.
Linksys HU200-TS.
Linksys WUSB54G v4.
Linksys WUSB54GP v4.
MSI MS-6861.
MSI MS-6865.
MSI MS-6869.
Nintendo Wi-Fi USB Connector.
OvisLink Evo-W54USB.
SerComm UB801R.
SparkLAN WL-685R.
Surecom EP-9001-g.
Sweex LC100060.
Tonze UW-6200C.
Zinwell ZWX-G261.
Zonet ZEW2500P.
.Ed
.Sh EXAMPLES
The following
.Xr ifconfig.if 5
example creates a host-based access point on boot:
.Bd -literal -offset indent
inet 192.168.1.1 netmask 255.255.255.0 media autoselect \e
mediaopt hostap nwid my_net chan 11
.Ed
.Pp
Configure ral0 for WEP, using hex key
.Dq 0x1deadbeef1 :
.Bd -literal -offset indent
# ifconfig ral0 nwkey 0x1deadbeef1
.Ed
.Pp
Return ral0 to its default settings:
.Bd -literal -offset indent
# ifconfig ral0 -bssid -chan media autoselect \e
nwid "" -nwkey
.Ed
.Pp
Join an existing BSS network,
.Dq my_net :
.Bd -literal -offset indent
# ifconfig ral0 192.168.1.1 netmask 0xffffff00 nwid my_net
.Ed
.Sh DIAGNOSTICS
.Bl -diag
.It "ral%d: could not read microcode %s"
For some reason, the driver was unable to read the microcode file from the
filesystem.
The file might be missing or corrupted.
.It "ral%d: could not load 8051 microcode"
An error occurred while attempting to upload the microcode to the onboard 8051
microcontroller unit.
.It "ral%d: timeout waiting for MCU to initialize"
The onboard 8051 microcontroller unit failed to initialize in time.
.It "ral%d: device timeout"
A frame dispatched to the hardware for transmission did not complete in time.
The driver will reset the hardware.
This should not happen.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr cardbus 4 ,
.Xr ifmedia 4 ,
.Xr intro 4 ,
.Xr netintro 4 ,
.Xr pci 4 ,
.Xr usb 4 ,
.Xr ifconfig.if 5 ,
.Xr hostapd 8 ,
.Xr ifconfig 8
.Pp
.Lk http://www.ralinktech.com "Ralink Technology"
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 3.7
and in
.Nx 3.0 .
Support for the RT2501 and RT2600 chipsets was added in
.Ox 3.9
and in
.Nx 4.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Damien Bergamini Aq Mt damien@openbsd.org .
.Sh CAVEATS
Some PCI
.Nm
adapters seem to strictly require a system supporting PCI 2.2 or greater and
will likely not work in systems based on older revisions of the PCI
specification.
Check the board's PCI version before purchasing the card.
.Pp
The USB
.Nm ral
driver supports automatic control of the transmit speed in BSS mode only.
Therefore the use of a USB
.Nm ral
adapter in Host AP mode is discouraged.