Author: avos Date: Mon Oct 17 20:38:24 2016 New Revision: 307529 URL: https://svnweb.freebsd.org/changeset/base/307529
Log: rtwn(4), urtwn(4): merge common code, add support for 11ac devices. All devices: - add support for rate adaptation via ieee80211_amrr(9); - use short preamble for transmitted frames when needed; - multi-bss support: * for RTL8821AU: 2 VAPs at the same time; * other: 1 any VAP + 1 sta VAP. RTL8188CE: - fix IQ calibration bug (reason of significant speed degradation); - add h/w crypto acceleration support. USB: - A-MPDU Tx support; - short GI support; Other: - add support for RTL8812AU / RTL8821AU chipsets (a/b/g/n only; no ac yet); - split merged code into subparts: * bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*) * common (if_rtwn*) * chip-specific (rtl*/*) - various other bugfixes. Due to code reorganization, module names / requirements were changed too: urtwn urtwnfw -> rtwn rtwn_usb rtwnfw rtwn rtwnfw -> rtwn rtwn_pci rtwnfw Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU. Tested by: kevlo, garga, Peter Garshtja <peter.garsh...@ambient-md.com>, Kevin McAleavey <kevin.mcalea...@knosproject.com>, Ilias-Dimitrios Vrachnis <i...@vrachnis.com>, <otacilio.n...@bsd.com.br> Relnotes: yes Added: head/share/man/man4/rtwn_pci.4 (contents, props changed) head/share/man/man4/rtwn_usb.4 (contents, props changed) head/sys/contrib/dev/rtwn/rtwn-rtl8188eufw.fw.uu - copied, changed from r307528, head/sys/contrib/dev/urtwn/urtwn-rtl8188eufw.fw.uu head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwE.fw.uu head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwE_B.fw.uu - copied, changed from r307528, head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwU_B.fw.uu head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwT.fw.uu head/sys/contrib/dev/rtwn/rtwn-rtl8812aufw.fw.uu head/sys/contrib/dev/rtwn/rtwn-rtl8821aufw.fw.uu head/sys/dev/rtwn/if_rtwn_beacon.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_beacon.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_calib.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_calib.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_cam.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_cam.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_debug.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_efuse.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_efuse.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_fw.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_fw.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_nop.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_ridx.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_rx.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_rx.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_task.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_task.h (contents, props changed) head/sys/dev/rtwn/if_rtwn_tx.c (contents, props changed) head/sys/dev/rtwn/if_rtwn_tx.h (contents, props changed) head/sys/dev/rtwn/if_rtwnvar.h (contents, props changed) head/sys/dev/rtwn/pci/ head/sys/dev/rtwn/pci/rtwn_pci_attach.c (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_attach.h (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_reg.c (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_reg.h (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_rx.c (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_rx.h (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_tx.c (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_tx.h (contents, props changed) head/sys/dev/rtwn/pci/rtwn_pci_var.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/ head/sys/dev/rtwn/rtl8188e/r88e.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_beacon.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_calib.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_chan.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_fw.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_fw_cmd.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_init.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_led.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rf.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rom.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rom_defs.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rom_image.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_rx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/r88e_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/usb/ head/sys/dev/rtwn/rtl8188e/usb/r88eu.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/usb/r88eu_init.c (contents, props changed) head/sys/dev/rtwn/rtl8188e/usb/r88eu_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8188e/usb/r88eu_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/ head/sys/dev/rtwn/rtl8192c/pci/ head/sys/dev/rtwn/rtl8192c/pci/r92ce.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_calib.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_fw.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_init.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_led.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_rx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/pci/r92ce_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_beacon.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_calib.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_chan.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_fw.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_fw_cmd.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_init.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rf.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rom.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rom_defs.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rom_image.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_rx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/r92c_var.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/ head/sys/dev/rtwn/rtl8192c/usb/r92cu.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_led.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8192c/usb/r92cu_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/ head/sys/dev/rtwn/rtl8812a/r12a.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_beacon.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_calib.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_caps.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_chan.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_fw.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_fw_cmd.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_init.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_led.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rf.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rom.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rom_defs.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rom_image.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_rx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/r12a_var.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/ head/sys/dev/rtwn/rtl8812a/usb/r12au.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_init.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_tx.c (contents, props changed) head/sys/dev/rtwn/rtl8812a/usb/r12au_tx_desc.h (contents, props changed) head/sys/dev/rtwn/rtl8821a/ head/sys/dev/rtwn/rtl8821a/r21a.h (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_beacon.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_calib.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_chan.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_fw.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_init.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_led.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_priv.h (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_reg.h (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_rom.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/r21a_rx.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/usb/ head/sys/dev/rtwn/rtl8821a/usb/r21au.h (contents, props changed) head/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/usb/r21au_init.c (contents, props changed) head/sys/dev/rtwn/rtl8821a/usb/r21au_reg.h (contents, props changed) head/sys/dev/rtwn/usb/ head/sys/dev/rtwn/usb/rtwn_usb_attach.c (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_attach.h (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_ep.c (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_ep.h (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_reg.c (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_reg.h (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_rx.c (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_rx.h (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_tx.c (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_tx.h (contents, props changed) head/sys/dev/rtwn/usb/rtwn_usb_var.h (contents, props changed) head/sys/modules/rtwn_pci/ head/sys/modules/rtwn_pci/Makefile (contents, props changed) head/sys/modules/rtwn_usb/ head/sys/modules/rtwn_usb/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8188eu/ head/sys/modules/rtwnfw/rtwnrtl8188eu/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8192cE/ head/sys/modules/rtwnfw/rtwnrtl8192cE/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8192cEB/ head/sys/modules/rtwnfw/rtwnrtl8192cEB/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8192cT/ head/sys/modules/rtwnfw/rtwnrtl8192cT/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8812au/ head/sys/modules/rtwnfw/rtwnrtl8812au/Makefile (contents, props changed) head/sys/modules/rtwnfw/rtwnrtl8821au/ head/sys/modules/rtwnfw/rtwnrtl8821au/Makefile (contents, props changed) Deleted: head/share/man/man4/urtwn.4 head/share/man/man4/urtwnfw.4 head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwU_B.fw.uu head/sys/contrib/dev/urtwn/ head/sys/dev/urtwn/ head/sys/modules/rtwnfw/rtwnrtl8192cUB/ head/sys/modules/urtwn/ head/sys/modules/urtwnfw/ Modified: head/ObsoleteFiles.inc head/etc/devd.conf head/etc/devd/usb.conf head/share/doc/legal/realtek/Makefile head/share/man/man4/Makefile head/share/man/man4/rtwn.4 head/share/man/man4/rtwnfw.4 head/share/man/man4/wlan.4 head/sys/conf/WITHOUT_SOURCELESS_UCODE head/sys/conf/files head/sys/conf/options head/sys/contrib/dev/rtwn/LICENSE head/sys/contrib/dev/rtwn/rtwn-rtl8192cfwU.fw.uu head/sys/dev/rtwn/if_rtwn.c head/sys/dev/rtwn/if_rtwnreg.h head/sys/mips/conf/std.AR933X head/sys/mips/conf/std.AR934X head/sys/mips/conf/std.QCA955X head/sys/modules/Makefile head/sys/modules/rtwn/Makefile head/sys/modules/rtwnfw/Makefile head/sys/modules/rtwnfw/Makefile.inc head/sys/riscv/conf/GENERIC head/sys/sys/param.h head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Mon Oct 17 19:51:00 2016 (r307528) +++ head/ObsoleteFiles.inc Mon Oct 17 20:38:24 2016 (r307529) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20161016: urtwn(4) was merged into rtwn(4) +OLD_FILES+=usr/share/man/man4/urtwn.4.gz +OLD_FILES+=usr/share/man/man4/urtwnfw.4.gz # 20161015: Remove GNU rcs OLD_FILES+=usr/bin/ci OLD_FILES+=usr/bin/co Modified: head/etc/devd.conf ============================================================================== --- head/etc/devd.conf Mon Oct 17 19:51:00 2016 (r307528) +++ head/etc/devd.conf Mon Oct 17 20:38:24 2016 (r307529) @@ -24,7 +24,7 @@ options { [0-9]+"; set wifi-driver-regex "(ath|bwi|bwn|ipw|iwi|iwm|iwn|malo|mwl|ral|rsu|rum|run|uath|\ - upgt|ural|urtw|urtwn|wi|wpi|wtap|zyd)[0-9]+"; + upgt|ural|urtw|rtwn_usb|wi|wpi|wtap|zyd)[0-9]+"; }; # Note that the attach/detach with the highest value wins, so that one can Modified: head/etc/devd/usb.conf ============================================================================== --- head/etc/devd/usb.conf Mon Oct 17 19:51:00 2016 (r307528) +++ head/etc/devd/usb.conf Mon Oct 17 20:38:24 2016 (r307529) @@ -185,6 +185,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0409"; + match "product" "0x0408"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0409"; match "product" "(0x8024|0x8025)"; action "kldload -n uipaq"; }; @@ -304,6 +312,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0411"; + match "product" "(0x0242|0x025d)"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x0413"; match "product" "0x2101"; action "kldload -n uplcom"; @@ -553,6 +569,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x04bb"; + match "product" "0x0952"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x04bb"; match "product" "(0x0a03|0x0a0e)"; action "kldload -n uplcom"; }; @@ -682,7 +706,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x04f2"; match "product" "(0xaff7|0xaff8|0xaff9|0xaffa|0xaffa)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -754,7 +778,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x050d"; match "product" "0x1102"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -778,7 +802,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x050d"; match "product" "(0x2102|0x2103)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -1050,7 +1074,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x056e"; match "product" "0x4008"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -1146,7 +1170,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0586"; match "product" "0x341f"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -1160,6 +1184,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x0586"; + match "product" "0x3426"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x058f"; match "product" "0x9720"; action "kldload -n uplcom"; @@ -1442,7 +1474,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x06f8"; match "product" "0xe033"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -1658,7 +1690,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x07aa"; match "product" "0x0056"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -1722,7 +1754,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x07b8"; match "product" "(0x8178|0x8179|0x8188|0x8189)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2026,7 +2058,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0846"; match "product" "0x9021"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2041,8 +2073,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0846"; - match "product" "0x9041"; - action "kldload -n if_urtwn"; + match "product" "(0x9041|0x9052)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2498,7 +2530,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0b05"; match "product" "0x17ab"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2522,7 +2554,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0b05"; match "product" "0x17ba"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2537,6 +2569,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0b05"; + match "product" "0x17d2"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0b05"; match "product" "(0x4200|0x4201|0x4202|0x420f|0x9200|0x9202)"; action "kldload -n uipaq"; }; @@ -2658,7 +2698,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0bda"; match "product" "(0x0179|0x018a|0x317f)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2682,7 +2722,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0bda"; match "product" "0x8170"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2698,7 +2738,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0bda"; match "product" "(0x8176|0x8177|0x8178|0x8179|0x817a|0x817b|0x817c|0x817d|0x817e|0x817f)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2714,7 +2754,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0bda"; match "product" "(0x818a|0x8191)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -2738,7 +2778,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0bda"; match "product" "0x8754"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3162,7 +3202,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0df6"; match "product" "0x0052"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3178,7 +3218,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0df6"; match "product" "(0x005c|0x0061)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3193,6 +3233,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0df6"; + match "product" "0x0074"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0df6"; match "product" "0x061c"; action "kldload -n if_axe"; }; @@ -3257,8 +3305,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0e66"; - match "product" "0x0019"; - action "kldload -n if_urtwn"; + match "product" "(0x0019|0x0023)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3330,7 +3378,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x0eb0"; match "product" "0x9071"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3490,7 +3538,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x103c"; match "product" "0x1629"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -3976,6 +4024,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x13b1"; + match "product" "0x003f"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x13d2"; match "product" "0x0400"; action "kldload -n if_kue"; @@ -4018,7 +4074,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x13d3"; match "product" "(0x3357|0x3358|0x3359)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -4569,6 +4625,14 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x1740"; + match "product" "0x0100"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x1740"; match "product" "(0x0605|0x0615)"; action "kldload -n if_run"; }; @@ -4961,8 +5025,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x2001"; - match "product" "(0x3307|0x3308|0x3309|0x330a|0x330d|0x330f|0x3310)"; - action "kldload -n if_urtwn"; + match "product" "(0x3307|0x3308|0x3309|0x330a|0x330d|0x330f|0x3310|0x3314|0x3315|0x3316|0x3318)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5042,7 +5106,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x2019"; match "product" "(0x1201|0x4902)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5089,8 +5153,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x2019"; - match "product" "(0xab2a|0xab2b|0xab2e)"; - action "kldload -n if_urtwn"; + match "product" "(0xab2a|0xab2b|0xab2e|0xab30)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5130,7 +5194,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x2019"; match "product" "0xed17"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5170,7 +5234,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x20f4"; match "product" "0x624d"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5185,8 +5249,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x20f4"; - match "product" "0x648b"; - action "kldload -n if_urtwn"; + match "product" "(0x648b|0x805b)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5232,6 +5296,14 @@ nomatch 32 { nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; + match "vendor" "0x2357"; + match "product" "0x0101"; + action "kldload -n if_rtwn_usb"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; match "vendor" "0x2405"; match "product" "0x0003"; action "kldload -n uslcom"; @@ -5354,7 +5426,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x4855"; match "product" "(0x0090|0x0091)"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5465,8 +5537,8 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x7392"; - match "product" "(0x7811|0x7822)"; - action "kldload -n if_urtwn"; + match "product" "(0x7811|0x7822|0xa811|0xa812|0xa822)"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5522,7 +5594,7 @@ nomatch 32 { match "mode" "host"; match "vendor" "0x9846"; match "product" "0x9041"; - action "kldload -n if_urtwn"; + action "kldload -n if_rtwn_usb"; }; nomatch 32 { @@ -5817,5 +5889,5 @@ nomatch 32 { action "kldload -n umass"; }; -# 2722 USB entries processed +# 2743 USB entries processed Modified: head/share/doc/legal/realtek/Makefile ============================================================================== --- head/share/doc/legal/realtek/Makefile Mon Oct 17 19:51:00 2016 (r307528) +++ head/share/doc/legal/realtek/Makefile Mon Oct 17 20:38:24 2016 (r307529) @@ -1,6 +1,6 @@ # $FreeBSD$ -FILES= ${.CURDIR}/../../../../sys/contrib/dev/urtwn/LICENSE +FILES= ${.CURDIR}/../../../../sys/contrib/dev/rtwn/LICENSE FILESDIR= ${SHAREDIR}/doc/legal FILESNAME= realtek.LICENSE Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Mon Oct 17 19:51:00 2016 (r307528) +++ head/share/man/man4/Makefile Mon Oct 17 20:38:24 2016 (r307529) @@ -433,6 +433,7 @@ MAN= aac.4 \ rp.4 \ rtwn.4 \ rtwnfw.4 \ + rtwn_pci.4 \ rue.4 \ rum.4 \ run.4 \ @@ -692,6 +693,8 @@ MLINKS+=pms.4 pmspcv.4 MLINKS+=ral.4 if_ral.4 MLINKS+=re.4 if_re.4 MLINKS+=rl.4 if_rl.4 +MLINKS+=rtwn.4 if_rtwn.4 +MLINKS+=rtwn_pci.4 if_rtwn_pci.4 MLINKS+=rue.4 if_rue.4 MLINKS+=rum.4 if_rum.4 MLINKS+=run.4 if_run.4 @@ -886,6 +889,7 @@ MAN+= \ otusfw.4 \ rsu.4 \ rsufw.4 \ + rtwn_usb.4 \ u3g.4 \ uark.4 \ uart.4 \ @@ -928,8 +932,6 @@ MAN+= \ urio.4 \ urndis.4 \ ${_urtw.4} \ - urtwn.4 \ - urtwnfw.4 \ usb.4 \ usb_quirk.4 \ usb_template.4 \ @@ -941,6 +943,7 @@ MAN+= \ MLINKS+=otus.4 if_otus.4 MLINKS+=rsu.4 if_rsu.4 +MLINKS+=rtwn_usb.4 if_rtwn_usb.4 MLINKS+=u3g.4 u3gstub.4 MLINKS+=uath.4 if_uath.4 MLINKS+=udav.4 if_udav.4 @@ -948,7 +951,6 @@ MLINKS+=upgt.4 if_upgt.4 MLINKS+=ural.4 if_ural.4 MLINKS+=urndis.4 if_urndis.4 MLINKS+=${_urtw.4} ${_if_urtw.4} -MLINKS+=urtwn.4 if_urtwn.4 .endif .include <bsd.prog.mk> Modified: head/share/man/man4/rtwn.4 ============================================================================== --- head/share/man/man4/rtwn.4 Mon Oct 17 19:51:00 2016 (r307528) +++ head/share/man/man4/rtwn.4 Mon Oct 17 20:38:24 2016 (r307529) @@ -2,6 +2,7 @@ .\" .\" Copyright (c) 2010 Damien Bergamini <damien.bergam...@free.fr> .\" Copyright (c) 2015 Stefan Sperling <s...@openbsd.org> +.\" Copyright (c) 2016 Andriy Voskoboinyk <a...@freebsd.org> .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -17,89 +18,88 @@ .\" .\" $FreeBSD$ .\" -.Dd October 28, 2015 +.Dd September 19, 2016 .Dt RTWN 4 .Os .Sh NAME .Nm rtwn -.Nd Realtek RTL8188CE PCIe IEEE 802.11b/g/n wireless network device +.Nd Realtek IEEE 802.11 wireless network driver .Sh SYNOPSIS +.Cd "options RTWN_DEBUG" +.Cd "options RTWN_WITHOUT_UCODE" +.Pp To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device rtwn" .Cd "device rtwnfw" +.Cd "device rtwn_usb" +.Cd "device rtwn_pci" .Cd "device wlan" .Cd "device firmware" .Ed .Pp Alternatively, to load the driver as a -module at boot time, place the following line in +module at boot time, place following lines in .Xr loader.conf 5 : .Bd -literal -offset indent if_rtwn_load="YES" -.Ed -.Pp -After you have read the license in -.Pa /usr/share/doc/legal/realtek.LICENSE -you will want to add the following lines to -.Xr loader.conf 5 : -.Bd -literal -offset indent -legal.realtek.license_ack=1 -rtwn-rtl8192cfwU_load="YES" -rtwn-rtl8192cfwU_B_load="YES" +if_rtwn_pci_load="YES" +if_rtwn_usb_load="YES" .Ed .Sh DESCRIPTION The .Nm -driver supports PCIe wireless network devices based on the Realtek -RTL8188CE chipset. +driver provides support for wireless network devices based on +the Realtek RTL8192C, RTL8188E, RTL8812A and RTL8821A programming APIs. +These APIs are used by a wide variety of chips; most chips with USB +and some with PCI interface are supported. +.Pp +To enable use for PCI/PCIe systems, see the rtwn_pci(4) driver; +for USB devices, use the rtwn_usb(4) driver. +.Pp +The driver supports +.Cm station , +.Cm adhoc , +.Cm hostap +and +.Cm monitor +mode operation. +There are no limitations for number of +.Cm monitor +mode +virtual interfaces; in addition to any other virtual interface +one +.Cm station +interface can be added (Note: RTL8821AU supports two non-monitor +mode interfaces at the same time). .Pp -The RTL8188CE is a highly integrated 802.11n adapter that combines a MAC, -a 1T1R capable baseband and an RF in a single chip. -It operates in the 2GHz spectrum only. -.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 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 -The -.Nm -driver can be configured to use -Wired Equivalent Privacy (WEP) or -Wi-Fi Protected Access (WPA-PSK and WPA2-PSK). -WPA is the current encryption standard for wireless networks. -It is strongly recommended that WEP -not be used as the sole mechanism -to secure wireless communication, -due to serious weaknesses in it. +All chips have hardware support for WEP, AES-CCM and TKIP encryption. .Pp The .Nm driver can be configured at runtime with .Xr ifconfig 8 . .Sh FILES -The driver needs at least version 1.0 of the following firmware files, -which are loaded when an interface is brought up: +.Bl -tag -width ".Pa /usr/share/doc/legal/realtek.LICENSE" -compact +.It Pa /usr/share/doc/legal/realtek.LICENSE +.Nm +firmware license +.El .Pp +The driver (if not compiled with +.Cd options RTWN_WITHOUT_UCODE +) may use following firmware files, which are loaded +when an interface is brought up: .Bl -tag -width Ds -offset indent -compact +.It Pa /boot/kernel/rtwn-rtl8188eufw.ko +.It Pa /boot/kernel/rtwn-rtl8192cfwE_B.ko +.It Pa /boot/kernel/rtwn-rtl8192cfwE.ko +.It Pa /boot/kernel/rtwn-rtl8192cfwT.ko .It Pa /boot/kernel/rtwn-rtl8192cfwU.ko -.It Pa /boot/kernel/rtwn-rtl8192cfwU_B.ko +.It Pa /boot/kernel/rtwn-rtl8812aufw.ko +.It Pa /boot/kernel/rtwn-rtl8821aufw.ko .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): @@ -118,48 +118,124 @@ Join a specific BSS network with 64-bit ifconfig wlan create wlandev rtwn0 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed +.Pp +Create an IBSS network with 128-bit WEP encryption on the channel 4: +.Bd -literal -offset indent +ifconfig wlan create wlandev rtwn0 wlanmode adhoc ssid my_net \e + wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 \e + channel 4 +.Ed +.Pp +Join/create an 802.11b IBSS network with network name +.Dq Li my_net : +.Bd -literal -offset indent +ifconfig wlan0 create wlandev rtwn0 wlanmode adhoc +ifconfig wlan0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \e + mode 11b +.Ed +.Pp +Create a host-based access point: +.Bd -literal -offset indent +ifconfig wlan0 create wlandev rtwn0 wlanmode hostap +ifconfig wlan0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap +.Ed +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt before booting the kernel or stored in +.Xr loader.conf 5 . +.Bl -tag -width indent +.It Va dev.rtwn.%d.hwcrypto +This tunable controls how key slots are assigned: +.br +0 - disable h/w crypto support. Features that require access +to frame contents (e.g., TCP/UDP/IP Rx checksum validation) +will not work; +.br +1 - use h/w crypto support for pairwise keys only; +.br +2 - use h/w crypto support for all keys; may not work for +multi-vap configurations. +.br +By default it is set to 1. +.It Va dev.rtwn.%d.ratectl +This tunable switches between rate control implementations: +.br +0 - no rate control; +.br +1 - driver sends 'tx complete' reports to net80211; algorithm +is controlled via net80211; +.br +2 - firmware-based rate control. +.br +By default it is set to 1; however driver may choose another +algorithm in case if it is not implemented +.br +Currently selected algorithm is reported via +.Em Va dev.rtwn.%d.ratectl_selected +read-only OID. +.El .Sh DIAGNOSTICS .Bl -diag -.It "could not read firmware %s" +.It "rtwn%d: could not read efuse byte at address 0x%x" +.It "rtwn%d: %s: cannot read rom, error %d" +There was an error while reading ROM; device attach will be aborted. +This should not happen. +.It "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. -.It "device timeout" +The driver will disable firmware-dependent features. +.It "rtwn%d: wrong firmware size (%zu)" +.It "rtwn%d: %s: failed to upload firmware %s (error %d)" +.It "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. +.It "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. .El .Sh SEE ALSO -.Xr pci 4 , +.Xr intro 4 , +.Xr netintro 4 , +.Xr rtwn_pci 4 , +.Xr rtwn_usb 4 , .Xr rtwnfw 4 , .Xr wlan 4 , +.Xr wlan_amrr 4 , .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , +.Xr wlan_xauth 4 , +.Xr hostapd 4 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY The +.Cm urtwn +driver first appeared in +.Ox 4.9 +and +.Fx 10.0 ; +the .Nm driver first appeared in .Ox 5.8 . .Sh AUTHORS The .Nm -driver was written by +driver was initially written by .An -nosplit .An Stefan Sperling Aq Mt s...@openbsd.org and ported by .An Kevin Lo Aq Mt ke...@freebsd.org . It was based on the -.Xr urtwn 4 +.Cm urtwn driver written by .An Damien Bergamini Aq Mt damien.bergam...@free.fr . -.Sh CAVEATS +.Sh BUGS The .Nm -driver does not support any of the 802.11n capabilities offered by the -adapters. -Additional work is required in -.Xr ieee80211 9 -before those features can be supported. +driver currently does not implement firmware-based rate control. Added: head/share/man/man4/rtwn_pci.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/rtwn_pci.4 Mon Oct 17 20:38:24 2016 (r307529) @@ -0,0 +1,63 @@ +.\"- +.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +.\" Copyright (c) 2016 Andriy Voskoboinyk <a...@freebsd.org> +.\" All rights reserved. +.\"" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer, +.\" without modification. +.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer +.\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +.\" redistribution must be conditioned upon including a substantially +.\" similar Disclaimer requirement for further binary redistribution. +.\" +.\" NO WARRANTY +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" THE POSSIBILITY OF SUCH DAMAGES. +.\" +.\" $FreeBSD$ +.\"/ +.Dd September 19, 2016 +.Dt RTWN_PCI 4 +.Os +.Sh NAME +.Nm rtwn_pci +.Nd "Realtek PCI device glue" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device rtwn_pci" +.Cd "device pci" +.Cd "device wlan" +.Ed +.Sh DESCRIPTION +The +.Nm +driver supports PCIe wireless network devices based on the Realtek +RTL8188CE chipset. +.Pp +The RTL8188CE is a highly integrated 802.11n adapter that combines a MAC, +a 1T1R capable baseband and an RF in a single chip. +It operates in the 2GHz spectrum only. +.Sh SEE ALSO +.Xr rtwn 4 , +.Xr rtwnfw 4 , +.Xr rtwn_usb 4 , +.Xr pci 4 +.Sh CAVEATS +Most 802.11 capabilities were turned off; some more testing +is required to re-enable them. Added: head/share/man/man4/rtwn_usb.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/rtwn_usb.4 Mon Oct 17 20:38:24 2016 (r307529) @@ -0,0 +1,111 @@ +.\"- +.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +.\" Copyright (c) 2016 Andriy Voskoboinyk <a...@freebsd.org> +.\" All rights reserved. +.\"" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer, +.\" without modification. +.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer +.\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +.\" redistribution must be conditioned upon including a substantially +.\" similar Disclaimer requirement for further binary redistribution. +.\" +.\" NO WARRANTY +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" THE POSSIBILITY OF SUCH DAMAGES. +.\" +.\" $FreeBSD$ +.\"/ +.Dd September 19, 2016 +.Dt RTWN_USB 4 +.Os +.Sh NAME +.Nm rtwn_usb +.Nd "Realtek USB device glue" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device xhci" +.Cd "device ehci" +.Cd "device uhci" +.Cd "device ohci" +.Cd "device usb" +.Cd "device rtwn_usb" +.Cd "device wlan" +.Ed +.Sh DESCRIPTION +This module provides the USB bus glue needed for the devices supported +by the +.Xr rtwn 4 +driver. +.Sh HARDWARE +The +.Nm +driver supports Realtek RTL8188CU/RTL8188RU/RTL8188EU/RTL8192CU/RTL8812AU/RTL8821AU +based USB wireless network adapters, including: +.Pp +.Bl -column -compact "Belkin F7D1102 Surf Wireless Micro" "Bus" +.It Em Card Ta Em Bus +.It "Alfa AWUS036NHR v2" Ta USB 2.0 +.It "ASUS USB-AC56" Ta USB 3.0 +.It "ASUS USB-N10 NANO" Ta USB 2.0 +.It "Belkin F7D1102 Surf Wireless Micro" Ta USB 2.0 +.It "Buffalo WI-U2-433DM" Ta USB 2.0 +.It "Buffalo WI-U3-866D" Ta USB 3.0 +.It "D-Link DWA-123 rev D1" Ta USB 2.0 +.It "D-Link DWA-125 rev D1" Ta USB 2.0 +.It "D-Link DWA-131" Ta USB 2.0 +.It "D-Link DWA-171 rev A1" Ta USB 2.0 +.It "D-Link DWA-172 rev A1" Ta USB 2.0 +.It "D-Link DWA-180 rev A1" Ta USB 2.0 +.It "D-Link DWA-182 rev C1" Ta USB 3.0 +.It "Edimax EW-7811Un" Ta USB 2.0 +.It "Edimax EW-7811UTC" Ta USB 2.0 +.It "Edimax EW-7822UAC" Ta USB 3.0 +.It "Elecom WDC-150SU2M" Ta USB 2.0 +.It "EnGenius EUB1200AC" Ta USB 3.0 +.It "Hawking HD65U" Ta USB 2.0 +.It "Hercules Wireless N USB Pico" Ta USB 2.0 +.It "I-O Data WN-AC867U" Ta USB 3.0 +.It "Linksys WUSB6300" Ta USB 3.0 +.It "NEC AtermWL900U PA-WL900U" Ta USB 3.0 +.It "Netgear A6100" Ta USB 2.0 +.It "Netgear WNA1000M" Ta USB 2.0 +.It "Planex GW-900D" Ta USB 3.0 +.It "Realtek RTL8192CU" Ta USB 2.0 +.It "Realtek RTL8188CUS" Ta USB 2.0 +.It "Sitecom WLA-7100" Ta USB 3.0 +.It "TP-Link Archer T4U" Ta USB 3.0 +.It "TP-LINK TL-WN723N v3" Ta USB 2.0 +.It "TP-LINK TL-WN725N v2" Ta USB 2.0 +.It "TRENDnet TEW-805UB" Ta USB 3.0 +.It "ZyXEL NWD6605" Ta USB 3.0 +.El +.Sh SEE ALSO +.Xr rtwn 4 , +.Xr rtwnfw 4 , +.Xr rtwn_pci 4 , +.Xr usb 4 +.Sh BUGS +The +.Nm +driver does not support any of the 802.11ac capabilities offered by the +adapters. +Additional work is required in +.Xr ieee80211 9 +before those features can be supported. Modified: head/share/man/man4/rtwnfw.4 ============================================================================== --- head/share/man/man4/rtwnfw.4 Mon Oct 17 19:51:00 2016 (r307528) +++ head/share/man/man4/rtwnfw.4 Mon Oct 17 20:38:24 2016 (r307529) @@ -1,4 +1,5 @@ .\" Copyright (c) 2015 Kevin Lo +.\" Copyright (c) 2016 Andriy Voskoboinyk .\" All rights reserved. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"