summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
index 7362f14..d462488 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
@@ -47,24 +47,31 @@ int card_into_monitormode (pcap_t **orighandle, char *device, int cardtype)
{
char wlanngcmd[62];
snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "%s %s lnxreq_wlansniff channel=1 enable=true", WLANCTL_PATH, device);
if (system(wlanngcmd) != 0)
{
wl_logerr("Could not set %s in raw mode, check cardtype", device);
return 0;
}
}
else if (cardtype == CARD_TYPE_HOSTAP)
{
wl_logerr("Got a host-ap card, nothing is implemented now");
+ char hostapcmd[250];
+ snprintf(hostapcmd, sizeof(hostapcmd) -1, "%s %s monitor 2", IWPRIV_PATH, device);
+ if (system(hostapcmd) !=0)
+ {
+ wl_logerr("Could not set %s in raw mode, check cardtype", device);
+ return 0;
+ }
}
return 1;
}
/* Set card into promisc mode */
int card_set_promisc_up (const char *device)
{
char ifconfigcmd[48];
int retval=0;
snprintf(ifconfigcmd, sizeof(ifconfigcmd) - 1, SBIN_PATH, device);