-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,24 +1,21 @@ /*************************************************************************/ /* 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 = ===================== @@ -31,26 +28,42 @@ 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, 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 @@ -111,9 +111,9 @@ 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 ) netview->setManufacturerDB( manufacturerdb ); @@ -234,13 +234,30 @@ 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(); - QMessageBox::information( this, "Wellenreiter/Opie", "You should reset your\ndevice before using it again." ); + // 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", "Your wireless card\nshould now be usable again." ); } else { @@ -264,9 +281,8 @@ 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 ); |