summaryrefslogtreecommitdiff
path: root/libopie2/opienet/onetwork.cpp
Unidiff
Diffstat (limited to 'libopie2/opienet/onetwork.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp
index 45ee4c0..767651e 100644
--- a/libopie2/opienet/onetwork.cpp
+++ b/libopie2/opienet/onetwork.cpp
@@ -590,12 +590,18 @@ int OWirelessNetworkInterface::channel() const
590 } 590 }
591} 591}
592 592
593 593
594void OWirelessNetworkInterface::setChannel( int c ) const 594void OWirelessNetworkInterface::setChannel( int c ) const
595{ 595{
596 if ( c )
597 {
598 qWarning( "OWirelessNetworkInterface::setChannel( 0 ) called - fix your application!" );
599 return;
600 }
601
596 if ( !_mon ) 602 if ( !_mon )
597 { 603 {
598 memset( &_iwr, 0, sizeof( struct iwreq ) ); 604 memset( &_iwr, 0, sizeof( struct iwreq ) );
599 _iwr.u.freq.m = c; 605 _iwr.u.freq.m = c;
600 _iwr.u.freq.e = 0; 606 _iwr.u.freq.e = 0;
601 wioctl( SIOCSIWFREQ ); 607 wioctl( SIOCSIWFREQ );
@@ -936,13 +942,13 @@ void OWlanNGMonitoringInterface::setChannel( int c )
936 //NOTE: Older wlan-ng drivers automatically hopped channels while lnxreq_wlansniff=true. Newer ones don't. 942 //NOTE: Older wlan-ng drivers automatically hopped channels while lnxreq_wlansniff=true. Newer ones don't.
937 943
938 QString enable = "true"; //_if->monitorMode() ? "true" : "false"; 944 QString enable = "true"; //_if->monitorMode() ? "true" : "false";
939 QString prism = _prismHeader ? "true" : "false"; 945 QString prism = _prismHeader ? "true" : "false";
940 QString cmd; 946 QString cmd;
941 cmd.sprintf( "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=%s prismheader=%s", 947 cmd.sprintf( "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=%s prismheader=%s",
942 (const char*) _if->name(), c+1, (const char*) enable, (const char*) prism ); 948 (const char*) _if->name(), c, (const char*) enable, (const char*) prism );
943 system( cmd ); 949 system( cmd );
944} 950}
945 951
946 952
947/*====================================================================================== 953/*======================================================================================
948 * OHostAPMonitoringInterface 954 * OHostAPMonitoringInterface
@@ -1012,14 +1018,16 @@ void OOrinocoMonitoringInterface::setChannel( int c )
1012 1018
1013 1019
1014void OOrinocoMonitoringInterface::setEnabled( bool b ) 1020void OOrinocoMonitoringInterface::setEnabled( bool b )
1015{ 1021{
1016 // IW_MODE_MONITOR was introduced in Wireless Extensions Version 15 1022 // IW_MODE_MONITOR was introduced in Wireless Extensions Version 15
1017 // Wireless Extensions < Version 15 need iwpriv commandos for monitoring 1023 // Wireless Extensions < Version 15 need iwpriv commandos for monitoring
1024 // However, as of recent orinoco drivers, IW_MODE_MONITOR is still not supported
1018 1025
1019 #if WIRELESS_EXT > 14 1026 #if 0
1027 //#if WIRELESS_EXT > 14
1020 if ( b ) 1028 if ( b )
1021 _if->setMode( "monitor" ); // IW_MODE_MONITOR doesn't support prism header 1029 _if->setMode( "monitor" ); // IW_MODE_MONITOR doesn't support prism header
1022 else 1030 else
1023 _if->setMode( "managed" ); 1031 _if->setMode( "managed" );
1024 #else 1032 #else
1025 if ( b ) 1033 if ( b )