CollectD Madwifi Plugin is a patch to CollectD, adding plugin for collecting statistics of Madwifi wireless driver. The patch is made against the stable version of CollectD (particularly version 4.6.2).
There are several data streams provided by Madwifi plugin, some are connected to network interface, some are connected to each node associated to that interface. Nodes represents other sides in wireless communication, for example on network interface in AP mode, there is one node for each associated station. Node data streams contain MAC address of the node as the last part of the type_instance field.
Inteface data streams: ath_nodes The number of associated nodes ath_stat Device statistic counters Node data streams: node_octets RX and TX data count (octets/bytes) node_rssi Received RSSI of the node node_tx_rate Reported TX rate to that node node_stat Node statistic counters
Both statistic counters have type instances for each counter returned by Madwifi. See madwifi.h for content of ieee80211_nodestats, ieee80211_stats and ath_stats structures. Type instances use the same name as fields in these structures (like ns_rx_dup). Some fields are not reported, because they are not counters (like ns_tx_deauth_code or ast_tx_rssi). Fields ns_rx_bytes and ns_tx_bytes are reported as node_octets data stream instead of type instance of node_stat. Statistics are not logged when they are zero.
There are two sets of these counters - the first 'WatchList' is a set of counters that are individually logged. The second 'MiscList' is a set of counters that are summed together and the sum is logged. By default, the most important statistics are in the WatchList and many error statistics are in MiscList. There are also many statistics that are not in any of these sets, so they are not monitored by default. It is possible to alter these lists using configuration options:
WatchAdd X Adds X to WachList WatchRemove X Removes X from WachList WatchSet All Adds all statistics to WatchList WatchSet None Removes all statistics from WachList
There are also Misc* variants fo these options, they modifies MiscList instead of WatchList.
Example: WatchSet None WatchAdd node_octets WatchAdd node_rssi WatchAdd is_rx_acl WatchAdd is_scan_active
That causes that just the four mentioned data streams are logged.
By default, madwifi plugin enumerates network interfaces using /sys filesystem. Configuration option DisableSysfs can change this to use /proc filesystem (which is useful for example when running on Linux 2.4). But without /sys filesystem, Madwifi plugin cannot check whether given interface is madwifi interface and there are private ioctls used, which may do something completely different on non-madwifi devices. Therefore, option DisableSysfs should be used together with option Interface, to limit found interfaces to madwifi interfaces only.