summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
Side-by-side diff
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
@@ -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