open-sdr / openwifi

open-source IEEE 802.11 WiFi baseband FPGA (chip) design: driver, software
GNU Affero General Public License v3.0
3.68k stars 627 forks source link

packet rate modification #319

Open nandongnan opened 1 year ago

nandongnan commented 1 year ago

Hello! I'm exploring the possibility of using openwifi for sensing, and I found that about 7 packets can be received per second, which seems to be insufficient for sensing. Modifying the MCS did not work either. I didn't find a way to change the packet rate. Is there a way to modify the packet rate here?Thanks!

JiaoXianjun commented 11 months ago

how do you transmit the packet? did you try: https://github.com/open-sdr/openwifi/blob/master/doc/app_notes/inject_80211.md

nandongnan commented 10 months ago

Yes, I use the inject function to inject packets, and another device running openwifi can monitor the packets. I also made a preliminary attempt under the CSI radar function.Whether there is a device connected to the openwifi, according to the timestamp, it can be seen that the packet rate is about 0.1 second per packet. I would like to ask how to change the packet rate under the CSI radar function?

JiaoXianjun commented 10 months ago

You could consider methods other than our current examples, if you fully understand the full flow from Linux user space to the FPGA. Possibilities:

  1. Do some FPGA sequencer logic to change the FIR settings in FPGA ( could be triggered by your newly defined registers). This should be the fastest way.

  2. Consider access the CSI fuzzer/FIR register via C code as in this example: https://github.com/open-sdr/openwifi/tree/master/user_space/fast_reg_log . this could be faster than our current CSI fuzzer example.

nandongnan commented 10 months ago

Thank you for your suggestion. When I use a device running openwifi to inject packets through the inject function, and the other one is in monitor mode to capture CSI, I found that when the interval between sending packets is 1 ms or 10 ms or less, Openwifi can't capture every packet accurately through the curved timestamp line , even if you use side_ch_ctl g0, there will also be packet loss. Is this normal?

JiaoXianjun commented 10 months ago

Yes. It is possible. Side channel work’s asynchronously with baseband.