HW TIMESTAMPING(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… HW TIMESTAMPING πŸ’…

okay so this one is straight out of the Kernel API Manual, section 9 β€” HW timestamping, aka the page that explains how your driver tells mac80211 exactly when a thing happened. Iconic behaviour honestly, because timing is literally the whole point. ⏱️✨


πŸŽ€ DESCRIPTION πŸŽ€

Timing Measurement and Fine Timing Measurement require accurate timestamps of the action frames TX/RX and their respective acks. That's the vibe check the whole page is built on β€” no accurate timestamp, no FTM, periodt. πŸ’€

To report hardware timestamps for Timing Measurement or Fine Timing Measurement frame RX, the low level driver should set the SKB's hwtstamp field to the frame RX timestamp and report the ack TX timestamp in the ieee80211_rx_status struct.

Similarly, to report hardware timestamps for Timing Measurement or Fine Timing Measurement frame TX, the driver should set the SKB's hwtstamp field to the frame TX timestamp and report the ack RX timestamp in the ieee80211_tx_status struct.

bestie pls notice how it flips πŸ™ˆ β€” RX on the frame means the ack timestamp goes in ieee80211_rx_status, and TX on the frame means the ack timestamp goes in ieee80211_tx_status. Yes, they mirror each other. Yes, it's giving symmetry. πŸ’…

🌈 SEE ALSO 🌈

okay so this list is lowkey a whole syllabus 😭 but i promised not to skip a single one, so here's every single reference, in the exact order it appears, no cap:


and that's the whole page bestie 🫢 source is ./include/net, dated October 2026, and it's filed under HW timestamping(9) in the Kernel API Manual β€” go set that hwtstamp field and slay πŸ’–πŸ¦‹β­

πŸ“¦ where this page comes from