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.

01 февраля 2026

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

Это продолжение серии постов про постройку апконвертера для RTL-SDR приёмника. После смесителя и ФНЧ приступил к гетеродину. Купил готовый кварцевый генератор на 48 МГц (взял этот номинал, т.к. "соседние" 40 МГц и 50 МГц стоили дороже). По документации его нагрузочная способность 10 TTL (это значит что к выходу генератора можно подключить до 10 TTL микросхем) или 15 пФ (ёмкость дорожек на печатной плате).


Чтобы не перегружать генератор добавил к нему эмиттерный повторитель на биполярном транзисторе 2N3904. Выход повторителя через разделительный конденсатор подключён к ФНЧ который отсекает частоты выше 48 МГц.

29 января 2026

Апконвертер: фильтр нижних частот

Продолжаю собирать апконвертер для RTL-SDR приёмника. В прошлый раз был собран смеситель а сейчас займусь ФНЧ (Фильтр Нижних Частот) который будет стоять перед смесителем и отсекать частоты выше коротковолнового диапазона.

Выбирал между фильтром Баттерворта и Чебышева и в итоге остановился на фильтре Чебышева пятого порядка. Расчёты делал для частоты среза в 30 МГц в онлайн калькуляторе.

Для расчёта катушек индуктивности использовал другой онлайн калькулятор.

25 января 2026

Апконвертер: диодный кольцевой смеситель

Начинаю серию постов про сборку апконвертера для RTL-SDR приёмника чтобы попробовать слушать любительские коротковолновые диапазоны. Этот вариант приёмника содержит тюнер RT820T2 который может настраиваться от 24 МГц до 1766 МГц, но без переделок он сможет принимать только любительские коротковолновые диапазоны 12 метров (24890 кГц - 24990 кГц) и 10 метров (28000 кГц - 29700 кГц).

Раньше не имел дело с радиосвязью (ну кроме готовых радиопередающих модулей для Arduino) и это будет первый проект такого рода. Для начала изучил несколько аналогичных проектов на предмет схемотехники и используемых компонентов. Структурная схема апконвертера выглядит так:

Первым блоком станет смеситель, который я буду делать по схеме двойного балансного диодного кольцевого смесителя (double balanced diode ring mixer) или просто диодного кольцевого смесителя.

23 января 2026

Замена корпусного вентилятора в домашнем сервере

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

Оказалось что вентилятор, который стоит на выдув, стал сильно вибрировать и эти вибрации резонировали с корпусом (старый InWin).

Почивший вентилятор это 92 мм Xilence XPF92.R. У меня не сохранились записи когда он был куплен, но думаю несколько лет он отработал. В нём установлен гидродинамический подшипник, и наверное, это один из первых вентиляторов которые я покупал с таким типом подшипников. До этого были либо шариковые, либо подшипники скольжения.

22 января 2026

Оснастка для установки вплавляемых втулок

Очередное пополнение инструмента в домашней мастерской - оснастка для установки вплавляемых втулок с резьбами М2, М2.5, М3, М4, М5, М6 и М8. Это набор предназначен для 900-х паяльников от станций вроде моей Lukey 936A. Это полностью аналоговая, но надёжная паяльная станция пылится с момента покупки новой станции на C245 жалах, хотя недавно пришлось её доставать для ремонта новой станции.

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

Сами вплавляемые втулки выглядят так (у меня вариант для резьбы М3)

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

20 января 2026

Poetry всегда использует системный python

 Всё началось с жалобы разработчика в рабочем чате что после публикации приложения на GitHub тесты стали валиться с ошибкой.

poetry env use python3.13
Recreating virtualenv app in /home/runner/work/app/app/.venv
Using virtualenv: /home/runner/work/app/app/.venv
poetry install --with dev

Current Python version (3.12.3) is not allowed by the project (>=3.13,<3.14).
Please change python executable via the "env use" command.

Проект использует poetry 2.1.1 которая не самая свежая (последняя это 2.2.1), но и не слишком древняя. При этом выше по логу видна установка python 3.13.11 и он вызывается без проблем если выполнить python3.13 --version.

18 января 2026

Выключение индикаторов TP-Link RE365 V1 по расписанию

В родной прошивке TP-Link RE365 V1 есть функция установки расписания выключения индикаторов. Это удобно, т.к. они синего цвета и довольно яркие. Если проснуться ночью, то они неплохо освещают стену где установлена точка доступа. В какой-то момент производители электроники влюбились в синие индикаторы, но не все из них дают возможность отключить их на ночь.

В OpenWrt расписание делается несложно - сначала зашёл через SSH и посмотрел что есть в /sys/class/leds

$ ls /sys/class/leds/
blue:indicator  blue:lan        blue:power      blue:wlan-2     blue:wlan-5     mt76-phy0       mt76-phy1       red:indicator

Соответствие индикаторов на корпусе внутренним именам в Linux:

  • Ethernet (blue:lan)
  • 2.4GHz (blue-wlan2)
  • 5GHz (blue:wlan-5)
  • Power (blue:power)

Написал скрипт /root/wifi-leds, который умеет включать и выключать все индикаторы

16 января 2026

Проверка радиодеталей осциллографом

Давно хотел собрать упрощённую схему проверки радиодеталей с помощью осциллографа. Полная версия есть в книге "Осциллограф - ваш помощник (приставки к осциллографу)", Иванов, 1991 г. 

Проверяемый компонент подключается к клеммам "+" и "-". Трансформатор выдаёт переменное напряжение около 12 В. Сопротивление R1 ограничивает максимальный ток через проверяемый компонент в районе 1,7 мА, но нужно иметь ввиду что несмотря на ограничение тока, некоторые компоненты может пробить обратным напряжением (в моём случае оно изменяется от -17 В до 17 В).

13 января 2026

Сделать дамп кучи и потоков для Java приложения

Сделать дамп кучи и потоков для Java приложения в Kubernetes

$ JVM_PID=1
$ JVM_POD=some-pod

$ kubectl exec $JVM_POD -- /bin/sh -c "jmap -dump:live,format=b,file=/tmp/heap-dump.hprof $JVM_PID; gzip /tmp/heap-dump.hprof"

$ kubectl cp $JVM_POD:/tmp/heap-dump.hprof.gz $PWD/heap-dump.hprof.gz

$ gunzip $PWD/heap-dump.hprof.gz

$ kubectl exec $JVM_POD -- rm /tmp/heap-dump.hprof.gz

Посмотреть состояние можно через VisualVM.


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

12 января 2026

Калибровочные эталоны для BNC

Сделал себе набор калибровочных эталонов (разомкнутая цепь, короткое замыкание и нагрузка) для разъёмов BNC чтобы калибровать NanoVNA когда к нему подключены переходники SMA-BNC.

До их появления использовал дополнительный переходник с BNC на SMA чтобы калибровать эталонами из комплекта NanoVNA.

Из-за дополнительного переходника точность такой калибровки была хуже, чем если использовать стандарты для разъёмов BNC.

Эталон разомкнутой цепи сделать легко - достаточно откусить выступающую часть центрального контакта чтобы он был на одном уровне с корпусом разъёма.

09 января 2026

Проходной терминатор 50 Ом

Если осциллограф не поддерживает установку входного импеданса 50 Ом, то нужно использовать терминатор чтобы сохранить форму сигнала. Мой осциллограф как раз из таких и я использовал в качестве терминатора нагрузку 50 Ом из набора NanoVNA подключённую через Т-образный переходник.

Это не самое удобное подключение, т.к. либо перекрывает соседний вход, либо нужно отклонять на 45° чтобы использовать соседний вход. К тому же я встречал информацию что использование Т-образного переходника не решает проблему согласования импеданса.

Производители осциллографов предлагают специализированные адаптеры (feed-through termination) на 50 Ом (например Rigol ADP0150BNC) и я заказал аналогичный вариант из Китая, но он ещё даже не отправлен, а дальше около месяца ожидания.

А пока жду решил собрать самодельный проходной терминатор на 50 Ом. За основу взял разъёмы из дешёвых переходников

06 января 2026

Источник тока на JFET транзисторе

Посмотрел видео про токоограничивающие диоды (constant-current diode) и решил собрать их аналог на JFET транзисторе. В наличии у меня их не было и с покупкой возникли определённые затруднения т.к. в каталогах они идут вперемешку с MOSFET транзисторами. Популярные наименования JFET транзисторов я не нашёл в продаже, а просматривать даташиты подряд быстро надоело.

Закинул наименования FET транзисторов (JFET + MOSFET) из прайса магазина в ChatGPT и попросил отобрать из них только JFET. Результирующий список был с ошибками, но просмотреть десяток даташитов гораздо проще чем полный список. В итоге взял на пробу десяток транзисторов 2SK246-GR производства Toshiba.

Тестер правильно определил тип транзистора, но вот характеристики показывает странные (что нередко для этого тестера). Чтобы узнать какой максимальный ток Idss проводит транзистор нужно соединить его затвор с истоком. В моём случае в наборе из 10 транзисторов разброс значений Idss получился от 4 до 4,5 мА.

05 января 2026

Выключается WiFi из-за радара

Сегодня одна из WiFi точек доступа в домашней сети уловила сигнал радара (скорее всего погодного из аэропорта) и стала выключаться. Такое периодически случается и зависит от погоды на улице. Не помню чтобы это происходило в пасмурную погоду, но когда на улице ясно, то происходит.

Точка доступа была настроена на 52 канал (5260 МГц) на котором работает DFS (Dynamic Frequency Selection или динамический выбор частоты). DFS работает на диапазоне 5 ГГц для каналов с 52 по 140 слушая эфир и уступая частоту радару если его сигнал будет обнаружен.

hostapd: phy0-ap0: DFS-RADAR-DETECTED freq=5260 ht_enabled=0 chan_offset=0 chan_width=3 cf1=5290 cf2=0
hostapd: dfs_downgrade_bandwidth: no DFS channels left, waiting for NOP to finish
hostapd: phy0-ap0: AP-DISABLED

Попробовал перенастроить её на 100 канал (5500 МГц), но вскоре она уловила сигнал радара и там.

04 января 2026

Установка OpenWrt на TP-Link RE305 v3

Обновлял OpenWrt до версии 24.10.5 и перевёл последнюю WiFi точку доступа в домашней сети на эту прошивку. Последняя версия прошивки для TP-Link RE305 v3 вышла ещё в 2021 году и с тех пор устройство не поддерживаются производителем. Важно учитывать ревизию устройства, т.к. актуальная ревизия V4 внешне не отличается от V3 но не поддерживается в OpenWrt.

Установка OpenWrt возможно из интерфейса родной прошивки:

  • скачать файл прошивки openwrt-24.10.5-ramips-mt76x8-tplink_re305-v3-squashfs-factory.bin
  • на всякий случай проверить его контрольную сумму
  • сделать сброс на заводские настройки (зажать Reset на 10 секунд)
  • зайти на http://192.168.0.254/ и через штатное обновление установить OpenWrt (важно чтобы файл прошивки был с суффиксом factory, а не sysupgrade)

01 января 2026

Заглушка слота SD для Dell Latitude E7x70

В моём Dell Latitude E7470 при покупке отсутствовала заглушка слота для SD (Secure Digital) карт. Тогда я поставил в него адаптер который был в комплекте с micro-SD картой и так оно просуществовало довольно долго.

Недостатком было выпирание этого переходника за габарит корпуса и он периодически извлекался если случайно нажать в то место, что потенциально могло закончиться сломанным разъёмом.

Во втором ноутбуке есть оригинальная заглушка (p/n K1D9J) и с неё снимал размеры. Чтобы заглушка легко вставлялась и не торчала из корпуса получилось не с первой попытки, но результатом я доволен.