воскресенье, 2 августа 2015 г.

Уменьшение частоты процессора на смартфоне под управлением Cyanogenmod

Так случилось, что несколько лет назад я стал владельцем смартфона Samsung S4 Active. Всем смартфон хорош, вот только производитель в погоне за обывательскими «попугаями» разогнал процессор Snapdragon 600 APQ8064T до частоты 1.9 ГГц, что превратило его в печку, приводя в лучшем случае быстрому разряду аккумулятора, а в худшем — его вздутие с одновременным выдавливанием экрана или же выходом из строя звукового чипа.

На стоковой прошивке частота процессора регулировке не поддавалась даже из под консоли. Вернее регулировка носила очень непродолжительный характер, после чего сбрасывалась на максимальное значение. На CyanogenMod 12.X все наконец-то заработало.

Внимание, все дальнейшие телодвижения вы делаете на свой страх и риск.

Изначально нужно иметь смартфон с установленным CyanogenMod`ом, мозги и прямые руки.

Итак начнем.

Активируем root на смартфоне:
1. «Настройки» → «О телефоне», тыкаем много раз пальцем в «Номер сборки».
2. «Настройки» → «Для разработчиков» → «Режим суперпользователя»

Параметр ядра отвечающий за максимальную частоту процессора:

/sys/power/cpufreq_max_limit

Возможные значения частоты:

/sys/power/cpufreq_table

Для автоматической установки частоты при запуске в /etc/init.d обнаруживаем:

/etc/init.d/90userinit

В котором содержится фрагмент кода для запуска файла:

/data/local/userinit.sh

Данного файла не оказалось, поэтому создадем его. В консоли он создается так:

touch /data/local/userinit.sh

Открываем его в штатном редакторе Cyanogenmod`а и пишем в него:

#!/system/bin/sh
echo 1242000 > /sys/power/cpufreq_max_limit

Где 1242000 — частота процессора для моего смартфона, свои частоты смотрите в /sys/power/cpufreq_table

Выключаем root: «Настройки» → «Для разработчиков» → «ВЫКЛ»

Перезагружаем смартфон и радуемся.


Файл userinit.sh лучше сохранить на карте памяти смартфона, вы тем самым после обновления прошивки избавите себя от массы описанных выше телодвижений. Всего-то придется скопировать userinit.sh в /data/local и перезагрузить смартфон.

суббота, 9 мая 2015 г.

Установка Syncthing на домашний сервер

Syncthing — Программа для синхронизации файлов и резервного копирования по протоколу обмена блоками между устройствами.

Устанавливать syncthing буду на сервер под управлением Debian GNU/Linux Jessie.

  • Для пущей безопасности создаем отдельного пользователя/группу syncthing
adduser --system --group --home /home/syncthing syncthing
  • Создаем скрытый каталог для установки приложения syncthing
mkdir /home/syncthing/.bin
  • Идем на сайт https://syncthing.net/, скачиваем свежую версию syncthing и распаковываем ее в каталог /home/syncthing/.bin
  • На всякий случай зададим права на /home/syncthing
chown -R syncthing:syncthing /home/syncthing
chmod u=rwX,g=rX,o= /home/syncthing
  • Создаем в /etc/systemd/system файл syncthing@.service, содержащий код:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=https://github.com/syncthing/syncthing/wiki
After=network.target

[Service]
User=%i
Environment=STNORESTART=yes
ExecStart=/home/syncthing/.bin/syncthing -no-browser -logflags=0
Restart=on-failure
SuccessExitStatus=2 3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

  • Создаем в /etc/systemd/user файл syncthing.service, содержащий код:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=https://github.com/syncthing/syncthing/wiki
After=network.target

[Service]
Environment=STNORESTART=yes
ExecStart=/home/syncthing/.bin/syncthing -no-browser -logflags=0
Restart=on-failure
SuccessExitStatus=2 3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=default.target

  • Включаем службу syncthing:
systemctl enable syncthing@syncthing.service
  • Запускаем службу:

systemctl start syncthing@syncthing.service

  • Проверяем /home/syncthing/.config/syncthing/config.xml на следующие опции:
<startBrowser>false</startBrowser> 
т.е. при запуске службы syncthing не запускался браузер.

<address>:8000</address>
порт для подключения к вебинтерфейсу syncthing (я для удобства сделал его равным 8000)
  • Чтоб подключиться к вебинтерфейсу synching набираем в браузере адрес http://ip-адрес-сервера:8000/

Miredo, network-manager & systemd


Miredo - клиент для подключения к протоколу teredo, предназначенному для передачи ipv6 пакетов через ipv4 сеть. Простыми словами, miredo дает возможность получить доступ в ipv6 сети, даже если провайдер этого не позволяет.

Столкнулся с трудностью запуска miredo. Экран загрузки ругался на: Invalid hostname "teredo.remlab.net", miredo запускался, но ipv6 туннель не создавал. Ручной запуск службы позволял работать до первой проблемы с сетью, да и сам режим ручного вмешательства для меня не был вариантом.

Для решения данной проблемы нужно сделать:

  • Выключить службу miredo.service
systemctl disable miredo.service
  • Скопировать файл службы miredo.service из /lib/systemd/sysyem в /etc/systemd/system
  • Отредактировать /etc/systemd/system/miredo.service так, чтобы он запускался только после появления интернета, т. е.: After=network-online.target вместо After=network.target
  • Включить службу miredo.service:
systemctl enable miredo.service
  • Чтобы событие network-online.target работало, необходимо активировать службу NetworkManager-wait-online.service
systemctl enable NetworkManager-wait-online.service
  • Запустить службы:
systemctl start NetworkManager-wait-online.service
systemctl start miredo.service
  • Проверяем работоспособность:
ping6 ipv6.google.com

понедельник, 17 марта 2014 г.

Хорошо забытое старое



Может кто забыл, это продуктовые карточки образца 1992 года! Да, это было в России, когда заводы и фабрики еще работали, мы торговали нефтью, газом и дружили с заграницей.


Неужели Россия опять к этому идет?

суббота, 22 февраля 2014 г.

Кто виноват?

Мне одному кажется, что все, что сейчас происходит на Украине спровоцировано Россией и в частности российским президентом?

Не предложи наш президент размещения 15 миллиардов долларов в их ценных бумагах и не снизь на 33% цену газа – вступила бы Украина в Европейский союз тихо и спокойно.

пятница, 2 августа 2013 г.

Privoxy, TOR и доступ к заблокированным сайтам***


Как понятно из названия, вам понадобятся установленные Privoxy и TOR. Есть готовые сборки данного комплекта, остановимся на том, какие нужно внести изменения.


Изменения в TOR


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

К примеру, можно добавить в конец torrc строку:
ExitNodes {at},{au},{be},{ca},{ch},{cz},{de},{dk},{es},{eu},{fi},{fr},{gb},{ie},{in},{it},{jp},{nl},{no},{pl},{ro},{se},{us}


Изменения в Privoxy


В user.action добавляем следующее:
{+change-x-forwarded-for{block} \
 +client-header-filter{hide-tor-exit-notation} \
 +client-header-filter{privoxy-control} \
 +forward-override{forward-socks4a 127.0.0.1:9050 .} \
 +server-header-filter{privoxy-control} \
}
.onion/
/.*(\?|\&)tor$

Сразу после этого фрагмента должны располагаться URL необходимых вам сайтов.

Если в конец адреса сайта добавить ?tor или &tor - то получен он будет через TOR. Это очень удобно, когда не знаешь, блокирован ли данный сайт или просто его временная недоступность.

Оригинал заметки и все, что бы вы хотели узнать о Privoxy на русском, можете найти на сайте RPFTeam.

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

воскресенье, 2 июня 2013 г.

Прощай, Опера...

Разработчики лишили меня последнего, что держало на этом браузере последние 12 лет — почтового клиента M2, RSS ридера и полноценных закладок. В новой версии не будет ни первого, ни второго, а закладки будут в неудобоваримом html, как бы подталкивая пользователя больше пользоваться поиском, на котором как раз и зарабатывает Опера. Спасибо, мне такого не надо.

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

среда, 1 мая 2013 г.

Энергопотребление OLED — миф и реальность

Диванными аналитиками муссируется миф, что при всей своей экономичности OLED экраны потребляют значительно больше энергии при показе белого экрана нежели экраны TFT.

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

Исходное оборудование:
1. Устройство с экраном TFT размером 4 дюйма
2. Устройство с экраном Super AMOLED размером 4.3 дюйма
3. Цифровой измерительный прибор
4. Провод

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

Энергопотребление TFT размером 4 дюйма при различной яркости:
100% - 0.25 А
75% - 0.23 А
50% - 0.20 А
25% - 0.17 А
0% - 0.12 А

Энергопотребление Super AMOLED размером 4.3 дюйма при различной яркости (белое изображение на весь экран).
100% - 0.23 А
75% - 0.20 А
50% - 0.17 А
25% - 0.14 А
0% - 0.11 А

Энергопортебление Super AMOLED размером 4.3 дюйма при различной яркости (черное изображение на весь экран).
100% - 0.06 А
75% - 0.06 А
50% - 0.06 А
25% - 0.06 А
0% - 0.06 А

В итоге имеем чуть меньшее потребление Super AMOLED экрана даже без учета его большего размера (4.3 дюйма против 4 дюйма TFT).

Примечательно, что стандартное меню приложений андроида на максимальной яркости ( Super AMOLED) потребляет всего 0.09 А.

P.S. Да, положив два экрана рядом заметил, что Super AMOLED имеет неправильную цветопередачу.

P.P.S. Названия устройств не афиширую.

пятница, 6 апреля 2012 г.

ToDo

Я тут прикинул, что в моем поведении мне-же и создает дискомфорт. Всего-то нужно:
  1. Отучиться спорить вообще.
  2. Не вникать в чужие проблемы.
  3. Не предлагать свою помощь.
  4. Скрывать свои знания и умения.
Пункты 2, 3, 4 не распространяются на семью, родственников и друзей.

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

Со вторым и третьим проблем не возникнет – «включить» безразличие намного проще чем его выключить.

Четвертый пункт да с безразличием пойдет как по маслу.

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

суббота, 10 марта 2012 г.

Opera + Privoxy

Как минимум последние два года заметил необъяснимое - Опера временами недогружает графику, реже таблицы стилей (css) и сами страницы. Пенял на Privoxy, т.к. он стоял между браузером и интернетом, фильтруя рекламу и прочий мусор.

Самое интересное, что тот-же Файрфокс и Хромиум работают через Привокси без ошибок. Винить Оперу у меня как-то ума не хватило.

Оказалось, Опера имеет такую сомнительную фичу как “Pipelining”. Подразумевается, что она должна реализовывать многопоточную загрузку, а на практике такое не всегда получалось. 

Избавиться от этой фичи можно следующим способом: opera:config -> Performance -> Enable Pipelining -> off

На понятном языке это будет означать следующее: вводим в строку адреса “opera:config”, переходим в раздел “Performance”, снимаем галочку с параметра “Enable Pipelining”, нажимаем на кнопку “Сохранить” и перезагружаем браузер.

Для справки: Privoxy - кросплатформенная банерорезка. От Адблока она отличается тем, что позволяет самостоятельно писать фильтры. С помощью таких самописных фильтров удалось реализовать для Privoxy псевдоинтеллектуальную блокировку порноконтента, а так-же блокировку социальных сетей.