This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

MAC Timestamp measurement Unit

1

Hi guys, Hope you can help me with this one :

We have this 9-digits MAC Timestamp in the Radio Header Section, what is the measurement unit for that? Wireshark defines it as "Value in microseconds of the MAC's Time Synchronizations Function timer when the first bit of the MPDU arrived at the MAC" but I kind of not sure about that. Does it mean it took like about 974538712 usec for a Packet to reach my WLAN card? or The unit is somehow not directly Microseconds and some how needs conversion.

Thank you in advance,

A.G

asked 03 Jan '12, 02:08

AminGho's gravatar image

AminGho
51448
accept rate: 0%


One Answer:

2

The MAC timestamp field in radiotap headers is as defined by radiotap.org; the Wireshark definition directly quotes the radiotap spec. The timing synchronization function is discussed by the Wikipedia page for it. It has nothing to do with the time it takes for the packet to reach your WLAN card over the air - there's just a timer, running with microsecond resolution, in all stations, and the time stamp value represents the value of the timer at the time the first bit of the MAC-layer packet arrived at the card. You can't use it to determine much in the way of useful timing information for a single packet.

See section 11 of the IEEE 802.11-2007 specification for more details.

answered 03 Jan '12, 18:17

Guy%20Harris's gravatar image

Guy Harris ♦♦
17.4k335196
accept rate: 19%

Thanks Harris, Actually I read most of these pages before and that's exactly why I posted this question, cuz I am confused about the definitions. The fact is it's not clear to me what is this 9-Digit number. If you don't mind please answer my questions below to help me make it clear :

1- This 9-digit number it's not Microsecond so We can not say 978654345 usec! Right?

2-Is it Time Tick? base on Wikipedia TSF is based on 1-Mhz Clock and "ticks" in Microseconds. Does this mean each tick is equal to 1usec? if It's a tick they gotta be a way to convert it to a more understandable unit like millisecond or microsecond.

Thank you in advance.

(06 Jan '12, 06:27) AminGho
1

This 9-digit number it's not Microsecond so We can not say 978654345 usec! Right?

Wrong. It is microseconds, as per the 802.11 spec. It's only 978.654345 seconds, which is substantially less than an hour, and I certainly hope your Wi-Fi access point, for example, can keep running for at least that long.

base on Wikipedia TSF is based on 1-Mhz Clock and "ticks" in Microseconds. Does this mean each tick is equal to 1usec?

Yes. Each tick is 1 microsecond - that's what a 1 MHz clock does (1 megahertz = 1 million per second = each one is a millionth of a second, i.e. a microsecond).

(06 Jan '12, 11:57) Guy Harris ♦♦

Thanks a lot Harris, It's way more clear now. One more thing, when the timer reaches 999999999 does it go back to 000000000 or it goes to 10-digits and so on? And is this true that the 000000000 state is when the WLAN card just started and connected to an AP or an ad-hoc?

Once again thanks a lot for your great help. I really appreciate it.

(06 Jan '12, 23:24) AminGho
1

The timer is a binary timer, so 999999999 is not a special value - it's just 0x000000003B9AC9FF - so its decimal display value would go to 10 digits. (It's a 64-bit timer, so it's not going to roll over as a binary timer any time soon.)

I don't see anything obvious in section 11 of the 802.11 spec to say what value the TSF timer has before a STA has seen any beacons. If it doesn't specify, they probably, in practice, would start at 0.

(07 Jan '12, 11:51) Guy Harris ♦♦

Thank you very much again. You explained it great. I will try the zero state and I will let you know if that's the case. I might come back with more question regarding this. Thanks again for your great help.

(08 Jan '12, 05:34) AminGho