summaryrefslogtreecommitdiff
authormax <max>2003-02-11 00:29:37 (UTC)
committer max <max>2003-02-11 00:29:37 (UTC)
commitd426759d470699bd4320b23660f19dae639293d6 (patch) (side-by-side diff)
treee9a0ff886e1b241d920e87ae3115594412a427e3
parent0af800b30845a0d3df8be9db5c11c06fd81386e7 (diff)
downloadopie-d426759d470699bd4320b23660f19dae639293d6.zip
opie-d426759d470699bd4320b23660f19dae639293d6.tar.gz
opie-d426759d470699bd4320b23660f19dae639293d6.tar.bz2
Wlan-ng chanswitch
Diffstat (more/less context) (ignore 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
@@ -40,18 +40,19 @@ int card_into_monitormode (pcap_t **orighandle, char *device, int cardtype)
}
fputs ("Mode: r",CISCO_CONFIG_FILE);
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;
}
}
else if (cardtype == CARD_TYPE_HOSTAP)
{
@@ -156,19 +157,19 @@ int card_set_promisc_up (const char *device)
close(fd);
return 0;
}
}
/* 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;
//Wireless tools structure for the iocalls
struct iwreq ireq;
@@ -194,23 +195,12 @@ int card_set_channel (const char *device, int channel, int cardtype)
else
{
/* 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;
}