Поиск по блогу

пятница, 1 мая 2020 г.

Xfce4 не блокирует экран при закрывании крышки ноутбука

На ноутбуке установлен Xfce4 4.14 который я пересобрал под Debian Buster. Пока в качестве реакции на закрывании крышки ноутбука был настроен hibernate - экран блокировался, но стоило перейти на suspend - экран перестал блокироваться. Если отправить ноутбук в спячку нажатием кнопки Sleep, то блокировка работает.

Полез смотреть логи, для этого запустил в терминале journalctl -f и закрыл крышку. После просыпания увидел следующие записи:

May 01 20:03:42 dragoncore systemd-logind[711]: Lid closed.
May 01 20:03:42 dragoncore systemd-logind[711]: Suspending...
May 01 20:03:42 dragoncore NetworkManager[710]:   [1588352622.0356] manager: sleep: sleep requested (sleeping: no  enabled: yes)
May 01 20:03:42 dragoncore NetworkManager[710]:   [1588352622.0356] manager: NetworkManager state is now ASLEEP
May 01 20:03:42 dragoncore systemd[1]: Reached target Sleep.
May 01 20:03:42 dragoncore systemd[1]: Starting Suspend...
May 01 20:03:42 dragoncore systemd-sleep[2418]: Suspending system...
May 01 20:03:42 dragoncore kernel: PM: suspend entry (deep)
May 01 20:03:42 dragoncore kernel: PM: Syncing filesystems ... done.

Значит событие закрывания крышки ноутбука обработал logind, а не xfce4-power-manager.

вторник, 31 марта 2020 г.

Собрал пакет для acme.sh версии 2.8.5

Версия 2.8.5 вышла еще в январе, но обновить пакет в моем репозитарии руки дошли только вчера. Последняя версия добавлена в репозитарий только для Debian Buster и Debian Sid, но пакет acme.sh_2.8.5-1_all.deb должен устанавливаться на другие версии Debian/Ubuntu без проблем.

Из заметных изменений:
  • Добавил страницу man для acme.sh
  • Исправил предупреждения lintian
  • Поменял структуру для deploy/dnsapi/notify хуков - есть подозрение что в предыдущих релизах они не работали, но протестировать их мне не довелось

воскресенье, 29 марта 2020 г.

Конфигурация сенсоров в arduino-air-sensors

Сделал обновление для моего проекта arduino-air-sensors - теперь есть возможность настраивать конфигурацию плат с контроллерами esp8266. Последняя ревизия кода поддерживает сенсоры DHT22/AM2302, BME280, SI7021, MH-Z19 и OLED экран на базе контроллера SSD1306.

Прошивку тестировал на платах ESP01 и ESP12S - получились такие конфигурации:
  • ESP01 + SI7021 (SI7021 подключен к GPIO0/GPIO2)
  • ESP01 + BME280 (BME280 подключен к GPIO0/GPIO2)
  • ESP12F + DHT22 + MH-Z19 + SSD1306 (SSD1306 подключен к GPIO4/GPIO5, DHT22 к GPIO14, a MH-Z19 к GPIO15/GPIO13).
В последней конфигурации используется переключение UART0 с GPIO1/GPIO3 на  GPIO15/GPIO13. До этого пробовал использовать библиотеку SoftwareSerial но работает она нестабильно.

Еще заказал на пробу AHT10 - это датчик температуры и влажности для шины I2C.

среда, 18 марта 2020 г.

Обновление OpenWrt на TP-Link Archer C6

В начале марта вышло обновление OpenWrt (список изменений в 19.07.2). Для обновления прошивки предлагается два способа:
  1. Web интерфейс LUCI 
  2. Командная строка
Для себя я выбрал вариант с обновлением через командную строку

# export OPENWRT_RELEASE=19.07.2

# cd /tmp

# wget http://downloads.openwrt.org/releases/${OPENWRT_RELEASE}/targets/ath79/generic/openwrt-${OPENWRT_RELEASE}-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin

Downloading 'http://downloads.openwrt.org/releases/19.07.2/targets/ath79/generic/openwrt-19.07.2-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin'
Connecting to 176.9.48.73:80
Writing to 'openwrt-19.07.2-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin'
openwrt-19.07.2-ath7 100% |*******************************|  4544k  0:00:00 ETA
Download completed (4653342 bytes)

# wget http://downloads.openwrt.org/releases/${OPENWRT_RELEASE}/targets/ath79/generic/sha256sums

Downloading 'http://downloads.openwrt.org/releases/19.07.2/targets/ath79/generic/sha256sums'
Connecting to 176.9.48.73:80
Writing to 'sha256sums'
sha256sums           100% |*******************************|   140k  0:00:00 ETA
Download completed (143764 bytes)

# sha256sum -c sha256sums 2>/dev/null | grep OK

openwrt-19.07.2-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin: OK

# sysupgrade -v /tmp/openwrt-${OPENWRT_RELEASE}-ath79-generic-tplink_archer-c6-v2-squashfs-sysupgrade.bin

Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/network
etc/config/rpcd
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/dropbear/dropbear_rsa_host_key
etc/group
etc/hosts
etc/inittab
etc/luci-uploads/.placeholder
etc/opkg/keys/0b26f36ae0f4106d
etc/opkg/keys/1035ac73cc4e59e3
etc/opkg/keys/5151f69420c3f508
etc/opkg/keys/72a57f2191b211e0
etc/opkg/keys/792d9d9b39f180dc
etc/opkg/keys/9ef4694208102c43
etc/opkg/keys/b2d571e0880ff617
etc/opkg/keys/b5043e70f9a75cde
etc/opkg/keys/c10b9afab19ee428
etc/opkg/keys/dace9d4df16896bf
etc/opkg/keys/dd6de0d06bbd3d85
etc/opkg/keys/f94b9dd6febac963
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
Commencing upgrade. Closing all shell sessions.

Через несколько минут обновление прошики закончилось.

четверг, 20 февраля 2020 г.

Установка OpenWrt на TP-Link Archer C6 v2

Какое-то время назад я обновил wifi точку доступа TP-Link TL-WA901ND на роутер TP-Link Archer C6(RU) v2 ради поддержки диапазона 5GHz. Примерно месяц я пользовался роутером на штатной прошивке в режиме точки доступа - скорость по 5GHz отличная, в диапазоне 2.4GHz тоже соответствует ожиданиям. В принципе можно было и дальше пользоваться этой прошивкой, но не было возможности отключить режим WPS и с отключенным DHCP сервером не показывало список подключенных клиентов.

После выхода релиза OpenWrt 19.07.0 решил попробовать альтернативную прошивку. Инструкция по обновлению прошивки на английском языке есть на сайте OpenWrt. Обновить прошивку из web интерфейса штатной прошивки не получилось. Пришлось делать установку через метод TFTP.

среда, 5 февраля 2020 г.

Изменения в моем репозитарии

В моем репозитарии произошло несколько изменений:
  • Собрал пакеты для Midnight Commander 4.8.24 под ARM.
  • Добавил поддержку Ubuntu Eoan.
  • Удалил из репозитария Ubuntu Cosmic и Ubuntu Disco из-за EOL.

Как скачать лог Stackdriver

Журналирование в GCP реализовано через Stackdriver Logging. На прошлой неделе пришлось обратиться в техническую поддержку Google по поводу поломанной работы с зависимостями в AI Platform (ML Engine). Для тикета нужно было скачать логи заданий с ошибкой и без нее. Если пытаться выгружать логи через консоль GCP, то сохранит только ту часть, который видна в данный момент в интерфейсе (в моем случае это малая часть от полного лога).

Чтобы выгрузить весь лог целиком воспользуемся консольной командой gcloud logging read. В моем случае для успешной задачи ML Engine фильтр будет resource.labels.job_id="some_successful_ml_job" timestamp>="2020-01-27T14:28:43Z" а для задания с ошибкой: resource.labels.job_id="some_failed_ml_job" timestamp>="2020-01-30T13:42:58Z" (чтобы использовать этот запрос в команде нужно экранировать двойную кавычку).

gcloud logging read "resource.labels.job_id=\"some_successful_ml_job\" timestamp>=\"2020-01-27T14:28:43Z\"" --format=json --order=asc > success.json
gcloud logging read "resource.labels.job_id=\"some_failed_ml_job\" timestamp>=\"2020-01-30T13:42:58Z\"" --format=json --order=asc > failure.json

Для удобства чтения я извлекаю из JSON только сам текст сообщения (узнать больше о фильтрации в jq можно тут).

jq -r .[].jsonPayload.message < success.json > success.txt
jq -r .[].jsonPayload.message < failure.json > failure.txt