summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
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 /noncore/net/wellenreiter/gui/wellenreiter.cpp
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 (limited to 'noncore/net/wellenreiter/gui/wellenreiter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp26
1 files changed, 21 insertions, 5 deletions
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
@@ -112,7 +112,7 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
// setup GUI
connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) );
- button->setEnabled( false );
+ // button->setEnabled( false );
netview->setColumnWidthMode( 1, QListView::Manual );
if ( manufacturerdb )
@@ -235,11 +235,28 @@ void Wellenreiter::buttonClicked()
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
@@ -265,7 +282,6 @@ void Wellenreiter::buttonClicked()
/* 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 );