Как установить sdrsharp на linux

Обновлено: 01.07.2024

Заметки по ходу настройки "разного" в Linux. Хочу разобраться - читаю исходники. Программирование, администрирование, микроэлектроника, фотографирование и пр.

четверг, 30 января 2014 г.

Проба программного приёмника (SDR) из DVB-T адаптера Realtek RTL2832U в Ubuntu

SDR-приёмник - перспективная технология цифрового радио.
Простым пользователям, с некоторых пор, можно недорого попробовать программное радио в работе, благодаря делам энтузиастов.

Теперь дошла очередь до подключения RTL-SDR к Linux. Проведу несколько экспериментов.

Подключение в Ubuntu 13.10

Как устройство определяется в Ubuntu 13.10:


$ lsusb

Bus 003 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

где - "0bda" (VID - vendor id) и "2838" (PID - product id).

Установка GnuRadio

$ sudo apt-get install gnuradio

Также можно установить из исходных кодов, но я выбрал из репозитория, что быстрее.

Сборка из исходных кодов RTL-SDR

Перед сборкой rtl-sdr надо установить пакет libusb-1.0-0-dev, а также иметь установленной утилиту git.

$ sudo apt-get install libusb-1.0-0-dev

Подробно сборка RTL-SDR описана в [1]. Здесь кратко.

Загрузка исходных кодов RTL-SDR. Можно проделать в домашней директории, либо в директории для проектов (у меня

/dev$ mkdir build

/dev$ sudo make install

/dev$ sudo ldconfig

Тестирование после сборки

Надо выгрузить модули ядра, привязанные к устройству (это всё же телеприёмник):

$ sudo rmmod dvb_usb_rtl28xxu
$ sudo rmmod rtl2830
$ sudo rmmod dvb_usb_v2

После он напишет:

$ sudo rtl_test -t
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000000

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

Откуда становиться понятно, что тюнер "Rafael Micro R820T". Это один из поддерживаемых тюнеров, с диапазоном 24 - 1766 МГц.

Простейшее прослушивание УКВ-радио (FM)

RTL-FM - консольная программа для декодирования FM. Aplay - консольное проигрывание звука.

$ sudo rtl_fm -f 91.5e6 -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

Вывод команды:

Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000000

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuned to 91800000 Hz.
Oversampling input by: 6x.
Oversampling output by: 1x.
Buffer size: 6.83ms
Sampling at 1200000 S/s.
Output at 200000 Hz.
Воспроизведение Сырые данные 'stdin' : Signed 16 bit Little Endian, Частота 48000 Гц, Моно
недобор. (не менее 108,415 мс длинной)

В Петербурге слышно радио на частоте 91.5МГц.

Выводы

В прошлых версиях приемника применялся адаптер (чип R820T), сейчас уже выпускаются с чипом R820T2, у него улучшена чувствительность (

Установите Gqrx SDR на Ubuntu Linux

Gqrx уже много лет включен в Ubuntu Linux. Хотя эти версии часто немного устарели, они могут быть достаточными для вашего использования.

Если вы хотите использовать последнюю версию, вы можете использовать пакеты из нашего собственного личного архива пакетов (PPA), доступные для Ubuntu 14.04 - 17.10 на архитектурах i386 и amd64. Этот PPA зависит от нескольких других сторонних архивов пакетов для предоставления последних драйверов SDR и пакетов GNU Radio.

Чтобы начать использовать PPA, сначала убедитесь, что у вас нет другой исходной или двоичной установки gqrx, gnuradio или библиотек драйверов SDR. Следующие команды удаляют двоичные установки gqrx и gnuradio, но не установки из источника:

sudo apt-get purge --auto-remove gqrx
sudo apt-get purge --auto-remove gqrx-sdr
sudo apt-get purge --auto-remove libgnuradio*

Теперь вы должны удалить gqrx / релизы или gqrx / snapshots PPA из списка источников репозиториев / пакетов, если вы их использовали.

Затем добавьте новые репозитории в диспетчер пакетов, набрав в терминале следующее по одной строке за раз:

sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:ettusresearch/uhd
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update

Если это произошло без ошибок, продолжайте установку gqrx:

sudo apt-get install gqrx-sdr

gqrx/+archive/ubuntu/gqrx-sdr/?field.series_filter=xenial
последняя версия:
gqrx-sdr 2.10-gqrx1

xenial
Теперь вы можете найти gqrx в меню рабочего стола или запустить его с терминала, набрав gqrx. Для запуска потребуются права суперпользователя.

После того, как вы установили Gqrx из PPA, обновления будут доступны через диспетчер пакетов. На сегодня актуальна эта версия


Рекомендуется также устанавливать пакет libvolk1-bin и запускать инструмент volk_profile для оптимизации производительности GNU Radio на конкретном компьютере, на котором он используется.

sudo apt-get install libvolk1-bin

Подождите, пока он закончит, а затем наслаждайтесь повышением производительности.

Для тестирования RTL-устройств нужно установить пакет rtl-sdr

sudo apt install rtl-sdr

и запускать тест командой

rtl_test -t
-например:

rtl_test -t
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001



Далее просто нажать кнопку Пуск в виде стрелки на панели или из меню.





Дополнительно к теме ссылки и рекомендации.

Очень много роликов имеется на Ютубе с обзорами RTL-SDR приемников.

По большому счету этот девайс годится для приема местных станций и сканирования определенного диапазона частот. Для более серьезных целей он требует и более серьезной переделки, например: установки дополнительных фильтров и конвертера на кварце для перекрытия всего диапазона частот от 0.1 до 1700 МГГц. Или нужно покупать подобное SDR устройство более высокого уровня сложности и соответственно большей цены.

Здесь приведен перевод руководства по запуску недорогого приемника Software-Defined Radio, RTL-SDR (RTL2832U), перевод [1]. Проще всего установить и запустить этот приемник на Windows. Если у Вас встретились какие-то проблемы в инсталляции всех системы, пожалуйста см. ниже раздел "Решение проблем". Также кратко будут рассмотрены вопросы быстрого старта под операционными системами Linux и OSX.

Вот так выглядит плата приемника внутри:

RTL SDR receiver box inside

Имейте в виду, что RTL-SDR не является устройством типа "подключи и работай" (plug and play). Поэтому Вам потребуется достаточная квалификация для выполнения базовых операций на PC для распаковки архивов, инсталляции программного обеспечения, перемещения и копирования файлов. Кроме того, для новичка управляющая программа будет поначалу выглядеть довольно сложной, так что требуется некая мотивация к изучению нового программного обеспечения.

Здесь приведены строки для поиска в google.

В ответ на этот запрос получите ссылки на наборы для сборки недорого приемника. Цены начинаются с $25.

В ответ на этот запрос получите ссылки на готовое устройство. Цены начинаются с $37.

В ответ на этот запрос будут появляться ссылки на более дорогие устройства, по цене от $192 и выше.

Для ссылок на донглы, которые можно применить в качестве приемника SDR, а также антенны и дополнительное оборудование, см. [2, 3, 4, 6]. Обзор параметров различных приемников SDR см. в статье [8].

Обычно двухядерные процессоры PC позволяют комфортно работать с программным обеспечением SDR. Некоторые утилиты командной строки и декодеры ADS-B могут работать на менее мощной аппаратуре.

Чтобы получить удовлетворительный прием, понадобится достойная антенна (см. [2]). Неплохо для быстрого старта работает вариант из 2 телескопических антенн (рожки). Простая антенна фиксированной длины с центральной удлинительной катушкой в виде спирали (обычно идет в комплекте с недорогими устройствами) позволит принимать только близко расположенные радиостанции. Большие широкополосные внешние антенны наподобие [3, 4] позволяют значительно повысить качество приема.

Для пользователей устройств RTL-SDR Blog V3: см. [5] для получения указаний по запуску, настройке функциям разъема расширения.

SDRSharp наиболее часто используемая SDR-программа под Windows. Её работа проверялась под Windows 10, Windows 8, Windows 7 версий 32/64 бита. Есть старые версии SDRSharp, работающие под Windows XP.

2. Зайдите на сайт www.airspy.com, и кликните на кнопку downloads в верхнем меню сайта. Найдите заголовок "SDR Software Package", и кликните на кнопку для загрузки sdrsharp-x86.zip.

3. В архиве нет инсталлятора программы, поэтому распакуйте загруженный архив в папку на диске, где должна работать программа. Я создал папку SDRSharp на диске D: (D:\SDRSharp), и распаковал туда содержимое архива.

Многие пользователи на этом шаге допускают ошибку, запуская файлы прямо изнутри архива. Другая распространенная ошибка - попытка создать папку для программы внутри папки %ProgramFiles%, когда недостаточно административных прав. В этом случае Windows может не позволить этого сделать (с ограничением прав доступа NTFS эта папка доступна только для чтения). Поэтому, если Вы не уверены в своих действиях, создайте лучше папку в корне диска, или на диске с файловой системой FAT32.

4. Запустите командный файл install-rtlsdr.bat в папке, куда Вы распаковали архив.

SDR run install rtlsdr.bat sdrsharp

В консоли запустится процесс, который загрузит все драйверы, требуемые для работы SDRSharp с RTL-SDR. Через несколько секунд после окончания загрузки окно консоли закроется. Командный файл install-rtlsdr.bat загрузит файлы rtlsdr.dll и zadig.exe, которые окажутся в той же папке где находится сам командный файл. Если файлы не загрузились, то на Вашем PC есть проблема либо с подключением к Интернет, либо с антивирусным ПО, либо проблема с запуском командных файлов. Проверьте, не установлены ли на Вашей папке ограничения "только чтение", особенно если она находится в папке %ProgramFiles%. Если загрузка не получилась, выполните инсталляцию драйвера вручную (врезка ниже).

Здесь кратко описан способ обхода проблемы, когда запуск install-rtlsdr.bat в окне консоли CMD не запускается, и файлы не закачиваются.

1) Скачайте драйверы RTL-SDR, и распакуйте их файлы из папки x32 в папку с программой SDRSharp, заменяя любые файлы, если они уже существуют:

2) Загрузите установщик драйвера zadig, и поместите его в ту же папку с программой SDRSharp:

5. Подключите кабелем USB приемник RTL-SDR к компьютеру с Windows. Система обнаружит новое устройство, подождите несколько секунд, убедившись, что попытка автоматической установки драйвера закончилась неудачно (система не смогла установить драйверы Windows DVB-T). В этом можно убедиться, просматривая список устройств в Менеджере Устройств - приемник RTL-SDR должен отображаться как устройство "Другие устройства -> Bulk-In, Interface" с вопросительными знаками, сигнализирующими об отсутствии драйвера, это нормально:

SDR RTL SDR in Device Manager

Если Вы ранее уже устанавливали драйверы DVB-T, которые ранее поставлялись на CD вместе с некоторыми устройствами, то перед выполнением шага 5 сначала удалите эти драйверы.

6. Запустите утилиту zadig.exe с правами администратора (она находится в той же папке с программой SDRSharp). Для этого сделайте правый клик на этом файле и выберите в контекстном меню "Run as administrator":

SDR zadig run as administrator

Еще одно замечание для любителей Windows XP: свежая версия zadig не поддерживает XP, однако на сайте zadig.akeo.ie есть возможность скачать старые версии (см. ссылку "Other versions").

7. В меню Options выберите "List All Devices", и убедитесь, что на этом пункте меню стоит галочка.

SDR zadig options

8. Из выпадающего списка выберите вариант "Bulk-In, Interface (Interface 0)". Убедитесь, что выбран драйвер WinUSB в боксе напротив метки Driver. На некоторых PC можно увидеть что-то наподобие RTL2832UHIDIR или RTL2832U вместо bulk in interface. Это также допустимый выбор. Однако не выбирайте вариант "USB Receiver (Interface 0)". Также убедитесь, что драйвер справа от зеленой стрелки выбран как WinUSB.

9. Кликните Replace Driver.

SDR zadig replace driver

На некоторых PC может появиться предупреждение о том, что поставщик драйвера не может быть проверен (publisher cannot be verified), но просто согласитесь с установкой, выбрав вариант "Install this driver software anyway" (все равно установить этот драйвер).

SDR zadig driver install warning1

SDR zadig driver install warning2

Эта операция установит драйверы, необходимые для запуска приемника SDR вместе с программой SDRSharp. Имейте в виду, что Вам может потребоваться повторный запуск zadig.exe, если Вы переключили приемник на другой порт USB, или если Вы хотите использовать совместно два или большее количество приемников.

10. Запустите SDRSharp.exe. Если появится предупреждение, говорящее о том, что Windows защищает Ваш PC, то это ложная тревога. Просто кликните на "more info" (дополнительно) и затем "run anyway (все равно запустить). В выпадающем списке программы Source выберите вариант приемника "RTL-SDR (USB)".

SDR SDRSharp RTL SDR source

12. Для запуска приема кликните на кнопку Play (треугольничек). Ваш приемник SDR настроен и готов к работе! Вы можете настраивать его на разные частоты приема.

Важное замечание: не забывайте о возможности настроек усиления радио (RF gain settings), которые доступны кликом на кнопке Configure (выглядит как шестеренка) справа от кнопки Play. По умолчанию усиление (RF gain) установлено в 0. Нулевое усиление позволит принимать только самые мощные сигналы, так что подстраивайте усиление до нужного уровня, пока не сможете увидеть другие, более слабые сигналы.

SDR SDRSharp gain

[Дополнительные шаги]

После того, как Вы вдоволь наиграетесь с RTL-SDR и SDRSharp, рекомендуем:

2. Попробуйте улучшить антенну. Для самого лучшего приема используйте внешнюю антенну, расположенную на крыше. Оптимальная антенна (разновидность антенны, размеры и форма) всегда привязана к выбранному диапазону принимаемых частот. Однако хорошим выбором для КВ и УКВ будет антенна Discone [4], или для более высоких частот планарная дисковая антенна [7] (PlanarDiskAntennas.pdf).

3. Если Вы используете приемник RTL-SDR для диапазона HF (КВ) с повышающим конвертером частот, таким как SpyVerter, то рекомендуется использовать SDRSharp вместе со специальными драйверами децимации. Это позволит Вам делать зум сигналов в узком диапазоне частот, которые используются в диапазоне HF, без потери разрешающей способности в перестройке по частоте.

4. Ознакомьтесь с возможностью применения различных акcессуаров радио, таких как фильтры, малошумящие усилители (LNA) и антенны.

[Решение проблем]

SDR SDRSharp error No device selected

Убедитесь, что запустили install-rtlsdr.bat, и был успешно загружен файл rtlsdr.dll (он должен находиться в той же самой папке, где находится SDRSharp.exe). Если этот файл не был загружен, проверьте, не настроен ли доступ к этой папке как "read only" (только чтение). Это иногда может произойти, если Вы установили SDRSharp в каталоге, находящемся в папке Program Files - если Вы не обладаете достаточной квалификацией, чтобы настроить права доступа, не устанавливайте программу в этой папке.

Примечание переводчика: тоже по непонятной причине столкнулся с ошибкой "No Device Selected", хотя я все делал правильно. Помогли удаление драйвера и повторная его установка.

Длинные, некачественные кабели USB иногда приводят к подобной ошибке. Некоторые порты USB 3.0 также могут быть несовместимы с приемником и давать такую ошибку. Один пользователь столкнулся с такой ошибкой, когда он установил драйвера с помощью утилиты zadig в безопасном режиме Windows (safe mode). И наконец, есть некий малый шанс, что приемник неисправен. Если попытка запуска приемника на нескольких компьютерах приводит к той же ошибке, то следует его заменить или вернуть продавцу.

Это нормальный сторонний эффект в дизайне многих донглов приемников RTL-SDR. Эффект можно устранить алгоритмически, если в программном обеспечении SDRSharp поставить галочку в чекбоксе "Correct IQ".

Возможно, что zadig не был запущен с правами администратора. Убедитесь, что Вы запустили zadig с помощью правого клика на файле zadig.exe, и выбора в контекстном меню "Run as Administrator" (запустить с правами учетной записи администратора).

Убедитесь, что стоит галочка в пункте меню "Options -> List All Devices", и также иногда может понадобиться снятие галочки "Ignore Hubs or Composite Parents". Некоторые пользователи сообщают, что они видят какое-то другое название вместо bulk in interface. Название может выглядеть как бренд (марка производителя) Вашего приемника, или иметь префикс RTL. Эта опция также должна работать. В редких случаях может быть, что Вы получили неисправный приемник, который не сможет увидеть Zadig даже при попытках подключения приемника к разным портам USB или даже при попытках установить драйвер на других компьютерах. В таком случае приемник нужно заменить или вернуть продавцу.

К сожалению, во многих контроллерах USB 3.0 есть баг, и они не работают с некоторыми устройствами. Обычно порты USB 3.0 работают корректно с RTL-SDR, но есть некоторые контроллеры, которые просто не распознают приемник RTL-SDR. В этом случае используйте для подключения порт USB 2.0.

Возможно так происходит потому, что Вы не распаковали содержимое архива, как это было указано на шаге 3, и запускаете install-rtlsdr.bat прямо из zip-файла. Помните, что сначала нужно распаковать архив, и только потом запускать файлы из той папки, куда они были распакованы.

Так выглядит баг или ошибка в конфигурации некоторых версий Windows, когда невозможно запускать командные файлы. Один из способов обойти проблему - ручная установка драйверов RTL-SDR. Инструкции по такой установке можно найти по ссылке http://www.rtl-sdr.com/manual-installation-of-sdr/, также см. врезку "Ручная установка драйверов RTL-SDR для SDRSharp". Некоторые антивирусные программы также создают проблемы с запуском .bat файлов. В таком случае нужно либо временно запретить работу антивируса, либо сменить его, или выполнить установку драйвера вручную.

Проверьте, увеличили ли вы усиление слайдером RF gain, который доступен, если кликнуть на кнопку Configure (шестеренка). Также для хорошего приема стоковой штыревой антенны может быть недостаточно. Сначала проверьте, как будет работать наружная, высоко размещенная антенна. В некоторых случаях стоковая антенна оказывается отключенной (из-за проблем в кабеле антенны или коннекторах), что придет к очень плохому приему. В редких случаях, если Вы все еще не можете принимать мощный сигнал, который гарантированно принимают другие приемники, то возможно Ваш донгл приемника неисправен, и требует замены или возврата продавцу.

Имейте в виду, что дешевые SDR-приемники имеют очень низкую чувствительность, особенно по входу HF (порядка нескольких единиц или даже десятков милливольт), поэтому прием на ДВ, СВ и КВ диапазонах доступен только на очень качественную (рассчитанную по полосе пропускания на нужный диапазон) антенну. Улучшить чувствительность по диапазону HF для таких приемников можно также с помощью повышающего конвертера (upconverter), выход которого подключен ко входу UV.

В мои лапы попала очередная игрушка. Это донгл для просмотра DVB-T телевидения. Так как в Красноярске, и России этот формат не используется, то данные донглы совершенно бессмысленны. Для просмотра цифрового телевидения требуется DVB-T2 оборудование. Но в лапах радиолюбителя данный донгл можно применить для сканирования эфира и для прослушивания эфирных радиостанций. И так, стандартный комплект можно увидеть на фотографии.

SDR RTL2832 донгл.

  • SDR DVB-T приёмник,
  • антенна на магнитном основании,
  • пульт ДУ,
  • CD с драйверами.

Установка драйверов

Запускаем командный файл с названием sdr-install.bat. В процессе его работы будет выскакивать информация о скачивании файлов и их распаковке. Дождитесь запроса Для продолжения нажмите любую клавишу . . . и нажмите любую клавишу. Окно закроется. Всё, подготовительные работы закончены, теперь можно установить драйвера. Для этого следует запустить программу zadig.exe из каталога sdrsharp.

Если выскочит предупреждение о том, что программе требуется разрешение на внесение изменений в систему, то согласитесь и разрешите программе внести изменения.

Запустится программа Zadig, если Windows успеет установить свои драйвера, то окошко будет пустым.

SDR Zadig.

Если окно пустое, то выбираем в программе меню Options и там ставим галочку перед List All Devices. После этого отобразятся все USB устройства компьютера.

SDR Zadig.

Среди устройств выбираем те, что начинаются на Bulk-In, Interface, потом в окне справа от устройства выбираем драйвер WinUSB и нажимаем на кнопку Reinstall Driver. После того как для всех выбранных устройств будет установлен драйвер. Закрываем программу Zadig.

Настройка SDRSHARP

Запускаем из каталога sdrsharp программу SDRSharp.exe.

SDR SDRSharp.

SDR SDRSharp конфигурация.

Устанавливаем галочку перед RTL AGC. Он будет автоматически регулировать усиление. На самом деле штука удобная.

И так, настройка программы SDRSharp закончена и можно закрыть окно настройки кнопкой Close.

Работа с SDRSHARP

SDR SDRSharp Авторадио.

В верху мы видим спектр, а под ним «водопад». С помощью водопада мы можем судить об активности на той или иной частоте. А по её ширине приблизительно оценить ширину используемого канала.

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

SDR SDRSharp Красноярский репитер RR0AD.

В моём случае получилось смещение в 22.864 кГц. Это ширина целого канала. Потом разберусь как подстраивать опорный генератор на RTL-SDR и напишу как всё это сделать более красиво, а не через смещение сетки частот.

SDR SDRSharp мощность процессора.

Поставил максимальную ширину оцифровки в 3.2 MSPS. Процесс SDRSharp отъел около 30% ресурсов процессора.

26 комментариев

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

Читайте также: