[kismac] [binaervarianz] r172 - in branches/usb-drivers: KisMAC.xcodeproj Sources/Driver/USBJack Sources/WaveDrivers

  • From: svn@xxxxxxxxxxxxxxxx
  • To: kismac@xxxxxxxxxxxxx
  • Date: Sun, 27 Aug 2006 08:55:14 +0200

Author: gkruse
Date: 2006-08-27 08:55:07 +0200 (Sun, 27 Aug 2006)
New Revision: 172

Modified:
   branches/usb-drivers/KisMAC.xcodeproj/project.pbxproj
   branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.h
   branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm
   branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.h
   branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.mm
Log:
RaLink Driver: this is most of the io functions we are going to need.  It still 
doesn't do anything yet

Modified: branches/usb-drivers/KisMAC.xcodeproj/project.pbxproj
===================================================================
--- branches/usb-drivers/KisMAC.xcodeproj/project.pbxproj       2006-08-27 
05:53:14 UTC (rev 171)
+++ branches/usb-drivers/KisMAC.xcodeproj/project.pbxproj       2006-08-27 
06:55:07 UTC (rev 172)
@@ -465,6 +465,7 @@
                6C541AAB0A72002F00B58A95 /* growl-ap-revealed.png in Resources 
*/ = {isa = PBXBuildFile; fileRef = 6C541AA80A72002F00B58A95 /* 
growl-ap-revealed.png */; };
                6C541AAC0A72003000B58A95 /* growl-wpa-challenge.png in 
Resources */ = {isa = PBXBuildFile; fileRef = 6C541AA90A72002F00B58A95 /* 
growl-wpa-challenge.png */; };
                6C541AAD0A72003000B58A95 /* growl-wpa-response.png in Resources 
*/ = {isa = PBXBuildFile; fileRef = 6C541AAA0A72002F00B58A95 /* 
growl-wpa-response.png */; };
+               6C7171D20AA1739700CD6879 /* rt2570.h in Headers */ = {isa = 
PBXBuildFile; fileRef = 6C7171D10AA1739700CD6879 /* rt2570.h */; };
                6CA3BCCB09B2A58F00DCB407 /* Accelerate.framework in Frameworks 
*/ = {isa = PBXBuildFile; fileRef = 6CA3BCCA09B2A58F00DCB407 /* 
Accelerate.framework */; };
                6CE20615C5B043AF00A26C3A /* IntersilJack.h in Headers */ = {isa 
= PBXBuildFile; fileRef = 6CE2060FC5B043AF00A26C3A /* IntersilJack.h */; };
                6CE20616C5B043AF00A26C3A /* IntersilJack.mm in Sources */ = 
{isa = PBXBuildFile; fileRef = 6CE20610C5B043AF00A26C3A /* IntersilJack.mm */; 
};
@@ -816,6 +817,7 @@
                6C541AA80A72002F00B58A95 /* growl-ap-revealed.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; path = 
"growl-ap-revealed.png"; sourceTree = "<group>"; };
                6C541AA90A72002F00B58A95 /* growl-wpa-challenge.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; path = 
"growl-wpa-challenge.png"; sourceTree = "<group>"; };
                6C541AAA0A72002F00B58A95 /* growl-wpa-response.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; path = 
"growl-wpa-response.png"; sourceTree = "<group>"; };
+               6C7171D10AA1739700CD6879 /* rt2570.h */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = 
rt2570.h; sourceTree = "<group>"; };
                6CA3BCCA09B2A58F00DCB407 /* Accelerate.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; 
sourceTree = "<absolute>"; };
                6CE2060FC5B043AF00A26C3A /* IntersilJack.h */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = 
IntersilJack.h; path = USBJack/IntersilJack.h; sourceTree = "<group>"; };
                6CE20610C5B043AF00A26C3A /* IntersilJack.mm */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; 
name = IntersilJack.mm; path = USBJack/IntersilJack.mm; sourceTree = "<group>"; 
};
@@ -1458,6 +1460,7 @@
                                6CE20612C5B043AF00A26C3A /* structs.h */,
                                6CE20613C5B043AF00A26C3A /* USBJack.h */,
                                6CE20614C5B043AF00A26C3A /* USBJack.mm */,
+                               6C7171D10AA1739700CD6879 /* rt2570.h */,
                                6CE206E6C5B0502200A26C3A /* RalinkJack.h */,
                                6CE206E7C5B0502200A26C3A /* RalinkJack.mm */,
                        );
@@ -1642,6 +1645,7 @@
                                6CE20618C5B043AF00A26C3A /* structs.h in 
Headers */,
                                6CE20619C5B043AF00A26C3A /* USBJack.h in 
Headers */,
                                6CE206E8C5B0502200A26C3A /* RalinkJack.h in 
Headers */,
+                               6C7171D20AA1739700CD6879 /* rt2570.h in Headers 
*/,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };

Modified: branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.h
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.h    2006-08-27 
05:53:14 UTC (rev 171)
+++ branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.h    2006-08-27 
06:55:07 UTC (rev 172)
@@ -9,6 +9,7 @@
 
 #import <Cocoa/Cocoa.h>
 #include "USBJack.h"
+#include "rt2570.h"
 
 class RalinkJack: public USBJack
 {
@@ -20,10 +21,24 @@
                             UInt8 bRequest, 
                             UInt16 wValue, 
                             UInt16 wIndex, 
-                            UInt16 wLength, 
-                            void *pData, 
-                            UInt32 wLenDone );
+                            void *pData,
+                            UInt16 wLength);
     
+    IOReturn RTUSBSingleRead(unsigned short    Offset,
+                             unsigned short    * pValue);
+    
+    IOReturn   RalinkJack::RTUSBSingleWrite(unsigned short     Offset,
+                                             unsigned short Value);
+    
+    IOReturn    RTUSBWriteMACRegister(unsigned short Offset,
+                                      unsigned short Value);
+    
+    IOReturn   RTUSBReadMACRegister(unsigned short Offset,
+                                     unsigned short * pValue);
+    
+    IOReturn   RTUSBReadBBPRegister(unsigned char Id,
+                                     unsigned char * pValue);
+    
 private:
         int temp;
 };

Modified: branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm
===================================================================
--- branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm   2006-08-27 
05:53:14 UTC (rev 171)
+++ branches/usb-drivers/Sources/Driver/USBJack/RalinkJack.mm   2006-08-27 
06:55:07 UTC (rev 172)
@@ -13,11 +13,10 @@
                         UInt8 bRequest, 
                         UInt16 wValue, 
                         UInt16 wIndex, 
-                        UInt16 wLength, 
-                        void *pData, 
-                        UInt32 wLenDone ) {
+                        void *pData,
+                        UInt16 wLength) {
     
-    int ret;
+    IOReturn ret;
     
        if (!_devicePresent)
        {
@@ -31,17 +30,113 @@
         theRequest->bRequest = bRequest;
         theRequest->wValue = wValue; 
         theRequest->wIndex = wIndex; 
-        theRequest->wLength = wLength; 
         theRequest->pData = pData;
-        theRequest->wLenDone = wLenDone; 
+        theRequest->wLength = wLength;
         
         ret = (*_interface)->ControlRequest(_interface, 0, theRequest);
         
+        if (theRequest->wLenDone < wLength) {
+            NSLog(@"WTF, we didn't seem to write the whole request?");
+        }
+        
     }
        return ret;    
 }
 
+IOReturn RalinkJack::RTUSBSingleRead(unsigned short Offset,
+                                     unsigned short * pValue)
+{
+       IOReturn        Status;
+    
+       Status = RTUSB_VendorRequest(kUSBIn,
+                                 0x3,
+                                 0,
+                                 Offset,
+                                 pValue,
+                                 2);
+       return Status;
+}
 
+IOReturn       RalinkJack::RTUSBSingleWrite(unsigned short     Offset,
+                                         unsigned short Value)
+{
+       IOReturn        Status;
+       
+       Status = RTUSB_VendorRequest(
+                                 kUSBOut,
+                                 0x2,
+                                 Value,
+                                 Offset,
+                                 NULL,
+                                 0);   
+       return Status;
+}
+
+IOReturn RalinkJack::RTUSBWriteMACRegister(unsigned short Offset,
+                                  unsigned short Value)
+{
+       IOReturn Status;
+       if (Offset == TXRX_CSR2)
+        NSLog(@" !!!!!set Rx control = %x\n", Value);
+    
+       Status = RTUSB_VendorRequest(
+                                 kUSBOut,
+                                 0x2,
+                                 Value,
+                                 Offset + 0x400,
+                                 NULL,
+                                 0);   
+       return Status;
+}
+
+IOReturn       RalinkJack::RTUSBReadMACRegister(unsigned short Offset,
+                                             unsigned short * pValue)
+{
+       IOReturn Status;
+       
+       Status = RTUSB_VendorRequest(kUSBIn,
+                                 0x3,
+                                 0,
+                                 Offset + 0x400,
+                                 pValue,
+                                 2);   
+       return Status;
+}
+
+IOReturn       RalinkJack::RTUSBReadBBPRegister(unsigned char Id,
+                                 unsigned char * pValue)
+{
+       PHY_CSR7_STRUC  PhyCsr7;
+       unsigned short                  temp;
+       unsigned int                    i = 0;
+    
+       PhyCsr7.value                           = 0;
+       PhyCsr7.field.WriteControl      = 1;
+       PhyCsr7.field.RegID             = Id;
+       RTUSBWriteMACRegister(PHY_CSR7, PhyCsr7.value);
+       
+       do
+       {
+               RTUSBReadMACRegister(PHY_CSR8, &temp);
+               if (!(temp & BUSY))
+                       break;
+               i++;
+       }
+       while (i < RETRY_LIMIT);
+    
+       if (i == RETRY_LIMIT)
+       {
+               NSLog(@"Retry count exhausted or device removed!!!\n");
+               return kIOReturnNotResponding;
+       }
+    
+       RTUSBReadMACRegister(PHY_CSR7, (unsigned short *)&PhyCsr7);
+       *pValue = (unsigned char)PhyCsr7.field.Data;
+       
+       return kIOReturnSuccess;
+}
+
+
 RalinkJack::RalinkJack() {
     _isEnabled = false;
     _deviceInit = false;

Modified: branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.h
===================================================================
--- branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.h    
2006-08-27 05:53:14 UTC (rev 171)
+++ branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.h    
2006-08-27 06:55:07 UTC (rev 172)
@@ -25,10 +25,10 @@
 
 #import <Foundation/Foundation.h>
 #import "WaveDriver.h"
-#import "../Driver/USBIntersilJack/USBIntersil.h"
+#import "../Driver/USBJack/IntersilJack.h"
 
 @interface WaveDriverUSBIntersil : WaveDriver {
-    USBIntersilJack *_driver;
+    USBJack *_driver;
     
     //stuff for timed sending
     float           _interval;

Modified: branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.mm
===================================================================
--- branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.mm   
2006-08-27 05:53:14 UTC (rev 171)
+++ branches/usb-drivers/Sources/WaveDrivers/WaveDriverUSBIntersil.mm   
2006-08-27 06:55:07 UTC (rev 172)
@@ -33,7 +33,7 @@
     self=[super init];
     if(!self) return Nil;
 
-    _driver = new USBIntersilJack;
+    _driver = new USBJack;
     _driver->startMatching();
     
        _errors = 0;
@@ -129,7 +129,7 @@
 }
 
 - (bool) wakeDriver{
-    _driver = new USBIntersilJack;
+    _driver = new USBJack;
     _driver->startMatching();
     return YES;
 }
@@ -139,14 +139,14 @@
 - (WLFrame*) nextFrame {
     WLFrame *f;
     
-    f = _driver->receiveFrame();
+   // f = _driver->receiveFrame();
     if (f==NULL) {
                _errors++;
         if (_packets && _driver) {
                        if (_errors < 3) {
                                NSLog(@"USB receiveFrame failed - attempting to 
reload driver");
                                delete _driver;
-                               _driver = new USBIntersilJack;
+                               _driver = new USBJack;
                                _driver->startMatching();
                        } else {
                                NSLog(@"Excessive errors received - terminating 
driver");


Other related posts:

  • » [kismac] [binaervarianz] r172 - in branches/usb-drivers: KisMAC.xcodeproj Sources/Driver/USBJack Sources/WaveDrivers