-
Hello team, How do I capture CSI frames? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
I know it isn't much detailed, I'm a bit busy these day, but here are some quick pointers.
Set your transmitter Pi to transmit in channel 36 at 40 MHz, then use makecsiparams and generate a configuration string. makecsiparams has to be compiled with
This tries to capture all packets coming from your transmitter Pi, if you need only some packets, use the Then follow the readme and setup CSI collection. Use tcpdump to collect packets, the packets contain CSI in them, and store them as pcap. I have a script that does most of the work for you, and some documentation here: https://github.com/nexmonster/nexmon_csi/tree/pi-5.4.51
There is a matlab script in the utils folder, but if you want to use Python, use this: https://github.com/nexmonster/nexmon_csi/tree/feature/python/utils/python I'm planning to release it as a separate tool, but till then, you can use this. You can also use CSIkit by @Gi-z.
Whichever file you write to with
Depends on how you want to use the CSI values. You will probably have to figure this out on your own. Make sure you're using a supported kernel version. The latest version is not supported yet, so if you download the latest raspberry os, it won't work. Link to the latest raspberry os with a supported kernel is in my fork: https://github.com/nexmonster/nexmon_csi/tree/pi-5.4.51 |
Beta Was this translation helpful? Give feedback.
I know it isn't much detailed, I'm a bit busy these day, but here are some quick pointers.
Set your transmitter Pi to transmit in channel 36 at 40 MHz, then use makecsiparams and generate a configuration string.
makecsiparams -c 36/40 -C 1 -N 1
makecsiparams has to be compiled with
make
, it's inutils/makecsiparams
.makecsiparams -c 36/40 -C 1 -N 1
captures CSI of ALL packets going on channel 36, to capture only packets from your Pi, use the -m flag with transmitter Pi's mac address (usage in readme)This tries to capture all packets coming from your transmitter Pi, if you need only some packets, use the
-b
flag and filter by frames first byteThen follow th…