rtwn
— Realtek
IEEE 802.11n/ac wireless network driver
options RTWN_DEBUG
options RTWN_WITHOUT_UCODE
To compile this driver into the kernel, place the following lines
in your kernel configuration file:
device rtwn
device rtwnfw
device rtwn_usb
device rtwn_pci
device wlan
device firmware
Alternatively, to load the driver as a module at boot time, place
following lines in
loader.conf(5):
if_rtwn_pci_load="YES"
if_rtwn_usb_load="YES"
The rtwn
driver provides support for
802.11n/ac wireless network PHYs supplied by
rtwn_pci(4)
and
rtwn_usb(4).
The rtwn
driver supports
station
, adhoc
,
hostap
and monitor
mode
operation. There are no limitations for number of
monitor
mode virtual interfaces; in addition to any
other virtual interface one station
interface can be
added (Note: RTL8821AU supports two non-monitor mode interfaces at the same
time).
All chips have hardware support for WEP, AES-CCM and TKIP
encryption.
The rtwn
driver can be configured at
runtime with
ifconfig(8).
The rtwn
driver supports USB and PCI
devices with the following chipsets:
- Realtek 802.11n wireless 8188e (RTL8188E)
- Realtek 802.11n wireless 8192c (RTL8192C)
- Realtek 802.11n wireless 8192e (RTL8192E)
- Realtek 802.11ac wireless 8812a (RTL8812A)
- Realtek 802.11ac wireless 8821a (RTL8821A)
For specific devices, see
rtwn_pci(4)
and
rtwn_usb(4).
- /usr/share/doc/legal/realtek.LICENSE
rtwn
firmware license
The driver (if not compiled with options
RTWN_WITHOUT_UCODE
) may use following firmware files, which are
loaded when an interface is brought up:
- /boot/kernel/rtwn-rtl8188eefw.ko
-
- /boot/kernel/rtwn-rtl8188eufw.ko
-
- /boot/kernel/rtwn-rtl8192cfwE_B.ko
-
- /boot/kernel/rtwn-rtl8192cfwE.ko
-
- /boot/kernel/rtwn-rtl8192cfwT.ko
-
- /boot/kernel/rtwn-rtl8192cfwU.ko
-
- /boot/kernel/rtwn-rtl8192eufw.ko
-
- /boot/kernel/rtwn-rtl8812aufw.ko
-
- /boot/kernel/rtwn-rtl8821aufw.ko
-
Join an existing BSS network (i.e., connect to an access
point):
ifconfig wlan create wlandev rtwn0
inet 192.0.2.20/24
Join a specific BSS network with network name
my_net:
ifconfig wlan create wlandev rtwn0
ssid my_net up
Join a specific BSS network with 64-bit WEP encryption:
ifconfig wlan create wlandev rtwn0 ssid my_net \
wepmode on wepkey 0x1234567890 weptxkey 1 up
Create an IBSS network with 128-bit WEP encryption on the channel
4:
ifconfig wlan create wlandev rtwn0 wlanmode adhoc ssid my_net \
wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 \
channel 4
Join/create an 802.11b IBSS network with network name
my_net:
ifconfig wlan0 create wlandev rtwn0 wlanmode adhoc
ifconfig wlan0 inet 192.0.2.20/24 ssid my_net mode 11b
Create a host-based access point:
ifconfig wlan0 create wlandev rtwn0 wlanmode hostap
ifconfig wlan0 inet 192.0.2.20/24 ssid my_ap
Tunables can be set at the
loader(8)
prompt before booting the kernel or stored in
loader.conf(5).
- dev.rtwn.%d.hwcrypto
- This tunable controls how key slots are assigned:
0 - disable h/w crypto support. Features that require access
to frame contents (e.g., TCP/UDP/IP Rx checksum validation) will not
work;
1 - use h/w crypto support for pairwise keys only;
2 - use h/w crypto support for all keys; may not work for
multi-vap configurations.
By default it is set to 1.
- dev.rtwn.%d.ratectl
- This tunable switches between rate control implementations:
0 - no rate control;
1 - driver sends 'tx complete' reports to net80211; algorithm
is controlled via net80211;
2 - firmware-based rate control.
By default it is set to 1; however driver may choose another
algorithm in case if it is not implemented
Currently selected algorithm is reported via
dev.rtwn.%d.ratectl_selected read-only OID.
- dev.rtwn.%d.rx_buf_size
- (USB only) Controls size of temporary Rx buffer; smaller buffer size may
increase number of interrupts.
- rtwn%d: could not read efuse byte at address 0x%x
- rtwn%d: %s: cannot read rom, error %d
- There was an error while reading ROM; device attach will be aborted. This
should not happen.
- rtwn%d: failed loadfirmware of file %s
- For some reason, the driver was unable to read the microcode file from the
filesystem. The file might be missing or corrupted. The driver will
disable firmware-dependent features.
- rtwn%d: wrong firmware size (%zu)
- rtwn%d: %s: failed to upload firmware %s (error %d)
- rtwn%d: timeout waiting for firmware readiness
- Firmware upload failed; the file might be corrupted. The driver will
disable firmware-dependent features. This should not happen.
- rtwn%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.
intro(4),
netintro(4),
rtwn_pci(4),
rtwn_usb(4),
rtwnfw(4),
wlan(4),
wlan_amrr(4),
wlan_ccmp(4),
wlan_tkip(4),
wlan_wep(4),
wlan_xauth(4),
networking(7),
hostapd(8),
ifconfig(8),
wpa_supplicant(8)
The urtwn
driver first appeared in
OpenBSD 4.9 and FreeBSD
10.0; the rtwn
driver first appeared in
OpenBSD 5.8 and FreeBSD
11.0.
The rtwn
driver currently does not
implement firmware-based rate control.