dhalperi / linux-80211n-csitool-supplementary

802.11n CSI Tool based on iwlwifi and Linux-2.6
http://dhalperi.github.com/linux-80211n-csitool/
195 stars 128 forks source link

where is the code that calculates the original CSI matrix in the project? #98

Closed lidongmeng closed 9 years ago

lidongmeng commented 9 years ago

@dhalperi When I read the paper"Tool Release: Gathering 802.11n Traces with Channel State Information", I found in the part of "HOW IT WORKS" that "Our firmware modifications enable an Intel debug mode that records CSI for each correctly received 802.11n packet and sends it up to the kernel driver on the host computer. The driver in turn passes the CSI to a user-space program for processing". As it says, your firmware modifications enable the Intel debug mode that records CSI, but I can not found the code in the csi-tool(as u see, the code is too much), so can u tell me which file should I read in the project. Thank u very much!

dpward commented 9 years ago

The source code to the firmware is not available; see FAQ 9.

lidongmeng commented 9 years ago

@dpward Oh, it is really a pity! I think when u modify the firmware, u must read something about CSI,( for example, the standard specification about CSI). As I am not familiar with the region, I can not find the paper about how CSI is specified, so could u give me some suggestion or paper name about CSI?Thank u very much!

dpward commented 9 years ago

See the links on the home page: you should certainly read the tool release announcement and you may also want to read the SIGCOMM 2010 paper.

You can also refer to the IEEE 802.11-2012 standard itself (this includes the 802.11n amendment and is freely available). Section 20.3.12.3 describes how the CSI matrix Heff is measured, and Table 8-45 lists the subcarriers that are measured.

lidongmeng commented 9 years ago

@dpward Thank u very much!

dhalperi commented 9 years ago

This computation is not in the firmware, it's in hardware. The firmware is basically a hardware "driver" more than anything else.

@dpward I feel like we (you, these days) spend a lot of time re-hashing FAQ entries. Any suggestions? Also feel free to update them.

lidongmeng commented 9 years ago

@dhalperi In other word, the hardward receives the packet from the TX, and then decodes the packet and computes the CSI values, then the firmwire extracts the csi values and sends them to the kernel space, then the userspace? am I right?

dhalperi commented 9 years ago

The firmware doesn't even extract the CSI values. The firmware just asks the hardware to put the computed CSI values into the buffer that goes to the kernel.