FreeWTP -- An Open Source CAPWAP WTP
Go to file
Holger Winkelmann 6681f5800a Removed AC inn the libev statement
The freeWP project is just about the the CAPWAP WTP part. The Source for the AC component has been removed.
2016-08-25 09:04:45 +02:00
docs First commit 2013-05-01 14:52:55 +02:00
etc fork SmartCAWPAP as FreeWTP 2016-08-23 08:55:15 +02:00
kmod rename kernel modules to wtp.ko 2016-08-23 09:18:16 +02:00
lib fork SmartCAWPAP as FreeWTP 2016-08-23 08:55:15 +02:00
m4 Add m4 folder 2013-05-01 15:00:11 +02:00
openwrt package: add luci-app-freewtp 2016-08-24 13:02:22 +02:00
src move kmod to top level directory 2016-08-23 09:08:46 +02:00
.gitignore Add .gitignore (based on .hgignore) 2015-01-22 10:19:38 +01:00
.hgignore Fix fragment error 2014-09-21 11:20:35 +02:00
AUTHORS update README 2016-03-07 15:20:19 +01:00
COPYING upgrade version to v1.1.0 2016-03-07 15:40:32 +01:00
ChangeLog The capwap data channel migrated from userspace to kernalspace 2014-09-10 21:58:23 +02:00
INSTALL update README 2016-03-07 15:20:19 +01:00
LICENSE First commit 2013-05-01 14:52:55 +02:00
LICENSING fork SmartCAWPAP as FreeWTP 2016-08-23 08:55:15 +02:00
Makefile.am fork SmartCAWPAP as FreeWTP 2016-08-23 08:55:15 +02:00
NEWS The capwap data channel migrated from userspace to kernalspace 2014-09-10 21:58:23 +02:00
NEWS.md prepare v1.4.0 release 2016-08-23 08:55:15 +02:00
README.md Removed AC inn the libev statement 2016-08-25 09:04:45 +02:00
configure.ac fork SmartCAWPAP as FreeWTP 2016-08-23 08:55:15 +02:00

README.md

README

RFC-5415 and RFC-5416 compliant CAPWAP WTP implementation.

This project started as a fork of SmartCAPWAP, but has since dropped the AC part on focuses on WTP functionality only (hence the new name).

STATUS

NOTE: The WTP implementation has been ported to libev

WTP tested and working features:

Only cards with cfg80211 netlink API are supported. The following devices have been tested:

  • Atheros AR9280 (Compex WLE200NX)
  • Mediatek MT7602E, MT7612E (ZBT WG2626, ALL-WR1200AC_WRT)

Planned WTP features:

  • WPA2 Enterprise
  • 802.11r - BSS fast transition
  • Hybrid-MAC (RFC-7494)

INSTALLATION

Requirements

NOTE: To run WTP you must have a wireless card that has Linux driver based on the Generic IEEE 802.11 Networking Stack (mac80211).

  • Linux 4.4 or newer
  • automake 1.9 or newer
  • autoconf
  • libconfig-dev
  • libjson0-dev
  • libnl-dev
  • libev-dev
  • libtool
  • libxml2-dev
  • wolfssl 3.8 or newer

Build

WolfSSL:

./configure --enable-dtls --enable-ipv6 --enable-aesgcm \
            --enable-aesccm --enable-aesni --enable-poly1305 \
            --enable-ecc --enable-ecc25519 --enable-chacha \
            --enable-supportedcurves --enable-dh --enable-psk \
            --disable-des3 --disable-arc4 --prefix=/usr/
make
make install

FreeWTP:

autoreconf -f -i
./configure --disable-ac
make
make install

Debugging / Traceing

The smartcapwap kernel module defines a number of static ftrace events. For a detailed guide on how to use those, see: https://www.kernel.org/doc/Documentation/trace/ftrace.txt

A sample trace session might lock like this:

echo 1 > /sys/kernel/debug/tracing/events/capwap/enable

echo 1 > /sys/kernel/debug/tracing/tracing_on

cat /sys/kernel/debug/tracing/trace_pipe

          <...>-890   [000] ...1 12030.725012: sc_capwap_create:  session:9e04b10c75b3c6537da18d38da5bc70d
          <...>-890   [000] ...1 12030.725048: sc_capwap_sendkeepalive:  session:9e04b10c75b3c6537da18d38da5bc70d
          <...>-890   [000] ...1 12030.725052: sc_capwap_createkeepalive:  session:9e04b10c75b3c6537da18d38da5bc70d
          <...>-890   [000] ...1 12030.725053: sc_capwap_send:  session:9e04b10c75b3c6537da18d38da5bc70d
    ksoftirqd/0-3     [000] ..s1 12030.727270: sc_capwap_parsingpacket:  session:9e04b10c75b3c6537da18d38da5bc70d skb:ffff8802306c8900
            wtp-890   [001] ...1 12060.764008: sc_capwap_sendkeepalive:  session:9e04b10c75b3c6537da18d38da5bc70d
            wtp-890   [001] ...1 12060.764530: sc_capwap_createkeepalive:  session:9e04b10c75b3c6537da18d38da5bc70d
            wtp-890   [001] ...1 12060.764637: sc_capwap_send:  session:9e04b10c75b3c6537da18d38da5bc70d
         <idle>-0     [000] ..s2 12060.787527: sc_capwap_parsingpacket:  session:9e04b10c75b3c6537da18d38da5bc70d skb:ffff8800b8a85900
            wtp-890   [001] ...1 12082.953847: sc_capwap_resetsession:  session:9e04b10c75b3c6537da18d38da5bc70d
            wtp-890   [001] ...1 12082.954005: sc_capwap_close:  session:9e04b10c75b3c6537da18d38da5bc70d
            wtp-890   [001] ...1 12082.954130: sc_capwap_freesession:  session:9e04b10c75b3c6537da18d38da5bc70d

echo 0 > /sys/kernel/debug/tracing/tracing_on