Шукати в цьому блозі

середу, 11 листопада 2009 р.

mySQL + UTF8 проблема с поиском данных с кириллицей при использовании фунций ( lower/upper )

Исходные данные: Ubuntu server 9.04 + MySQL 5.1.x, была какая-то база MBASE с таблицей abase, в которую вносились данные в кодировке utf8, все запросы происходили посредством самописных Perl скриптов.

Так сложилось, что появилась необходимость использовать регистронезависимый поиск.
Самым простым способом реализации регистронезависимого поиска, является преобразование строки поиска и значения поля(ей) таблиц к верхнему(upper) или нижнему(lower) регистру.

Пример банального SELECT-а ввыглядит бля таблици abase так:

select * form abase where locate(lower('ЯбЛо'),lower(message0))>0;

т.е. строка поиска "ЯбЛо" и значение в поле message0 таблицы abase преобразовывается
к нижнему регистру и ищется вхождение.

К сожалению поиск не работал. Однако, не работал для кирилических символов, т.е. регистрозависимый в стиле:

select * form abase where messages0 LIKE 'Ябло%';

отрабатывал, но как только использовалось преобразование регистров, переставал работать.

Залогинившись mysql -uroot -ppass побросал запросы напрямую - увидел, что после использования функций преобразования регитров символов, отдает какю-то ересь из квадратиков.

Погуглив, нашел подсказку в указании кодировки по-умолчание в файле конфигурации MySQL:


[mysqld]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake

[mysqldump]
default-character-set=utf8

[client]
default-character-set = utf8


Вписав эти инструкции и перегрузив сервер MySQL сервер, получил еще ведро ошибок в стиле:
'Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)'


Вобщем, плохо все, нашел совет перекодировать:

alter table `abase` convert to character set utf8
collate utf8_swedish_ci;


Однако, то ли я не разобрался, то ли еще почему-то, но не получилось.

На самом деле, нужно просто правильно создавать базы вначале с указанием правильных кодировок:

CREATE DATABASE vizor CHARACTER SET utf8 COLLATE utf8_general_ci;

Тогда и проблем не будет.
Пошел, скорей неправильным путем, создавая правильно новую базу и экспортируя таблици из старой через mysqldump.

пʼятницю, 30 жовтня 2009 р.

Быстрая установка и настройка lighttpd на Ubuntu server 9.04 + SSL

Возникла необходимость поднять легкий(на слабом компьютере) веб-сервер с поддержкой SSL.
Был выбран lighttpd с установкой на имеющиюся платформу на базе ОС Ubuntu Server Edition 9.04 (Jaunty Jackalope).

Установка веб-сервера:
sudo apt-get install lighttpd

Для поддержки SSL:
sudo apt-get install openssl

Создаем каталоги, назначение которых буде указанно позже при конфигурации веб-сервера:


sudo mkdir -p /var/www/Abase/
sudo mkdir -p /var/www/Abase/cgi-bin/
sudo mkdir -p /var/www/Abase/cgi-bin/.access
sudo mkdir -p /etc/lighttpd/certs
sudo mkdir -p /var/www/log.Abase
sudo chown www-data:www-data /var/www/log.Abase
sudo chmod 755 /var/www/log.Abase



Редактируем файл конфигурации:

cd /etc/lighttpd
vim lighttpd.conf


lighttpd.conf

Подключаемые модули:
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_cgi",
"mod_auth",

)


Указываем корень сервера и лог-файлов:

server.document-root = "/var/www/Abase/"
server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"


Указываем файлы, которые будут подставляться, в качестве индексных файлов:
index-file.names = ( "index.cgi", "index.html",
"index.htm", "default.cgi",
"index.shtml" )



Описываем правила для CGI скриптов (в моем случае-это скрипты написанные на Perl):

static-file.exclude-extensions = ( ".cgi",".pl" )

cgi.assign = ( ".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl" )

$HTTP["url"] =~ "/cgi-bin/" {
cgi.assign = (".cgi" => "/usr/bin/perl",
".pl" => "/usr/bin/perl" )
}


Описываем авторизацию при доступе к серверу, в даном случае от корня и всем разрешенным пользователям:
auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile ="/var/www/Abase/cgi-bin/.access/.lpassword"
auth.require = ( "/" => (
"method" => "basic",
"realm" => "Password protected area",
"require" => "valid-user"
)
)


Назначаем порт, на котором будет работать сервер, если эта инструкция за комментирована, то по-умолчанию порт 80.
server.port = 8080


SSL инструкции:

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem"
server.document-root = "/var/www/Abase/"
server.errorlog = "/var/www/log.Abase/Abase.error.log"
accesslog.filename = "/var/www/log.Abase/Abase.access.log"
}


UID от которых будет работать lighttpd:
server.username = "www-data"
server.groupname = "www-data"



Lighttpd по-умолчанию разрешает листать все каталоги от корня и показывать все вложенные файлы. Поэтому введем некоторые ограничения на каталоги /cgi-bin/.access/ и /cgi-bin/, а именно запретим листание и показ файлов начинаемых с точки:

$HTTP["url"] =~ "^/cgi-bin/.access/($|/)" {
dir-listing.activate = "disable",
dir-listing.hide-dotfiles = "enable"
}
$HTTP["url"] =~ "^/cgi-bin/($|/)" {
dir-listing.activate = "disable",
dir-listing.hide-dotfiles = "enable"
}


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

Небольшое отступление от параноика, я всегда думаю, о том что-то упустил в настройках по безопасности, потому в каталоге /var/www/Abase/cgi-bin/ разместил индексный файл с редиректом на корень, вот его листинг:

cat /var/www/Abase/cgi-bin/default.cgi

#!/usr/local/bin/perl
use CGI;
my $query = CGI->new();
print $query->redirect('/')


Создание сертификатов.
Конечно, если Вы работаете в большой солидной компании, но лучше прикупить сертификатов, но в частном случае можно сгенерировать и свои:

cd /etc/lighttpd/certs
openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 365 -nodes
chmod 400 lighttpd.pem


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

Создаем файл, где будут хранится списки разрешенных пользователей и их пароли:
cat > .lpassword
username1:username1password
username2:username2password
username3:username3password

^D
Добавили три пользователя username1, username2, username3 с паролями username1password, username2password, username3password.

sudo chown root:www-data /var/www/Abase/cgi-bin/.access
sudo chmod 750 /var/www/Abase/cgi-bin/.access
sudo chown root:www-data /var/www/Abase/cgi-bin/.access/.lpassword
sudo chmod 640 /var/www/Abase/cgi-bin/.access/.lpassword



Теперь редактировать файл пользователей Вы сможете только указав прямую ссылку на файл:
sudo vim /var/www/Abase/cgi-bin/.access/.lpassword


Перезапускаем наш веб-сервер:
/etc/init.d/lighttpd restart

Проверяем в браузере.

источник 1
источник 2

четвер, 29 жовтня 2009 р.

Установка Perl модуля DBD::mysql. Ошибка Can't exec "mysql_config".

Ubuntu linux 9.04 server ed.
Имея установленный mysql-client при установке, с помощью cpan, модуля DBD::mysql, процесс завершался ошибой:

Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 464.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

perl Makefile.PL --cflags=-I dir

to set this directory. For details see the INSTALL.html file,
section "C Compiler flags" or type

perl Makefile.PL --help
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
Warning (usually harmless): 'YAML' not installed, will not store persistent state
CAPTTOFU/DBD-mysql-4.013.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Could not read '/root/.cpan/build/DBD-mysql-4.013-2UEonO/META.yml'. Falling back to other methods to determine prerequisites
Failed during this command:
CAPTTOFU/DBD-mysql-4.013.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512


Решение - установка дополнительного пакета libmysql++-dev который содержит C++ API для запросов к Mysql (и других SQL баз):
sudo apt-get install libmysql++-dev

Шпаргалка по простейшей настройке сетевых интерфейсов в Ubuntu linux

Установлено Ubuntu linux server 9.04
Два сетевых интерфейса (eth0, eth1).

Необходимо настроить eth0 на получение адреса по DHCP, к eth1 привязать статический адрес:

sudo vi /etc/network/interfaces

#Интерфейс получает адрес по DHCP
auto eth0
iface eth0 inet dhcp


#Интерфейс имеет статический адрес, маршрут по умолчанию, через этот интерфейс

auto eth1
iface eth1 inet static
address 192.168.1.90
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


Перечитываем настройки интрфейсов:
sudo /etc/init.d/networking restart

Изменение имени хоста:

sudo /bin/hostname
sudo /bin/hostname newname


Источник

понеділок, 12 жовтня 2009 р.

Установка DSS(Darwin Streaming Server 6.0.3) на Linux (Ubuntu 9.04 server)

По сути сие руководство перевод статьи How to install Darwin Streaming Server 6.0.3 on Ubuntu 8.04.2 Hardy.

И так:

1. sudo apt-get update && sudo apt-get upgrade - обновляем систему;

2. sudo apt-get install build-essential - если еще не установили(этот пакет необходим для сборки пакетов Debian);

3. sudo addgroup -–system qtss
sudo adduser –system –no-create-home –ingroup qtss qtss
- добавляем группу и пользователя, от которого будет запускаться DSS.

4. cd /usr/local/src/ - переходим в каталог, в котором будем собирать наш сервер из исходников.

5. с сервера http://github.com/lstoll/dss скачиваем последнюю версию DSS (в моем случае это версия lstoll-dss-984a136).

6. tar -xvf lstoll-dss-984a136.tar - распаковываем;

7. cd lstoll-dss-lstoll-dss-984a136/ - переходим в образовавшийся каталог;

8. /Buildit install - подготавливаем пакет к инсталяции;

9. cd DarwinStreamingSrvr6.0.3-Linux переходим в образовавшийся каталог;

10. ./Install - инсталлируем, в процессе установки возникнет необходимость ввести имя пользователя и пароль;

11. если инсталляция прошла успешно, то введя в браузер адрес хоста и порт 1220 увидете панель администрирования (логин и пароль введенные значения в пункте 10)



12. Создаем скрипт запуска
cd /etc/init.d/
cat > dss
#!/bin/sh
#
# chkconfig: 35 92 12
# description: Quicktime Streaming Media Server
#
# Slight tweak of file create by Larry Underhill 05/20/02
#
# init script to start up the quicktime (Darwin) streaming server
# tested on Redhat 7.2, Fedora Core 4 and CentOS-4.3
# source function library
#. /etc/rc.d/init.d/functions

case "$1" in
start)
if test -r /var/lock/dssd
then
echo "Lockfile /var/lock/dssd exists. Server not started."
failure
else
echo "Starting Darwin Streaming Server: "
/usr/local/sbin/DarwinStreamingServer && touch /var/lock/dssd
echo "Starting DSS Admin Console: "
/usr/local/sbin/streamingadminserver.pl
echo "DSS and DSS Admin Console started…"
fi
;;

stop)
echo "Stopping Darwin Streaming Server: "
[ -f /var/lock/dssd ] || exit 0
echo "stopping…"
killall DarwinStreamingServer && killall streamingadminserver.pl
#ps ax | awk ‘{print $1" " $5}’ | awk ‘/DarwinStreamingServer/ {print $1}’ | xargs -r kill -9 && success || failure
#echo "Stopping DSS Admin Console: "
#ps ax | awk ‘/streamingadminserver.pl/ {print $1}’ | xargs -r kill -9 && success || failure
rm -f /var/lock/dssd
echo
;;

restart)
$0 stop
sleep 1
$0 start
;;

*)
echo "Usage: $0 [start|stop|restart]"
exit 1
esac
exit 0


выходим из cat нажав ctrl + d

13. chmod +x dss - делаем созданный скрипт исполняемым;

14. root@vombantu:/etc/init.d# update-rc.d dss defaults
update-rc.d: warning: /etc/init.d/dss missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/dss ...
/etc/rc0.d/K20dss -> ../init.d/dss
/etc/rc1.d/K20dss -> ../init.d/dss
/etc/rc6.d/K20dss -> ../init.d/dss
/etc/rc2.d/S20dss -> ../init.d/dss
/etc/rc3.d/S20dss -> ../init.d/dss
/etc/rc4.d/S20dss -> ../init.d/dss
/etc/rc5.d/S20dss -> ../init.d/dss


15. для проверки можем перезапустить наш Darwin Streaming Server
masteruser@vombantu:~$ sudo /etc/init.d/dss restart
Stopping Darwin Streaming Server:
Starting Darwin Streaming Server:
Starting DSS Admin Console:
DSS and DSS Admin Console started…


Наслаждаемся.

источник.

Linux (Ubuntu) + ffmpeg with amr, mp3, faac, faad

Исходные данные:
ОС - Ubunu server 9.04 в минимальной конфигурации.
Необходимо собрать ffmpeg c поддержкой amr,faac,faad,mp3,h264

1) обновляемся sudo apt-get update && sudo apt-get upgrade

2) sudo apt-get install build-essential

3) скачиваем исходники ffmpeg wget http://ffmpeg.org/releases/ffmpeg-export-snapshot.tar.bz2,
можно с svn svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg, но у меня прокси не пропускает.

4) для х264 apt-get install libx264-dev
правда могут случиться исключения, у некоторых камрадов, с этим пакетом ffmpeg, не собирался, потому есть вариант слить исходники и скомпилировать:
git clone git://git.videolan.org/x264.git , но опять мой прокси не пропускает, потому исходники перенес на флешке.

распаковываем, далее
cd x264/
./configure
make && make install

5) apt-get install libgpac-dev libmp3lame-dev libfaac-dev libfaad-dev

6) AMR sudo apt-get install libamrnb-dev libamrwb-dev можно так, но я предпочел скачать исходники с http://opencore-amr.sourceforge.net и собрать кодеки из них.

7) распаковываем и заходим в каталог ffmpeg-export-snapshot
./configure --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libfaac --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-libfaad --enable-yasm


make && make install

После конфигурирования, зборки и установки обнаружился при запуске сбой:
error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory
В источнике №2 было найдено решение:
cd /etc/ld.so.conf.d
echo /usr/local/lib > custom-libs.conf
/usr/local/lib

Как результат:
ffmpeg
FFmpeg version SVN-r20192-snapshot, Copyright (c) 2000-2009 Fabrice Bellard, et al.
built on Oct 12 2009 14:14:37 with gcc 4.3.3
configuration: --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libfaac --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-libfaad --enable-yasm
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.36. 0 / 52.36. 0
libavformat 52.39. 0 / 52.39. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
At least one output file must be specified


Были использованы следующие источники:
источник №1
источник №2
источник №3



UPD: 18.09.2010

четвер, 24 вересня 2009 р.

Установка ffmpeg с использованием MacPorts с поддержкой amr, faad, faac аудио кодеков в Mac OS X "Snow Leopard"

Исходные данные:
Обновленная система Mac OS X "Snow Leopard".
Установленые MacPorts
Установленый пакет XCode

Для начала необходимо переустановить пакет разработчика, а также обновить порты:
Обновление портов:

sudo ports -v selfupdate

рекомендуемо обновляем установленые с портов приложения

sudo port update outdate

Велика вероятность того, что часть приложений не сможет обновиться, опытным путем была
установлена следующая процедура:
- удаление "капризных" приложений sudo port uninstall portname
- установка из обновленного дерева портов вручную sudo port install portname
Как правило, в большинствеслучаев такое нелогичное "шаманство" помогает.
Ставим заново с портов кодеки faac и faad2.

sudo port install faac
sudo port install faad2

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

На официальном сайте http://ffmpeg.org/ есть новость:
July 24, 2009
FFmpeg has removed support for libamr as of svn revision 19365. It has been replaced with support for libopencore-amr. Naturally the configure options have changed. The libamr options have been removed and there are two new options to take their place:

* --enable-libopencore-amrnb
* --enable-libopencore-amrwb

The reason for this change is that the libamr license was non-free, while libopencore-amr is licensed under an Apache 2 license. The change was discussed at length on the developer mailing list during May, June, and July. This has several effects:

* You may now distribute FFmpeg builds with support for dynamically loading libopencore-amr
* Support for AMR-WB encoding has been removed since libopencore-amr does not support it

Что значит, что начиная svn сверсии 19365 поддержка в ffmpeg "несвободной" версии отановлена, далнейшее развитие подразумевает
использование libopencore-amr, исходники которой можно найти на ресуре http://opencore-amr.sourceforge.net/

В свою очередь, в портах версия ffmpeg 0.5 с поддержкой non-free кодеков, поэтому скачиваем последние актуальные исходники libamr.

Например, на ресурсе http://ftp.penguin.cz/pub/users/utx/amr/ были найдены исходники:

http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2

датированные 22.05.2008

скачиваем, распаковываем, устанавливаем:

tar -jxvf amrnb-7.0.0.2.tar.bz2
cd amrnb-7.0.0.2
./configure
make
sudo make install

tar -jxvf amrwb-7.0.0.3.tar.bz2
cd amrwb-7.0.0.3.tar.bz2
./configure
make
sudo make install

Теперь необходимо отредактировать параметры сборки ffmpeg.

sudo port edit ffmpeg

Раздел аргументов кофигурирования должен содержать следующие ключи:

--enable-libfaac \
--enable-libfaad \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-nonfree \

Выходим из редактора сохранив изменения.


Собираем ffmpeg:

sudo port install ffmpeg.

В идеале в конце имеем собраный ffmpeg с поддержкой amr:

ffmpeg
FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --prefix=/opt/local --disable-vhook --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libamr-nb --enable-libamr-wb --enable-nonfree --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/gcc-4.0 --arch=i386
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 1. 4. 0 / 1. 4. 0
libswscale 1. 7. 1 / 1. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Sep 24 2009 20:18:37, gcc: 4.0.1 (Apple Inc. build 5490)
At least one output file must be specified


Источники:

http://sda00.blogspot.com/2008_03_01_archive.html
http://ubuntuforums.org/showthread.php?t=491885
http://ffmpeg.org/

вівторок, 24 лютого 2009 р.

.htaccess

Включить поддержку в httpd.conf
AllowOverride All

Запретить переопределение любых директив в конфигурационных файлах .htaccess можно при помощи значения None:
AllowOverride None

Имена индексных страниц:
DirectoryIndex index.php index.shtml index.html

Обработчиков кодов ответа протокола HTTP несёт ответственность директива ErrorDocument

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html


После директивы ErrorDocument следует указать код ответа и страницу, на которую необходимо перенаправить посетителя при возникновении данного кода ответа.

* 401 ошибка — Запрос требует аутентификации пользователя (Unautorized).
* 403 ошибка — Доступ к запрашиваемому ресурсу запрещён (Forbidden).
* 404 ошибка — Запрашиваемый документ на сервере отсутствует (Not Found).
* 500 ошибка — Ошибка конфигурации сервера или внешней программы (Internal Server Error).

Паролирование директории:
AuthName "Reg only"
AuthType Basic
AuthUserFile /pub/home/site/.htpasswd
require valid-user

Значение AuthName будет выводиться для посетителя во всплывающем окне и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает серверу, где хранится файл с паролями для доступа. Этот файл создается специальной утилитой htpasswd.

.htpasswd - это обычный текстовой файл, для работы с ним есть специальная утилита - ее вариант для Unix называется htpasswd
Команда htpasswd -c .htpasswd имя_пользователя
введенная в командной строке сервера, создаст новый файл .htpasswd, запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в этом файле.

Как добавить или изменить запись о пользователе в .htpasswd
Команда htpasswd имя_файла имя_пользователя
запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в указаном файле или изменит пароль пользователя в уже существующей записи.

Как удалить запись о пользователе из .htpasswd
Для этого достаточно открыть .htpasswd обычным текстовым редактором, найти и удалить строчку, начинающуюся с имя_пользователя:

Источники:

http://batton.org.ua/

http://alterwebs.net/read/articles/htaccess-1/

http://www.freebsd.3dn.ru/publ/4-1-0-52




пʼятницю, 6 лютого 2009 р.

AverMedia 505UA + Linux

Возникла необходимость подключить сабжевый тюнер в

/etc/modprobe.d

создаем файлик, пускай с именем  tv, и содержимым: 

alias char-major-81 videodev
options i2c-algo-bit bit_test=1
alias char-major-81-0 off
alias char-major-81-1 saa7134
alias char-major-81-2 off
alias char-major-81-3 off
options saa7134 card=45 tuner=38


перегружаемся, смотрим:

dmesg | grep saa
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7134 0000:02:0b.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
saa7130[0]: found at 0000:02:0b.0, rev: 1, irq: 17, latency: 66, mmio: 0x40100000
saa7130[0]: subsystem: 1461:a11b, board: 10MOONS PCI TV CAPTURE CARD [card=21,insmod option]
saa7130[0]: board init: gpio is 107f8
saa7130[0]: i2c eeprom 00: 61 14 1b a1 ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 20: ff f1 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner' 0-0043: chip found @ 0x86 (saa7130[0])
tuner' 0-0061: chip found @ 0xc2 (saa7130[0])
saa7130[0]: registered device video0 [v4l2]
saa7130[0]: registered device vbi0
saa7130[0]: registered device radio0

Вообщем работает :)

вівторок, 27 січня 2009 р.

Date::Manip

При использовании модуля Date::Manip   выскакивала ошибка:

ERROR: Date::Manip unable to determine Time Zone. at /Library/Perl/5.8.8/Date/Manip.pm line 3666
 Date::Manip::Date_TimeZone() called at /Library/Perl/5.8.8/Date/Manip.pm line 693
 Date::Manip::Date_Init() called at /Library/Perl/5.8.8/Date/Manip.pm line 816
 Date::Manip::ParseDateString('today') called at /Library/Perl/5.8.8/Date/Manip.pm line 1557

На самой странице в разделе TIME ZONES указан способ решения, но мне как-то не хватило сил, потому было найдено радикальное решение поправить в самом модуле Manip.pm в разделе: 
# Local timezone
$Cnf{"TZ"}="";  

установить значение для Украины: (EET +0200 Eastern Europe, USSR Zone 1)

$Cnf{"TZ"}="EET";