31 декабря 2025

Эксперимент с обновлением Raspbian через QEMU

Прошлое обновление сервера печати, который построен на базе Raspberry Pi 1B и Raspbian, с Bullseye на Bookworm заняло несколько часов. В нём установлена micro SD карта на 4 гигабайта, которая работает довольно медленно, но для печати быстрее и не нужно. Debian Trixie вышел в начале августа, но обновить эту систему руки дошли только сейчас.

Тогда обновление системы напомнило былые времена с Gentoo. Тогда и появилась идея попробовать запустить образ SD карты в QEMU, обновить систему и записать его обратно на карту.

Поставил SD карту из сервера печати в ноутбук и сделал её образ в двух экземплярах - один будет использоваться для обновления, а второй будет в качестве резервной копии если после обновления он не начнёт работать.

$ sudo dd if=/dev/mmcblk0 of=sdcard-20251230.orig.bin bs=1M iflag=direct
3849+0 records in
3849+0 records out
4035969024 bytes (4,0 GB, 3,8 GiB) copied, 300,146 s, 13,4 MB/s

$ cp sdcard-20251230.orig.bin sdcard.img

Теперь нужно выровнять размер образа для эмуляции иначе QEMU будет ругаться "qemu-system-arm: Invalid SD card size: 3.76 GiB SD card size has to be a power of 2, e.g. 4 GiB."

$ qemu-img resize -f raw sdcard.img 4096M
Image resized.

Не вынимая SD карту из ноутбука копирую ядро (kernel7.img) и device tree (bcm2709-rpi-2-b.dtb) в директорию с образом накопителя.

Чтобы обновление прошло быстрее я использовал эмуляцию Raspberry PI 2B в QEMU. С подбором опций пришлось повозиться, т.к. загрузка висла когда включалась сетевая карта. В итоге нашёл что для эмуляции Raspberry PI 2B рекомендуют передать ядру параметр dwc_otg.fiq_fsm_enable=0 и после этого система загрузилась.

30 декабря 2025

Самодельный аттенюатор

Разбирая коробки наткнулся на DVB-T приёмник который когда-то покупал ради экспериментов с SDR (Software Defined Radio). Он не может принимать частоты ниже 24 МГц, поэтому послушал FM радиостанции, переговоры с соседней стройки, но до приема ADS-B или авиа диапазона руки не дошли. В итоге приёмник на долгое время отправился в коробку.

В этот раз решил собрать апконвертер чтобы была возможность принимать сигнал ниже 24 МГц. А поскольку установить коротковолновую антенну в квартире представляется маловероятным (да и не факт что там что-то будет принимать в плотной застройке), то решил начать эксперименты с генератором сигналов, который будет подавать модулированный сигнал на вход апконвертера. А с наступлением тёплого времени года можно будет выехать на природу и попробовать с реальной антенной уже отлаженный приёмник.

В радиосвязи уверенным приёмом считается сигнал уровня S9 (-73 dBm или 50 мкВ). Мой генератор сигналов не позволяет выставить уровень сигнала ниже -56 dBm и следовательно мне ещё нужен аттенюатор как минимум на 20 dB. В таком случае я могу выставить на генераторе амплитуду -53 dBm и через аттенюатор на 20 dB получить -73 dBm что будет соответствовать уровню S9.

Готовые аттенюаторы на 20 dB в продаже есть, но тут либо платить в разы больше за вариант "на завтра", либо подождать месяц пока придёт из Китая. Ну или вариант на сегодня в виде "сделай сам".

29 декабря 2025

Модуль идеального диода XL74610

 В моей самодельной электронной нагрузке на 75 Вт есть защита от обратной полярности в виде сдвоенного диода Шоттки. Это очень простое решение, но у такой защиты есть цена - электронная нагрузка не может работать с обычными пальчиковыми батарейками или Ni-MH аккумуляторами из-за падения напряжения на защитном диоде.

В своё время я купил модуль "идеального диода" XL74610 который имеет очень низкое падение напряжения и потенциально может заменить диоды Шоттки, но всё не доходили руки его протестировать и решить что с ним делать дальше.

28 декабря 2025

Новые ручки для потенциометров

 В моих электронной нагрузке и блоке питания регулировки осуществляются многооборотными потенциометрами 3590 с диаметром вала 6,3 мм. Ручки, которые я поставил при сборке, были диаметром 20 мм и высотой 11 мм. Они плохо смотрелись из-за зазора между корпусом и самой ручкой через который был виден винт крепления. А небольшой размер ручек доставлял неудобство при точной установки значений, т.к. приходится делать более точные движения рукой.

Смоделировал две новые ручки диаметром 25 мм 30 мм и высотой 20 мм, которые будут прятать винт крепления под собой. Для сравнения прежняя и новые ручки рядом.

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

27 декабря 2025

Профилактика мультиметра Zoyi ZT-301

 Мультиметр Zoyi ZT-301 стал показывать от единиц до десяток Ом при замкнутых щупах, на фотографии использована "перемычка", но показывает 2,4 Ом. Покупал этот мультиметр в конце 2023 года и с тех пор он был моим основным мультиметром.

 Если покрутить переключатель несколько раз вперёд-назад, то начинает показывать правильно, но через какое-то время всё повторятся снова. Скорее всего нужно обслужить его переключатель и для этого разбирается корпус и вынимается печатная плата.

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

26 декабря 2025

Доработка тестера батареек BT-168D

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

Чтобы проверять батарейки я когда-то покупал тестер BT-168D который может измерить напряжения на пальчиковых батарейках или аккумуляторах, а также батарейках 6F22 (их ещё называют "Крона").


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

Доработка заключается в добавлении нескольких сопротивлений которые подключаются параллельно измеряемой батарейке и создают дополнительную нагрузку.

25 декабря 2025

Установка NanoVNA-Saver в Debian 13

Понадобилось снять характеристику с самодельного аттенюатора и для этого хотел использовать приложение NanoVNA-Saver которое есть в репозитарии Debian 13. После установки оказалось что оно не запускается из-за неверно указанных зависимостей для пакета (подробности в #1123607).

Чтобы приложение запустилось нужно дополнительно установить несколько библиотек

$ sudo apt-get install -y python3-pyside6 python3-pyside6.qtcore python3-pyside6.qtgui python3-pyside6.qtwidgets

После этого приложение запускается и работает


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