> Please get stuff from 
> 
> http://download.meego.com/live/home:/inaky:/pegatron-idf-2010/Fedora_13/
> 
> [there are sources in there too]
> 
> it's a pre-release, not still fully tested yet, but it more or less
> works:
> 
> - wpa_supplicant patches are against 0.7.2
> 
> - wimaxd is 1.5.1, with many cleanups (compile and build for 
>    different arches along with libeap0 >= 0.7) [this is also in the
>    daemon's git tree]
> 
> Next week I'll do a formal release as soon as I have the chance to do
> more testing on different hardware.
> 
> Paul, that release of the daemon fixes some of the issues you fixed in
> the patch you just submitted. Sorry for the collision.

I'm attaching an updated patch for 1.5.1 with some additional fixes.

Using this patch and the latest code, I'm able to get a bit further.  wimaxcu 
and wimax_monitor both now work, and I'm able to scan for networks:

$ wimaxcu scan

Network found.
NSP : CLEAR
        ID          : 2
        Signal      : Excellent
        RSSI        : -45 dBm
        CINR        : 35 dB
        Network Type: Home Network
        Activated

Network found.
NSP : SPRINT
        ID          : 47
        Signal      : Excellent
        RSSI        : -45 dBm
        CINR        : 35 dB
        Network Type: Home Network
        Activated

Network found.
NSP : Comcast
        ID          : 48
        Signal      : Excellent
        RSSI        : -45 dBm
        CINR        : 35 dB
        Network Type: Home Network
        Activated

Network found.
NSP : Time Warner Cable 4G
        ID          : 51
        Signal      : Excellent
        RSSI        : -45 dBm
        CINR        : 35 dB
        Network Type: Home Network
        Activated
$

However, I still can't actually connect:
$ wimaxcu connect network 2
Connecting to CLEAR Network...
Connection Fail: time out
$
diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h
--- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h	2010-10-02 22:54:04.000000000 -0400
+++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/BitmanCommon.h	2010-10-02 22:54:45.000000000 -0400
@@ -67,6 +67,10 @@
 #define MASK_1 (0xFFFFFFFFFFFFFFFF)
 #define MASK_2 (0xFFFFFFFFFFFFFFFE)
 #define MASK_4 (0xFFFFFFFFFFFFFFFC)
+#elif __x86_64__
+#define MASK_1 (0xFFFFFFFFFFFFFFFF)
+#define MASK_2 (0xFFFFFFFFFFFFFFFE)
+#define MASK_4 (0xFFFFFFFFFFFFFFFC)
 #else
 #define MASK_1 (0xFFFFFFFF)
 #define MASK_2 (0xFFFFFFFE)
diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h
--- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h	2010-10-02 22:54:04.000000000 -0400
+++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L4Common/SourceControl/CommonTypes.h	2010-10-02 22:55:23.000000000 -0400
@@ -91,6 +91,8 @@
 /// when you need to hold both a pointer and a number
 #ifdef WIN64
 typedef UINT64 POINTER_AND_UINT;
+#elif __x86_64__
+typedef UINT64 POINTER_AND_UINT;
 #else
 typedef UINT POINTER_AND_UINT;
 #endif
diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c
--- wimax-1.5.1.orig//InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c	2010-10-02 22:54:04.000000000 -0400
+++ wimax-1.5.1/InfraStack/OSAgnostic/Common/L5Common/L5CommonUtils.c	2010-10-02 22:58:35.000000000 -0400
@@ -182,7 +182,7 @@
 
 	result = l5_common_utils_ActuallySendMessage( Socket, pMessage );
 
-	TRACE(TR_MOD_SERVICE, TR_SEV_NOTICE, "Result of ActuallySendMessage is %d %d", result);
+	TRACE(TR_MOD_SERVICE, TR_SEV_NOTICE, "Result of ActuallySendMessage is %d", result);
 
 	return result;
 }
diff -Naur wimax-1.5.1.orig//InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c wimax-1.5.1/InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c
--- wimax-1.5.1.orig//InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c	2010-10-02 22:54:04.000000000 -0400
+++ wimax-1.5.1/InfraStack/OSAgnostic/Product/AppSrvInfra/L5SocketsDispatcher.c	2010-10-02 22:58:24.000000000 -0400
@@ -61,7 +61,8 @@
 	L5_CONNECTION L5Conn;			// Can be NULL before handshake
 
 	// Is this an active slot?
-	BOOL bActive;
+	// Updated using OSAL_atomic_exchange, so this must be a LONG not a BOOL
+	LONG bActive;
 
 	// Connections from both sides
 	SOCKETS_CLIENT_ID Socket;
@@ -702,7 +703,7 @@
 	// XXX SEH error handling
 	OSAL_init_critical_section( &(pConn->csSendReceive) );
 	OSAL_init_critical_section( &(pConn->csHandlingRequest) );
-	OSAL_atomic_exchange( (LPLONG)&(pConn->bActive), TRUE );
+	OSAL_atomic_exchange( &(pConn->bActive), TRUE );
 
 	*context = pConn;
 
@@ -1034,7 +1035,7 @@
 			L5_DISPATCHER_Disconnect( pConn->L5Conn );
 		}
 
-		OSAL_atomic_exchange( (LPLONG)&(pConn->bActive), FALSE );
+		OSAL_atomic_exchange( &(pConn->bActive), FALSE );
 
 		OSAL_exit_critical_section( &(pConn->csHandlingRequest) );
 		OSAL_delete_critical_section(&pConn->csSendReceive);
diff -Naur wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h
--- wimax-1.5.1.orig//InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h	2010-10-02 22:54:04.000000000 -0400
+++ wimax-1.5.1/InfraStack/OSDependent/Linux/OSAL/Primitives/wimax_osal_basictypes.h	2010-10-02 22:57:10.000000000 -0400
@@ -39,6 +39,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <sys/stat.h>
+#include <pthread.h>
 
 #if 0
 #include <sys/socket.h>
@@ -90,7 +91,7 @@
 
 typedef int pid_t;
 
-typedef int OSAL_thread_t;
+typedef pthread_t OSAL_thread_t;
 
 typedef void * OSAL_event_t;
 
_______________________________________________
wimax mailing list
[email protected]
http://lists.linuxwimax.org/listinfo/wimax

Reply via email to