Annotation of wikisrc/Testing_new_wifi.mdwn, revision 1.1
1.1 ! wiki 1: There is a project in progress to adapt the latest FreeBSD wifi stack for NetBSD.
! 2:
! 3: This stack introduces the concept of a virtual access point (VAP) and requires changes to the way wifi networks are configured.
! 4:
! 5: Currently there are no pre-build binary sets, so first task is to check out the wifi topic from hg and build it.
! 6:
! 7: At this point a full build will not work (due to unconverted drivers), but you can do something along the lines of:
! 8:
! 9: build.sh -m ${arch} -V MKRUMP=no sets
! 10:
! 11: to build the sets, and then create you own kernel configuration or add a GENERIC.local file and exclude the non buildable drivers.
! 12:
! 13: There is a custom kernel sys/arch/amd64/conf/SEVEN_WIFI that can be used as a template for amd64 kernels. Here is an example of a GENERIC.local for evbarm GENERIC kernels:
! 14:
! 15: no athn*
! 16: no bwfm*
! 17: no atu*
! 18: no otus*
! 19: no rum*
! 20: no run*
! 21: no upgt*
! 22: no ural*
! 23: no urtw*
! 24: no zyd*
! 25:
! 26: After building userland sets and kernel install both (preferably on a secondary disk or a netboot environment, as this is not fully functional yet).
! 27:
! 28: After booting into the new system you will notice that no wlan devices show up in ifconfig -a output. Instead you can see the wlan devices in sysctl output:
! 29:
! 30: # sysctl net.wlan
! 31: net.wlan.debug = 0
! 32: net.wlan.devices = urtwn0
! 33:
! 34: Now you can create a VAP (called wlan0) by doing:
! 35:
! 36: # ifconfig wlan0 create wlandev urtwn0
! 37:
! 38: This VAP shows up in sysctl output:
! 39:
! 40: # sysctl net.wlan
! 41: net.wlan.debug = 0
! 42: net.wlan.devices = urtwn0
! 43: net.wlan.wlan0.parent = urtwn0
! 44: net.wlan.wlan0.driver_caps = 629194753
! 45: net.wlan.wlan0.debug = 0
! 46: net.wlan.wlan0.bmiss_max = 2
! 47: net.wlan.wlan0.inact_run = 300
! 48: net.wlan.wlan0.inact_probe = 30
! 49: net.wlan.wlan0.inact_auth = 180
! 50: net.wlan.wlan0.inact_init = 30
! 51: net.wlan.wlan0.ampdu_mintraffic_bk = 128
! 52: net.wlan.wlan0.ampdu_mintraffic_be = 64
! 53: net.wlan.wlan0.ampdu_mintraffic_vo = 32
! 54: net.wlan.wlan0.ampdu_mintraffic_vi = 32
! 55: net.wlan.wlan0.force_restart = 0
! 56:
! 57: and you can further configure it with ifconfig
! 58:
! 59: # ifconfig wlan0 up
! 60: # ifconfig wlan0 list scan
! 61: SSID BSSID CHAN RATE S:N INT CAPS
! 62: aprisoft e0:28:6d:59:cb:90 1 54M 94:0 100 EPS WME WPA RSN
! 63:
! 64:
! 65: This sounds a bit strange at first sight, but multiple networks (one per VAP) for a single radio do make sense. Here is the original paper describing the design: [FreeBSD wireless BSDCan 2005](https://www.bsdcan.org/2005/papers/FreeBSDWirelessNetwokringSupport.pdf)
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb