mirror of
https://github.com/open-sdr/openwifi.git
synced 2025-01-19 03:06:25 +00:00
commit
0ddf1c8832
14
README.md
14
README.md
@ -37,13 +37,13 @@ Openwifi code has dual licenses. AGPLv3 is the opensource license. For non-opens
|
||||
|
||||
board_name|board combination|status|SD card img
|
||||
-------|-------|----|----
|
||||
zc706_fmcs2|Xilinx ZC706 dev board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-32bit.img.xz)
|
||||
zed_fmcs2|Xilinx zed board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-32bit.img.xz)
|
||||
adrv9364z7020|ADRV9364-Z7020 + ADRV1CRR-BOB|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-32bit.img.xz)
|
||||
adrv9361z7035|ADRV9361-Z7035 + ADRV1CRR-BOB/FMC|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-32bit.img.xz)
|
||||
zc702_fmcs2|Xilinx ZC702 dev board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-32bit.img.xz)
|
||||
zcu102_fmcs2|Xilinx ZCU102 dev board + FMCOMMS2/3/4|Done|[64bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-5-64bit.img.xz)
|
||||
zcu102_9371|Xilinx ZCU102 dev board + ADRV9371|Future|None
|
||||
zc706_fmcs2|Xilinx ZC706 dev board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-32bit.img.xz)
|
||||
zed_fmcs2|Xilinx zed board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-32bit.img.xz)
|
||||
adrv9364z7020|ADRV9364-Z7020 + ADRV1CRR-BOB|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-32bit.img.xz)
|
||||
adrv9361z7035|ADRV9361-Z7035 + ADRV1CRR-BOB/FMC|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-32bit.img.xz)
|
||||
zc702_fmcs2|Xilinx ZC702 dev board + FMCOMMS2/3/4|Done|[32bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-32bit.img.xz)
|
||||
zcu102_fmcs2|Xilinx ZCU102 dev board + FMCOMMS2/3/4|Done|[64bit img](https://users.ugent.be/~xjiao/openwifi-1.1.0-taiyuan-6-64bit.img.xz)
|
||||
zcu102_9371|Xilinx ZCU102 dev board + ADRV9371|Future|Future
|
||||
|
||||
- board_name is used to identify FPGA design in openwifi-hw/boards/
|
||||
- Don't have any boards? Or you like JTAG boot instead of SD card? Check our test bed [w-iLab.t](https://doc.ilabt.imec.be/ilabt/wilab/tutorials/openwifi.html) tutorial.
|
||||
|
@ -145,7 +145,7 @@ reg_idx|meaning|comment
|
||||
|
||||
## Rx packet flow and filtering config
|
||||
|
||||
After FPGA receives a packet, no matter the FCS/CRC is correct or not it will raise interrupt to Linux if the frame filtering rule allows. openwifi_rx_interrupt() function in sdr.c will be triggered to do necessary operation and give the information to upper layer (Linux mac80211 subsystem).
|
||||
After FPGA receives a packet, no matter the FCS/CRC is correct or not it will raise interrupt to Linux if the frame filtering rule allows (See also [mac80211 frame filtering](https://www.kernel.org/doc/html/v4.9/80211/mac80211.html#frame-filtering)). openwifi_rx_interrupt() function in sdr.c will be triggered to do necessary operation and give the information to upper layer (Linux mac80211 subsystem).
|
||||
|
||||
- frame filtering
|
||||
|
||||
|
@ -4,3 +4,4 @@ Application notes collect many small topics about using openwifi in different sc
|
||||
- [Communication between two SDR boards under AP and client mode](ap-client-two-sdr.md)
|
||||
- [Communication between two SDR boards under ad-hoc mode](ad-hoc-two-sdr.md)
|
||||
- [From CSI (Channel State Information) to CSI (Chip State Information)](csi.md)
|
||||
- [Capture IQ sample, AGC gain, RSSI with many types of trigger condition](iq.md)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
@ -54,7 +54,7 @@ We implement the **IQ sample capture** with interesting extensions: many **trigg
|
||||
The python and Matlab scripts are recommended for you to understand the IQ packet format precisely.
|
||||
|
||||
## Config the IQ capture and interval
|
||||
The quick start guide capture a period of history IQ when the packet FCS checksum is checked by Wifi receiver (no matter pass or fail). To initiate the capture with different trigger condition and length, configuration command should be issued before executing "**side_ch_ctl g**". The configuration command is realized by feeding a different parameter to "**side_ch_ctl**". The main parameters that are configurable are explained in this figure.
|
||||
The quick start guide captures a period of history IQ when the packet FCS checksum is checked by Wifi receiver (no matter pass or fail). To initiate the capture with different trigger conditions and length, configuration commands should be issued before executing "**side_ch_ctl g**". The configuration command is realized by feeding a different parameter to "**side_ch_ctl**". The main parameters that are configurable are explained in this figure.
|
||||
![](./iq-capture-parameter.jpg)
|
||||
|
||||
**iq_len** is the number of IQ samples captured per trigger condition met. The capture is started from the time **pre_trigger_len** IQ samples before the trigger moment. **iq_len** is set only one time when you insert the side_ch.ko. Please check the next section for **iq_len** configuration. This section introduces the setting of pre_trigger_len and trigger condition.
|
||||
@ -62,7 +62,7 @@ We implement the **IQ sample capture** with interesting extensions: many **trigg
|
||||
```
|
||||
./side_ch_ctl wh11dY
|
||||
```
|
||||
The parameter **Y** specifies the pre_trigger_len. Valid range 0 ~ 8190. It is limited by the FPGA fifo size. For **small FPGA** (zed_fmcs2, adrv9364z7020, zc702), valid range is 0 ~ **4094**.
|
||||
The parameter **Y** specifies the pre_trigger_len. Valid range 0 ~ 8190. It is limited by the FPGA fifo size. For **small FPGA** (zed_fmcs2, adrv9364z7020, zc702), the valid range is 0 ~ **4094**.
|
||||
- trigger condition
|
||||
```
|
||||
./side_ch_ctl wh8dY
|
||||
@ -107,7 +107,7 @@ We implement the **IQ sample capture** with interesting extensions: many **trigg
|
||||
The interval will become N*1ms
|
||||
|
||||
## Config the iq_len
|
||||
The **iq_len** (number of IQ sample per capture) is configurable in case you want less IQ samples per capture so that it can be triggered more times during a specific analysis period. The valid value is 1~**8187**. For **small FPGA** (zed_fmcs2, adrv9364z7020, zc702), valid range is 0 ~ **4095**. It is independant form pre_trigger_len, and it can be less than pre_trigger_len if you want. You should align the **iq_len** value at the side_ch.ko, iq_capture.py and test_iq_file_display.m.
|
||||
The **iq_len** (number of IQ sample per capture) is configurable in case you want less IQ samples per capture so that it can be triggered more times during a specific analysis period. The valid value is 1~**8187**. For **small FPGA** (zed_fmcs2, adrv9364z7020, zc702), the valid range is 0 ~ **4095**. It is independant from pre_trigger_len, and it can be less than pre_trigger_len if you want. You should align the **iq_len** value at the side_ch.ko, iq_capture.py and test_iq_file_display.m.
|
||||
- When insert the kernel module, use:
|
||||
```
|
||||
insmod side_ch.ko iq_len_init=3000
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit dcdbacd5dfadad358672f0676eb89c8fae32cd12
|
||||
Subproject commit b3bd6e298feaa75f7be688f5fe2ded842351fca1
|
Loading…
Reference in New Issue
Block a user