summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-01-04 17:18:59 (UTC)
committer mickeyl <mickeyl>2003-01-04 17:18:59 (UTC)
commit68400748895ca7c54ad312afdfe830150d53a801 (patch) (side-by-side diff)
treeef9e4c85fb8aac71b613af9766e5ca6c4bd58f51
parent059caec066275d75501471a49c5465fe4def59cf (diff)
downloadopie-68400748895ca7c54ad312afdfe830150d53a801.zip
opie-68400748895ca7c54ad312afdfe830150d53a801.tar.gz
opie-68400748895ca7c54ad312afdfe830150d53a801.tar.bz2
Try to gracefully shut down the card after sniffing... this is a temporary
hack until the colleagues implement this in libwellenreiter...
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/README27
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp26
2 files changed, 41 insertions, 12 deletions
diff --git a/noncore/net/wellenreiter/README b/noncore/net/wellenreiter/README
index c04d30c..af2e611 100644
--- a/noncore/net/wellenreiter/README
+++ b/noncore/net/wellenreiter/README
@@ -1,26 +1,23 @@
/*************************************************************************/
/* W e l l e n r e i t e r I I */
/* =============================== */
/* */
-/* Version: Opie-ALPHA */
+ /* Version: Opie-ALPHA-January */
/*************************************************************************/
--------------------------------------------------
-Release Notes for Opie-ALPHA Version December 2002
+Release Notes for Opie-ALPHA Version January 2002
--------------------------------------------------
=====================
= Supported Devices =
=====================
* low-level orinoco_cs-based (including prism2 and spectrum_cs)
-* Supported Interfaces: wlan0 (yes, I know this is hardcoded and
- lame, but we're in a hurry and this can be configured soon...)
-
=====================
= Build =
=====================
To compile Wellenreiter within the Opie build environment, add the
following directories to $OPIEDIR/Makefile, e.g. to 'NONAPPS='
@@ -29,30 +26,46 @@ noncore/net/wellenreiter/libwellenreiter \
noncore/net/wellenreiter/daemon \
noncore/net/wellenreiter/contrib/orinoco_hopper \
noncore/net/wellenreiter/gui
./configure and rebuild. Note that you need libpcap in your toolchain.
+To compile Wellenreiter within the OZ build environment, add the
+following lines to $OPIEDIR/packages
+CONFIG_WELLENREITER noncore/net/wellenreiter/libwellenreiter libwellenreiter.pro
+CONFIG_WELLENREITER noncore/net/wellenreiter/daemon daemon.pro
+CONFIG_WELLENREITER noncore/net/wellenreiter/gui gui.pro
+CONFIG_WELLENREITER noncore/net/wellenreiter/contrib/orinoco_hopper orinoco_hopper.pro
+
+make -f Makefile.test clean-configs
+cd <BUILDROOT>
+make SUBDIRS=packages/opie package
+
=====================
= Install =
=====================
Alternatively, you can use our precompiled ipk. Get it from
-http://opie.net.wox.org/elan/current. You will also need libpcap.
+http://opie.net.wox.org/wellenreiter/current/. This also includes a recent libpcap.
=====================
= Run =
=====================
+There are two possible modes: <Manual> and <Automatic>. I suggest, you
+start with the <Automatic> Mode. This works just using the "Start"
+and "Stop" Pushbuttons in the Wellenreiter GUI. If this doesn't work,
+then use the following strategy:
+
1. Place card in monitor mode. This is device dependent.
Caution: Don't do this while you're logged in via ssh
or otherwise using the wireless interface - your connection
will freeze: The card can't be used normally when sniffing!
- For most orinoco-based cards this can be done using
+ For most orinoco-based cards this can be done using either
'iwpriv <interface> 2' or 'iwpriv <interface> 2 1'.
You can check if this works, by calling 'ifconfig <interface>'.
If you see 'Protocol: UNSPEC' and an unusual long MAC-Address,
then your card has been successfully set to the monitor mode.
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index b22c5cc..4ee9a35 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -109,13 +109,13 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
connect( sn, SIGNAL( activated( int ) ), this, SLOT( dataReceived() ) );
}
// setup GUI
connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) );
- button->setEnabled( false );
+ // button->setEnabled( false );
netview->setColumnWidthMode( 1, QListView::Manual );
if ( manufacturerdb )
netview->setManufacturerDB( manufacturerdb );
}
@@ -232,17 +232,34 @@ void Wellenreiter::buttonClicked()
// Stop daemon - ugly for now... later better
system( "killall orinoco_hopper" );
system( "killall wellenreiterd" );
- // FIXME: reset the card trying to get into a usable state again
+ // get configuration from config window
- // for now, just message the user
+ const QString& interface = configwindow->interfaceName->currentText();
+ const QString& cardtype = configwindow->deviceType->currentText();
+ const QString& interval = configwindow->hopInterval->cleanText();
+
+ // reset the card trying to get into a usable state again
+
+ QString cmdline;
+ cmdline.sprintf( "iwpriv %s monitor 1", (const char*) interface );
+ system( cmdline );
+ cmdline.sprintf( "iwpriv %s monitor 1 6", (const char*) interface );
+ system( cmdline );
+ cmdline.sprintf( "ifconfig %s -promisc", (const char*) interface );
+ system( cmdline );
+ cmdline.sprintf( "killall -14 dhcpcd" );
+ system( cmdline );
+ cmdline.sprintf( "killall -10 udhcpc" );
+
+ // message the user
- QMessageBox::information( this, "Wellenreiter/Opie", "You should reset your\ndevice before using it again." );
+ QMessageBox::information( this, "Wellenreiter/Opie", "Your wireless card\nshould now be usable again." );
}
else
{
logwindow->log( "(i) Daemon has been started." );
@@ -262,13 +279,12 @@ void Wellenreiter::buttonClicked()
}
// set interface into monitor mode
/* Global::Execute definitely does not work very well with non-gui stuff! :( */
QString cmdline;
-
cmdline.sprintf( "iwpriv %s monitor 2", (const char*) interface );
system( cmdline );
cmdline.sprintf( "iwpriv %s monitor 2 1", (const char*) interface );
system( cmdline );
// start channel hopper