Борьба с adblock’ами

Пример простого скрипта для отслеживания изменений в списках adguard.
[cc lang=»bash»] #!/bin/bash
DIR=’/home/liandr/adblock’
DATE=»$(date ‘+%Y-%m-%d %H:%M:%S’)»
LASTEST=$(ls $DIR | sort -n | tail -n 1)
FILTER=$(wget -q -O- https://filters.adtidy.org/extension/chromium/filters/1.txt|grep overclockers.ru)
if [ ! «$LASTEST» ]; then
echo «$FILTER» > «$DIR/$DATE.txt»
exit
fi

DIFF=$(diff -pub «$DIR/$LASTEST» <(echo "$FILTER")); if [ "$DIFF" ]; then echo "$DIFF" > «$DIR/$DATE.diff»
sleep 1;
echo «$FILTER» > «$DIR/$DATE.txt»
fi
[/cc]

Ремонт дисплея зарядного устройства IMAX B6 mini

Ремонт очень простой, но в интернете информации не нашел (плохо искал).

Итак, проблема:
    
Попытки реанимации дисплея ни к чему не привели.
На aliexpress за ~80 рублей или на авито за 150 руб. покупается любой аналогичный дисплей формата 1602 и любого цвета.

Я купил бело-синего цвета, какой и был изначально.


(слева — старый, справа — новый)

Запаиваем и смотрим на результат:

Контрастность зашкаливает, поэтому сильно страдает читаемость (на фото не так плохо, как реально).

Решение: выпаиваем резисторы, которые обведены красным кругом:

Их номинал 120 Ом и 10 кОм, а т.к. они подключены параллельно, то это даёт итоговое сопротивление в 118,5 Ом.
Опытным путём было установлено, что нормальная контрастность появляется при ~2 кОм. В рекомендациях встречается совет использовать при подборе переменный резистор, но я просто подобрал из набора.

Совет: для начала попробовать из двух выпаять тот, который имеет меньшее сопротивление и посмотреть как это повлияет на контрастность.

Т.к. SMD резисторов у меня не было, я снял все резисторы со старого дисплея. Среди них оказался резистор 2,2 кОм. Хоть он был и большего размера, чем старые, но по диагонали встал замечательно

Итоговый результат:

Новый дисплей чуть ярче старого. Меня это полностью устраивает, но при желании яркость можно настроить подбором соответствующего резистора (гугл в помощь).

Разбитый экран и особенности Android’а.

Друг попросил вытащить контакты из телефона с разбитым экраном.
В принципе, ситуация сильно упрощается, если разбит только тачскрин, а экран при этом жив. В таком случае если телефон поддерживает OTG — подключаем обычную мышку через переходник и выполняем все необходимые действия глядя на экран телефона.
Но экран на переданном мне телефоне был мертв, как старуха-процентщица после роковой встречи с Раскольниковым.
И этот случай намного тяжелее, ковырять телефон можно только с помощью консоли или специальных программ.

Однако, тут возникает проблема №1: должна быть включена отладка по USB. Как можно было догадаться, предыдущий владелец ничего такого не включал (да и если бы включил — всех проблем это не решило, но об этом — ниже).
А включается отладка по USB следующим образом.
Для этого нам понадобится программа adb.exe, которую можно взять из Android SDK (и ещё множества мест — гугл в помощь).

  1. Перезагружаемся в recovery. Естественно, это приходится делать на ощупь. В принципе, всё должно заработать и со штатным recovery, но я после нескольких неудачных попыток прошил CWM, после чего стандартным сочетанием клавиш я всё-таки попал в recovery.
  2. На этом этапе телефон должен появиться в системе. А если вдруг драйвер телефона не нашелся, берем его отсюда и принудительно скармливаем его операционной системе, т.е. так:
    adb_drivers
  3. Проверяем, что adb видит наше устройство:
    adb.exe devices
    List of devices attached
    5230a115c4bf903b        recovery
  4. Далее из командной строки вводим следующие команды:
    adb shell
    echo "persist.service.adb.enable=1" >>/system/build.prop
    echo "persist.service.debuggable=1" >>/system/build.prop
    echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop"
    reboot
    
  5. Последняя команда может не сработать, поэтому раз или два раза нажимаем power (в зависимости от типа recovery), чтобы выполнился пункт «Reboot system now».
  6. В принципе, можно не перезагружаться, а поковыряться в файловой системе, например достать файл контактов
    adb pull /data/data/com.android.providers.contacts/databases/contacts2.db c:\
    

    и потом сконвертировать его любым доступным способом. Но мы идём дальше!

  7. После перезагрузки пробуем что у нас получилось с USB-отладкой
    adb.exe devices
    List of devices attached
    5230a115c4bf903b        unauthorized
    

    Вот это unauthorized значит, что в теории мы должны разрешить с телефона подключение этого компьютера.
    Т.е. нажать OK на экране телефона в таком диалоге
    MPh73
    Увы, с мертвым экраном — это не наш случай.  А без этого какие-либо действия с телефоном с помощью adb вне recovery невозможны.

  8. Но решается это весьма просто. Берем любой работающий телефон на android’е, включаем там отладку USB, при появлении вышеуказанного вопроса ставим галочку и нажимаем ОК.
  9. Не отключая рабочий телефон, выполняем команду
    adb pull /data/misc/adb/adb_keys c:\
  10. Отключаем рабочий телефон, а телефон со сломанным экраном снова перезагружаем в recovery.
  11. Выполняем команду
    adb push c:\adb_keys /data/misc/adb

    и перезагружаем телефон способом из пункта 4 или любым другим.

  12. Теперь данный компьютер авторизован на телефоне, в чём можно убедиться с помощью команды
    adb devices
    List of devices attached
    5230a115c4bf903b        device
  13. Идём на http://www.moborobo.com,  скачиваем и устанавливаем данную программу.
    С её помощью можно делать разные вещи, в т.ч. и бэкап.
    android_backup
  14. Profit!

по мотивам forum.xda-developers.com

DIY QI-зарядка в машину

Захотелось мне в машину купить держатель для телефона с функцией беспроводной qi-зарядки.
Посмотрел цены — от 20$ на али за что-то невыразимое, до 45€ за вполне нормальные девайсы на других площадках.
Но т.к., собственно, сам держатель-то у меня уже был (куплен за 6$)
cradle1

то я решил попробовать его модернизировать для решения поставленной задачи.
На том же али был куплен голый qi-модуль (3$)

cradle2

В итоге где-то со второго раза получилась такая вот конструкция:

cradle3
(снималось на брелок от ключей при свете луны)

Цена вопроса: 9$ + пару часов на работу.

О блоге

Если изначально планировалось использовать данный блог как сугубо ITшный, где разбирались бы некоторые специфичные решения, связанные с системным администрированием (вроде этого — «как сделать так, чтобы стабильная ветка DRBD не рушила кластер»
drbd_kp

), то теперь я его буду использовать как серию заметок обо всём.