четверг, 14 ноября 2024 г.

Обновление Nextcloud до 30.x

 Долгое время держал свою инсталляцию Nextcloud на версии 27.x из-за приложения News, которое ещё не вышло для более новых версий. Поскольку RSS это наиболее частный функционал, которым я пользуюсь в Nextcloud, то его работоспособность была для меня критичной.

Вчера решил попробовать обновить Nextcloud до последней стабильной версии и поставить альфа версию News руками. В issues есть несколько обсуждений по поводу запуска News 24.x на свежих версиях Nextcloud, и объяснение почему до сих пор нет свежего релиза.

После обновления Nextcloud приложение News будет в отключённом состоянии. Удаляю его исходники и скачиваю из GitHub

$ cd /var/www/nextcloud/
$ rm -fr app/news/
$ wget -P /tmp https://github.com/nextcloud/news/releases/download/25.0.0-alpha14/news.tar.gz
$ tar -xzf /tmp/news.tar.gz -C app/
$ php occ app:enable news
$ php occ db:add-missing-indices

News появилось в меню и работает как в Web UI, так и через приложение News для Android.

суббота, 9 ноября 2024 г.

Недокументированное поведение вентилятора

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

В моём домашнем сервере всё ещё трудится старенький и довольно горячий процессор AMD Phenom II X4 955, который при максимальной загрузке вполне может подрабатывать отопителем. За время его существования я несколько раз менял кулеры и последнее время на радиаторе процессора был установлен вентилятор Xilence XPF80.R PX0802512CL.

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


Но важна не сама температура процессора, а то что вентилятор практически не поменял обороты - увеличение составило менее 200 оборотов (с 1035 до 1211 оборотов в минуту) при том что сам вентилятор может 1500.

вторник, 29 октября 2024 г.

Как проверить LM317 на оригинальность

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


Подозрения начались когда ни одна из этой троицы не смогла держать ток 10mA при колебании входного напряжения. У меня оставалась ещё одна LM317T, которая когда-то куплена в магазине БелЧип, и с ней не возникло никаких проблем.

Проблемные LM317 изображают из себя продукцию ST, поэтому проверять их буду согласно даташиту LM317T от ST.

понедельник, 21 октября 2024 г.

Окончание поддержки бинарных сборок Midnight Commander

Долго собирался с мыслями, но вчера объявил о прекращении поддержки бинарных сборок Midnight Commander для Debian и Ubuntu. Последняя доступная версия в моём репозитарии 4.8.31. В личке уже спрашивали когда появится 4.8.32, но у меня таких планов нет.

Возможно моё начинание будет подхвачено кем-то другим, т.к. проблема устаревания MC в LTS дистрибутивах никуда не делась.

пятница, 18 октября 2024 г.

Failed to establish a new connection: [Errno -2] Name does not resolve

Оптимизировал размер образа, который построен на базе Google Cloud SDK и столкнулся с ошибкой локальной сборки после переключения с google/cloud-sdk:497.0.0-slim на google/cloud-sdk:497.0.0-alpine:

Beginning update. This process may take several minutes.
ERROR: gcloud crashed (ConnectionError): HTTPSConnectionPool(host='dl.google.com', port=443): Max retries exceeded with url: /dl/cloudsdk/channels/rapid/components-2.json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2c42715950>: Failed to establish a new connection: [Errno -2] Name does not resolve'))

If you would like to report this issue, please run the following command:
  gcloud feedback

To check gcloud for common problems, please run the following command:
  gcloud info --run-diagnostics

Тестовый Dockerfile выглядит так:

FROM google/cloud-sdk:497.0.0-alpine

RUN gcloud components install gke-gcloud-auth-plugin && \
    gke-gcloud-auth-plugin --version

суббота, 24 августа 2024 г.

Обновление поддержки Agilent U3402A в libsigrok

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

Изменения за прошедшую неделю:

  • Добавил определение режима измерения. Теперь при ручном переключении (нужно нажать кнопку "Local", настроить новый режим и снова запустить получение данных) правильно отображается режим и единицы измерения.
  • Добавил правильное отображение статуса Auto, Hold, Min, Max, Min/Max и Rel. В процессе реализации нашёл ошибки в переводе документации на RS232 и поправил их.
  • Улучшил стабильность работы. Получение данных в течении часа прошло без сбоя и все данные были получены без ошибок.

Дальнейшие планы:

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

суббота, 17 августа 2024 г.

Как добавить поддержку нового мультиметра в libsigrok

Я узнал о Sigrok когда у меня появился простенький логический анализатор. Sigrok предоставляет библиотеки libsigrok (отвечает за поддержку оборудования и форматов ввода/вывода) и libsigrokdecode (отвечает за декодирование протоколов), а также различные фронтенды (PulseView, SmuView, sigrok-meter и sigrok-cli).

Недавно я подключил мультиметр Agilent U3402A к компьютеру и смог получать результаты измерений через последовательный порт. Можно было написать несложный скрипт, который будет периодически запрашивать показания мультиметра и сохранять полученные значения в файл в CSV формате. Далее их можно обработать в табличном процессоре, что-то посчитать и построить графики.

Но есть и более тернистый путь, который потенциально может пригодиться другим владельцам подобного мультиметра - добавить поддержку Agilent U3402A в libsigrok и получить все "плюшки" которые предоставляют его фронтенды.

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