WLAN NIC timestamp

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=3958

Addanc

14-06-2007 16:29:40

With respect to the rt2x00 series of WLAN NIC; is the hardware capable of a timestamp resolution better/finer than 1uS. Please note I am not asking whether the driver supports such a resolution.

Cheers

<edit>
Looking through the driver code a sixty-four bit timestamp for received frames is derived from registers TXRX_CSR12 and TXRX_CSR13; presumably this is a snap shot of the MAC time when the frame was recieved. Can anybody confirm above statement?

I cannot find any code in the driver making an interpretation of above derived timestamp, it appears to be shunted around from structure to structure; is it a standard 1uS resolution?
</edit>

vincent1212

02-11-2007 03:37:07

I was looking at the same thing. (in the rt73 driver) The problem as I see it is the function in sync.c that can read those TSF registers can't be called from within interrupt context and all of the packet processing take place in interrupt context so you are basically SOL there. If you wait until after you leave interrupt context obviously the timestamp's accuracy won't be very good.

Ideally the timestamp would be passed in the RXINFO header that gets tacked onto the top of every frame that comes from the hardware. This is how the Atheros chips do it. There are 4 bytes in the 2571 driver labeled as "time" but it says that it isn't used in that firmware revision. There is also 4 bytes labeled "reserved" in the rt73 driver that could be used for such a purpose if the hardware supported it. I have a feeling you would need a firmware revision to make this happen. Id be interested to know anyone elses thoughts on this though. Esp where the rt2x00 driver will be getting it's radiotap timestamp from. I haven't been able to find much about that.