raxlis
Интересующийся
- Регистрация
- 9 Мар 2019
- Сообщения
- 28
- Реакции
- 2
Доброго времени суток! Сейчас мы достаточно глобально поговорим о радиохакинге и том, что с ним связано. Приятного изучения.
Что такое SDR — Software-defined radio
Если проще: SDR (программно определяемая радиосистема) - это когда все характеристики будущей радиоволны (например, её частота) создаются в компьютере, и затем такая «нарисованная» в компьютере волна отправляется на внешнюю железяку, чтобы быть отправленной как настоящая радиоволна. Благодаря такому подходу достигается большая гибкость в плане того, какие характеристики можно присвоить волне — понятное дело, что отправляющая железяка должна им соответствовать.
А вот определение и Википедии:
Программно определяемая радиосистема (англ. Software-defined radio, SDR) — радиопередатчик и/или радиоприёмник, использующий технологию, позволяющую с помощью программного обеспечения устанавливать или изменять рабочие радиочастотные параметры, включая, в частности, диапазон частот, тип модуляции или выходную мощность, за исключением изменения рабочих параметров, используемых в ходе обычной предварительно определённой работы с предварительными установками радиоустройства, согласно той или иной спецификации или системы. ПОР выполняет значительную часть цифровой обработки сигналов на обычном персональном компьютере или на ПЛИС. Целью такой схемы является радиоприёмник или радиопередатчик произвольных радиосистем, изменяемый путём программной переконфигурации (отсюда происходит альтернативное наименование таких систем - программно конфигурируемые).
Ну, то есть, это такое радио, в котором для смены частоты не нужно крутить колёсико.
Какое железо выбрать для SDR?
Бытовых (любительских) SDR, которые можно просто купить в магазине, очень много: Funcube Dongle, RTL-SDR, USRP, OsmoSDR, BladeRF, HackRF, AirSpy, устройства LimeSDR USB Type-A и другие. Вот здесь собран большой список с их характеристиками.
Одним из самых популярных устройств является HackRF. У этого устройства большой диапазон поддерживаемых частот, а также приемлемая (по сравнению с некоторыми другими моделями) цена.
HackRF не дешёвый, его цена вместе с доставкой примерно $150. Есть намного более дешёвые модели, но, понятно, и с более скромными характеристиками (меньше поддерживаемых частот). Есть более продвинутые чем HackRF модели, но их цена (для меня) слишком высокая. Возможно, если вас интересует не весь спектр частот, а какие-то определённые частоты, то вы сможете найти другое устройство, которое будет работать лучше с этими частотами или стоить дешевле чем HackRF. HackRF — это довольно универсальное устройство с доступной ценой.
HackRF
HackRF One — это дешёвая, с открытым исходным кодом платформа Software Defined Radio.
HackRF One имеет следующие характеристики:
У этого устройства прошивка с открытым исходным кодом. Оно совместимо с GNU Radio, SDR# и другими программами. Хорошая совместимость с Linux.
Меры предосторожности для HackRF
Нельзя запускать приём или передачу данных без подключённой антенны! Это очень важно, поскольку прибор не контролирует, подсоединена ли антенна и в любом случае под нагрузкой подаёт электричество, поэтому без антенны HackRF может просто сгореть.
Либо вместо антенны используйте заглушку — имеется ввиду не пластиковые красные заглушки, которые защищают от пыли, а заглушку с функцией потребления нагрузки — золотистая «гайка», которая наворачивается на гнездо антенны
У прибора три одинаковых SMA female разъёма: два на одной стороне и один на другой стороне. Разъём для антенны это тот, который размещён один (другие два предназначены для синхронизации нескольких устройств HackRF).
Значение кнопок и индикаторов HackRF
При подключении к компьютеру HackRF на нём загораются индикаторы.
Первые три индикатора:
Следующий:
Последние два:
Что касается цветов, то они вообще ничего не означают: цвета разные только чтобы вы могли отличать светодиоды друг от друга.
Теперь рассмотрим кнопки
Первая кнопка:
Как HackRF вывести из состояния «кирпича»?
Если вы прошили устройство так, что оно больше не работает, то вам нужно загрузиться используя DFU загрузчик — он прописан в ROM, поэтому его невозможно испортить. Для перехода в режим DFU вам нужно зажать эту кнопку, всё ещё удерживая эту кнопку отключить USB кабель и, продолжая удерживать эту кнопку, вновь подключить USB кабель. Если загорится только индикатор 3V3, но не загорятся другие, это означает, что вы успешно вошли в DFU режим
Ещё один способ перейти в режим DFU, это зажать кнопку DFU и при нажатой кнопке нажать и отпустить кнопку RESET.
В этом режиме вы можете использовать соответствующую программу на вашем компьютере для перепрошивки HackRF.
Кабель для HackRF — почему крайне желательно кабель с шумоподавлением?
Для HackRF много разных дополнительных опций, например, экранированный чехол. На самом деле, по-настоящему важной опцией, результат от которой вы заметите сразу, является качественный USB кабель с возможностью подавлением шума.
Выбранный вами USB может иметь большое влияние на то, что вы видите используя ваш HackRF, особенно используя его на частотах в районе 120 и 480 MHz, на которых USB делает всю свою работу.
Снимок экрана до и после перехода на шумоподавляющий кабель:
Пример такого защищённого кабеля: 6ft USB 2.0 A Male to Micro 5pin Male 28/24AWG Cable w/ Ferrite Core Gold Plated
Его характеристики:
Аналогичный дешёвый вариант из Китая с бесплатной доставкой, правда без позолоченных коннекторов:
ИМХО: Позолоченные контакты важны для недопущения коррозии, для защиты от помех это особо не влияет (пока не начнётся коррозия). То есть можно взять и китайские без позолоченных контактов — лишь бы другие характеристики об экранировании соответствовали действительности.
Антенны для HackRF
В комплекте с HackRF идёт телескопическая антенна — она неплохая для начала. Но для определённых задач вы можете подобрать антенну получше.
У HackRF SMA гнездо, а не RP-SMA! То есть в гнезде антенны нет штырька — там есть дырочка. Пример распространённых RP-SMA антенн — это Wi-Fi антенны — у них тоже нет штырька — у их тоже дырочка. Поэтому если вы прикрутите Wi-Fi антенну к HackRF, то она действительно прикрутится и визуально будет казаться, что она подключена. НО: на самом деле она не будет подсоединена, поскольку отсутствует соединительный сердечник.
Таким образом — вам нужны антенны со штырьком. Либо используйте переходник с RP-SMA антенны — они имеются.
Пример телескопической антенны, которая подойдёт для HackRF One — это ANT500 (по техническим характеристикам она также подходит для HackRF).
Обратите внимание на сердечник:
Программное обеспечение, поддерживающее HackRF
Здесь список приложений, о которых известно, что они работают с HackRF. Приложения разделены на три секции:
len = 1000; % 1000 samples
y = fread(fid, 2*len, 'int8');
y = y(1:2:end) + 1j*y(2:2:end);
fclose(fid)
Инструменты HackRF
В дополнении к сторонним инструментам, которые поддерживают HackRF, разработчики устройства предоставляют некоторые инструменты командной строки для взаимодействия с HackRF. Информацию о том, как пользоваться каждым инструментом, смотрите в справке соответствующей программы, например, в страницах руководства.
Первые два инструмента (hackrf_info и hackrf_transfer) должны покрывать большинство задач. Оставшиеся инструменты представлены для отладки и общего интереса; будьте осторожны, при неправильном использовании они могут навредить HackRF.
Как установить драйвер, инструменты HackRF и SDR утилиты?
В этом разделе подсказки по установке программного обеспечения для определённых операционных систем и дистрибутивов Linux.
Установка драйверов и утилит общего назначения
Большинству пользователей настоятельно рекомендуется, если вы не преследуете целей разработки или тестирования новых функций для HackRF, использовать собранные для вашей системы пакеты и устанавливать их с помощью менеджера пакетов, имеющегося для вашей операционной системы.
Linux
USE="hackrf" emerge gr-osmosdr
OS X (10.5+)
Исполнимые файлы поставляются как часть проекта PothosSDR, их можно загрузить здесь.
FreeBSD
Вы можете использовать бинарный пакет:
Вы можете собрать и установить с ports:
cd /usr/ports/comms/hackrf
make install
Сборка из исходников
Linux / OS X / *BSD
git clone https://github.com/mossmann/hackrf.git
После загрузки исходного кода, инструменты хоста могут быть собраны следующим образом:
cd hackrf/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
Если у вас есть HackRF, то вам может понадобиться обновить прошивку, чтобы она соответствовала версии инструментов хоста.
Windows
Устройства HackRF поставляются с микропрограммой на флэш-памяти SPI и с битовым потоком, запрограммированным на CPLD. Прошивка может быть обновлена только с помощью USB-кабеля и хост-компьютера.
Эти инструкции позволяют обновить микропрограмму и поток битов CPLD, чтобы воспользоваться новыми функциями или исправлениями ошибок.
Если вам трудно заставить этот процесс работать из вашей родной операционной системы, вы можете использовать Pentoo или GNU Radio Live DVD для выполнения обновлений.
Шаг 1: Обновление прошивки SPI Flash
Чтобы обновить прошивку на работающем HackRF One, используйте программу hackrf_spiflash:
hackrf_spiflash -w hackrf_one_usb.bin
Вы можете найти двоичный файл прошивки (hackrf_one_usb.bin) в каталоге firmware-bin последней версии пакета или вы можете скомпилировать свой собственный из исходного кода. Для Jawbreaker используйте hackrf_jawbreaker_usb.bin. Если вы компилируете из исходного кода, файл будет называться hackrf_usb.bin.
Программа hackrf_spiflash является частью hackrf-tools.
При записи образа прошивки на SPI-флэш-память обязательно выберите прошивку с именем файла, оканчивающимся на «.bin».
После записи прошивки на SPI-флешку вам может понадобиться выполнить сброс устройства HackRF, нажав кнопку RESET или отключив и снова подключив его.
Если вы получили ошибку, в которой упоминается HACKRF_ERROR_NOT_FOUND, ознакомьтесь с FAQ. Часто это проблема разрешений, которая может быть быстро решена.
Шаг 2: Обновление CPLD
Для обновления до последней версии образа CPLD сначала обновите прошивку SPI flash, libhackrf и hackrf-tools. Затем:
hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf
Через несколько секунд три светодиода должны начать мигать. Это указывает на то, что CPLD был запрограммирован успешно. Перезагрузите устройство HackRF, нажав кнопку RESET или отсоединив и снова подключив его.Только при необходимости: загрузка DFU
Режим загрузки DFU обычно требуется только в том случае, если прошивка не работает должным образом или никогда не была установлена.
Микроконтроллер LPC4330 на HackRF способен загружаться из нескольких различных источников кода. По умолчанию HackRF загружается с флэш-памяти SPI (SPIFI). Он также может загружать HackRF в режиме загрузки DFU (USB). В режиме загрузки DFU HackRF будет ждать, пока код будет доставлен с использованием стандарта DFU (обновление прошивки устройства) через USB, а затем выполнит этот код из ОЗУ. SPIFI обычно не используется и не изменяется в режиме DFU.
Чтобы запустить HackRF One в режиме DFU, удерживайте нажатой кнопку DFU при включении или при нажатии и отпускании кнопки RESET. Отпустите кнопку DFU после того, как загорится светодиод 3V3. Светодиод 1V8 должен оставаться выключенным. На этом этапе HackRF One готов к приёму прошивки через USB.
В режиме DFU вам следует использовать только образ прошивки с именем файла, оканчивающимся на «.dfu», а не на прошивку, оканчивающуюся на «.bin».
Только при необходимости: восстановление прошивки SPI Flash
Если встроенное программное обеспечение во флэш-памяти SPI было повреждено или вы программируете самодельный HackRF в первый раз, вы не сможете сразу использовать программу hackrf_spiflash, как указано в приведённой выше процедуре. Выполните следующие шаги:
Следуйте инструкциям по загрузке DFU, чтобы запустить HackRF в режиме загрузки DFU.Напечатайте:
dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu
для загрузки прошивки из пакета релиза в оперативную память. Если у вас есть Jawbreaker, используйте вместо этого hackrf_jawbreaker_usb.dfu. В качестве альтернативы используйте
make -e BOARD=HACKRF_ONE RUN_FROM=RAM program
При новых установках вашей ОС вам может потребоваться получить копию DFU-Util. Для большинства дистрибутивов Linux он должен быть доступен в виде пакета, например, в Debian/Ubuntu
sudo apt install dfu-util
Для Arch Linux/BlackArch:
Если вы используете платформу без пакета dfu-util, инструкцию по сборке можно найти здесь на странице сборки исходного кода dfu-util:
cd ~
sudo apt build-dep dfu-util
sudo apt install libusb-1.0-0-dev
git clone git://git.code.sf.net/p/dfu-util/dfu-util
cd dfu-util
./autogen.sh
./configure
make
sudo make install
Теперь у вас будет установлена текущая версия DFU Util в вашей системе.
Быстрый старт с HackRF. Первый приём и передача данных в HackRF
Данные команды показаны для Linux.
Для просмотра информации о вашем устройстве, а также чтобы убедиться, что Linux правильно определяет HackRF и готов работать с ним, выполните команду:
Для выполнения тестового получения данных запустим hackrf_transfer с опцией -r после которой укажем /dev/null, чтобы данные не сохранялись на компьютер:
hackrf_transfer -r /dev/null
Будет использоваться скорость по умолчанию — 10 миллионов бит в секунду. Максимальная скорость HackRF равна 20 мегабитам в секунду, чтобы проверить эту скорость запустите команду с опцией -s, после которой укажите скорость в битах в секунду:
hackrf_transfer -r /dev/null -s 20000000
Некоторые устройства HackRF на некоторых компьютерах могут показывать предельную скорость равную 21500000. Чтобы проверить, поддерживает ли ваш компьютер такую скорость, выполните команду:
hackrf_transfer -r /dev/null -s 21500000
Главное, от чего зависит скорость — это USB разъём. На одном и том же компьютере скорость в разных USB гнёздах может быть разная. Как минимум ваш компьютер должен поддерживать скорость по умолчанию, то есть 10 мегабит в секунду.
Для передачи данных используется опция -t:
hackrf_transfer -t /dev/zero
С hackrf_transfer вы обычно будете использовать опцию -f, после которой нужно указывать частоту в Герцах. Допустимые значения с 0MHz до 7250MHz.
Материалы и видео по SDR и HackRF
Официальная Вики HackRF (на английском) - github.com
Интересные видео по SDR и HackRF - greatscottgadgets.com
Эти же видео в переводе от Дмитрия : DesignerMix
Что такое SDR — Software-defined radio
Если проще: SDR (программно определяемая радиосистема) - это когда все характеристики будущей радиоволны (например, её частота) создаются в компьютере, и затем такая «нарисованная» в компьютере волна отправляется на внешнюю железяку, чтобы быть отправленной как настоящая радиоволна. Благодаря такому подходу достигается большая гибкость в плане того, какие характеристики можно присвоить волне — понятное дело, что отправляющая железяка должна им соответствовать.
А вот определение и Википедии:
Программно определяемая радиосистема (англ. Software-defined radio, SDR) — радиопередатчик и/или радиоприёмник, использующий технологию, позволяющую с помощью программного обеспечения устанавливать или изменять рабочие радиочастотные параметры, включая, в частности, диапазон частот, тип модуляции или выходную мощность, за исключением изменения рабочих параметров, используемых в ходе обычной предварительно определённой работы с предварительными установками радиоустройства, согласно той или иной спецификации или системы. ПОР выполняет значительную часть цифровой обработки сигналов на обычном персональном компьютере или на ПЛИС. Целью такой схемы является радиоприёмник или радиопередатчик произвольных радиосистем, изменяемый путём программной переконфигурации (отсюда происходит альтернативное наименование таких систем - программно конфигурируемые).
Ну, то есть, это такое радио, в котором для смены частоты не нужно крутить колёсико.
Какое железо выбрать для SDR?
Бытовых (любительских) SDR, которые можно просто купить в магазине, очень много: Funcube Dongle, RTL-SDR, USRP, OsmoSDR, BladeRF, HackRF, AirSpy, устройства LimeSDR USB Type-A и другие. Вот здесь собран большой список с их характеристиками.
Одним из самых популярных устройств является HackRF. У этого устройства большой диапазон поддерживаемых частот, а также приемлемая (по сравнению с некоторыми другими моделями) цена.
HackRF не дешёвый, его цена вместе с доставкой примерно $150. Есть намного более дешёвые модели, но, понятно, и с более скромными характеристиками (меньше поддерживаемых частот). Есть более продвинутые чем HackRF модели, но их цена (для меня) слишком высокая. Возможно, если вас интересует не весь спектр частот, а какие-то определённые частоты, то вы сможете найти другое устройство, которое будет работать лучше с этими частотами или стоить дешевле чем HackRF. HackRF — это довольно универсальное устройство с доступной ценой.
HackRF
HackRF One — это дешёвая, с открытым исходным кодом платформа Software Defined Radio.
HackRF One имеет следующие характеристики:
- Диапазон частот: 1 MHz – 6 GHz
- Полоса пропускания: 20 MHz
- RX ADC bits (биты на вход): 8
- TX DAC bits (биты на выход): 8
- TX кабель: Да
- Гнездо антенны: SMA female
- Дискретизация: 8 – 20 Msps
- Панадаптеры / Приемники: 0/1
- Полудуплексный ресивер
- Увеличение модности приёма и передачи, а также фильтр частот настраивается программно
- Программно-констролируемая мощность порта антенны: (50 mA на 3.3 V)
- Штырьевой разъём для подключения дополнительных плат увеличивающих функциональность
- Интерфейс хоста: USB 2.0
- Поддерживаемые операционные системы: Windows, Linux, Mac.
У этого устройства прошивка с открытым исходным кодом. Оно совместимо с GNU Radio, SDR# и другими программами. Хорошая совместимость с Linux.
Меры предосторожности для HackRF
Нельзя запускать приём или передачу данных без подключённой антенны! Это очень важно, поскольку прибор не контролирует, подсоединена ли антенна и в любом случае под нагрузкой подаёт электричество, поэтому без антенны HackRF может просто сгореть.
Либо вместо антенны используйте заглушку — имеется ввиду не пластиковые красные заглушки, которые защищают от пыли, а заглушку с функцией потребления нагрузки — золотистая «гайка», которая наворачивается на гнездо антенны
У прибора три одинаковых SMA female разъёма: два на одной стороне и один на другой стороне. Разъём для антенны это тот, который размещён один (другие два предназначены для синхронизации нескольких устройств HackRF).

Значение кнопок и индикаторов HackRF
При подключении к компьютеру HackRF на нём загораются индикаторы.

Первые три индикатора:
- 3V3
- 1V8
- RF
Следующий:
- USB
Последние два:
- RX — означает операции приёма данных
- TX — означает операции передачи данных
Что касается цветов, то они вообще ничего не означают: цвета разные только чтобы вы могли отличать светодиоды друг от друга.
Теперь рассмотрим кнопки
Первая кнопка:
- RESET — сбрасывает, перезагружает микроконтроллер. Аналог отключения и подключения USB шнура.
- DFU — режим обновления прошивки. На самом деле при обновлении прошивки этот режим не нужен. HackRF может обновлять свою прошивку без перехода в этот режим. Главная функция этой кнопки — это раскирпичивание устройства.
Как HackRF вывести из состояния «кирпича»?
Если вы прошили устройство так, что оно больше не работает, то вам нужно загрузиться используя DFU загрузчик — он прописан в ROM, поэтому его невозможно испортить. Для перехода в режим DFU вам нужно зажать эту кнопку, всё ещё удерживая эту кнопку отключить USB кабель и, продолжая удерживать эту кнопку, вновь подключить USB кабель. Если загорится только индикатор 3V3, но не загорятся другие, это означает, что вы успешно вошли в DFU режим
Ещё один способ перейти в режим DFU, это зажать кнопку DFU и при нажатой кнопке нажать и отпустить кнопку RESET.
В этом режиме вы можете использовать соответствующую программу на вашем компьютере для перепрошивки HackRF.
Кабель для HackRF — почему крайне желательно кабель с шумоподавлением?
Для HackRF много разных дополнительных опций, например, экранированный чехол. На самом деле, по-настоящему важной опцией, результат от которой вы заметите сразу, является качественный USB кабель с возможностью подавлением шума.
Выбранный вами USB может иметь большое влияние на то, что вы видите используя ваш HackRF, особенно используя его на частотах в районе 120 и 480 MHz, на которых USB делает всю свою работу.
- Используйте экранированный USB кабель. Лучший способ гарантировать радиочастотные помехи от USB — использовать неэкранированный кабель. Вы можете проверить, что ваш кабель экранирован, используя тестер непрерывности, чтобы убедиться, что экран на одном разъёме имеет непрерывность с экраном на разъёме на другом конце кабеля.
- Используйте короткий USB-кабель. Использование чего-либо большего, чем 6-футовый кабель, может привести к плохим результатам. Чем длиннее кабель, тем больше потерь можно ожидать, и при создании этого поста был опробован 15-футовый кабель, и в результате HackRF работал только вполсилы.
- Для достижения наилучших результатов выберите кабель с ферритовым сердечником. Эти кабели обычно рекламируются как шумопоглощающие и распознаются по утолщению (пластиковому блоку) на одном из концов.

Снимок экрана до и после перехода на шумоподавляющий кабель:

Пример такого защищённого кабеля: 6ft USB 2.0 A Male to Micro 5pin Male 28/24AWG Cable w/ Ferrite Core Gold Plated
Его характеристики:
- Позолоченные разъёмы для коррозионной стойкости, обеспечивающие стабильную и надёжную проводимость
- Ферритовый сердечник для фильтрации шумового сигнала и уменьшения ошибок при передаче
- Рельефная конструкция для гибкого перемещения, долговечности и удобства
- Уменьшает перекрёстные помехи и помехи с алюминиевыми контактами
- Полностью экранированный для защиты от внешних помех
- Длина 6 футов (то есть 1.83 метра).
Аналогичный дешёвый вариант из Китая с бесплатной доставкой, правда без позолоченных коннекторов:
ИМХО: Позолоченные контакты важны для недопущения коррозии, для защиты от помех это особо не влияет (пока не начнётся коррозия). То есть можно взять и китайские без позолоченных контактов — лишь бы другие характеристики об экранировании соответствовали действительности.
Антенны для HackRF
В комплекте с HackRF идёт телескопическая антенна — она неплохая для начала. Но для определённых задач вы можете подобрать антенну получше.
У HackRF SMA гнездо, а не RP-SMA! То есть в гнезде антенны нет штырька — там есть дырочка. Пример распространённых RP-SMA антенн — это Wi-Fi антенны — у них тоже нет штырька — у их тоже дырочка. Поэтому если вы прикрутите Wi-Fi антенну к HackRF, то она действительно прикрутится и визуально будет казаться, что она подключена. НО: на самом деле она не будет подсоединена, поскольку отсутствует соединительный сердечник.
Таким образом — вам нужны антенны со штырьком. Либо используйте переходник с RP-SMA антенны — они имеются.
Пример телескопической антенны, которая подойдёт для HackRF One — это ANT500 (по техническим характеристикам она также подходит для HackRF).

Обратите внимание на сердечник:

Программное обеспечение, поддерживающее HackRF
Здесь список приложений, о которых известно, что они работают с HackRF. Приложения разделены на три секции:
- программное обеспечение на основе GNU Radio;
- те, которые имеют прямую поддержку
- те, которые могут работать с данными от HackRF
- GNU Radio Mode-S/ADS-B - github.com
- GQRX - gqrx.dk
- SDR# (только Windows) - airspy.com.
- Universal Radio Hacker (Windows/Linux) - github.com
- QSpectrumAnalyzer - github.com
- Графический интерфейс Анализатора Спектра (Spectrum Analyzer) для hackrf_sweep в Windows - github.com
- Inspectrum (Инструмент анализа захвата с расширенными функциями) - github.com
- Baudline (может просматривать/обрабатывать данные HackRF, например, hackrf_transfer) - baudline.com
- Matlab
len = 1000; % 1000 samples
y = fread(fid, 2*len, 'int8');
y = y(1:2:end) + 1j*y(2:2:end);
fclose(fid)
Инструменты HackRF
В дополнении к сторонним инструментам, которые поддерживают HackRF, разработчики устройства предоставляют некоторые инструменты командной строки для взаимодействия с HackRF. Информацию о том, как пользоваться каждым инструментом, смотрите в справке соответствующей программы, например, в страницах руководства.
Первые два инструмента (hackrf_info и hackrf_transfer) должны покрывать большинство задач. Оставшиеся инструменты представлены для отладки и общего интереса; будьте осторожны, при неправильном использовании они могут навредить HackRF.
- hackrf_info
- hackrf_transfer
- hackrf_max2837
- hackrf_rffc5071
- hackrf_si5351c
- hackrf_spiflash
- hackrf_cpldjtag
Как установить драйвер, инструменты HackRF и SDR утилиты?
В этом разделе подсказки по установке программного обеспечения для определённых операционных систем и дистрибутивов Linux.
Установка драйверов и утилит общего назначения
Большинству пользователей настоятельно рекомендуется, если вы не преследуете целей разработки или тестирования новых функций для HackRF, использовать собранные для вашей системы пакеты и устанавливать их с помощью менеджера пакетов, имеющегося для вашей операционной системы.
Linux
- Kali Linux, Ubuntu, Debian, Linux Mint
- Fedora / Red Hat1
- Gentoo Linux
USE="hackrf" emerge gr-osmosdr
- Arch Linux
OS X (10.5+)
- MacPorts
- Homebrew
Исполнимые файлы поставляются как часть проекта PothosSDR, их можно загрузить здесь.
FreeBSD
Вы можете использовать бинарный пакет:
Вы можете собрать и установить с ports:
cd /usr/ports/comms/hackrf
make install
Сборка из исходников
Linux / OS X / *BSD
- Подготовка вашей системы
- Установка используя PyBOMBS
- Сборка инструментов HackRF из исходников
git clone https://github.com/mossmann/hackrf.git
После загрузки исходного кода, инструменты хоста могут быть собраны следующим образом:
cd hackrf/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
Если у вас есть HackRF, то вам может понадобиться обновить прошивку, чтобы она соответствовала версии инструментов хоста.
Windows
- Необходимые условия для Cygwin, MinGW или Visual Studio
- cmake-2.8.12.1 или более поздний из cmake.org
- libusbx-1.0.18 или более поздний из sourceforge.net
- fftw-3.3.5 или более поздний из fftw.org
- Установите драйвер Windows для HackRF или используйте Zadig, смотрите sourceforge.net
- Если вы хотите использовать Zadig выберите HackRF USB устройство и просто установите/замените его на WinUSB драйвер.
Устройства HackRF поставляются с микропрограммой на флэш-памяти SPI и с битовым потоком, запрограммированным на CPLD. Прошивка может быть обновлена только с помощью USB-кабеля и хост-компьютера.
Эти инструкции позволяют обновить микропрограмму и поток битов CPLD, чтобы воспользоваться новыми функциями или исправлениями ошибок.
Если вам трудно заставить этот процесс работать из вашей родной операционной системы, вы можете использовать Pentoo или GNU Radio Live DVD для выполнения обновлений.
Шаг 1: Обновление прошивки SPI Flash
Чтобы обновить прошивку на работающем HackRF One, используйте программу hackrf_spiflash:
hackrf_spiflash -w hackrf_one_usb.bin
Вы можете найти двоичный файл прошивки (hackrf_one_usb.bin) в каталоге firmware-bin последней версии пакета или вы можете скомпилировать свой собственный из исходного кода. Для Jawbreaker используйте hackrf_jawbreaker_usb.bin. Если вы компилируете из исходного кода, файл будет называться hackrf_usb.bin.
Программа hackrf_spiflash является частью hackrf-tools.
При записи образа прошивки на SPI-флэш-память обязательно выберите прошивку с именем файла, оканчивающимся на «.bin».
После записи прошивки на SPI-флешку вам может понадобиться выполнить сброс устройства HackRF, нажав кнопку RESET или отключив и снова подключив его.
Если вы получили ошибку, в которой упоминается HACKRF_ERROR_NOT_FOUND, ознакомьтесь с FAQ. Часто это проблема разрешений, которая может быть быстро решена.
Шаг 2: Обновление CPLD
Для обновления до последней версии образа CPLD сначала обновите прошивку SPI flash, libhackrf и hackrf-tools. Затем:
hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf
Через несколько секунд три светодиода должны начать мигать. Это указывает на то, что CPLD был запрограммирован успешно. Перезагрузите устройство HackRF, нажав кнопку RESET или отсоединив и снова подключив его.Только при необходимости: загрузка DFU
Режим загрузки DFU обычно требуется только в том случае, если прошивка не работает должным образом или никогда не была установлена.
Микроконтроллер LPC4330 на HackRF способен загружаться из нескольких различных источников кода. По умолчанию HackRF загружается с флэш-памяти SPI (SPIFI). Он также может загружать HackRF в режиме загрузки DFU (USB). В режиме загрузки DFU HackRF будет ждать, пока код будет доставлен с использованием стандарта DFU (обновление прошивки устройства) через USB, а затем выполнит этот код из ОЗУ. SPIFI обычно не используется и не изменяется в режиме DFU.
Чтобы запустить HackRF One в режиме DFU, удерживайте нажатой кнопку DFU при включении или при нажатии и отпускании кнопки RESET. Отпустите кнопку DFU после того, как загорится светодиод 3V3. Светодиод 1V8 должен оставаться выключенным. На этом этапе HackRF One готов к приёму прошивки через USB.
В режиме DFU вам следует использовать только образ прошивки с именем файла, оканчивающимся на «.dfu», а не на прошивку, оканчивающуюся на «.bin».
Только при необходимости: восстановление прошивки SPI Flash
Если встроенное программное обеспечение во флэш-памяти SPI было повреждено или вы программируете самодельный HackRF в первый раз, вы не сможете сразу использовать программу hackrf_spiflash, как указано в приведённой выше процедуре. Выполните следующие шаги:
Следуйте инструкциям по загрузке DFU, чтобы запустить HackRF в режиме загрузки DFU.Напечатайте:
dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu
для загрузки прошивки из пакета релиза в оперативную память. Если у вас есть Jawbreaker, используйте вместо этого hackrf_jawbreaker_usb.dfu. В качестве альтернативы используйте
make -e BOARD=HACKRF_ONE RUN_FROM=RAM program
- для загрузки прошивки в оперативную память и её запуска.Выполните процедуру обновления прошивки SPI флэш прошивки как показано выше, чтобы записать образ прошивки «.bin» во флэш-память SPI.
При новых установках вашей ОС вам может потребоваться получить копию DFU-Util. Для большинства дистрибутивов Linux он должен быть доступен в виде пакета, например, в Debian/Ubuntu
sudo apt install dfu-util
Для Arch Linux/BlackArch:
Если вы используете платформу без пакета dfu-util, инструкцию по сборке можно найти здесь на странице сборки исходного кода dfu-util:
cd ~
sudo apt build-dep dfu-util
sudo apt install libusb-1.0-0-dev
git clone git://git.code.sf.net/p/dfu-util/dfu-util
cd dfu-util
./autogen.sh
./configure
make
sudo make install
Теперь у вас будет установлена текущая версия DFU Util в вашей системе.
Быстрый старт с HackRF. Первый приём и передача данных в HackRF
Данные команды показаны для Linux.
Для просмотра информации о вашем устройстве, а также чтобы убедиться, что Linux правильно определяет HackRF и готов работать с ним, выполните команду:
Для выполнения тестового получения данных запустим hackrf_transfer с опцией -r после которой укажем /dev/null, чтобы данные не сохранялись на компьютер:
hackrf_transfer -r /dev/null

Будет использоваться скорость по умолчанию — 10 миллионов бит в секунду. Максимальная скорость HackRF равна 20 мегабитам в секунду, чтобы проверить эту скорость запустите команду с опцией -s, после которой укажите скорость в битах в секунду:
hackrf_transfer -r /dev/null -s 20000000

Некоторые устройства HackRF на некоторых компьютерах могут показывать предельную скорость равную 21500000. Чтобы проверить, поддерживает ли ваш компьютер такую скорость, выполните команду:
hackrf_transfer -r /dev/null -s 21500000

Главное, от чего зависит скорость — это USB разъём. На одном и том же компьютере скорость в разных USB гнёздах может быть разная. Как минимум ваш компьютер должен поддерживать скорость по умолчанию, то есть 10 мегабит в секунду.
Для передачи данных используется опция -t:
hackrf_transfer -t /dev/zero
С hackrf_transfer вы обычно будете использовать опцию -f, после которой нужно указывать частоту в Герцах. Допустимые значения с 0MHz до 7250MHz.
Материалы и видео по SDR и HackRF
Официальная Вики HackRF (на английском) - github.com
Интересные видео по SDR и HackRF - greatscottgadgets.com
Эти же видео в переводе от Дмитрия : DesignerMix