summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-02-23 19:04:50 (UTC)
committer mickeyl <mickeyl>2004-02-23 19:04:50 (UTC)
commit7206bf5ae8a9940a9c30a9dc3dd3cb663e64874b (patch) (side-by-side diff)
treef48e9183a4ffcb9d9bc4c448f79c6f424ac4a387
parent4f8be1658bc82040bac404aa98fe70c24239f10c (diff)
downloadopie-7206bf5ae8a9940a9c30a9dc3dd3cb663e64874b.zip
opie-7206bf5ae8a9940a9c30a9dc3dd3cb663e64874b.tar.gz
opie-7206bf5ae8a9940a9c30a9dc3dd3cb663e64874b.tar.bz2
The Orinoco (and Symbol/Spectrum) driver recently got the monitor mode
patch applied. It uses the WE15 IW_MODE_MONITOR. Fix OOrinocoMonitoringInterface to work with recent Orinoco drivers
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp
index 36f409b..915814d 100644
--- a/libopie2/opienet/onetwork.cpp
+++ b/libopie2/opienet/onetwork.cpp
@@ -1176,50 +1176,53 @@ void OHostAPMonitoringInterface::setEnabled( bool b )
QString OHostAPMonitoringInterface::name() const
{
return "hostap";
}
/*======================================================================================
* OOrinocoNetworkInterface
*======================================================================================*/
OOrinocoMonitoringInterface::OOrinocoMonitoringInterface( ONetworkInterface* iface, bool prismHeader )
:OMonitoringInterface( iface, prismHeader )
{
iface->setMonitoring( this );
}
OOrinocoMonitoringInterface::~OOrinocoMonitoringInterface()
{
}
void OOrinocoMonitoringInterface::setChannel( int c )
{
- int monitorCode = _prismHeader ? 1 : 2;
- _if->setPrivate( "monitor", 2, monitorCode, c );
+ if ( !_if->hasPrivate( "monitor" ) )
+ {
+ this->OMonitoringInterface::setChannel( c );
+ }
+ else
+ {
+ int monitorCode = _prismHeader ? 1 : 2;
+ _if->setPrivate( "monitor", 2, monitorCode, c );
+ }
}
void OOrinocoMonitoringInterface::setEnabled( bool b )
{
- // IW_MODE_MONITOR was introduced in Wireless Extensions Version 15
- // Wireless Extensions < Version 15 need iwpriv commandos for monitoring
- // However, as of recent orinoco drivers, IW_MODE_MONITOR is still not supported
-
if ( b )
{
setChannel( 1 );
}
else
{
_if->setPrivate( "monitor", 2, 0, 0 );
}
}
QString OOrinocoMonitoringInterface::name() const
{
return "orinoco";
}