Proyek OpenWifi dengan implementasi chip Wi-Fi terbuka berdasarkan FPGA dan SDR

Pada konferensi FOSDEM 2020 lalu disajikan proyek buka wifi, mengembangkan implementasi terbuka pertama dari tumpukan Wi-Fi 802.11a/g/n penuh, bentuk sinyal dan modulasinya ditentukan dalam perangkat lunak (SDR, Software Defined Radio). OpenWifi memungkinkan Anda membuat implementasi yang sepenuhnya terkontrol dari semua komponen perangkat nirkabel, termasuk lapisan tingkat rendah, yang pada adaptor nirkabel konvensional diimplementasikan pada tingkat chip yang tidak dapat diaudit. Kode komponen perangkat lunakDan diagram dan deskripsi blok perangkat keras dalam bahasa Verilog untuk FPGA didistribusikan di bawah lisensi AGPLv3.

Komponen perangkat keras dari prototipe kerja yang didemonstrasikan didasarkan pada Xilinx Zynq FPGA dan universal transceiver (RF) AD9361. OpenWifi menggunakan arsitektur SoftMAC, yang menyiratkan implementasi tumpukan nirkabel utama 802.11 (MAC tinggi) di sisi driver dan adanya lapisan MAC rendah di sisi FPGA. Tumpukan nirkabel menggunakan subsistem mac80211 yang disediakan oleh kernel Linux. Interaksi dengan SDR dilakukan melalui driver khusus.

Proyek OpenWifi dengan implementasi chip Wi-Fi terbuka berdasarkan FPGA dan SDR

Fitur utama:

  • Dukungan penuh untuk 802.11a/g dan dukungan parsial untuk 802.11n MCS 0~7 (hanya PHY rx untuk saat ini). Ada rencana untuk mendukung 802.11ax;
  • Bandwidth 20MHz dan rentang frekuensi dari 70 MHz hingga 6 GHz;
  • Mode operasi: AD hoc (jaringan perangkat klien), titik akses, stasiun dan pemantauan;
  • Implementasi protokol link layer pada sisi FPGA DCF (Fungsi Koordinasi Terdistribusi), menggunakan metode CSMA/CA. Menyediakan waktu pemrosesan bingkai (SIFS) pada tingkat 10us;
  • Parameter prioritas akses saluran yang dapat dikonfigurasi: durasi RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time, dll.
  • Pemotongan waktu (Mengiris waktu) berdasarkan alamat MAC;
  • Bandwidth dan frekuensi yang mudah diubah:
    2MHz untuk 802.11ah dan 10MHz untuk 802.11p;

Proyek OpenWifi dengan implementasi chip Wi-Fi terbuka berdasarkan FPGA dan SDR

Saat ini, OpenWifi menyediakan mendukung Platform SDR berbasis FPGA
Xilinx ZC706 dengan Perangkat Analog FMCOMMS2/3/4 transceiver, serta bundel (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB dan ADRV9361Z7035 SOM + ADRV1CRR-FMC. Dibentuk untuk memuat gambar jadi Kartu SD berbasis ARM Linux. Ada rencana untuk mendukung ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 dan
Xilinx ZCU102 + ADRV9371. Biaya komponen yang terlibat dalam prototipe OpenWifi pertama adalah sekitar 1300 euro, namun porting ke papan yang lebih murah sedang dilakukan. Misalnya, biaya solusi berdasarkan Perangkat Analog ADRV9364-Z7020 akan menjadi 700 euro, dan berdasarkan ZYNQ NH7020 - 400 euro.

Menguji kinerja menghubungkan klien dengan adaptor USB TL-WDN4200 N900 ke titik akses berbasis OpenWifi memungkinkan kami mencapai throughput 30.6Mbps (TCP) dan 38.8Mbps (UDP) saat mentransfer data dari titik akses ke klien dan 17.0Mbps (TCP) dan 21.5Mbps (UDP) saat ditransmisikan dari klien ke titik akses. Untuk manajemen, utilitas Linux standar dapat digunakan, seperti ifconfig dan iwconfig, serta utilitas khusus sdrctl, yang bekerja melalui netlink dan memungkinkan Anda mengontrol pengoperasian SDR pada tingkat rendah (memanipulasi register, mengubah pengaturan irisan waktu, dll.).

Di antara proyek terbuka lainnya yang bereksperimen dengan tumpukan Wi-Fi, kami dapat mencatat proyek tersebut IstriMengembangkan kepatuhan IEEE 802.11 a/g/p pemancar berdasarkan GNU Radio dan PC biasa. Perangkat lunak tumpukan nirkabel 802.11 terbuka juga sedang mengembangkan proyek Ziria ΠΈ sora (Radio Perangkat Lunak Penelitian Microsoft).

Proyek OpenWifi dengan implementasi chip Wi-Fi terbuka berdasarkan FPGA dan SDR

Sumber: opennet.ru

Tambah komentar