[CUWiN-Dev] question about HSLS

David Young dyoung at pobox.com
Mon Apr 27 18:21:12 CDT 2009


On Tue, Mar 17, 2009 at 06:28:18PM -0500, David Young wrote:
> On Tue, Mar 17, 2009 at 05:25:40PM +0900, ??? wrote:
> > Thanks to your advice, I've got etx values like below. But a strange thing
> > is that the values are sometimes much larger than the average, for example
> > 554 or 1369.
> > Actually I put two nodes closely (about 1 meter distant) using a clear
> > channel of 11a, and ran HSLS only these two nodes. And I assumed that real
> > etx values are calculated by dividing the etx values obtained by 256 as
> > following two links suggest. (actually they are slightly different in
> > calculation)
> 
> Divide the ETX figures by 256 to get the real value.
> 
> There may still be packet loss at 1 meter, however, an ETX of
> 470 does seem rather high.
> 
> I suggest collecting a trace of all HSLS packets on both nodes with
> TCPDump, and see if all packets transmitted by one node are actually
> received by the other.
> 
> There may be a bug in ETX.

Too much time has past between making the change, below, and committing
it, for me to remember the details.  I think that the change may fix a
bug that may affect you.

Dave

On Mon, Apr 27, 2009 at 06:16:25PM -0500, dyoung at cuw.ojctech.com wrote:
> Author: dyoung
> Date: 2009-04-27 18:16:25 -0500 (Mon, 27 Apr 2009)
> New Revision: 5067
> 
> Modified:
>    cuw/trunk/src/etx/etx_pkt.c
> Log:
> Fix defects in the extraction/comparison of beacon-interval exponents.
> 
> 
> 
> Modified: cuw/trunk/src/etx/etx_pkt.c
> ===================================================================
> --- cuw/trunk/src/etx/etx_pkt.c	2009-04-27 23:12:30 UTC (rev 5066)
> +++ cuw/trunk/src/etx/etx_pkt.c	2009-04-27 23:16:25 UTC (rev 5067)
> @@ -78,8 +78,8 @@
>  	}
>  
>  	eh->eh_ival_mantissa = hival.u & ETX_EINTVL_MANTISSA_MASK;
> -	hival.u >>= 11;
> -	eh->eh_ival_exponent = hival.i;
> +	hival.u &= ~ETX_EINTVL_MANTISSA_MASK;
> +	eh->eh_ival_exponent = hival.i / (1 << 11);
>  
>  	return end;
>  }
> @@ -96,8 +96,8 @@
>  	} intvl;
>  
>  	if (intvl_mantissa > (UINT16_MAX >> 5) ||
> -	    (intvl_exponent << 11) < INT16_MIN ||
> -	    (intvl_exponent << 11) > INT16_MAX) {
> +	    intvl_exponent < (INT16_MIN / (1 << 11)) ||
> +	    intvl_exponent > (INT16_MAX / (1 << 11))) {
>  		LOGLIB_LOG(&log_etx_pkt, "%s: beacon interval out of range",
>  		    __func__);
>  		errno = EINVAL;
> 
> _______________________________________________
> CU-Wireless-Commits mailing list
> CU-Wireless-Commits at cuwireless.net
> http://lists.chambana.net/cgi-bin/listinfo/cu-wireless-commits


-- 
David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933


More information about the CU-Wireless-Dev mailing list