Речь идет о первой свободной распространяемой реализации 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 — это еще один важный шаг на пути к полностью открытому аппаратному обеспечению для беспроводных сетей. Осталось реализовать соответствующий радиочастотный чип — главное, чтобы не возникло проблем с патентами различных корпораций.

/ 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:
amarao
А потом придёт FCC и вся эта халява накроется отсутствием сертификации. Увы, радидиапазон охраняют и ещё как.
Yaris
Ну, OpenBTS же не накрылась, с чего бы OpenWiFi накрыться? Главное, чтоб мощности были в разумных пределах. Если сигнал слишком сильный будет — даже без FCC сидеть рядом с такой антенной вряд ли захочется. Если в другие диапазоны сигнал "выпадать" будет — тут сложнее, но тут тоже разработчики и FCC скорее в одну сторону смотрят. А уж относительно формы сигнала — тут и сейчас никто творческое пространство не ограничивает.
Lofer
Форма сигнала это сумма гармоник разной мощности на разных частотах. Так что особо проявить фантазию тут не выйдет, иначе можно загадить частотный диапазон так, что мало никому не покажется.
Yaris
Да это понятно. Я имел в виду, что вовсе необязательно следовать тем схемам модуляции, что приняты для WiFi. В установленные рамки по уровню сигнала в разных частотах укладывается — и ладно. Микроволновки тоже в WiFi диапазоне работают, но никто ж не говорит, что они скоро накроются.
Lofer
Нет, не обязательно :) Существующее оборудование безусловно «само догадается как разгадать» новую неизвестную модуляцию, само «приделает» себе новые радиэлементы и т.д.
Астрал в помощь неизвестной модуляции :)
P.S. Второй семестр… третий радиотехники. цифровая обработка сигналов, длинные линии и т.д. :)
Yaris
Первый комментарий в треде был про то, что придёт FCC и всё накроет медным тазом. Что из перечисленного Вами регулирует FCC? Модуляцию, радиоэлементы или цифровую обработку сигналов в целом?
Gem
Ну на деле FCC явно запрещает использование свободнодоступных решений в условиях сертификации
Выше упомянутые OscomBB и есть ещё реализация на MTK — это взлом дырявых baseband чипов — иное не поступит в свободную продажу