ΠΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ FOSDEM 2020
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° FPGA Xilinx Zynq ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΡΠΌΠΎΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ΅ (RF) AD9361. Π OpenWifi ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° SoftMAC, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° 802.11 (high-MAC) Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ low-MAC ΡΠ»ΠΎΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ FPGA. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° mac80211, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΡΠ΄ΡΠΎΠΌ Linux. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ SDR ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- ΠΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 802.11a/g ΠΈ ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 802.11n MCS 0~7 (ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ PHY rx). Π ΠΏΠ»Π°Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 802.11ax;
- ΠΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ 20MHz ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ ΠΎΡ 70 MHz Π΄ΠΎ 6 GHz;
- Π Π΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ:
Ad-hoc (ΡΠ΅ΡΡ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²), ΡΠΎΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ°, ΡΡΠ°Π½ΡΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³; - Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ FPGA ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
DCF (Distributed Coordination Function), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ CSMA/CA. ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°Π΄ΡΠ° (SIFS ) Π½Π° ΡΡΠΎΠ²Π½Π΅ 10us; - ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°Π½Π°Π»Ρ: ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time ΠΈ Ρ.ΠΏ.
- ΠΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (
Time slicing ) Π½Π° Π±Π°Π·Π΅ MAC-Π°Π΄ΡΠ΅ΡΠ°; - ΠΠ΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΎΡΠ°:
2MHz Π΄Π»Ρ 802.11ah ΠΈ 10MHz Π΄Π»Ρ 802.11p;
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² OpenWifi ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π°
Xilinx ZC706 Ρ ΠΏΡΠΈΡΠΌΠΎΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ Analog Devices FMCOMMS2/3/4, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ²ΡΠ·ΠΎΠΊ (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB ΠΈ ADRV9361Z7035 SOM + ADRV1CRR-FMC. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½
Xilinx ZCU102 + ADRV9371. Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ
Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ OpenWifi, ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° ΠΎΠΊΠΎΠ»ΠΎ 1300 Π΅Π²ΡΠΎ, Π½ΠΎ Π²Π΅Π΄ΡΡΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΡΠ²ΡΠ΅ ΠΏΠ»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ USB-Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ TL-WDN4200 N900 ΠΊ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π±Π°Π·Π΅ OpenWifi ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ 30.6Mbps (TCP) ΠΈ 38.8Mbps (UDP) ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ 17.0Mbps (TCP) ΠΈ 21.5Mbps (UDP) ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Linux, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ifconfig ΠΈ iwconfig, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° sdrctl, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ ΡΠ΅ΡΠ΅Π· netlink ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°Π±ΠΎΡΠΎΠΉ SDR Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ (ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ, ΠΌΠ΅Π½ΡΡΡ Π½Π°ΡΡΠΎΠΉΠΊΠΈ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ.ΠΏ.).
ΠΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΎΡΠΊΡΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΡΡΠΈΡ
Ρ Wi-Fi ΡΡΠ΅ΠΊΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru