OpenWifi, стек Wi-Fi 802.11a/g/n с открытым исходным кодом 

openwifi

openwifi, стек WIFI с открытым исходным кодом, совместимый с Linux

Настоящее время использование WiFi-соединения «почти обязательно» на большинстве устройств, которым требуется подключение к Интернету, и когда это работает, это здорово, но когда возникают проблемы, их часто невозможно решить, потому что прошивка представляет собой двоичный файл с закрытым исходным кодом.

До определенного момента было бы понятно, что пользователи не могут манипулировать этим кодом, поскольку подавляющему большинству из них даже не нужно было бы взаимодействовать с кодом. Но для тех из нас, кто любит бездельничать, эта часть может быть интересна для некоторых и, следовательно, иметь возможность взаимодействовать с ее кодом.

Именно поэтому проект OpenWiFi стремится предложить реализацию WiFi SDR (Программно-определяемое радио) полностью открытый исходный код совместим с Linux и работает на оборудовании FPGA.

О OpenWifi

открытый Wi-Fi разработан как открытая реализация полного стека 802.11a/g/n Wi-Fi, форму и модуляцию сигнала, в которой он настраивается программно (SDR, Software Defined Radio).

открытый Wi-Fi позволяет создать полностью контролируемое развертывание всех компонентов беспроводного устройства, включая низкоуровневые уровни, на обычных беспроводных адаптерах, реализованных на уровне аудиторно-недоступного чипа.

открытый Wi-Fi использует архитектуру SoftMAC, что подразумевает реализацию основного беспроводного стека 802.11 (high MAC) на стороне контроллера и наличие low MAC уровня на стороне FPGA. Беспроводной стек он использует подсистему mac80211, предоставляемую ядром Linux.

Взаимодействие с SDR осуществляется через специальный контроллер, плюс аппаратная часть может быть построена на базе FMCOMMS2/3/4, ADRV1CRR или универсальных (RF) приемопередатчиков AD9361 от Xilinx FPGA и Analog Devices. Стоимость решения на базе ПЛИС ZYNQ NH7020 составляет 400 евро.

Со стороны ключевые особенности проекта выделяются:

  • Полная поддержка 802.11a/g/n. Мы планируем поддерживать 802.11ax.
  • Полоса пропускания 20 МГц и диапазон частот от 70 МГц до 6 ГГц.
  • Режимы работы: Ad-hoc (сеть клиентских устройств), точка доступа, станция и мониторинг.
  • Реализация на стороне FPGA протокола канального уровня DCF (функция распределенной координации) с использованием метода CSMA/CA.
  • Настраиваемые параметры приоритета доступа к каналу: продолжительность RTS/CTS, CTS-к-себе, SIFS, DIFS, xIFS, слот-время и т. д.
  • Временной интервал на основе MAC-адреса.
  • Легко изменяемая полоса пропускания и частота: 2 МГц для 802.11ah и 10 МГц для 802.11p.
  • Возможность использования в качестве радара и детектора движения в помещении.
  • Управление через обычные линуксовые утилиты, такие как ifconfig и iwconfig, а также специализированную утилиту sdrctl, работающую поверх netlink и позволяющую контролировать работу SDR на низком уровне (манипулировать регистрами, изменять настройки временных срезов и т.д.).
  • Пропускная способность при тестировании через iperf: 40~50 Мбит/с для TCP и 50 Мбит/с для UDP.

Что касается проекта, то стоит отметить, что недавно анонсирован выход версии 1.4 который обеспечивает поддержку Raspberry PI OS 11.2 (на основе Debian 11) и ядра Linux с исправлениями от Analog Devices.

В дополнение к этому для исследователей безопасности, он предоставляет возможность запускать тесты для имитации шард-атак и крак-атак и что было внесено изменение по сравнению с FPGA Vivado 2021.1 (на основе ADI HDL 2021_r1).

Еще одно важное изменение: добавлена ​​поддержка нового оборудования: sdrpi (HexSDR SDR на Raspberry Pi), antsdr_e200 (MicroPhase ADALM-PLUTO), neptunesdr (Zynq 7020 + AD9361) и PYNQSDR (PYNQ-Z1 + AD936X).

Также в этой новой версии общий образ SD-карты предоставляется для 32-битных и 64-битных устройств, а так же что выполнено разделение исходного кода для ПЛИС (openwifi-hw) и файлов битового потока для ПЛИС (openwifi-hw-img) и обеспечена работа в режиме loopback.

Наконец, если вы интересно узнать об этом больше, следует знать, что код программных компонентов, а также схемы и описания аппаратных блоков на языке Verilog для ПЛИС распространяются под лицензией AGPLv3 и с ними можно ознакомиться По следующей ссылке.

В качестве дополнительного примечания важно убедиться, что вы обращаетесь к правильному проекту, поскольку существует другой проект с таким же именем, который в настоящее время находится в версии 2.7, но он полностью отличается от того, о котором мы здесь говорим. Вот почему рекомендуется, чтобы они получали доступ по ссылке, которой мы делимся.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.