seemoo-lab / nexmon_csi

Channel State Information Extraction on Various Broadcom Wi-Fi Chips
302 stars 121 forks source link

Core & spatial stream issues while capturing on Asus RT-AC86U #187

Open smazokha opened 3 years ago

smazokha commented 3 years ago

Hello again,

As I mentioned before, thank you very much for your awesome work on this project!

This time, I come back with a question after attempting to collect CSI measurements using Asus RT-AC68U router on 5 GHz, channel 36, 40 MHz bandwidth. I attempted injecting frames (in my case, probe requests) using both Raspberry Pi 4B+ (using Nexmon) and using an Alfa sniffer.

On the receiver (Asus router with AsusWRT-Merlin firmware), I used the following settings:

makecsiparams -c 36/40 -C 15 -N 15 -m 11:22:33:44:55:66

In both cases, I was able to capture frames on the router, but for some reason, I am only catching probes on core 0 and spatial streams 0, 2, 1, 3.

The Asus RT-AC86U has 4 antennas (3 external & one internal), Raspberry Pi 4B+ has 1 antenna, and the Alfa sniffer has 2 antennas.

So, having these conditions, shouldn't I be seeing 4 cores and 8 spatial streams (Alfa transmitter) or 4 spatial streams (Raspberry transmitter)?

Perhaps I am missing certain settings in the Router's admin panel? Has anyone seen similar issues?

Thank you in advance for your help!

quantumhub commented 3 years ago

The spatial stream number is always smaller than or equal to the mumber of antenna at transmitter/injector. Raspberry Pi 4B+ has 1 antenna, and the Alfa sniffer has 2 antennas. And ac86u has 4 rx chains. So, you should get CSI with MIMO size of 1x4 or 2x4 (Ntx x Nrx) in your described setup. Hope this answer helps you:)