21 февраля 2026

Сборка SDRAngel для Debian 13

Собрал бинарный пакет для свежего релиза SDRAngel под Debian 13. Бинарные пакеты в GitHub релизе предназначены для Ubuntu и не устанавливаются в Debian.

Пересборка пакета через pbuilder завершилась с ошибкой:

-- Build files have been written to: /build/sdrangel-7.23.2/obj-x86_64-linux-gnu
make[1]: Leaving directory '/build/sdrangel-7.23.2'
   dh_auto_build -O--buildsystem=cmake\+ninja
	cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j4 -v
[1/2548] cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external && /usr/bin/cmake -Dcfgdir= -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/tmp/serialdv-mkdirs.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src/serialdv-stamp/serialdv-mkdir
[2/2548] cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external && /usr/bin/cmake -Dcfgdir= -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/limesuite/tmp/limesuite-mkdirs.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/limesuite/src/limesuite-stamp/limesuite-mkdir
[3/2548] cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external && /usr/bin/cmake -Dcfgdir= -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/mbelib/tmp/mbelib-mkdirs.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/mbelib/src/mbelib-stamp/mbelib-mkdir
[4/2548] cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external && /usr/bin/cmake -Dcfgdir= -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/libsigmf/tmp/libsigmf-mkdirs.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/libsigmf/src/libsigmf-stamp/libsigmf-mkdir
[5/2548] cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src && /usr/bin/cmake -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/tmp/serialdv-gitclone.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src/serialdv-stamp/serialdv-download
FAILED: external/serialdv/src/serialdv-stamp/serialdv-download /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src/serialdv-stamp/serialdv-download 
cd /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src && /usr/bin/cmake -DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE -P /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/tmp/serialdv-gitclone.cmake && /usr/bin/cmake -E touch /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/src/serialdv-stamp/serialdv-download
Cloning into 'serialdv'...
fatal: unable to access 'https://github.com/f4exb/serialDV.git/': Could not resolve host: github.com
Cloning into 'serialdv'...
fatal: unable to access 'https://github.com/f4exb/serialDV.git/': Could not resolve host: github.com
Cloning into 'serialdv'...
fatal: unable to access 'https://github.com/f4exb/serialDV.git/': Could not resolve host: github.com
Had to git clone more than once: 3 times.
CMake Error at /build/sdrangel-7.23.2/obj-x86_64-linux-gnu/external/serialdv/tmp/serialdv-gitclone.cmake:50 (message):
  Failed to clone repository: 'https://github.com/f4exb/serialDV.git'

Скачивание чего-либо из сети при сборке запрещено политикой Debian в разделе 4.9:

17 февраля 2026

Как завершить зависшее SSH соединение

 Если по какой-либо причине SSH соединение зависает (например сменился внешний IP адрес) то такое соединение не получится завершить через Ctrl+D или Ctrl+C. Обычно я убивал локальный SSH процесс и заново логинился на сервер.

Оказывается есть способ проще - нужно использовать escape последовательность и для завершения соединения последовательно нажать <Enter> "~" и ".".

OpenSSH клиент поддерживает больше escape последовательностей, справку по которым можно получить через <Enter> "~" и "?".

Supported escape sequences:
     ~.   - terminate connection (and any multiplexed sessions)
     ~B   - send a BREAK to the remote system
     ~C   - open a command line
     ~R   - request rekey
     ~V/v - decrease/increase verbosity (LogLevel)
     ~^Z  - suspend ssh
     ~#   - list forwarded connections
     ~&   - background ssh (when waiting for connections to terminate)
     ~?   - this message
     ~~   - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

16 февраля 2026

Апконвертер: тестирование

Это продолжение серии постов про постройку апконвертера для RTL-SDR приёмника. Собраны и отдельно проверены все компоненты апконвертера: смеситель, ФНЧ, гетеродин и диплексер. Теперь можно соединить их вместе и подключить к SDR приёмнику. Для этого я использовал переходники SMA(папа)—SMA(папа) - они короткие и придают конструкции жёсткость на столе.

В SDR приёмнике заменил разъём на SMA. На плату гетеродина добавил линейный стабилизатор 78L05 и разъём XT60 чтобы питать от аккумулятора. Это позволит немного снизить уровень импульсных помех в и без того шумной городской среде. 

15 февраля 2026

Замена разъёма в SDR приёмнике

 В моём SDR приёмнике на базе RTL2838U антенна подключалась через ВЧ разъём который используют телевизоры для подключения эфирной антенны. Если я не ошибаюсь, то такой разъём называется IEC 60169-2, хотя в магазинах электроники он часто называется PAL.

Чтобы подключить к нему что-то с разъёмами BNC или SMA мне приходилось использовать длинную цепочку из переходников для разъёмов типа F (используются для подключения спутниковых антенн к телевизорам):

  • TV—F (мама) + F (папа)—F (папа) + F (мама)—SMA (папа) 
  • TV—F (мама) + F (папа)—F (папа) + F (мама)—BNС (папа)

Если с другой стороны тоже разъём "папа", то добавлялся соответствующий переходник "мама—мама".  Найти переходник TV—BNC или TV—SMA в местных магазинах не удалось. Такие переходники есть на AliExpress, но ждать месяц или больше на доставку это слишком.

11 февраля 2026

Апконвертер: диплексер

Это продолжение серии постов про постройку апконвертера для RTL-SDR приёмника. После смесителя, ФНЧ и гетеродина приступил к постройке диплексера. Когда начинал этот проект, то планировал подключить к выходу смесителя полосовой фильтр, который будет пропускать от 48 МГц до 78 МГц. Но в итоге решил ставить диплексер, т.к. полосовой фильтр будет отражать обратно в смеситель фильтруемые частоты, а диплексер гасит их на согласованной нагрузке.

Вначале посчитал диплексер по схеме bridged-tee в онлайн калькуляторе и затем смоделировал его в Qucs-S.

На второй гармонике гетеродина (96 МГц) ослабление составило около 7 дБ что сильно хуже результата моделирования полосового фильтра.

07 февраля 2026

Обновление прошивки tinySA Ultra+ ZS407 в Linux

В этом посте описан процесс обновления прошивки для анализатора спектра tinySA Ultra+ ZS407, для других версий стоит свериться с инструкцией на сайте tinysa.org.

Если до этого не обновляли прошивку, то до обновления прошивки стоит выполнить процедуру самопроверки (self-test) чтобы не гадать о причинах если она не пройдёт после обновления. Сайт tinysa.org предупреждает о подделках tinySA которые не пройдут самопроверку после установки официальной прошивки.

Для обновления прошивки понадобится сам tinySA, USB Type-C кабель и утилита dfu-util. В Debian 13 она есть в репозитарии и её можно установить через APT

$ sudo apt install --update -y dfu-util

Далее выключить tinySA, зажать джойстик и включить снова (экран ничего не будет показывать). Затем подключить tinySA к USB порту (я использовал порт USB 2.0 без всяких хабов) и убедиться что в логе ядра появились сообщения о подключении нового устройства.

Feb 05 22:04:32 dragoncore kernel: usb 1-1: new full-speed USB device number 14 using xhci_hcd
Feb 05 22:04:32 dragoncore kernel: usb 1-1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00
Feb 05 22:04:32 dragoncore kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 05 22:04:32 dragoncore kernel: usb 1-1: Product: STM32  BOOTLOADER
Feb 05 22:04:32 dragoncore kernel: usb 1-1: Manufacturer: STMicroelectronics
Feb 05 22:04:32 dragoncore kernel: usb 1-1: SerialNumber: 205D38572036

Скачать файл прошивки с расширением .bin с сайта http://athome.kaashoek.com/tinySA4/DFU/ (на момент написания это tinySA4_v1.4-217-gc5dd31f.bin выпущенная 18 декабря 2025). Прежние версии прошивки лежат в http://athome.kaashoek.com/tinySA4/DFU/old/

05 февраля 2026

Случайным образом отваливаются пробы в GKE после установки Cilium и Istio Ambient

 Устанавливал в GKE (Google Kubernetes Engine) кластер Cilium с Istio в режиме ambient и столкнулся со случайными ошибками readiness/liveness проб. Версия GKE 1.34.3, Cilium 1.18.4 и Istio 1.26.3 - не самые свежайшие версии, но работают в других окружениях.

Факты таковы:

  • из десятка подов которые разворачиваются в тестовом окружении один или несколько не проходит readiness/liveness пробу
  • внутри пода и с соседнего пода можно запросить нужный URL который используют пробы
  • если вручную удалить этот под, то он начинает работать нормально
  • автоматический рестарт из-за liveness не исправляет ситуацию

Я уже сталкивался с "отвалившимися" пробами после включения Istio Ambient, но тогда пробы не работали в 100% случаев, а здесь это происходит случайным образом. Исправление удалением пода намекает на проблемы связанные с работой CNI.