summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc18
1 files changed, 4 insertions, 14 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
index 29dcc75..8c94cb1 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
@@ -42,14 +42,15 @@ int card_into_monitormode (pcap_t **orighandle, char *device, int cardtype)
fputs ("Mode: y",CISCO_CONFIG_FILE);
fputs ("XmitPower: 1",CISCO_CONFIG_FILE);
fclose(CISCO_CONFIG_FILE);
}
else if (cardtype == CARD_TYPE_NG)
{
- char wlanngcmd[62];
+ char wlanngcmd[80];
snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=true", device, 1);
+ printf ("\n %s",wlanngcmd);
if (system(wlanngcmd) != 0)
{
wl_logerr("Could not set %s in raw mode, check cardtype", device);
return 0;
}
}
@@ -158,15 +159,15 @@ int card_set_promisc_up (const char *device)
}
}
/* Set channel (Wireless frequency) of the device */
int card_set_channel (const char *device, int channel, int cardtype)
{
- if (cardtype == CARD_TYPE_CISCO)
+ if (cardtype == CARD_TYPE_CISCO || cardtype == CARD_TYPE_NG)
{
- /* Cisco cards don't need channelswitching */
+ /* Cisco and wlan-ng drivers don't need channelswitching */
return 1;
}
/* If it is a lucent orinocco card */
else if (cardtype == CARD_TYPE_ORINOCCO || cardtype == CARD_TYPE_HOSTAP)
{
int fd;
@@ -196,21 +197,10 @@ int card_set_channel (const char *device, int channel, int cardtype)
/* iocall does not work */
close(fd);
wl_logerr("Could not set channel %d on %s, check cardtype",channel, device);
return 0;
}
}
- else if (cardtype == CARD_TYPE_NG)
- {
- char wlanngcmd[62];
- snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=true", device, channel);
- if (system(wlanngcmd) != 0)
- {
- wl_logerr("Could not set channel %d on %s, check cardtype",channel, device);
- return 0;
- }
-
- }
/* For undefined situations */
return 0;
}