В процессе подготовки к записи завтрашнего парада, на который мне, кажется, попасть не суждено, я таки научился ловить местные трансляции в DVB-T. Хитрость тут в том, что местные телевизионщики два года тестировали трансляции в MPEG2, а когда тестировать закончили, взяли и включили MPEG4. С какой глубокой целью они это сделали, непонятно. Передачи в эфире идут нешифрованные, да и шифровать там особо нечего - четыре государственных телеканала, один матраc и четыре радиоканала.  Качество картинки очень высокое, субтитры в телетексте передаются, с технической точки зрения всё красиво. Только ни один продаваемый в стране телевизор с гордой надписью DVB-T  декодировать MPEG4 не умеет.

В общем, после установки последней версии драйверов и некоторого количества дополнительных телодвижений эти телеканалы удалось-таки посмотреть имеющимся тюнером производства AverMedia. Плюс в том, что производитель уже несколько лет честно обновляет эти драйвера для линукса,  установились они вообще на полном автомате. А минус - в том, что в исходниках там только обвязка, которая компилируется под имеющееся ядро, а основная часть поставляется в виде огроменного объектного модуля. Естественно, под другой архитектурой оно работать не будет. А хотелось бы.

Но это всё лирика, а интересно во всём этом то, что вышеупомянутые пачки каналов идут совершенно одинаковыи наборами на двух разных частотах. Интересно, зачем?
А ещё интереснее, почему этот MPEG4 в виде достаточно стандартизованного H.264 нормально проигрывается только в VLC (и в ffplay). А в mplayer’е звук идёт нормально, а видео сильно замедленное. Хотя они оба, кажется, используют для декодирования одну и ту же библиотеку из ffmpeg.

Долго думал, но так и не смог понять, в чём смысл этих команд: http://talks.php.net/show/perf_tunning/33

Кто-нибудь понимает?

По мотивам раздумий о судьбах звука в HDMI.

Заставить звук выводиться из компьютера через HDMI мне так и не удалось. Девайс есть, драйвер его видит, mplayer в него играет, а в телевизоре тишина. А поскольку  телевизор сильно вумный, то как только он обнаруживает, что в HDMI у него звук может быть, он аналоговый вход отключает. И неважно, что на самом деле в HDMI звука нет. Он же может..

Полдня гугления показали, что проблема известная (даже в Windows), а как ее решать, никто толком не знает. Остаётся ждать, пока nVidia напишет правильный аудиодрайвер. Они уже пообещали.

Но если переключиться в текстовый режим, то телевизор таки берёт звук из аналогового входа, хотя изображение получает по тому же HDMI. Это наводит на мысль, что телевизору можно как-то объяснить, что вот конкретно сейчас в HDMI звука нет. Производитель телевизора на вопрос, как это сделать, вот уже неделю молчит.

Оказалось, что это можно сделать со стороны компьютера. Для этого надо nVidia’вскому драйверу объяснить, что телевизор по ту сторону HDMI звук не поддерживает, тогда драйвер не скажет телевизору, что может подавать в него звук, и телевизор будет его брать из аналога. Что и требуется. В Windows это делается путём записи магических значений в registry.

А в линуксе так: Read the rest of this entry »

К одной из моих DVB-карт прилагался штатный ИК-приемник на верёвочке и пульт. И я, наконец, решил присобачить его к компьютеру.

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

Дальше технические подробности, интересные только IT-специалистам. Read the rest of this entry »

После почти полного апгрейда домашней машинки (мать/видеокарта/процессор/память/удивительно тихий вентилятор по рекомендации [info]olegart) встал вопрос о том, что на неё поставить для использования в качестве домашнего медиацентра.

Основные требования: просмотр и запись DVB, DVD и всяких DivX/XviD/H264 в телевизор через HDMI, прослушивание музыки с локальных дисков и радио из сети. Плюс торренты и почта в IMAPе. Кроме того, машинка иногда используется в качестве девелоперской, поэтому нужен всё-таки дистрибутив более-менее общего назначения.

Просмотр всяких фотографий с флешек будет плюсом, но это не сильно актуально.

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

Для начала я попробовал туда поставить  Mythbuntu (это такая минимальная Ubuntu, заточенная под MythTV). Впечатления пока грустные. Поставиться-то оно поставилось, обе DVB-карты нашло влёт, это плюс, а вот с видеокартой случилась засада: слишком новая. До установки родного драйвера от nVidia она вообще работала только в 640×480 и только на CRT, на LCD никак. Родной 185 драйвер её понял и показал нормальную картинку, но только на мониторе, в HDMI всё равно только кусочек 640×480.

Попытка установки 190 или 195 драйвера с http://ppa.launchpad.net/ завершилась неудачно. В результате кривых зависимостей оно вместе с установкой свежего драйвера собиралось снести nvidia-common и, как следствие, собственно mythtv.

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

В общем, вопрос: попытаться докрутить эту установку, или поставить обычную ubuntu и потом под ней спокойно настраивать mythtv? Или vdr? Или какой-нибудь LinuxMCE? Или вообще debian? Или geexbox попробовать? Или есть что-нибудь лучше?

Update: XBMC удивительно красив, особенно на full-HD телевизоре, но не поддерживает DVB. boxee.tv многплатформенный, но DVB тоже не умеет. И Elisa, переименованная в Moovida, аналогично. Mediaportal вроде неплох, но под Windows.

Geexbox не распознал DVB-карты, хотя по документации вроде бы должен. Но он всё равно не является дистрибутивом общего назначения, поэтому я особо копать не стал.

LinuxMCE идёт лесом. Европейское зеркало у них в дауне, на австралийском нет вообще ни одного файла, торрент с linuxtracker.org не работает, потому что сервер не отвечает на 2710 порту, а потом на морде этого MCE вообще случилось
Fatal error
: Call to undefined method JDatabaseMySQL::stderror() in /var/www/vhosts/linuxmce-org/components/com_banners/models/banner.php on line 115
Да-да, вы не ослышались, php. В морг.

Очередной вопрос на засыпку для сисадминов: в линуксе можно в fstab указывать разделы не по именам устройств, а по UUID. И swap-разделы тоже. Для обычных ext2/3/4-разделов UUID можно посмотреть с помощью dumpe2fs. А для swap как? Можно, конечно, отформатировать раздел заново, mkswap при этом выдаст свежесозданный UUID, но это неспортивно.

Я пока нашел только один способ: Read the rest of this entry »

и это случилось: в скринсейвере для гнома, распространяемом в виде .deb-пакета через сайт gnome-look.org, обнаружено вредоносное программное обеспечение, позволяющее использовать компьютер для DDoS-атак.

Ссылки по теме:
http://www.omgubuntu.co.uk/2009/12/malware-found-in-screensaver-for-ubuntu.html
http://www.opennet.ru/opennews/art.shtml?num=24610

Пока это ещё не вирус, оно не умеет распространяться само, однако тенденция…

via http://vitus-wagner.livejournal.com/422761.html

Я бы очень хотел посмотреть в глаза тому из аффтаров убунты, который придумал вот это:

Для тех, кто не в курсе: в убунте у рута пароля штатно вообще нет. Напрямую под рутом залогиниться невозможно, рекомендуемым способом является использование sudo.

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

Лечится добавлением опции bootwait в fstab, но при апгрейде эта опция автоматически не добавляется. Соответственно, большое число систем после апгрейда и последующей перезагрузки может оказаться в непредусмотренном состоянии. Но не сразу, а когда там при очередной перезагрузке запустится fsck. А разработчики считают, что это нормально.

Оно, конечно, описано в release notes, но кто ж их читает..

Эпопея продолжается. Это поделие китайских мастеров по имени Huawei E620 подцепиться-то в линуксе подцепилось, но нифига не работает. В терминале это выглядит так:

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
AT+CGDCONT=1,"IP","isp.vodafone.ie"
OK
ATDT*99#
CONNECT 7200000

и тишина. Обычно в этом месте вылезает ppp от пира, а тут нифига. Число у слова CONNECT может варьироваться, но на конечный результат это не влияет. По советам лучших модемоводов пробовал у +CGDCONT менять первый параметр на 16, а второй на hs.vodafone.ie. Та же фигня.

Что ещё интереснее, если в этом месте сделать модему hangup, то на все последующие попытки ATDT он немедленно отвечает NO CARRIER. Помогает только выдернуть модем и воткнуть его обратно, тогда он ещё один раз может сказать CONNECT, но данных от него всё равно нет.

А ещё он время от времени говорит странные слова:

^BOOT:33906024,0,0,0,72

Попытка запустить на него PPP даёт примерно следующее:

Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB1
Terminating on signal 15
Connection terminated.
Receive serial link is not 8-bit clean:
Problem: all had bit 7 set to 0
Modem hangup

Короче, LCP не запускается, а 7-битовые символы - это, видимо, как раз те самые непонятные строчки про BOOT.
Гуглить пробовал, ничего внятного не нашел. Куда копать? Может, там вообще не ppp используется?