summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
Unidiff
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 )
112 // setup GUI 112 // setup GUI
113 113
114 connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) ); 114 connect( button, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) );
115 button->setEnabled( false ); 115 // button->setEnabled( false );
116 netview->setColumnWidthMode( 1, QListView::Manual ); 116 netview->setColumnWidthMode( 1, QListView::Manual );
117 117
118 if ( manufacturerdb ) 118 if ( manufacturerdb )
@@ -235,11 +235,28 @@ void Wellenreiter::buttonClicked()
235 system( "killall orinoco_hopper" ); 235 system( "killall orinoco_hopper" );
236 system( "killall wellenreiterd" ); 236 system( "killall wellenreiterd" );
237 237
238 // FIXME: reset the card trying to get into a usable state again 238 // get configuration from config window
239 239
240 // for now, just message the user 240 const QString& interface = configwindow->interfaceName->currentText();
241 const QString& cardtype = configwindow->deviceType->currentText();
242 const QString& interval = configwindow->hopInterval->cleanText();
243
244 // reset the card trying to get into a usable state again
245
246 QString cmdline;
247 cmdline.sprintf( "iwpriv %s monitor 1", (const char*) interface );
248 system( cmdline );
249 cmdline.sprintf( "iwpriv %s monitor 1 6", (const char*) interface );
250 system( cmdline );
251 cmdline.sprintf( "ifconfig %s -promisc", (const char*) interface );
252 system( cmdline );
253 cmdline.sprintf( "killall -14 dhcpcd" );
254 system( cmdline );
255 cmdline.sprintf( "killall -10 udhcpc" );
256
257 // message the user
241 258
242 QMessageBox::information( this, "Wellenreiter/Opie", "You should reset your\ndevice before using it again." ); 259 QMessageBox::information( this, "Wellenreiter/Opie", "Your wireless card\nshould now be usable again." );
243 } 260 }
244 261
245 else 262 else
@@ -265,7 +282,6 @@ void Wellenreiter::buttonClicked()
265 /* Global::Execute definitely does not work very well with non-gui stuff! :( */ 282 /* Global::Execute definitely does not work very well with non-gui stuff! :( */
266 283
267 QString cmdline; 284 QString cmdline;
268
269 cmdline.sprintf( "iwpriv %s monitor 2", (const char*) interface ); 285 cmdline.sprintf( "iwpriv %s monitor 2", (const char*) interface );
270 system( cmdline ); 286 system( cmdline );
271 cmdline.sprintf( "iwpriv %s monitor 2 1", (const char*) interface ); 287 cmdline.sprintf( "iwpriv %s monitor 2 1", (const char*) interface );