среда, 4 мая 2011 г.

Модернизация велокомпьютера Decathlon DC 4W

Полтора года назад купил в Декатлоне дешевый велокомпьютер, а именно DC 4W. Сам по себе он очень простенький и наворотами особо не отличается. Сейчас он стоит где-то 300 рублей, а когда я его брал была распродажа, и стоил он каких-то жалких 150р. Из функционала что он умеет: показывать текущую скорость, общую и текущую пройденную дистанцию, время, секундомер.


Но есть и старшая модель DC 9W, которая стоит в 2 раза дороже имеет корпус другого цвета и функционал в ней конечно более широкий. Что он умеет в отличии от DC 4W: показывать среднюю и максимальную скорость, сравнивать среднюю скорость с текущей, к тому же там есть 2 профиля для использования одного велокомпьютера на велосипедах с разными размерами колес.

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

Хочу заметить что разбирается и собирается он довольно легко и корпус после этого не деформируется. Первым делом откручиваем сзади крышку, вынимаем батарейку. Далее берем медиатор, или что-то подобное, что попадется под руку, засовываем его в щель между половинками корпуса и вскрываем его.


Сняв пластиковую крышку и резинку на кнопках видим следующее:


Откручиваем все винтики, снимаем стекляшку, защищающую от брызг, и вынимаем схему вместе с экраном наружу. Вот всё что там внутри (схема, экран, рамка).


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

Почти что отчаявшись решил посмотреть нет ли у микрухи каких-нибудь ненужных дорожек. И заметил что на нее приходят два плюса от кондёра, притом один напрямую, а другой окольным путем, помеченным на схеме циферкой "1", кстати больше на схеме ничего не помечено. Остальные дорожки идущие к схеме смотрелись нужными. Поскольку ничего другого менять не представлялось возможным, решил "Была не была", взял в руки шило и расцарапал эту дорожку, тем самым нарушив контакт в месте как показано на картинке.





Вариантов было два: либо оно накроется, либо станет работать как модель в два раза дороже. Подсоединил экранчик, вставил батарейку, вроде всё работает.. и вот оно Бинго! максимальная скорость на экране!


Приятно конечно расцарапав одну дорожку получить велокомп в два раза дороже =)

понедельник, 9 ноября 2009 г.

PHP и файлы за пределами директории сервера

Недавно возникла необходимость установки и настройки CMS Moodle, которая хранит свои данные за пределами отведенной ей папки (доступной из интернета). Возник вопрос о возможности доступа PHP-скрипта к файлам вне серверной директории.

PHP, установленный со стандартными конфигами, а у меня такой и стоял, представляет опасность вашей машине. По стандарту PHP сконфигурирован так, что сами скрипты вправе обращаться к любому файлу за пределами директории веб-сервера (/var/www).

Разумеется это является серьезной угрозой для безопасности не только веб-серва, а всей системы вцелом. Представьте что случиться, если злоумышленнику удастся залить к вам на сервер веб-шелл, тогла он получит доступ ко всем файлам файловой системы, незащищенных правилами доступа.

Чтобы этого не случилось достаточно правильно сконфигурировать файл php.ini (/etc/php5/apache2/php.ini).
Необходимо раскоментить директиву open_basedir и придать ей нужное значение. После знака равно указывается директория из которой скрипт не может выходить во время своего исполнения. Для указания нескольких директорий следует разделять их знаком двоеточия. А для того чтобы разрешить скриптам доступ к текущей директории (где они в данный момент находятся) и всем директориям ниже по уровню следует придать директиве значение "."

;разрешить доступ к директориям /var/www и /var/webdata/
open_basedir=/var/www:/var/webdata/

или

;разрешить доступ к текущей директории и всем директориям ниже
open_basedir=.

суббота, 7 ноября 2009 г.

Звук с цифрового выхода на Ubuntu 9.10

На Ubuntu 9.04 звук никак не хотел идти из цифровых выходов.
Собственно, звуковая карта - Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (ALC882) . Провозившись кучу времени с настройками Alsa и PulseAudio мне всё таки удалось настроить звук на цифровых выходах, замечу что на аналоговых выходах звук присутствовал сразу после установки системы и работал стабильно.
Но всё равно находились некоторые приложения которые были способны убить звук и приходилось перезагружать Alsa.

Так что же произошло после обновления Убунты на новую версию? Сперва произошло следущее: звук пропал. Некоторая часть радости от перехода на новую версию ОС исчезла при одной лишь мысли о предстоящем долгом и противном процессе настройки звука.
Но к счастью всё оказалось не так плохо!

По привычке решил зайти в System -> Preferenses -> Sound и проверить работу различных звуковых интерфейсов. И тут я обнаружил что настройщик звука в новой версии радикально поменялся. Отныне он выглядит так:



Теперь в нем нет привычных профилей и возможности выбора какого-либо звукового интерфейса для конкретного профиля. Звуковые интерфейсы вообще сокрыты от пользователя.
Признаюсь что это меня несколько расстроило, теперь стало даже не ясно в какую сторону копать: толи в сторону PulseAudio, толи в сторону Alsa.
Оказалось что всё таки в сторону PulseAudio.

Замечу, что PulseAudio Volume Control не решил проблему, в нем цифровой выход не отображается до сих пор (хотя звук из него идет прекрасно). Данная программа упорно указывает на то что устройством вывода является Analog Stereo.

А теперь само решение:
Коммандой aplay -l узнаем какие аудио-устройства наличествуют в системе:


card 0: Intel [HDA Intel], device 0: ALC882 Analog [ALC882 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC882 Digital [ALC882 Digital]
Subdevices: 0/1
Subdevice #0: subdevice #0

Соответственно, нас интересует устройство hw:0,1.
Далее следует отредактировать файл /etc/pulse/default.pa
В строке:

load-module module-alsa-sink device=hw:0,0
следует заменить hw:0,0 на hw:0,1
После этого нужно перезапустить демон PulseAudio коммандой pulseaudio --kill и перезагрузить Alsa коммандой alsa force-reload
После этого всё должно заработать.

В итоге звук работает прекрасно, прекратились пропадания звука в Skype и перезагружать больше ничего не нужно.

четверг, 5 ноября 2009 г.

Старт

На часах 4:44 утра, а я решил создать блог, ну что ж, посмотрим что из этого получится.