[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