#!/bin/bash

# dmesg (Linux-3.3.3)
# e_n_a (/etc/network/interfaces)
# ifconfig output
# iwconfig output
# iw_phy output
# ps_axu (WPA) output

devs="wlan0 wlan1"
apmac=00:14:d1:e8:65:0a

loudly () {
    echo "# $@"
    fname=`echo $@ | sed -e 's/ /-/g'`
    $@ 2> $fname-err | tee $fname
    [ $? != 0 ] && echo non-zero exit on $fname: $?
    [ -s $fname-err ] || rm $fname-err
}

( iw --debug event -f > iw-event-f )&
pid_event=$!

for N in 0 1 ; do
    loudly iw dev wlan$N interface add fish$N type monitor # flags none
    loudly iw dev fish$N set channel 8
    loudly ifconfig fish$N up
    ( tcpdump -i fish$N -s 65000 -p -U -w  fish$N.dump )&
    pid_dump_fish$N=$!
done

loudly iw list

#loudly iwspy	
# gives: Interface doesn't support wireless statistic collection

for dev in $devs ; do
    loudly ifconfig $dev
    loudly iwconfig $dev
    loudly iwlist $dev scan
    loudly iw dev $dev info
    loudly iw dev $dev link
    loudly iw dev $dev scan
    loudly iw dev $dev survey dump
done

for phy in $phys ; do
    loudly iw phy $phy info
done

# these are unsupported on wlan0
loudly iw dev wlan1 survey dump
loudly iw dev wlan1 station dump
loudly iw dev wlan1 station get $apmac


for N in 0 1 ; do
    loudly iw dev fish$N del
done

kill $pid_dump_fish0 $pid_dump_fish0
kill $pid_event

dmesg > dmesg

grep -vE '^#|key' /etc/network/interfaces > e_n_a

exit

