05 марта 2026

FreeCAD: Camera settings failed to read

Моделирую магнитную рамочную антенну. Тестовая лицензия на Компас-3D истекла ещё в прошлом году, а продажи Компас-3D Home ещё не начались. Пришлось выбирать между OpenSCAD и FreeCAD - в итоге решил дать второй шанс FreeCAD.

Установил AppImage для версии FreeCAD 1.1RC3 (в Trixie сейчас версия 1.0.0). На моделирование стойки КПЕ (конденсатор переменной ёмкости), пластины крепления рамки и скобы для крепления всего к мачте была потрачена добрая часть выходного дня. Одна из причин это отсутствие навыков работы во FreeCAD, а вторая - ошибки самой программы.

FreeCAD "вылетает" случайным образом и надёжно воспроизвести такое поведение не получается. В противном случае можно хотя бы завести отчёт об ошибке и описать последовательность действий для воспроизведения проблемы. В общем пока постоянное сохранение наше всё.

24 февраля 2026

Перепаковка бинарного пакета SDR++

После экспериментов с Gqrx решил попробовать SDR++. Бинарный пакет который предлагается для Debian 13 зависит от пакетов разработки и на моём ноутбуке конфликтует с Wine. Разбираться что там не так мне не хочется - проще перепаковать бинарный пакет sdrpp чтобы он зависел только от нужных библиотек.

Как найти от каких библиотек он зависит? В Debian есть dh_shlibdeps из debhelper, но он работает с локальными файлами. Т.е. если зависимость ещё не установлена, то dh_shlibdeps не сможет определить её.

Я распаковывал бинарный пакет и прошёлся ldd по всем исполняемым файлам и разделяемым библиотекам. Затем через apt-file нашёл в каких пакетах находятся отсутствующие зависимости и установил их.

$ PKG_FILE=sdrpp_debian_trixie_amd64.deb

$ wget https://github.com/AlexandreRouma/SDRPlusPlus/releases/download/nightly/$PKG_FILE

$ PKG_TMP=$(mktemp -d)
$ PKG_BINARY="$PKG_TMP/binary"
$ PKG_BUILD="$PKG_TMP/build"
$ PKG_NAME=$(dpkg-deb -f $PKG_FILE Package)
$ PKG_VERSION=$(dpkg-deb -f $PKG_FILE Version)
$ mkdir -p $PKG_BINARY $PKG_BUILD

$ dpkg-deb -R $PKG_FILE $PKG_BINARY

$ env LD_LIBRARY_PATH=$PKG_BINARY/usr/lib ldd $PKG_BINARY/usr/bin/sdrpp
	linux-vdso.so.1 (0x00007f8810a5b000)
	libsdrpp_core.so => /tmp/tmp.R2Fe3Rsnwm/binary/usr/lib/libsdrpp_core.so (0x00007f88103ff000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88101e7000)
	libglfw.so.3 => not found
	libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f8810160000)
	libfftw3f.so.3 => /lib/x86_64-linux-gnu/libfftw3f.so.3 (0x00007f880fe00000)
	libvolk.so.3.2 => /lib/x86_64-linux-gnu/libvolk.so.3.2 (0x00007f880fa00000)
	libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8810094000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f880f600000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f880f910000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8810067000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8810a5d000)
	libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f880fd47000)
	libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f880fd13000)
	liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f880f549000)
	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f880f401000)
	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f880f8e5000)
	libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f881005e000)
	libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f8810056000)

$ apt-file search libglfw.so.3
libglfw3: /usr/lib/x86_64-linux-gnu/libglfw.so.3
libglfw3: /usr/lib/x86_64-linux-gnu/libglfw.so.3.4

$ sudo apt-get install libglfw3

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.

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) и с неё снимал размеры. Чтобы заглушка легко вставлялась и не торчала из корпуса получилось не с первой попытки, но результатом я доволен.