Обзор HackRF Portapack
- воскресенье, 19 октября 2025 г. в 00:00:12
Буквально неделю назад один из моих читателей оказал мне доверие и предоставил устройство для обзора - HackRF Portapack. Это по сути портативная версия HackRF не требующая ПК для решения радиоинженерных задач. Получив это устройство оно показалось мне достаточно интересным и много о чем можно было бы рассказать, в продолжение темы про HackRF. Я обзорно расскажу о том, из чего это устройство состоит, какие прошивки предлагаются для устройства (их оказалось несколько), что предлагает это устройство для инженеров и радиолюбителей и рассмотрим спектр возможных применений. И в присущей мне манере и с исчерпывающем повествованием я поделюсь с вами своим опытом использования данным устройством.
Всем интересующимся - добро пожаловать под кат!
⚠️ Заметка об ответственности. Этот материал предназначен исключительно для образовательных целей, демонстрации уязвимостей и анализа радиобезопасности. Применение описанных техник в реальной среде при несоблюдении местных регуляторик, использовании частот и т.п. может быть незаконным. Все эксперименты должны проводиться только на собственном оборудовании и в изолированной среде.
Итак. Что такое HackRF Portapack - это брат всем известного HackRF, о котором я рассказывал в одной из своих предыдущих статей. Его отличительная особенность заключается в том, что это полностью портативное устройство построенное на базе открытой SDR-платформы с рабочим диапазоном “от 1 МГц до ~6 ГГц”, работающий в полудуплексном режиме, 8-бит, до ~20 MS/s.
По сути - это недорогой входной билет в мир радиоэфира: от простого портативного передатчика, ретранслятора до приемника авиационных передач, которая представляет из себя надстройку, которая отцепляет вас от ноутбука: ведь экран, энкодер/кнопки, слот microSD, аудио подсистема, все есть на борту - и вот уже HackRF превращается в карманный прибор, с которым можно идти в поле и что-то делать прямо на месте.
Данный девайс избавляет инженера от неудобств, связанных с настройкой и подготовкой тонны разнообразного софта, ношения ноутбука и всего остального. Включили питание - и вы уже сразу в меню, тут вам и спектроанализатор/водопад, и приемник базовых модуляций (AM/NFM/WFM/SSB), и запись/воспроизведение I/Q на microSD, и простые генераторы/тест-тоны.
С помощью него можно быстро отсканировать нужный участок диапазона, отметить частоты, накидать заметки, записать семплы, проиграть тестовый сигнал и уже дома с этим поработать.
Я его называю - старший брат FlipperZero =)
Стоит кратко напомнить об ограничениях этого устройства, чтобы не порождать излишних идеализаций и завышенных ожиданий.
Это все таки 8-битный SDR имеющий только полудуплексный режим работы. Это значит ограниченный динамический диапазон и в устройстве будут очевидные компромиссы по линейности в пользу доступности устройства по цене. В общем эфире без фильтров и аттенюаторов можно словить интермоды и прочие веселости.
Это не метрологический прибор. Полоса обзора/точность/фазовая шумовая полка - на уровне SDR-платы, а не приборов за пять цифр.
Передачу осуществлять только при использовании подходящей антенны и при соблюдении требований местного законодательства.
Рекомендую также почитать про технические ограничения в своем обзоре HackRF.
При изучении истории этого продукта стало сразу понятно, что “PortaPack” - это не один-единственный продукт, а семейство совместимых плат и “комбайнов” вокруг HackRF One. Есть оригинальный H1 от ShareBrained, а есть масса “community/клон”-ревизий (H2/H4/H4M и пр.) с разными корпусами, экранами и питанием.
В моем распоряжении оказался PortaPack H4M от Baoding Quingchao Network Technology, то есть из Китая 🙂но о нем чуть позже.
Оригинальный PortaPack H1 - это отдельный модуль к HackRF One, без HackRF в комплекте: тач-LCD, органы управления, аудио вход/выход, слот microSD, RTC и TCXO (обычно 2.5 ppm). Идеология простая: превращаем HackRF в автономный портативный прибор. Проект и прошивка открыты, исходники и релизы живут у автора в GitHub.
Дальше началась эволюция и доработки энтузиастами: производители добавляли другие экраны (часто 2.8″/3.2″ 240×320), меняли органы управления (энкодеры/кнопки/джойстики), играли с питанием и корпусами, добавляли в состав изделия сам HackRF. В железе часто встречается встроенный аудиокодек от AKM семейства AK4951, выход под наушники/микрофон - это базовая "портативная" UX-связка.
Для любопытствующих - подробнее об H2 тут. Но часто компонентная база и их качество сильно варьируются от ревизии к ревизии.
Прошивки для данных устройств развиваются по следующему принципу: базовая прошивка ShareBrained - форк Havoc - большой комьюнити-форк Mayhem. Сегодня в практическом смысле “дефолт” для большинства ревизий - Mayhem, он явно заявляет поддержку H1/H2/H4. В целом это и есть причина, почему большинство пользователей берут “H2/H4/H4M”: под них есть живой стек ПО, фичи и быстрые релизы.
Отдельно стоит отметить ситуацию с H4M. В 2024-2025 появились "интегрированные" варианты H4M - это когда у вас сразу единый корпус, питание, экран, органы управления и, как правило, USB-C, нормальный пауэр-свитч, иногда улучшенная индикация батареи, встроенные спикер/микрофон и добавочные GPIO/I²C для аксессуаров. По сути H4M - это доработка старых болячек H2 (улучшенное управление питанием без фантомного потребления, “убогий” UX, механика). Это звучит как то, что хотелось видеть давно, но имейте в виду: это производные конструкции от разны�� вендоров, детали различаются, а маркетинг бывает бодрее реальности.
Основные улучшения H4M относительно всех остальных заключаются в следующих фичах:
Нормальная кнопка питания (меньше случайных нажатий/включений в сумке) и реальный “жёсткий” выключатель без фантомного потребления;
USB-C, более быстрая зарядка и реальный мониторинг батареи в прошивке;
Лучший экран, и повышенная читаемость экрана на улице (матовая матрица помогает);
Встроенные динамик и микрофон;
Плоский корпус (удобнее хранить/носить);
GPIO с шиной I²C для плат-расширений и модов;
Часто объявленные фичи иногда не дотягивают до ожиданий - встречаются пользовательские отзывы про сырость батарейной телеметрии и пр.
Базовые наборы Portapack-ов могут сильно отличаться:
Комплект поставки “Только PortaPack-плата” (для владельцев HackRF One) - минимальный.
“All-in-one” (HackRF+PortaPack в одном корпусе) - удобно для работы и быстрого старта;
Наборы с антеннами - часто маркетинговые "универсалки"; работать будут, но лучше сразу планировать профильные антенны под ваши диапазоны и задачи.
Кейсы/корпуса - металл даёт экранирование и термостабильность, пластик легче и теплее в руках.
Питание - банки/аккумы бывают внутри (в all-in-one) или внешние; проверяйте, есть ли нормальная зарядка, индикация
Словом конкретика у каждого продавца своя; смотрите спецификации и фото перед покупкой. В моем случае в комплекте были:
Само устройство (HackRF Rev10 + PortaPack H4M) представляет собой просто расширенную версию HackRF с теми же LED и разъемами дополненный разъемами USB type-C, разъемом под microSD карту и разъем 3.5 Jack:
С другой стороны:
Кабель питания:
40MHz - 6GHz телескопическая антенна:
Антенна для работы в диапазоне 700MHz - 2700MHz:
Антенна для работы в диапазоне GSM/3G/4G:
Еще одна антенна:
2.4/5/5.8GHz Blade-антенна:
Коротенький соединитель SMA Male/Male:
LNA-усилитель на +20dBm в диапазоне 50-6000МГц:
Помимо этого, конечно хотелось бы дополнить комплект полосовыми фильтрами, антеннами с документацией, аттенюаторами. Но в целом, для новичка - хватит и этого.
В базе устройство представляет собой HackRF One - то есть SDR-устройство (радиотракт, смеситель/синтезатор, АЦП/ЦАП, тактирование и управляющий MCU) и PortaPack - то есть периферия + UX которая установлена на расширительных разъёмах HackRF. Никакой “второй радиочасти” или дополнений в этом плане PortaPack не добавляет - он только дополняет устройство через уже существующие шины и интерфейсы самого HackRF.
Итак, что же PortaPack добавляет на уровне “железа”, углубимся в это.
1. 3,2″ сенсорный LCD + органы управления (энкодер/кнопки, два переключателя).
2. Аудио-кодек (часто AK4951: вход микрофона/линия, выход на наушники/спикер, 8-48 кГц) - для воспроизведения принятых демодулированных аналоговых сигналов.
3. microSD - запись/воспроизведение I/Q, логи и пресеты.
4. RTC + TCXO (у оригинального H1 типично 2.5 ppm) - стабильность частоты/время.
5. Аккумулятор на 2500mAh 3.6V, чего в целом будет достаточно для целого дня радиовылазок.
5. Дополнительный порт расширения для подключения внешних модулей по I2C:
И всё это работает без отдельного CPU на плате PortaPack: код прошивки (PortaPack/Mayhem/Havoc) исполняется на штатном LPC43xx HackRF и ходит к периферии через "хедеры" на плате.
Для подключения PortaPack использует расширительный интерфейс HackRF - это четыре разъема P9, P20, P22, P28. PortaPack опирается в первую очередь на цифровые:
P22 (I²S/SPI/I²C/UART/клоки) - сюда обычно "подвешены" I²S линии для аудиокодека (RX/TX/MCLK/WS/SCK), а также SPI/I²C для дисплея и прочей периферии.
P28 (SDIO + триггеры + клоки + JTAG CPLD) - линии SDIO для microSD (DAT[0:3], CMD, CLK), плюс некоторые служебные сигналы CPLD/клоки.
P20 (GPIO/ADC/RTC/power) - питание надстройки, проброс RTC/будильника и универсальные GPIO/ADC.
P9 (Baseband analog) - прямой аналоговый интерфейс к АЦП/ЦАП; в стандартных PortaPack-сборках не задействуется.
Пин-ауты и назначения подробно описаны в официальной документации HackRF по Expansion Interface. Не буду на этом останавливаться отдельно.
PortaPack H1 (оригинал ShareBrained): исходники/схемы/платы лежат в архивированном репозитории автора (папка hardware/portapack_h1), есть и PDF-сборки, зеркала и выгрузки.
Современные H4/H4M: часть производителей/сообщества публикует открытые схемы ревизий (например, в форке Mayhem есть H4/H4M PDF-схемы и герберы). Проверяйте именно под вашу ревизию.
HackRF One (база): официальные блок-диаграммы/компоненты и KiCad-проект/схемы доступны в документации и репозитории HackRF.
Историческая “база” прошивок для PortaPack - прошивка ShareBrained (оригинал для H1), от неё ответвляется Havoc, а сегодня дефолт - это Mayhem: активная, многофункциональная, с релизами и документацией.
Чуть подробнее о каждом варианте:
Mayhem - активный форк, поддержка H1/H2/H4, плотный темп релизов и живое комьюнити (стабильные и nightly). На 11 июля 2025 актуальная стабильная - v2.2.0.
Havoc - исторический форк с кучей "фановых" и экспериментальных приложений; архивирован автором 25.06.2020 (read-only). Хорош как источник идей/кода, но не как основная прошивка в 2025.
Оригинальная ShareBrained - автор официально законсервировал репозиторий и прямо рекомендует использовать Mayhem.
Повторюсь. У PortaPack нет собственного CPU и флеша - вся прошивка живёт на плате HackRF. PortaPack - это “экран+крутилки+аудио+SD”, а код Mayhem (или другой) крутится на LPC43xx HackRF и общается с периферией по expansio-шинам. Поэтому “ставите прошивку” вы именно в HackRF, а не “в PortaPack”.
В нашем случае мы имеем дело с Mayhem и поэтому мы начнем с рассмотрения именно ее, и обновимся до новой версии ПО.
Никогда бы не подумал, что обновление ПО для кастомного устройства можно сделать настолько простым и крутым. Для этого необходимо подключить устройство по USB к ПК. Далее необходимо добавить пользователя в группу dialout для доступа к /dev/tty-устройствам без прав суперпользователя.
Запускаем udevadm monitor и подключаем наш PortaPack, видим что появилось новое tty-устройство:
KERNEL[435312.977942] add /devices/pci0000:00/0000:00:14.0/usb3/3-7 (usb)
KERNEL[435312.981524] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0 (usb)
KERNEL[435312.981735] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/tty/ttyACM0 (tty)
KERNEL[435312.981755] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0 (usb)
KERNEL[435312.981771] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.1 (usb)
KERNEL[435312.981783] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.1 (usb)
KERNEL[435312.981796] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7 (usb)
UDEV [435312.997991] add /devices/pci0000:00/0000:00:14.0/usb3/3-7 (usb)
UDEV [435313.004914] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0 (usb)
UDEV [435313.005089] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.1 (usb)
UDEV [435313.011618] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.1 (usb)
UDEV [435313.030481] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/tty/ttyACM0 (tty)
UDEV [435313.034204] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0 (usb)
UDEV [435313.040642] bind /devices/pci0000:00/0000:00:14.0/usb3/3-7 (usb)
Потом добавляем права:
sudo chmod a+rw /dev/ttyUSBx
sudo usermod -a -G dialout $USER
И делаем logout/login в текущей сессии. После открываем в браузере адрес https://hackrf.app/ и перед нами открывается меню, где нужно нажать Connect, дать браузеру разрешение на доступ к последовательному порту и откроется меню взаимодействия с устройством:
Ниже будет кнопка Manage Firmware и через открывающееся меню можно провести обновление ПО:
Помимо этого через это прекрасное приложение можно взаимодействовать с устройством напрямую с ПК.
Взяв в руки устройство - чтобы его включить, нужно сдвинуть тумблер питания, который я так понимаю полностью рубит питание, чтобы не было утечки с АКБ.
На верхней панели есть энкодер с нажатием - это главный “руль”, прокручиваете - меняете значение (частота, усиление, шаг), нажатие - вход/подтверждение.
Кнопки - вверх, вниз, вправо, влево - тоже используются для навигации, но в сочетании с энкодером не очень удобные и часто при прокручивании получаются случайные нажатия.
Тач-экран облегчает взаимодействие с элементами меню, например, тап по водопаду - перестройка частоты; длинный тап - изменяется контекст.
Важный элемент управления - статус меню. Состоит из нескольких кнопок или пунктов меню:
Каждый из них активен при нажатии на тач-скрин и очень удобен во время использования той или иной функции.
Описание всего меню думаю заняло бы целую книгу, учитывая что многие приложения можно установить дополнительно с microSD. Поэтому я опишу меню коротко и дам ссылки на описание большинства применений:
Receive - приложения для приемника;
Transmit - приложения для передатчика;
Transceiver - приложение для передачи сигнала с микрофона в радиоэфир;
Recon - "разведчик" эфира: бежит по пресетам/спискам, отмечает активность, даёт быстрые прыжки в профильные RX/TX-приложения. Нужная "надстройка" для поля.
Capture - запись I/Q на SD (C8/C16) с метаданными, мониторинг дропов.
Replay - плейбек C8/C16 (единичный файл/плейлист), подстройка частоты на трек, задержки. Для воспроизводимых стендовых сценариев.
Remote - "универсальный пульт": макро-UI, который раскладывает ваши реплеи/шаблоны по кнопкам (по духу как TouchTunes/"универсальный пульт")
Looking Glass - широкополосный обзорник: водопад, пики, пресеты диапазонов, переход в любой RX одним тапом; есть RX-IQ калибровка.
Utilities - набор разных утилит, от файлового менеджера до расчёта длины антенны от частоты;
Games - игрушки для бездельников, чтобы скоротать время 🙂
Settings - настройки устройства;
HackRF - переключение в режима обычного HackRF в качестве USB-устройства для ПК;
Подробное описание каждой из функции превратило бы статью в бесконечный мануал с описанием огромного количества разных декодеров и утилит. Поэтому я просто перечислю основные возможности встроенных фичей, которые реализованы в PortaPack с прошивкой Mayhem снабдив коротким описанием каждую из них. Наверняка по реализации каждой функции в “поле” можно было бы написать целую статью, с описанием процесса от подготовки до анализа полученного результата 🙂
Итак. В части приема сигналов дейвайс позволяет:
ADS-B. Приём 1090 MHz Mode-S/ADS-B: бортовой ICAO, высота/курс/скорость, позиция. Умеет рисовать самолёты на оффлайн-карте (world_map.bin на SD), работает и с MLAT-похожим “looking glass”-режимом. Отлично для полевых “подсмотров” трафика в зоне аэропорта.
AFSK. Базовый декодер AFSK (тональный FSK): можно наблюдать и выдирать биты из простых 1200 baud/2200 Hz потоков, подбирать девиацию/фильтры. Удобно для "самодельных" телеметрий и старых протоколов.
AIS Boats. Декод AIVDM (каналы 161.975/162.025 MHz): MMSI, позиция, курс/скорость, тип судна, статус и пр.; вывод на карту (оффлайн-тайлы). Нормально принимается на простую VHF-антенну у воды. GitHub
Analog TV. Грубый B/W просмотр аналогового видео (PAL/NTSC-подобные вещи) - для ностальгии и редких спецкейсов. Показывает строковую развёртку, ловит сигнал прямо из эфира. Чудес от чувствительности не ждём т.к. это больше "прикол". GitHub
APRS. Полноценный APRS RX: позывные, позиции, месседжи, объектные репорты, лог на SD, отображение на карте. Работает как независимый полевой APRS-монитор. GitHub
Audio. Современный "универсальный приёмник": AM/NFM/WFM/SSB, спектр/водопад, пресеты по диапазонам, тоновые CTCSS (есть список), быстрые переходы в спектральные режимы. Это основной рабочий конь для работы с голосовыми/аналоговыми сигналами. GitHub+1
BLE RX. Скан маяков BLE (2.4 GHz, ch 37/38/39): MAC (public/random), RSSI, имена/UUID, флаги. Удобно слушать маячки, браслеты, датчики и прочие мелочи, вплоть до Dyson-фенов. GitHub
Detector. Быстрый "пищалка-детектор" по пресетам: брелоки (315/433.92 MHz), LoRa EU433/EU868/US915, TETRA uplink 380–390 MHz. Бежит окнами по частотам и дает сигнал при превышении порога. Идеален в “полевых охоте” за активностью на определенных частотах. GitHub
ERT Meter. Приём Itron ERT (водо/газ/электро-счётчики) в суб-гигагерце: ID, тип, показания/сервисные поля. Нужна подходящая антенна на 900 MHz. GitHub
Radio. Легковесный “классический” радио-приёмник без наворотов (быстрый старт, минимум виджетов). Если не нужны спектры/экстра-настройки - берём его (функционально перекрывается с Audio). GitHub
Fox-Hunt. Прикладное приложение для “охоты на лис”: аудио-мониторинг (обычно AM/морзянка), индикатор уровня, карта с метками; умеет внешние GPS/компас, чтобы идти по стрелке. С направленной антенной - самое то. GitHub
gfxEQ. Графический эквалайзер демодулированного аудио: подчистить шипение/"продавить" речь в узкой полосе, подстроить комфорт прослушки. Полезен в NFM/SSB.
Level. Простой измеритель уровня/полосы вокруг частоты: настраиваем LNA/VGA/AMP, следим за S-метром/водопадом, ловим “жизнь в эфире”. Часто используется для настройки антенны/согласования.
Looking Glass. Широкополосный "обзорник" спектра с водопадом/пиками, пресетами диапазонов, маркерами и переходом в Audio по клику. Есть RX IQ CAL для улучшения IRR (калибруется и хранится на SD). Держим узким диапазон - иначе скан будет “вечным”". GitHub
NOAA. Приём аналогового APT NOAA (137 MHz): прямо рисует погодные картинки в .BMP на SD. Антенна - QFH/диполь на 137 MHz, лучше с LNA. NB: NOAA-18 официально выведен из эксплуатации 06 июня 2025; в работе остаются NOAA-15 и NOAA-19. GitHub
NRF. Декодер радиосети Nordic nRF24L01 (2.4 GHz, ESB): показывает полезные поля пакетов; сейчас поддержан режим 250 kbps (как минимум). Удобно "слушать" игрушечные коптеры/пульты/датчики на nRF. GitHub
POCSAG. Пейджерный протокол (в т.ч. радиолюбительский DAPNET на 439.9875 MHz/1200 baud): мониторинг алфавитно-цифровых сообщений, ID, тайминги. Отлично для “радиопейджерного ретро”. GitHub
ProtoView. “Осциллограф протоколов”: визуализация импульсов/символов OOK/FSK, замер длительностей, полярностей, уровней; помогает реверсить "безымянные" брелоки/датчики. Можно логировать и разбирать дома.
Radiosonde. Декод метеозондов: MeteoModem M10/M20/M2K2, Vaisala RS41 и др. Координаты/высота/напряжение/серийник; лог в /LOGS/SONDE.TXT; QR с geo: для быстрого открытия карты, “See on map” - прыжок на оффлайн-карту. Есть “пищалка” по уровню. GitHub
Scanner. Классический сканер по шагу/пресетам (freqman): ходит по списку частот, держит ос��анов по шумоподавлению, может автопрыгать в прослушку. Удобен для “дежурного” мониторинга.
Search. Поиск несущих вокруг заданной частоты: быстро “щупает” окрестности, ловит пики и предлагает нырнуть в Audio. Когда нужно просто “найти, где пищит”.
SubGhzD. Универсальный декодер простых суб-ГГц протоколов (OOK/узкополосный FSK) с готовыми шаблонами: “домовые” датчики/брелоки/радиорозетки. Показывает ID/счётчики/полезную нагрузку, помогает понять, “что это было”.
TPMS Rx. Датчики давления в шинах (315/433 MHz): ID, давление/температура, батарейка и пр. Отлично видны авто на парковке - учебный пример “массовой телеметрии”.
Weather. Прием бытовых беспроводных метеодатчиков (суб-ГГц): температура/влажность/иногда давление. Полезно для “умного дома” и тестов радиодатчиков.
WeFax. Декод погодных факсимиле с КВ (HF WEFAX) прямо в картинку на SD. Подходит для “дальней” погоды в море/в полях; нужна согласованная КВ-антенна. GitHub
В функций передачи разнообразных сигналов:
ADS-B(S) TX. Генерация/спуфинг Mode-S/ADS-B кадров на 1090 МГц (ICAO, высота/скорость/курс). Для передачи в эфир - это почти везде незаконно; годится для стенда/экрана/эквивалента нагрузки. Hackaday+1
APRS. Передача AFSK-1200 APRS-кадров (радиолюбительские диапазоны, лицензия обязательна). Хорошо подходит для стендовых тестов трекеров.
BHT Xy/EP. Наследие “городской инфраструктуры” (семейство Xylos/EPAR и родственные сигналы управления освещением/дисплеями). Экспериментальный/нишевый модуль, документация в открытых источниках скудная. GitHub
BLE TX. Генерация BLE advertising-кадров на каналах 37/38/39; тесная связка с BLE RX (можно “выстреливать” ранее пойманные PDUs). FCC ID
BLESpam. “Шумная” рассылка BLE-объявлений (массовые рекламные пакеты, спуф имён/флагов). Использование в реальной среде может нарушать правила/законы поэтому можно использовать только в тестовом стенде. GitHub+1
Burger Pager. Имитация сигналов радиопейджеров в ресторанах (старые системы оповещения). Чисто для исследований; работать в “поле” рискованно. RadioReference.com
CVS Spam. Внутренняя “несерьёзная” утилита; прямо радио не использует (по словам разработчиков). Не путать с реальными TX-приложениями. GitHub+1
FlipperTX. Передача суб-ГГц паттернов из файлов, совместимых с экосистемой Flipper (обычно через конвертацию в .C16/.OOK; прямые .SUB не поддерживаются). Степень совместимости зависит от билда прошивки. GitHub
GPS Sim. Симуляция GPS L1 C/A (эфемериды из BRDC, сформированный C/A-код). Использовать только в экранированной среде; эфирный джемминг/спуфинг GPS незаконен. GitHub
Jammer. Конфигурируемый генератор помех (шумы/тоны/скан/шаблоны). В эфире - почти везде запрещено. Допустимо исключительно на эквивалент нагрузки и в экранированном стенде. Gitea
LGE Tool. Старый экспериментальный модуль (происхождение/назначение спорное; подробной офдоки нет). Рассматривать как “артефакт” экосистемы. GitHub
Morse. Передача CW/тон-морзе (в т.ч. как тон в FM/WFM для "говорилки" с CTCSS). Удобно для проверки тракта/узкополосных экспериментов. Gitea
OOK. TX простых OOK-кодировок (дверные звонки, розетки, брелоки на PT2262-подобных чипсетах). Работает со своими шаблонами/файлами. Gitea
OOK Editor. Редактор/генератор полезной нагрузки для OOK (правка битовых строк, сохранение .OOK, работа с собственным форматом). GitHub
POCSAG. Передатчик пейджингового протокола POCSAG (скорости 512/1200/2400 бод). Чисто для исторического/учебного интереса. RadioReference.com
Replay. Воспроизведение ранее записанных I/Q (C8/C16) с управлением частотой/усилением и плейлистами. Для стендов - идеально.
RDS. Передача RDS поверх WFM (PS/RT/время). Пригодно для лабораторных тестов радиоприемников. GitLab
Soundboard. Проигрывание WAV с SD “в эфир” (WFM/AM как “микрофон+кнопки”). Удобно для демонстраций и учебных стендов. Gitea
Spectrum Painter. “Рисование” картинок/текста на водопаде спектроанализаторов - формирует управляемый “гребень” на нужных частотах. Забавная и наглядная демонстрация TX. YouTube
SSTV. Передача SSTV (медленное ТВ) - любительские режимы (Martin, Scottie и т.п.). Хорошо заходит в связке с обычными радиоприемниками. GitLab
TEDI/LCR. Французские/европейские протоколы дорожной телематики (LCR = Langage de Commande Routier). Узкоспециализированный модуль для исследовательских задач. GitLab+1
TouchTunes. Передача команд к музыкальным джукбоксам TouchTunes (эмуляция пульта). Использовать только на собственном оборудовании/стенде. GitHub
Transceiver. Полудуплексная “рация”: голосовой TX/RX (FM/NFM, с CTCSS), быстрая проверка канала/антенны.
Встроенные утилиты:
Antenna length - калькулятор четверть-/полуволновой длины под частоту (подбор длинны “телескопа”/провода).
Calculator - простой калькулятор (шаги, частоты, делители).
Cart Lock - "Shopping Cart Lock": демонстрационный инструмент под системы блокировки колёс тележек; региональные нюансы, исходно экспериментальный. Gitea
Debug Menu - инженерные переключатели/сервисы (для разработчиков/диагностики).
File manager - файловый менеджер SD (копия/перенос/переименовать/просмотр), интеграция с приложениями. GitHub
Flash Utility - утилиты прошивки/сервисные функции (без инструкций).
Freq manager - редактирование списков частот/категорий.
IQ Trim - подрезка DC-смещения/баланса (улучшение "зеркалки" в zero-IF).
Metronome - метроном (тайминг/рифы для тестов аудиотракта).
Notepad - простые заметки на SD (например, к логам).
Playlist Editor - сборка плейлистов для Replay (частота/задержки).
Rand Pwd - генератор случайных паролей/строк (не для RF, а вообще).
SD over USB - монтирование SD как USB Mass Storage к ПК (удобно для файлов). GitHub
Signal gen - тон/шум/простейшие паттерны для калибровки стенда.
Stopwatch - секундомер (замеры, “пролёты”).
Tuner - “музыкальный тюнер” по аудио-входу/микрофону.
WardriveMap - геометки/визуализация результатов “вардрайва”; умеет подхватывать данные Flipper Wardrive (добавлялось в 2.0.x). GitHub
Wav Viewer - просмотр аудиофайлов/метаданных на SD.
Wipe SD card - очистка SD (опасно - удаляет данные).
Настройки:
App Manager - показать/скрыть приложения в меню (новинка в 2.2.0). Reddit+1
App Settings - глобальные/пер-приложные INI-параметры.
Audio - уровни/микрофон/наушники/эквалайзер (gfxEQ в новых версиях). nilorea.net
Battery - индикация/калибровка батареи (если поддерживается железом).
Blacklist - отключение приложений из меню (альтернатива App Manager).
Brightness - яркость/таймаут подсветки.
Button Speed - скорость/акселерация энкодера/кнопок.
Calibration - базовые калибровки (в т.ч. RX IQ/смещения).
Touchscreen Threshold - чувствительность/калибровка тача.
Config Mode - набор глобальных переключателей/поведения.
Converter - небольшие конвертеры (единицы, форматы; зависит от билда).
Date/time - RTC/часовой пояс/форматы времени.
Display - инверсия/ориентация/параметры IPS/темы. Reddit
Encoder Dial - направление/шаг/поведение энкодера.
Freq. Correct - глобальная частотная коррекция (PPM/offset).
Menu Color / Theme / User Interface - цвета/темы/плотность UI, автостарт и пр. (часть настроек добавлялась в релизах 2.x). nilorea.net
P.Mem Mgmt / P.Memory - управление постоянной памятью (сброс/сохранение).
QR code - вывод служебной информации в QR (для быстрых обменов).
Radio - глобальные параметры радиотракта (AMP/LNA/AGC предустановки).
Как видите - функций для радиоэкспериментов навалом. По поводу каждого более-менее интересного применения приведена ссылка на соответствующий теме материал.
Начинать работать с PortaPack можно по-разному. Я обычно запускаю просмотр спектра с умеренной шириной обзора, порядка 1-3 МГц, и даю водопаду протечь в целевом диапазоне некоторое время. Это важнее, чем кажется. На таком span шумовой пол не маскирует тонкие детали, а кадры FFT обновляются достаточно быстро, чтобы видеть динамику. Если хочется “разрешения”, то я увеличиваю размер FFT, тем самым уменьшая RBW - и визуально шумовой пол опускается на десяток децибел. Главное - не компенсировать это усилениями: на 8-битной платформе линейность дороже “чувствительности”. Поэтому AMP у меня обычно выключен, LNA и IF держу в “разумном” коридоре, пока пики не станут ровными, без расползания.
Разведку спектра удобнее делать не “крутилкой”, а инструментально. В Mayhem для этого есть Looking Glass: один тап - и вы видите кусок эфира целиком, ещё один - и уже слушаете конкретный канал в профильном приёмнике. На практике это превращается в понятный цикл: обзор - маркер на пике - переход в Audio. Для голоса - NFM с шагом сетки 12,5 кГц (если локальная сеть старая, может пригодиться 25 кГц). Полосу аудио сужаю ровно настолько, чтобы не тянуть лишний шум; если включён squelch, даю ему небольшую гистерезисную "ленивость", иначе сканер превращает мониторинг в чехарду. Когда задача - “накрыть район” заранее известными частотами, использую Scanner и свои списки FreqMan. Имеет смысл поддерживать отдельные листы под “дом”, “дорога”, “аэропорт” - сканер быстрее и предсказуемее, если не топтаться по мусорным частотам и локальным импульсным помехам.
С аналоговыми модуляциями всё просто, но важны параметры. Для авиационного диапазона 118–137 МГц работаю в AM, полосу аудио держу около 6-8 кГц: этого хватает для разборчивой речи и не тянет белый шум. На FM в диапазоне 88-108 МГц WFM-фильтр открываю до ~150–230 кГц, деэмфаза - европейская 50 µs; это одновременно "калибратор" тракта и способ оценить обстановку по мультипути. Узкополосная ЧМ (PMR, любительские ретрансляторы на 2 м/70 см, морские сервисы) звучит лучше всего с честными шагами сетки (12.5 кГц) и аккуратной деэмфазой; если есть CTCSS/DCS, включаю для санитарии - так проще "вырезать" фон и оставлять только интересующую сеть. На HF для SSB выбираю аудио-полосу 2.2-2.8 кГц и мелкую подстройку частоты (по 10–50 Гц за шаг). Тут портативность уже не спасает - решают антенна и опорная частота; без внешнего референса на DX-охоте дрейф будет слышен.
Как только в кадре появляется что-то интересное, я стараюсь “снимать сырое”, а не только “послушать и забыть”. В Mayhem запись I/Q делаю в C8 (8-бит комплекс, ~2 байта на сэмпл) - этого достаточно для анализа на ПК и не душит SD. Для оценки потолка просто помните числа: 1 MS/s в C8 - это около 2 МБ/с, в C16 - 4 МБ/с. Обычные карты честно тянут до ~1 MS/s; если хочется шире, готовьте быструю UHS-I. Sidecar-файлы с метаданными (TXT) сильно экономят время при последующем разборе: в GNU Radio/inspectrum не придется угадывать частоту и рейт.
Какие из диапазонов могут быть наиболее интересны для радиоохоты? На FM вы получите эталонные несущие и RDS. В авиации (AM, 118–137 МГц) - структурированную речь, где полезно тренировать ухо и водопад сразу: ATIS, диспетчерские команды, прогнозы. У воды - морской VHF (NFM), а рядом - AIS: два цифровых канала на 162 МГц, которые хорошо показывают динамику движения судов, даже если вы стоите на набережной с короткой антенной. Любительские 144-146/430-440 МГц - школа дисциплины работы с фильтрами: репитеры, простые связи, иногда SSB-активности, где наглядно виден компромисс 8-битного тракта. Бытовые PMR446 - удобный полигон для доводки сканера и шумоподавления. Если тянет к спутникам - аналоговый APT NOAA на спутниках которые еще не выведены из эксплутации на ~137 МГц остаётся прекрасной учебной целью: капризный слабый сигнал, чувствительный к геометрии и к качеству антенны, но вознаграждает честной “картинкой погоды”. На HF попробуйте WEFAX: SSB-приём покажет, что делают замирания и как ведёт себя ваш фильтр. И, конечно, суб-ГГц ISM (433/868 МГц) - это сплошные OOK/FSK-"шёпоты" домовых датчиков и брелоков: отличный материал для ProtoView и “насматривания” импульсных структур.
Типичные проблемы решаются без особых усилий. Если водопад превратился в “шерсть по всей полосе”, это перегруз: уберите AMP, отступите по LNA/IF, поставьте внешний аттенюатор или полосу (BPF/LPF) под текущий диапазон. Если на экране виден уверенный пик, а в динамике пусто - почти всегда не совпала модуляция или слишком узкая полоса. Фантомы по обе стороны частоты - сигнал к повторной RXIQ-калибровке и к работе чуть в стороне от DC. Дропы при записи - необходимо проверить SD (быстрый тест на чтение/запись). Если “авиа” молчит - это не баг, а антенна: вынесите четвертьволновой GP на улицу, на 10-20 м от стен, или хотя бы на подоконник с “видом на небо”.
Отдельно про тактику. Лучше один раз аккуратно “снять фон” района - сделать набор скриншотов одних и тех же участков спектра в разное время дня - чем настраивать усиления “на глаз каждый раз”. Лучше один раз сформировать опорные списки частот под локации, чем бесконечно прокручивать “сетки”. PortaPack не заменит анализатор класса “метрологии”, но быстро даст ответ “что тут живёт” и сохранит данные так, чтобы на ПК досказать то, на что в поле не было времени.
Самые интересные эксперименты лучше проводить в лабораторных условиях, при передаче в кабельной среде от передатчика до приемника. Это мой сетап для исследований: закрытая экосистема, из которой сигнал не “убежит” в мир и не привлечет ко мне не нужного внимания.
С таким стендом передача перестаёт быть лотереей и становится исследованием. Хочешь проверить, как демодулятор справляется с AFSK? Кидаю на SD короткий WAV, в Mayhem открываю Soundboard и отправляю тон в нагрузку. На контрольном приемнике слышно чисто - значит фильтр/деэмфаза у приёмника корректно выставлены, гармоники под контролем. Надо прогнать SSTV или RDS для теста приёмника в соседней комнате? Спектр можно смотреть на втором SDR после аттенюатора, полосу подбираю, чтобы не раздувать соседние каналы. Ну а любые "красивые картинки на водопаде" можно дунуть из Spectrum Painter.
Самый “магический” инструмент - Replay. Он превращает записи в повторяемые тестовые случаи: набор I/Q как плейлист, у каждого - своя центральная частота, пауза, уровень. Например, я записал кусок эфира с брелоком на суб-ГГц, вырезал чистый выхлоп и гоняю его через нагрузку, пока смотрю, как мой софт-детектор меняет чувствительность к джиттеру. Таким образом можно отлаживать свои радиодевайсы.
BLE TX и вариации вроде BLESpam - вообще отдельная история. Это отличный инструмент для того, чтобы проверить фильтрацию, реакцию сканеров, поведение стека в стрессовом сценарии.
Из романтики - Morse и Transceiver. Это то, из-за чего мы все и подсели на радиожелезки: нажал - и голос пошёл. Или передал Морзянкой на приемник, свой сигнал или фразу🙂. Есть другие интересные утилитки, типа Jammer, GPS Sim - о них читайте в документации самостоятельно и применяйте на свой страх и риск.
Вообще, моя личная рекомендация - проводить любые эксперименты с передачей только при подключенной нагрузкой и в контролируемых изолированных условиях.
Если коротко: вокруг HackRF+PortaPack и Mayhem уже сформировалась полноценная экосистема - с живыми чатами, вики, и вполне взрослым процессом приёма багрепортов и патчей. Самые популярные и доступные ресурсы:
HackRF (официальная дока): "чёрная книга" по железу и хост-софту. Здесь же разделы Getting Help и Troubleshooting - от "почему ПК не видит плату" до классической "иглы" в центре спектра. Хорошая отправная на любые “железные” вопросы. hackrf.readthedocs.io+1
PortaPack Mayhem (активная прошивка): основной репозиторий, релизы (включая стабильные и nightly), вики, правила вкладов и ссылка на Discord-чат проекта. GitHub+1
Оригиналы и история: исходники PortaPack H1 от ShareBrained (железо/прошивка) - пригодится как первоисточник схем/идей; Havoc как исторический форк (сейчас фактически "заморожен"). GitHub+1
GitHub Issues - и у HackRF, и у Mayhem это “точка входа” для вопросов и багов. У HackRF в документации прямо сказано: вопросы лучше заводить в issues, а также указан Discord и архив рассылки. GitHub
Discord: у HackRF есть официальный сервер; у Mayhem - отдельный (ссылка в hackrf.app / Mayhem Hub). Там быстрее всего получить обратную связь. hackrf.readthedocs.io+1
Вики Mayhem: живой справочник по приложениям, сборке, форматированию кода и внутренностям прошивки GitHub+2
Reddit r/hackrf и профильные форумы - полезны в поиске по “симптомам” проблем, но информацию стоит еще поискать в этом случае по докам/вики.Reddit
ПК не видит плату / No HackRF boards found: проверьте режим "HackRF Mode", если PortaPack надет (это частая причина), USB-кабель "только заряд" и DFU-режим восстановления - всё расписано в оф. "Troubleshooting". hackrf.readthedocs.io
"Игла" по центру спектра: это DC-offset квадратичного приёма; лечится смещённой настройкой/фильтрами - подробности в доке HackRF. hackrf.readthedocs.io
МикроSD и содержимое Mayhem: карта должна быть исправно отформатирована (чаще всего FAT32), корректно разложены файлы релиза; по спорным кейсам см. issues/вики Mayhem. GitHub+1
Питание и "странности" дисплея/загрузки: для Portapack-клонов типичны проблемы питания/RTC-батарейки; полезно свериться с вики/issue-треками Mayhem.GitHub
В общем после использования этой “железки” у меня остались исключительно хорошие впечатления. Особенно после того, как увидел маячки от самолётов и с кораблей, которые тут очень часто курсируют на севере Москвы по Москве-реке.
HackRF с PortaPack — это не «универсальный анализатор» и не «радиостанция на все случаи». Это портативная радиолаборатория начального/среднего уровня, где скорость итераций важнее предельной точности: вы вышли «в поле», быстро увидели картину спектра, послушали, записали I/Q, проверили гипотезу и унесли материал на ПК. В связке с прошивкой Mayhem устройство за последние годы превратилось из любопытного набора в устойчивый инструмент с предсказуемым UX и широкой экосистемой приложений.
Сильные стороны - автономность (экран/органами управления), широкий частотный охват, мгновенный старт без ноутбука, зрелый стек ПО и возможность работать «как с приёмником», так и как с простым генератором/реплеером тестовых сигналов на стенде. Это дает решающую экономию времени на разведке эфира, сборе примеров и быстрых демонстрациях.
Объективные границы тоже понятны: 8-битовый тракт и полудуплекс диктуют компромиссы по динамическому диапазону и линейности; встроенный синтезатор не претендует на метрологию; мощность и «чистота» TX выходят на уровень “для стенда/эквивалента нагрузки”, а не “для эфира”. В реальном городе без внешних фильтров и аттенюаторов легко упереться в интермоды и “зеркалки”. Качество аппаратных ревизий и клонов разнородно — совместимость и питание стоит проверять до покупки.
Для кого этот девайс может быть максимально интересен и полезен - инженеры, радиолюбители, техноманьяки, радиофрикеры, исследователи протоколов, разработчики IoT и все, кому нужен быстрый полевой инструмент наблюдения/захвата/воспроизведения I/Q. Для кого нет: тем, кому нужны гарантированные метрологические измерения, точные уровни/маски и полноценный дуплекс — там уместны другие классы SDR/приборов.
Надеюсь мой обзор был полезным и раскрыл в достаточной степени возможности данного устройства. До встречи в следующих статьях.