Проект Openwifi — как выглядит открытый Wi-Fi-чип

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Речь идет о первой свободной распространяемой реализации Wi-Fi 802.11a/g/n на базе программно-определяемой радиосистемы SDR (software-defined radio). Поговорим об этом проекте.


/ CC BY / Victor Aznabaev

Что это за проект


Большинство прошивок для Wi-Fi-устройств закрыты, поэтому нельзя проверить, присутствуют ли в них какие-либо бэкдоры. Специалисты из лаборатории IDLab, сформированной на базе Гентского и Антверпенского университетов в Бельгии, решили исправить ситуацию и запустили проект Openwifi. Это — открытая реализация Wi-Fi на FPGA, совместимая с Linux. Свои наработки инженеры представили на конференции FOSDEM 2020, посвященной свободному ПО.

Весь код со схемами аппаратного обеспечения лежат на GitHub и распространяются по лицензии AGPLv3. Хотя в этом проекте использовали несколько сторонних модулей — например коммерческие приёмопередатчики. Прежде чем начинать работу с Openwifi, нужно учитывать их лицензии.

Как он устроен


Аппаратная часть системы основана на FPGA от Xilinx и радиопередатчике AD9361. Также здесь задействовали архитектуру SoftMAC, которая реализует беспроводной стек 802.11 на стороне драйвера. За эту задачу отвечает подсистема mac80211, предоставляемая ядром Linux. Схему авторы проекта разместили в своем репозитории.



В основе программной части лежит OpenOFDM — открытая реализация OFDM-декодера на Verilog. Взаимодействовать с Wi-Fi-модулем можно с помощью штатных утилит Linux — ifconfig и iwconfig, а также специализированной программы sdrctl — она позволяет обращаться к драйверу Openwifi через netlink. Для управления беспроводными драйверами из пользовательского пространства авторы использовали библиотеки nl80211 и cfg80211.

Среди основных возможностей системы стоит выделить полосу пропускания в 20 МГц и диапазон частот от 70 МГц до 6 ГГц, квантование времени по MAC-адресу и реализацию протокола DCF на стороне FPGA, который является базовым протоколом доступа в сетях Wi-Fi.

Каковы его перспективы


Openwifi находится на ранних этапах разработки, поэтому о высокой пропускной способности говорить не приходится. Авторы добились скорости скачивания в 30,6 и 38,8 Мбит/с для TCP и UDP. Скорость выгрузки несколько меньше — 17,0 и 21,5 Мбит/с соответственно.


/ CC BY / Frank Wang

В перспективе разработчики планируют увеличить эти показатели. На их дорожной карте также стоит добавление поддержки стандарта Wi-Fi 802.11ax. В целом резиденты Hacker News говорят, что Openwifi — это еще один важный шаг на пути к полностью открытому аппаратному обеспечению для беспроводных сетей. Осталось реализовать соответствующий радиочастотный чип — главное, чтобы не возникло проблем с патентами различных корпораций.

О чем мы пишем в корпоративном блоге VAS Experts:

  • Как предоставить бесплатный Wi-Fi согласно законодательству
  • Интернет в деревню — строим радиорелейную Wi-Fi-сеть
  • Экономия на спичках: обсуждаем критические ошибки в строительстве сетей операторов связи
Источник: https://habr.com/ru/company/vasexperts/blog/520308/

Интересные статьи

Интересные статьи

Чтобы готовить высококлассных IT-специалистов, приходится постоянно дорабатывать учебные программы, подстраиваясь под требования рынка. И у нас в Mail.ru Group уже 9 лет работает отде...
Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь и...
Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. ...
Довольно часто музыкальную составляющую компьютерных игр затмевают геймплей и сюжет. Однако есть проекты, в которых звук не просто выходит на первый план, но становится неотъемлемой частью игрово...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?