[kismac] Re: [binaervarianz] r212 - in branches/usb-drivers/Sources: Driver/USBJack WaveDrivers

  • From: Dominique Bünzli <dominique.buenzli@xxxxxxxxx>
  • To: kismac@xxxxxxxxxxxxx
  • Date: Wed, 18 Oct 2006 22:59:15 +0200

Hello,
Thanks for your email. If you need some beta testing, you can contact me.
However, I am not a developper so sorry cannot help more than that !
Bye
Dominique
Le 18 oct. 06 à 22:12, Geoffrey Kruse a écrit :


This is a known issue, injecting packets is not yet supported on these devices.

Geoff
On Oct 18, 2006, at 1:12 PM, Dominique Bünzli wrote:

Hello,
Thanks with build 212 it is not hanging anymore. With your advice (unloading the official Ralink driver) I was able to scan with my D-Link G122 Rev B !
However each time I tried to deauthenticate or reinject packets the application was crashing.
Attached is the crash log file.


<log.txt>
Le 18 oct. 06 à 19:44, svn@xxxxxxxxxxxxxxxx a écrit :

Author: gkruse
Date: 2006-10-18 19:43:58 +0200 (Wed, 18 Oct 2006)
New Revision: 212

Modified:
branches/usb-drivers/Sources/Driver/USBJack/IntersilJack.mm
branches/usb-drivers/Sources/Driver/USBJack/RT73Jack.mm
branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm
branches/usb-drivers/Sources/Driver/USBJack/USBJack.h
branches/usb-drivers/Sources/Driver/USBJack/USBJack.mm
branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.mm
Log:
Some small cleanup to not hang if the usb device is in use or can't be opened


Modified: branches/usb-drivers/Sources/Driver/USBJack/ IntersilJack.mm
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/IntersilJack.mm 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/Driver/USBJack/IntersilJack.mm 2006-10-18 17:43:58 UTC (rev 212)
@@ -109,8 +109,11 @@
WLHardwareAddress macAddr;
int i;


+    if(!_attachDevice()){
+        NSLog(@"Device could not be opened");
+        return kIOReturnNoDevice;
+    }

-    _attachDevice();
     _firmwareType = -1;

     for (i = 0; i< wlResetTries; i++) {

Modified: branches/usb-drivers/Sources/Driver/USBJack/RT73Jack.mm
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/RT73Jack.mm 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/Driver/USBJack/RT73Jack.mm 2006-10-18 17:43:58 UTC (rev 212)
@@ -10,15 +10,16 @@
#include "RT73.h"


 IOReturn RT73Jack::_init() {
-    unsigned long      Index;
        unsigned long   temp;
        unsigned int    i;
-       unsigned char   Value = 0xff;
     IOReturn   ret;
        
        NICInitialized = false;

-    _attachDevice();
+    if(!_attachDevice()){
+        NSLog(@"Device could not be opened");
+        return kIOReturnNoDevice;
+    }

        // Wait for hardware stable

@@ -82,7 +83,7 @@
        }
 */

-       return kIOReturnSuccess;
+       return ret;
 }

 IOReturn       RT73Jack::RTUSB_VendorRequest(UInt8 direction,

Modified: branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm 2006-10-18 17:43:58 UTC (rev 212)
@@ -17,7 +17,10 @@
unsigned int i;
IOReturn ret;


-    _attachDevice();
+    if(!_attachDevice()){
+        NSLog(@"Device could not be opened");
+        return kIOReturnNoDevice;
+    }

        NSLog(@"--> NICInitializeAsic");


Modified: branches/usb-drivers/Sources/Driver/USBJack/USBJack.h
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/USBJack.h 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/Driver/USBJack/USBJack.h 2006-10-18 17:43:58 UTC (rev 212)
@@ -93,7 +93,7 @@
IOReturn _configureAnchorDevice(IOUSBDeviceInterface **dev);
IOReturn _findInterfaces(IOUSBDeviceInterface **dev);


- void _attachDevice();
+ bool _attachDevice();
static void _addDevice(void *refCon, io_iterator_t iterator);
static void _handleDeviceRemoval(void *refCon, io_iterator_t iterator);
static void _interruptRecieved(void *refCon, IOReturn result, int len);


Modified: branches/usb-drivers/Sources/Driver/USBJack/USBJack.mm
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/USBJack.mm 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/Driver/USBJack/USBJack.mm 2006-10-18 17:43:58 UTC (rev 212)
@@ -796,7 +796,7 @@
return kr;
}


-void USBJack::_attachDevice() {
+bool USBJack::_attachDevice() {
     kern_return_t              kr;
     IOUSBDeviceInterface    **dev;

@@ -812,7 +812,7 @@
                 NSLog(@"unable to open device: %08x\n", kr);
             }
             (*dev)->Release(dev);
-            return;
+            return false;
         }

         kr = _configureAnchorDevice(dev);
@@ -820,7 +820,7 @@
             NSLog(@"unable to configure device: %08x\n", kr);
             (*dev)->USBDeviceClose(dev);
             (*dev)->Release(dev);
-            return;
+            return false;
         }

kr = _findInterfaces(dev);
@@ -828,13 +828,14 @@
NSLog(@"unable to find interfaces on device: %08x \n", kr);
(*dev)->USBDeviceClose(dev);
(*dev)->Release(dev);
- return;
+ return false;
}


         kr = (*dev)->USBDeviceClose(dev);
         kr = (*dev)->Release(dev);

     }
+    return true;
 }

 void USBJack::_addDevice(void *refCon, io_iterator_t iterator) {

Modified: branches/usb-drivers/Sources/WaveDrivers/ WaveDriverUSBIntersil.mm
===================================================================
--- branches/usb-drivers/Sources/WaveDrivers/ WaveDriverUSBIntersil.mm 2006-10-17 06:32:44 UTC (rev 211)
+++ branches/usb-drivers/Sources/WaveDrivers/ WaveDriverUSBIntersil.mm 2006-10-18 17:43:58 UTC (rev 212)
@@ -69,7 +69,9 @@
return Nil;
}


-    _driver->_init();
+    if(_driver->_init() != kIOReturnSuccess)
+        return Nil;
+
        _errors = 0;
        
     return self;






Other related posts: