05 сентября 2020

Замена аккумулятора в планшете Samsung Galaxy Note Pro 12.2 (SM-P900)

Родная батарея планшета начала сдаваться после 6 лет службы. Сначала планшет отключался при 30-40% заряда если запущена игра. Затем стал выключаться на загрузке страниц сайтов где много сложной верстки или есть динамические элементы. В общем единственное на что он остался годен - это чтение PDF в формате A4 (большая диагональ в 12.2" и разрешение 2560x1600 к этому располагает).

В принципе если не брать игрушки, то производительности планшета вполне хватает на повседневные нужды. Нужно лишь поменять родную батарею. Поискал в интернете модель - в эти планшеты ставили аккумуляторы серии T9500 с заявленной емкостью на 9500mAh и номинальным напряжением 3.8V. Номинальное напряжение в 3.8V означает что такой аккумулятор можно заряжать до 4.35V, что отличается от привычных 4.2V для аккумуляторов с номинальным напряжением в 3.6V и 3.7V.

23 августа 2020

Черный экран при выходе из hibernate

Иногда после выхода из спящего режима нет изображения на экране ноутбука. Чаще это случается если ноутбук ушел в спящий режим подключенным к док-станции (в этом случае изображение выводится на два внешних монитора, а экран ноутбука отключен), а выходит из спящего режима будучи отключенным от док-станции. В такой момент можно подключиться по SSH и сделать перезагрузку или попытаться переключиться в консоль и затем обратно в иксы. Иногда последнее помогает, но не всегда. Не помню конда это началось, но из-за нехватки времени и спонтанности ошибки решение откладывалось до лучших времен. Сегодня воспроизвелось еще раз и пора с этим разобраться.

Отключение Bluetooth и WWAN при загрузке системы

На ноутбуке есть три беспроводных устройства (wifi, bluetooth и wwan) из которых постоянно используется только wifi. Чтобы не засорять эфир остальные устройства отключались вручную после загрузки. Хотя ноутбук перезагружается редко, но делать одно и тоже руками надоедает. Скрипт, который автоматически отключает bluetooth и wwan выглядит так (/usr/local/sbin/rfkill-boot-settings.sh)

#!/bin/sh

RFKILL_TYPE="bluetooth wwan"
RFKILL_BIN=/usr/sbin/rfkill

if [ ! -x "${RFKILL_BIN}" ]; then
    echo "Error: rfkill is not installed" >&2
    exit 1
fi

# shellcheck disable=SC2086
for RFKILL_ID in $(${RFKILL_BIN} list -n -o ID ${RFKILL_TYPE})
do
    # Some devices are nested and dissapear when parent device is blocked
    if ${RFKILL_BIN} list -n -o ID | grep -Eq '^\s+'${RFKILL_ID}'$'; then
        echo "Disabling ${RFKILL_ID}"
        ${RFKILL_BIN} block ${RFKILL_ID}
    else
        echo "Skipping ${RFKILL_ID}"
    fi
done

Автоматически запускать можно из /etc/rc.local или через systemd (/etc/systemd/system/rfkill-boot-settings.service)

01 мая 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 хуков - есть подозрение что в предыдущих релизах они не работали, но протестировать их мне не довелось

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

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.

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

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.

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

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