README.md (fa44dbb5a5db365600b8ee97d6bad0088c7bcd1a) README.md (b49db4c59a0f2511208515d878ea297c204de6d1)
1<!--
2Author: Xianjun jiao, Michael Mehari, Wei Liu
3SPDX-FileCopyrightText: 2019 UGent
4SPDX-License-Identifier: AGPL-3.0-or-later
5-->
6
7# openwifi
8<img src="./openwifi-arch.jpg" width="900">
9
10**openwifi:** Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on SDR (Software Defined Radio).
11
12This repository includes Linux driver and software. [openwifi-hw](https://github.com/open-sdr/openwifi-hw) repository has the FPGA design. It is **YOUR RESPONSIBILITY** to follow your **LOCAL SPECTRUM REGULATION** or use **CABLE** to avoid potential interference over the air.
13
14[[Quick start](#Quick-start)]
15[[Project document](doc/README.md)]
16[[Application notes](doc/app_notes/README.md)]
17[[Videos](#Videos)]
1<!--
2Author: Xianjun jiao, Michael Mehari, Wei Liu
3SPDX-FileCopyrightText: 2019 UGent
4SPDX-License-Identifier: AGPL-3.0-or-later
5-->
6
7# openwifi
8<img src="./openwifi-arch.jpg" width="900">
9
10**openwifi:** Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on SDR (Software Defined Radio).
11
12This repository includes Linux driver and software. [openwifi-hw](https://github.com/open-sdr/openwifi-hw) repository has the FPGA design. It is **YOUR RESPONSIBILITY** to follow your **LOCAL SPECTRUM REGULATION** or use **CABLE** to avoid potential interference over the air.
13
14[[Quick start](#Quick-start)]
15[[Project document](doc/README.md)]
16[[Application notes](doc/app_notes/README.md)]
17[[Videos](#Videos)]
18[[Papers](#Papers)]
18[[Publications](doc/publications.md)]
19[[maillist](https://lists.ugent.be/wws/subscribe/openwifi)]
20[[Cite openwifi project](#Cite-openwifi-project)]
21
22Openwifi code has dual licenses. AGPLv3 is the opensource license. For non-opensource and advanced feature license, please contact [email protected]. Openwifi project also leverages some 3rd party modules. It is user's duty to check and follow licenses of those modules according to the purpose/usage. You can find [an example explanation from Analog Devices](https://github.com/analogdevicesinc/hdl/blob/master/LICENSE) for this compound license conditions. [[How to contribute]](https://github.com/open-sdr/openwifi/blob/master/CONTRIBUTING.md).
23
24**Features:**
25
26- 802.11a/g/n [[IEEE 802.11n (Wi-Fi 4)](doc/app_notes/ieee80211n.md)]
27- 20MHz bandwidth; 70 MHz to 6 GHz frequency range
28- Mode tested: Ad-hoc; Station; AP, Monitor
29- DCF (CSMA/CA) low MAC layer in FPGA (10us SIFS is achieved)
30- [802.11 packet injection and fuzzing](doc/app_notes/inject_80211.md)
31- [CSI](doc/app_notes/csi.md): Channel State Information, freq offset, equalizer to computer
19[[maillist](https://lists.ugent.be/wws/subscribe/openwifi)]
20[[Cite openwifi project](#Cite-openwifi-project)]
21
22Openwifi code has dual licenses. AGPLv3 is the opensource license. For non-opensource and advanced feature license, please contact [email protected]. Openwifi project also leverages some 3rd party modules. It is user's duty to check and follow licenses of those modules according to the purpose/usage. You can find [an example explanation from Analog Devices](https://github.com/analogdevicesinc/hdl/blob/master/LICENSE) for this compound license conditions. [[How to contribute]](https://github.com/open-sdr/openwifi/blob/master/CONTRIBUTING.md).
23
24**Features:**
25
26- 802.11a/g/n [[IEEE 802.11n (Wi-Fi 4)](doc/app_notes/ieee80211n.md)]
27- 20MHz bandwidth; 70 MHz to 6 GHz frequency range
28- Mode tested: Ad-hoc; Station; AP, Monitor
29- DCF (CSMA/CA) low MAC layer in FPGA (10us SIFS is achieved)
30- [802.11 packet injection and fuzzing](doc/app_notes/inject_80211.md)
31- [CSI](doc/app_notes/csi.md): Channel State Information, freq offset, equalizer to computer
32- [CSI fuzzer](doc/app_notes/csi_fuzzer.md): Create fake CSI in WiFi transmitter
32- [CSI fuzzer](doc/app_notes/csi_fuzzer.md): Create artificial channel response in WiFi transmitter
33- [[IQ capture](doc/app_notes/iq.md)]: real-time AGC, RSSI, IQ sample to computer. [[Dual antenna version](doc/app_notes/iq_2ant.md)]
34- Configurable channel access priority parameters:
35 - duration of RTS/CTS, CTS-to-self
36 - SIFS/DIFS/xIFS/slot-time/CW/etc
37- Time slicing based on MAC address (time gated/scheduled FPGA queues)
38- Easy to change bandwidth and frequency:
39 - 2MHz for 802.11ah in sub-GHz
40 - 10MHz for 802.11p/vehicle in 5.9GHz

--- 211 unchanged lines hidden (view full) ---

252## Videos
253
254- Demo [[youtube](https://youtu.be/NpjEaszd5u4)], [[link for CHN user](https://www.zhihu.com/zvideo/1280659393378041856)]
255- FOSDEM2020 [[youtube](https://youtu.be/Mq48cGthk7M)], [[link for CHN user](https://www.zhihu.com/zvideo/1280673506397425664)]
256- Low latency for gaming and introduction [[youtube](https://youtu.be/Notn9X482LI)], [[link for CHN user](https://www.zhihu.com/zvideo/1273823153371385856)]
257- CSI (Channel State Information) [[twitter](https://twitter.com/i/status/1314207380561780738)], [[link for CHN user](https://www.zhihu.com/zvideo/1297662571618148352)]
258- FOSDEM2021 [[Flash back](https://twitter.com/jxjputaoshu/status/1358462741703491584?s=20)], [[link for CHN user](https://www.zhihu.com/zvideo/1340748826311974912)]; [[Presentation](https://mirror.as35701.net/video.fosdem.org/2021/D.radio/fsr_openwifi_opensource_wifi_chip.webm)], [[link for CHN user](https://www.zhihu.com/zvideo/1345036055104360448)]
259
33- [[IQ capture](doc/app_notes/iq.md)]: real-time AGC, RSSI, IQ sample to computer. [[Dual antenna version](doc/app_notes/iq_2ant.md)]
34- Configurable channel access priority parameters:
35 - duration of RTS/CTS, CTS-to-self
36 - SIFS/DIFS/xIFS/slot-time/CW/etc
37- Time slicing based on MAC address (time gated/scheduled FPGA queues)
38- Easy to change bandwidth and frequency:
39 - 2MHz for 802.11ah in sub-GHz
40 - 10MHz for 802.11p/vehicle in 5.9GHz

--- 211 unchanged lines hidden (view full) ---

252## Videos
253
254- Demo [[youtube](https://youtu.be/NpjEaszd5u4)], [[link for CHN user](https://www.zhihu.com/zvideo/1280659393378041856)]
255- FOSDEM2020 [[youtube](https://youtu.be/Mq48cGthk7M)], [[link for CHN user](https://www.zhihu.com/zvideo/1280673506397425664)]
256- Low latency for gaming and introduction [[youtube](https://youtu.be/Notn9X482LI)], [[link for CHN user](https://www.zhihu.com/zvideo/1273823153371385856)]
257- CSI (Channel State Information) [[twitter](https://twitter.com/i/status/1314207380561780738)], [[link for CHN user](https://www.zhihu.com/zvideo/1297662571618148352)]
258- FOSDEM2021 [[Flash back](https://twitter.com/jxjputaoshu/status/1358462741703491584?s=20)], [[link for CHN user](https://www.zhihu.com/zvideo/1340748826311974912)]; [[Presentation](https://mirror.as35701.net/video.fosdem.org/2021/D.radio/fsr_openwifi_opensource_wifi_chip.webm)], [[link for CHN user](https://www.zhihu.com/zvideo/1345036055104360448)]
259
260## Papers
261
262- [openwifi: a free and open-source IEEE802.11 SDR implementation on SoC](https://www.orca-project.eu/wp-content/uploads/sites/4/2020/03/openwifi-vtc-antwerp-PID1249076.pdf)
263- [csi murder](https://ans.unibs.it/projects/csi-murder/)
264- [IEEE 802.11 CSI randomization to preserve location privacy: An empirical evaluation in different scenarios](https://www.sciencedirect.com/science/article/abs/pii/S138912862100102X)
265
266Openwifi was born in [ORCA project](https://www.orca-project.eu/) (EU's Horizon2020 programme under agreement number 732174).
267
268## Cite openwifi project
269
270Any use of openwifi project which results in a publication should include a citation via (bibtex example):
271```
272@electronic{openwifigithub,
260## Cite openwifi project
261
262Any use of openwifi project which results in a publication should include a citation via (bibtex example):
263```
264@electronic{openwifigithub,
273 author = {Jiao, Xianjun and Liu, Wei and Mehari, Michael},
265 author = {Xianjun, Jiao and Wei, Liu and Michael, Mehari},
274 title = {open-source IEEE802.11/Wi-Fi baseband chip/FPGA design},
275 url = {https://github.com/open-sdr/openwifi},
276 year = {2019},
277}
278```
279
280## License
281
282This project is available as open source under the terms of the AGPL 3.0 Or later. However, some elements are being licensed under GPL 2-0 or later and BSD 3 license . For accurate information, please check individual files.
266 title = {open-source IEEE802.11/Wi-Fi baseband chip/FPGA design},
267 url = {https://github.com/open-sdr/openwifi},
268 year = {2019},
269}
270```
271
272## License
273
274This project is available as open source under the terms of the AGPL 3.0 Or later. However, some elements are being licensed under GPL 2-0 or later and BSD 3 license . For accurate information, please check individual files.