author | mickeyl <mickeyl> | 2003-01-04 17:18:59 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-01-04 17:18:59 (UTC) |
commit | 68400748895ca7c54ad312afdfe830150d53a801 (patch) (side-by-side diff) | |
tree | ef9e4c85fb8aac71b613af9766e5ca6c4bd58f51 | |
parent | 059caec066275d75501471a49c5465fe4def59cf (diff) | |
download | opie-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...
-rw-r--r-- | noncore/net/wellenreiter/README | 27 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 26 |
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 |