shocker: (Default)
Вместо введения
 
Последние лет 10 на рабочем десктопе использую исключительно операционные системы семейства Linux.
Был RHL, Слака, Debian, Gentoo, пробовал SuSE, даже собирал свой дистрибутив с нуля из исходников, тягая исходники гнушного софта откуда только можно. В итоге пришел конечно же к Ubuntu - минимум головной боли, все из коробки, поставил и забыл.
Сидя на Ubuntu постепенно начал забывать корни, а за эти годы они ушли от корней настолько далеко, что руками уже и не принято ничего делать, монолитные ядра чужды идеологии современных дистрибутивов, все работает как-то само, а если не работает то не работает.
От дистрибутива к дистрибутиву постоянно меняется софт... то syslogd, то syslog-ng, то rsyslog. Unity, Gnome-shell — вроде работает, а вроде и нет. До последнего держался за Gnome Classic, но с этим все сложнее.
Последней каплей стало понимание того, что 64-х битную убунту походу никто и не тестит... банально может не работать драйвер видюхи или какая-нибудь галочка в настройках терминала. 32-х битная — все ОК.
 
И решился я на эксперимент по полной смене ориентации, точнее захотелось примкнуть к армии бздунов и лично убедиться есть ли жизнь на той стороне?
 
Для экспериментов взял FreeBSD 10.1 и NetBSD 6.1.5.
 
Начну с NetBSD... судя по истории развития BSD систем, она наиболее породистая (чего нельзя сказать о Linux который без корней и истории).
В NetBSD все стройно, красиво и минималистично. Рабочая система без иксов — 300 метров, с иксами 600, а с портами и исходниками ядра порядка 1.5 гигов.
Простой загрузчик, rc.local, ядро прям в корне и т. п. В ядре масса твиков под разные ноуты и древнюю экзотику, но конфигурить его новичку на порядок сложнее чем в той же фре.
Пакетный менеджер и pkgsrc не могут не порадовать. Но минимум софта (банально просто так не поставишь chromium и slim, не говоря о драйверах nvidia), проблемы с документацией и гемор с нарезкой дисков руками отбили всю охоту продолжать эксперименты. NetBSD безусловно достойна внимания, но она осталась на уровне FreeBSD 2001-го года.
 
Теперь FreeBSD... однозначно с 2001 года фря сильно прогрессировала, там тебе и модули ядра и драйвера для железа и безумное количество софта в портах.
Процесс установки хоть и не такой красивый как в убунте, зато минимум вопросов, очень быстро, а главное на выходе получаем те же 300-600 метров без портов и исходников.
Что радует во фре:
- Русскоязычная документация начиная с handbook (https://www.freebsd.org/doc/ru/books/handbook/), заканчивая man где описан каждый модуль ядра, как его вкомпилить в ядро и как настраивать (man 4) — это реально круто.
- Исходники ядра с базовой системой и менеджером пакетов это один тарбол из одного места от одних разработчиков. Этого достаточно что бы собрать работающую базу с ядром вместо использования  бинарных снепшотов (об этом ниже), все остальное можно получить извне так же из исходников, используя систему портов (тоже один тарбол с сайта).
- Наличие полноценного менеджера пакетов pkg который позволяет ставить бинарные сборки софта вообще не имея на машине портов. При чем порты и pkg можно миксовать, а pkg отлично справляется, например, с удалением пакетов собранных из портов как со своими собственными.
- Минималистичность конфигов — все буквально в нескольких файлах: /boot/loader.conf, /etc/rc.conf (сердце вообще всего), /etc/sysctl.conf и make.conf — не надо лазить по всей файловой системе, все в одном месте которое легко перенести на другую систему.
- Умный загрузчик который находит корень читая прямо /etc/fstab, а модули грузит прямо из файловой системы еще до загрузки ядра (пользователи Linux поймут от чего я так рад).
- Система отлично живет без модулей ядра, а ядро можно уменьшить до 6-ти метров без потери функциональности.
- От devfs никуда не уйти, но, например, procfs фре больше не нужен (все через sysctl), clang вместо gcc, запуск демонов через service, старый добрый syslogd и inetd.
- Все конфиги для человека и нигде не написано — генерится само, не трогать.
- Никто тебя не ограничивает в выборе путей и ничего не навязывает. Можно сделать просто - поставить gnome или KDE, а можно копнуть глубже и ничего за это не будет.
 
Продолжать можно долго, но фря это идеальный компромисс между функционалом Линуксов и Unix традициями с уникальной лаконичностью, ясностью и прозрачностью системы — понятно как все работает и откуда все берется, хэндбук в помощь и не нужны никакие форумы. Все включается одной строчкой в rc.conf, а сборка ядра это 3 минуты на старом Core 2 Duo. Фря идет своим путем не пытаясь угодить всем вокруг, занимаются развитием одни люди которые делают и ядро и окружение, от версии к версии не меняют все и везде, а нововведения строго дозированы — всего в меру и по необходимости.
Как следствие - не надо каждый день ловить обновление ядра, как это любят в Убунте (ее и это не спасает).
 
Из-за этого от фри складывается очень положительное впечатление — это действительно самодостаточная, полноценная операционная система с идеологией и корнями, а не гнушный зоопарк, подрывающий веру в Open source.
 
Теперь попытаюсь расписать как раскатать FreeBSD 10.1 с нуля  и без инсталлятора.
Это полезно знать что бы понимать как оно работает т. к. в итоге имеем массу рецептов на разные случаи жизни.
На изучение и эксперименты ушло порядка недели, до этого никакого опыта с BSD, только Linux.
 
Подготовка носителя
 
Основа любой ОС это носитель на котором она располагается и загрузчик который вдыхает жизнь в компьютер при каждом включении питания.
 
Соответственно сначала необходимо узнать как подготовить диск для новой системы и установить загрузчик.
Бздя использует свою систему разделов, отличную от Linux и Windows и разделов этих может быть много. Она умеет использовать диск в монопольном режиме, но тогда диск будет полностью испорчен для других систем т. к. там не будет ни одной BIOS партиции (которых 4 штуки). Поэтому обычно FreeBSD партиции помещают в одну специально созданную BIOS партицию с типом 165 aka 0xa5 (FreeBSD/NetBSD/386BSD). BIOS партиции в терминах FreeBSD — слайс (что б не было путаницы).
Это накладывает отпечаток и на принцип именования файлов устройств, например: /dev/ada0s1a - это физическое устройство ada0, слайс 1 (т. е. Первая BIOS партиция), раздел 'a' (т. е. первая FreeBSD партиция).
 
Инструментарий для работы с разделами в FreeBSD тоже свой. Например, fdisk, который работает с BIOS партициями совсем другой и не такой простой в освоении как в DOS и Linux. Он умеет бить диск и устанавливать стандартный MBR в нулевой сектор, который сможет загрузить не только FreeBSD, но и другие ОС.
Если захочется установить MBR родной для FreeBSD, то для этого есть команда boot0cfg, но это не лучшая идея.
Для работы с FreeBSD разделами (монопольно или внутри BIOS слайса) используется bsdlabel.
 
Теперь к практике...
 
Данный этап предполагает наличие работающей FreeBSD на машине. Если ее нет или нет желания возиться самому смело пропускаем этот этап и ставим систему инсталлятором из ISO образа с сайта freebsd.org.
 
Для примера я буду использовать memory disk но в реале вместо md0 будет, например, ada0.
 
Подготовка md0 на 4 гига (этот шаг только для демонстрации и не требуется):
dd if=/dev/zero of=disk.img bs=1M count=4000
mdconfig -f disk.img
 
После этого появится /dev/md0 который для системы является физическим диском, но реально находится в файле disk.img.
 
Создаем слайс для FreeBSD на весь диск (подробности в мануале: https://www.freebsd.org/doc/ru/books/handbook/boot-blocks.html):
fdisk -I md0
 
Записываем на диск стандартный MBR (для установки родного MBR, как я уже писал, можно использовать boot0cfg):
fdisk -B md0
 
Создаем на только что созданном первом и единственном слайсе дефолтную разметку FreeBSD:
bsdlabel -w md0s1
 
Устанавливаем в первый слайс загрузчик FreeBSD (т. к. слайс активный MBR с легкостью найдет его и передаст управление загрузчику FreeBSD):
bsdlabel -B md0s1
 
Теперь разбиваем слайс в интерактивном режиме на один или несколько разделов FreeBSD:
bsdlabel -e md0s1
 
Запустится текстовый редактор (скорее всего VI). Размер указывается в секторах по 512 байт,
соответственно прежде чем менять цифры желаемую длину делим на 512 и получаем количество секторов для bsdlabel.
Тип раздела для корня должен иметь тип 4.2BSD, для свопа: swap.
Вместо длины и/или смещения можно использовать '*' - значит на всю длину после последнего раздела (bsdlabel сам вычислит нужные значения).
 
Вот пример файла:
# /dev/md0s1:
8 partitions:
#          size     offset    fstype       [fsize bsize bps/cpg]
  a:    7177006         16    4.2BSD        0     0
  b:    *                         *      swap
  c:    8177022          0      unused        0     0     # "raw" part, don't edit
 
После сохранения и выхода из редактора bsdlabel сделает все что мы заказывали. Теперь форматируем и монтируем корень (вместо mkfs используется newfs):
newfs md0s1a
mount /dev/md0s1a /mnt/
 
Настало время раскатать базовую систему, ядро и порты с исходниками. Взять необходимое можно из дистрибутива на диске (ISO образа) или скачать с сайта.
 
Необходимые файлы (бинаные снепшоты) для 10.1 под amd64 находятся тут:
ftp.freebsd.org/pub/FreeBSD/snapshots/amd64/10.1-STABLE/
 
На диске с дистрибутивом искать тут:
/usr/freebsd-dist/
 
Так же можно скомпилировать всю базовую систему с ядром прямо из исходных текстов (src.txz).
Для справки делается это так - в /usr/src/ делаем:
make buildkernel
make buildworld
make installworld DESTDIR=/mnt/
make installkernel DESTDIR=/mnt/
 
Предположим что решили использовать дистрибутив, для этого монтируем диск в /mnt_dist/ и раскатываем базовую систему:
tar -C /mnt/ -zxf /mnt_dist/usr/freebsd-dist/base.txz
 
Распаковываем стандартное ядро в /boot/kernel либо копируем наше с модулями или без из существующей системы:
tar -C /mnt/ -zxf /mnt_dist/usr/freebsd-dist/kernel.txz
либо:
cp -r /boot/kernel/* /mnt/boot/kernel/
 
По желанию распаковываем исходники системы для сборки ядра:
tar -C /mnt/ -zxf /mnt_dist/usr/freebsd-dist/src.txz
 
Порты можно взять из дистрибутива:
tar -C /mnt/ -zxf /mnt_dist/usr/freebsd-dist/ports.txz
либо скачать актуальный снепшот с ftp.freebsd.org (например, http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz).
 
Перед chroot монтируем devfs в новую систему (procfs хоть и есть но больше не требуется):
mount -t devfs devfs /mnt/dev/
 
Теперь можно делать chroot в новую систему для начальной настройки:
chroot /mnt /bin/sh
 
Внутри ставим утилиты первой необходимости (нужна сеть, поэтому если есть прокси, то придется установить переменные окружения HTTP_PROXY и HTTPS_PROXY):
pkg install bash mc vim wget sudo (тут все по желанию).
 
Устанавливаем пароль суперпользователя и по желанию меняем шелл:
passwd root
chsh -s /usr/local/bin/bash root
 
Устанавливаем часовой пояс:
tzsetup
 
Создаем /etc/fstab для монтирования корня и подкачки следующего содержания:
/dev/md0s1a    /                    ufs     rw,noatime      1       1
/dev/md0s1b    none            swap    sw                 0       0
# это для Linux
#linproc            /compat/linux/proc linprocfs rw    0       0
#/dev/ada0s2  /u01               ext2fs  ro                    1       2
 
Создаем /etc/host.conf следующего содержания:
hosts
dns
 
На случай последующей сборки монолитного ядра можно сразу создать /etc/make.conf с дефолтными настройками:
KERNCONF=MYKERNEL
NO_MODULES=TRUE
 
Создаем /etc/rc.conf с:
hostname="mynewhost"            # имя хоста
keymap="ru.win"
ifconfig_em0="DHCP"                # настройка сетевого интерфейса, где em0 его имя (ищем подходящий командой ifconfig)
sshd_enable="YES"                   # включаем sshd
dumpdev="AUTO"
hald_enable="YES"                    # нужно для xorg
dbus_enable="YES"                   # нужно для xorg
#linux_enable="YES"                  # для совместимости с Linux
slim_enable="YES"                    # для запуска менеджера дисплея slim
#wlans_urtwn0="wlan0"            # пример для WiFi с USB донглом
#ifconfig_wlan0="WPA DHCP"      # пример для WiFi, потребуется создать 
                                                        # /etc/wpa_supplicant.conf командой wpa_passphrase
sendmail_enable="NO"             # отключаем sendmail
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
cron_enable="NO"                      # отключаем cron
 
Создаем /etc/resolv.conf с:
search mydomain.com              # имя нашего домена
nameserver 192.168.1.1           # адрес DNS сервера
 
В /etc/sysctl.conf добавляем:
kern.ipc.shm_allow_removed=1    # для chrome
#compat.linux.osrelease=2.6.18    # если будут проблемы с эмуляцией Linux
 
В /boot/loader.conf по желанию добавляем:
nvidia_load="YES"               # загрузка драйвера nvidia который установим позже
kern.vty=vt                              # переключаем консоль на VT драйвер с поддержкой UTF-8 и графики
                                                # (должна быть поддержка в ядре)
#ext2fs_load="YES"            # для Linux и если ядро не монолит
#linux_load="YES"              # для Linux и если ядро не монолит
 
В /root/.profile можно указать адрес прокси и локаль:
export HTTP_PROXY=http://login:password@192.168.1.1:8080
export HTTPS_PROXY=http://login:password@192.168.1.1:8080
export LANG=ru_RU.UTF-8
 
Добавляем не root пользователей командой:
adduser
 
По желанию меняем им шелл на bash:
chsh -s /usr/local/bin/bash ИМЯ_ПОЛЬЗОВАТЕЛЯ
 
Что бы работал su добавляем нашего не root пользователя в группу wheel (руками правим /etc/group или прям при добавлении приглашаем его в группу).
 
Если ставим sudo, то в /usr/local/etc/sudoers (лучше командой visudo) раскомментируем строку:
%wheel ALL=(ALL) ALL
 
В домашней директории пользователей в .profile тоже можно указать локаль и прокси (см. выше).
 
Если нужен tsocks ставим его из портов или через pkg, а в /usr/local/etc/tsocks.conf указываем адрес socks прокси:
server = 192.168.1.1
server_type = 5
server_port = 1080
 
Все, если я нигде не ошибся базовая система готова, делаем:
umount /mnt/dev
umount /mnt/
и можно попробовать перегрузиться, выбрав для загрузки наш новый диск.
 
При желании перед этим можно пересобрать ядро. Если кратко:
1) В /usr/src/sys/amd64/conf создаем копию GENERIC и называем ее MYKERNEL (имя платформы в пути не обязательно amd64).
2) Правим MYKERNEL как нам хочется: добавляем то, что упоминается в dmesg и kldstat и выключаем все что не надо, мое ядро в итоге 5.9 мегов.
3) Поднимаемся в /usr/src/ и делаем 'make buildkernel KERNCONF= MYKERNEL'
4) Если все ОК то делаем 'make installkernel' - в /boot/kernel новое ядро, в /boot/kernel.old старое.
 
Т.к. в /etc/make.conf мы указали дефолтное имя ядра, в make его указывать не обязательно, а модулей на выходе не будет за счет NO_MODULES.
 
Если все верно, то после логина под root мы попадаем в новую чистую систему и имеем консоль на русском языке, рабочую сеть и vim с mc.
 
Настраиваем иксы
 
Устанавливаем xorg, hal, dbus и slim, а из портов /usr/ports/x11-fonts/webfonts и для nvidia /usr/ports/x11/nvidia-driver.
При сборке драйверов nvidia отключаем совместимость с Linux.
 
В /etc/rc.conf мы уже включили  hald и dbus ранее, поэтому теперь только запускаем руками:
service hald start
service dbus start
 
Загружаем руками драйвер nvidia (после перезагрузки подцепится сам благодаря /boot/loader.conf):
kldload nvidia
 
Запускаем Xorg с ключом -configure и получаем в /root/xorg.conf.new дефолтный конфиг иксов.
Переносим его в /etc/X11/xorg.conf и правим.
 
В секции "Module" нужны 'Load "glx"' и 'Load "freetype"'.
 
В "Files" если нет добавляем FontPath для:
/usr/local/lib/X11/fonts/TTF/
/usr/local/lib/X11/fonts/Type1/
/usr/local/lib/X11/fonts/cyrillic/
/usr/local/lib/X11/fonts/dejavu/
/usr/local/lib/X11/fonts/LinLibertineG/
/usr/local/lib/X11/fonts/Liberation/
/usr/local/lib/X11/fonts/GentiumBasic/
/usr/local/lib/X11/fonts/Carlito/
/usr/local/lib/X11/fonts/Caladea/
/usr/local/lib/X11/fonts/bitstream-vera/
/usr/local/lib/X11/fonts/webfonts/
 
Для nvidia в "Device" прописываем:
Driver "nvidia"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
 
И не забываем добавить:
Section "Extensions"
  Option "Composite" "Enable"
  Option "RENDER" "Enable"
EndSection
 
Конфиг slim в /usr/local/etc/slim.conf
Можно поискать для него темы в Инете и положить распакованные директории с ними в:
/usr/local/share/slim/themes/
 
После этого в slim.conf в current_theme указываем имя темы. Больше ничего трогать не требуется.
 
Иксы готовы.
 
Переходим к оконному менеджеру и оформлению
 
Рассмотрим вариант с openbox, но не менее интересны awesome и evilwm.
 
Ставим (pkg install или /usr/ports/): openbox, openbox-themes, obconf, obmenu, xrandr, xbindkeys, feh, xcompmgr, trayer и alltray.
 
По желанию: pcmanfm, lxpanel, gnome-ssh-askpass2, rox, xscreensaver или xlockmore, gkrellm, transset, tint2 и conky.
 
Скорее всего понадобится: thunderbird, pidgin, chromium, putty и libreoffice с пакетом локализации ru-libreoffice и ru-hunspell, vlc, gqview, mupdf или xpdf.
 
В домашней директории не root пользователя создаем .xinitrc:
 
Там можно указать адрес прокси как в .profile и прописываем локаль:
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
 
Если хотим что б пароль от ssh ключей спрашивался не в консоли:
export SSH_ASKPASS=/usr/local/bin/gnome-ssh-askpass2
 
Опять же для ssh лучше запустить это:
killall ssh-agent
eval `ssh-agent`
 
Если мониторов несколько, то можно указать кто где и установить основной (в примере основной DVI-I-1 и он слева):
xrandr --output DVI-I-1 --primary --left-of VGA-0
 
Выключаем бип в терминале если напрягает писк:
xset b 0
 
Раскладка клавиатуры и форма указателя мыши:
setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle,grp_led:scroll"
xsetroot -cursor_name left_ptr
 
Устанавливаем фон рабочего стола:
feh --bg-center $HOME/Pictures/background.png
 
Либо стартуем pcmanfm для отображения иконок на столе, там же настраивается фон. К сожалению пропадает меню openbox по правой кнопке (для evilwm не страшно):
pcmanfm --desktop &
 
Если нужна панелька:
lxpanel &
 
Горячие клавиши из .xbindkeysrc:
xbindkeys &
 
Плавное затухание окошек и тени (теней у меня не появилось):
xcompmgr -cfCF -D 3 &
 
Лоток с уведомлениями в правом нижнем углу:
trayer --expand true --edge bottom --align right --widthtype request --transparent true --tint black --SetDockType true --alpha 256 &
 
Хранитель экрана если не хотим обычный xlock (xlock'а достаточно и он быстрее):
xscreensaver -no-splash &
 
Монитор при желании (для evilwm делаем позднее):
gkrellm &
 
Загрузка ssh ключей при старте:
ssh-add < /dev/null &
 
Важные приложения в трее:
alltray thunderbird &
pidgin &
 
И в финале:
exec openbox
либо:
exec awesome
 
Если evilwm то немного не так:
evilwm -snap 10 -bw 2 -fg red -app gkrellm/Gkrellm -dock -app Pidgin/Pidgin -dock -app Mail/Thunderbird -dock &
exec gkrellm (либо exec xterm)
 
В .Xdefaults делаем красивым xterm:
XTerm*foreground: green
XTerm*cursorColor: green
XTerm*background: black
XTerm*SaveLines: 1000
XTerm*faceName: xft:Terminus:pixelsize=20:antialias=true
XTerm*utf8: 1
 
В .xbindkeysrc вешаем горячие клавиши на блокировку экрана и запуск терминала:
"xlock"
  Control+Alt + Delete
 
"xlock"
  Control+Alt + l
 
"xterm"
  Control+Alt + Return
 
"putty"
  Control+Alt + p
 
 
Вместо xlock можно указать "xscreensaver-command -lock", но тогда в .xinitrc не забываем про xscreensaver.
 
Меню openbox меняем в .config/openbox/menu.xml (за основу можно взять дефолтное из /usr/local/etc/xdg/openbox/). Редактировать можно руками или командой obmenu.
 
Рестрат, логин и мы в иксах с красотой.
 
Последний штрих - в obconf можно выбрать оформление окон и поведение openbox.
У меня тема: spiffe.
 
Ну вот и все, дольше писал :)
 
Фрю моно взять тут:
https://www.freebsd.org/where.html
 
Мануал на русском тут:
https://www.freebsd.org/doc/ru/books/handbook/
 
Не забываем про man.

Хорошие ссылки по теме:
www.oldnix.org/openbox-tint-archlinux/
Ниже примеры моих конфигов.
 
Примеры конфигов

 /etc/X11/xorg.conf
===
 
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
#       Screen      2  "Screen2" RightOf "Screen1"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option          "AllowEmptyInput" "off"
EndSection
 
Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF/"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
        FontPath     "/usr/local/lib/X11/fonts/Droid/"
        FontPath     "/usr/local/lib/X11/fonts/cyrillic/"
        FontPath     "/usr/local/lib/X11/fonts/dejavu/"
        FontPath     "/usr/local/lib/X11/fonts/encodings/"
        FontPath     "/usr/local/lib/X11/fonts/util/"
        FontPath     "/usr/local/lib/X11/fonts/LinLibertineG/"
        FontPath     "/usr/local/lib/X11/fonts/Liberation/"
        FontPath     "/usr/local/lib/X11/fonts/GentiumBasic/"
        FontPath     "/usr/local/lib/X11/fonts/Carlito/"
        FontPath     "/usr/local/lib/X11/fonts/Caladea/"
        FontPath     "/usr/local/lib/X11/fonts/bitstream-vera/"
        FontPath     "/usr/local/lib/X11/fonts/webfonts/"
EndSection
 
Section "Module"
        Load  "glx"
        Load  "freetype"
EndSection
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection
 
Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection
 
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection
 
Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection
 
Section "Monitor"
        Identifier   "Monitor2"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection
 
Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
        Option      "RenderAccel" "true"
        Option      "AllowGLXWithComposite" "true"
EndSection
 
Section "Device"
        Identifier  "Card1"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
        Option      "RenderAccel" "true"
        Option      "AllowGLXWithComposite" "true"
EndSection
 
Section "Device"
        Identifier  "Card2"
        Driver      "vesa"
        BusID       "PCI:1:0:0"
EndSection
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection
 
Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection
Section "Screen"
        Identifier "Screen2"
        Device     "Card2"
        Monitor    "Monitor2"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection
 
Section "Extensions"
        Option "Composite" "Enable"
        Option "RENDER" "Enable"
EndSection
 
$HOME/.xinitrc
===
#!/usr/local/bin/bash
 
#session=$1
session="openbox"
 
export HTTP_PROXY=http://192.168.1.1:8080
export HTTPS_PROXY=http://192.168.1.1:8080
 
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
 
export SSH_ASKPASS=/usr/local/bin/gnome-ssh-askpass2
 
killall ssh-agent
 
eval `ssh-agent`
 
xrandr --output DVI-I-1 --primary --left-of VGA-0
 
xset b 0
 
setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle,grp_led:scroll"
 
xsetroot -cursor_name left_ptr
 
feh --bg-center $HOME/Pictures/background.png
 
#pcmanfm --desktop &
 
xbindkeys &
 
xcompmgr -cfCF -D 3 &
 
trayer --expand true --edge bottom --align right --widthtype request --transparent true --tint black --SetDockType true --alpha 256 &
 
#xscreensaver -no-splash &
 
ssh-add < /dev/null &
 
if [ "$session" != "evilwm" ]
    then gkrellm &
fi
 
alltray thunderbird &
pidgin &
 
case "$session" in
 
    openbox)
        exec openbox
        ;;
 
    awesome)
        exec awesome
        ;;
 
    evilwm)
        evilwm -snap 10 -bw 2 -fg red -app gkrellm/Gkrellm -dock -app Pidgin/Pidgin -dock -app Mail/Thunderbird -dock &
        exec gkrellm
        ;;
 
    *)
        exec openbox
        ;;
esac
 
MYKERNEL
===
cpu             HAMMER
ident           MYKERNEL
options         SCHED_ULE               # ULE scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
options         TCP_OFFLOAD             # TCP offload
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         SMP                     # Symmetric MultiProcessor Kernel
device          cpufreq
device          acpi
options         ACPI_DMAR
device          pci
device          ahci                    # AHCI-compatible SATA controllers
device          scbus                   # SCSI bus (required for ATA/SCSI)
device          da                      # Direct Access (disks)
device          cd                      # CD
device          pass                    # Passthrough device (direct ATA/SCSI access)
device          vt
device          vt_vga
device          em                      # Intel PRO/1000 Gigabit Ethernet Family
device          re                      # RealTek 8139C+/8169/8169S/8110S
device          loop                    # Network loopback
device          random                  # Entropy device
device          ether                   # Ethernet support
device          md                      # Memory "disks"
device          bpf                     # Berkeley packet filter
device          uhci                    # UHCI PCI->USB interface
device          ehci                    # EHCI PCI->USB interface (USB 2.0)
device          usb                     # USB Bus (required)
device          uhid                    # USB generic HID support
device          ukbd                    # Keyboard
device          ums                     # Mouse
device          umass                   # Disks/Mass storage - Requires scbus and da
device          sound                   # Generic sound driver (required)
device          snd_hda                 # Intel High Definition Audio
 

shocker: (Default)
Эта программа является простым и переносимым UPnP медиа-сервером для осуществления IPTV трансляций в рамках домашней сети на DLNA совместимых устройствах без поддержки мультикастинга или плейлистов со списком Интернет-адресов источников контента.

Все что нужно — роутер или компьютер под управлением OS Linux и DLNA совместимый плеер/телевизор.


Полное русскоязычное описание тут: http://xupnpd.org/t/index_ru.html
shocker: (Default)
PS3Muxer простая кросплатформенная open source программа для быстрого преобразования (ремукса) MKV файлов (Matroska), содержащих HD видео сжатое кодеком H.264/AVC в поддерживаемый Sony PlayStation 3 и многими телевизорами формат M2TS без потери качества из-за транскодирования (пережатия). Данный процесс по времени соответствует процедуре копирования файла, например, на USB-носитель или NAS и никак не модифицирует видео — только смена контейнера.

Существуют версии для Microsoft Windows, Mac OS X и Linux.

Полное русскоязычное описание тут: http://ps3muxer.org/index_ru.html

Очень надеюсь на скорое появление возможности просмотра видео на PlayStation 4.
shocker: (Default)
Понадобится флешка размером не менее 4Gb, дистрибутив Windows 7 и машина с виндой, разрядность которой совпадает с разрядностью подготавливаемого дистрибутива (если IA-64, то IA-64; если IA-32, то IA-32), иначе не отработает последний шаг.

1) С правами Администратора запускаем консоль ('cmd');
2) Запускаем diskpart;
3) Делаем 'list disk' и ищем в списке свою флешку, запоминаем номер;
4) Делаем 'select dics N', где N - номер флешки (например, 'select dics 1');
5) Делаем 'clean' для удаления таблицы разделов;
6) Создаем новый раздел: 'create partition primary';
7) Выбираем первую партицию 'select partition 1';
8) Делаем ее активной: 'active';
9) Форматируем: 'format fs=NTFS';
10) 'assign' и 'exit';
11) Теперь копируем содержимое установочного диска Windows 7 на только что подготовленную флешку (из корня в корень);
12) Устанавливаем загрузчик, для этого в этой же консоли с правами админа (это важно) переходим в директорию 'boot' на флешке ('D: <enter>', 'cd boot <enter>', где D - буква нашей флешки) и делаем 'bootsect /nt60 D:', где D - буква флешки.

Теперь с этой флешки можно грузиться как с DVD если BIOS это умеет.

upd: Для Линукса все проще. Грузим какую-нить Убунту, качаем iso образ дистрибутива Linux, раскатываем его на флешку командой dd под рутом: 'dd if=ubuntu.iso of=/dev/sdc bs=1M', где ubuntu.iso - образ того, что хотим раскатать, /dev/sdc - файл устройства флешки (и никаких sdc1, sdc2 ... именно само устройство sdc). Узнать как видится флешка можно командой dmesg непосредственно после того как ее воткнули (смотрим последние строчки и ищем что-то похожее на sdc).
shocker: (Default)
Вот бесплатный плагин который работает гораздо качественнее того, что предлагает вегас: www.yohng.com/software/yadifvegas.html

Xоть сборка под 10-й, но с Sony Vegas Pro 11 работает - главное не применять фильтр как Track FX и Event FX, иначе 11 вегас рушится.
10-й не падает, но эффект виден только на превью, а в файле после рендера гребенка.

Фильтр надо применять на исходные медиафайлы в библиотеке проекта: правая кнопка мыши на файле, выбираем Media FX,добавляем Yadif Deinterlace и все.
Главное предварительно в свойствах проекта и медиафайлов выбрать Progressive для отключения встроенных в вегас средствдеинтерлейсинга!

Работает достаточно быстро.

P/S
11-й Вегас однозначно лучше 10-го, и в h.264 умеет жать средствами видеокарт NVidia.
shocker: (Default)
Согласно рекламе производителя AverCapture M является устройством видеозахвата с интерфейсом USB 2.0 специально для MAC.
Несмотря на это на коробке рядом с логотипом MAC гордо красуется Compatible with Windows 7.

На практике это означает что для этой малютки существуют WDM драйвера под Windows 7 (x32/x64), Windows Vista (x32/x64) и даже Windows XP.
Никакого родного софта для захвата видео ни на диске ни на сайте нет! Только для MACа.

В связи с этим начались долгие поиски среди современных видеомонтажек умеющих захватывать видео с аналоговых источников.

Adobe Premiere Elements умеет, видит AverCapture M и тянет с него видео со звуком, но у меня возникли проблемы с PAL - само не детектит, а где выбрать ТВ-стандарт не нашел.

Sony Vegas Pro 10 устройство видит, но отказывается тянуть с него видео, только звук.

Grass Valley EDIUS 5.5 вообще не умеет работать с таким борохлом.

Pinnacle Studio (не самый последний) сам захватывать не умеет, но с ним идет тулза 2001 года под названием amcap, которая умеет захватывать видео с WDM устройств.
Качнуть отдельно можно тут, прямая ссылка: www.pinnaclesys.com/SupportFiles/amcap.exe
Тулза позволяет выбрать ТВ-стандарт, благополучно тянет и видео и звук, но не умет жать. В итоге не справляется жесткий диск, 30 секунд видео тянет на 800 метров.

VirtualDub 1.9.11 благополучно захватывает с AverCapture M, но по умолчанию тоже не жмет.
Поставил xvid vfw codec (подробности), VirtualDub его увидел и даже стал жать налету, но то, что получилось не лучший вариант для дальнейшей обработки монтажками, да и картинка рассыпается в avidemux и Sony Vegas. Нужен другой кодек для промежуточного сжатия и желательно без межкадрового сжатия, идеальный вариант mjpeg или dv. Поставил ffdshow но оригинальный VirtualDub в упор его не видит для сжатия, зато видит замороженный форк 2007-го года - VirtualDub-MPEG2.

Долго шаманил и вот рецепт:
- Ставим драйвера AverCapture M отсюда;
- Ставим ffdshow отсюда;
- Опционально xvid, divx и Panaconic DV;
- Ставим VirtualDub-MPEG2.
- Запускаем VirtualDub-MPEG2, переходим в режим захвата, выбираем устройство AverCapture M (должны увидеть превью), выбираем выходной AVI файл, выбираем видео-кодек ffdshow, а в его настройках выставляем MJPEG encoder и максимальное качество, звук можно оставить в PCM. Жмем Capture и вперед. Вместо MJPEG можно выбрать DV (не работает с нестандартными разрешениями), либо задействовать не ffdshow, а Panasonic DV. Кстати можно сразу и кропнуть, но поменяется разрешение и в DV опять же не сжать.

Полученный AVI читается и avidemux и Sony Vegas и никаких проблем с обработкой. Режем, устраняем шумы и черезстрочность, жмем результат во что хочется... хоть в AVC/AAC и запихиваем в mp4 (x264 в avidemux). А можно в WMV (VC-1) из Вегаса.
И то, и то на текущий момент является стандартом для распространения роликов через Internet, поэтому отлично читается на всем подряд, в т.ч. и на PS3.
Можно остановиться на xvid, mp3lame и AVI (avidemux), но это уже отмирает, хоть и смотреться скорее всего будет много где (в т.ч. на PS3).
Остальное экзотика, лучше не связываться (особенно с MKV).

shocker: (Default)
Proxy Switchy! - аналог foxyproxy для Google Chrome (переключение профилей прокси на ходу или автоматический выбор по правилам).

Удобно, работает.
shocker: (Default)
Она не работает :)

Что бы заработало:

1. at the GRUB Menu put your cursor on the line that will load your ubuntu OS (not the recovery mode)
2. then hit "e" to edit the line
3. look for the word quiet splash and put your cursor after the word splash
4. then type "noapic acpi=off" (without the quotes) after the word splash
5. then pres "CTRL X"

Источник: s10lenovo.com/viewtopic.php

P/S
При этом отваливается статус батареи
shocker: (Default)
Сразу скажу - IPTV на Sony PlayStation 3 реально, при этом без компьютера!
Достаточно иметь подходящий роутер и прямые руки.
Первым шагом делаем это: clark15b.livejournal.com/110936.html
Вторым шагом качаем мой pshare и запускаем на том же роутере рядом с udpxy.

Кому интересны подробности читаем дальше...

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



(просмотр IPTV на Sony PlayStation 3 без компьютера и транскодирования)
shocker: (Default)
На прошлой неделе решился и перешел с XP на Win7 (IA-32).

Все очень понравилось, наконец ребята смогли родить чудо и удивить :)

Уже больше года не играл на PC но не смог удержаться что бы не заценить DX10.

Первое что пришло в голову - CrySis (одна из последних игр которые я когда-то покупал для PC но не стал играть).

Железо 2-3-х летней давности:
- Intel Core 2 Duo E6750 2.66;
- NVidia GF8800 GTS 512 с разгоном (по процу перегнал 9800, но по памяти не дотянул);
- 2 гига 800-й DDR-2;
- Creative X-Fi Titanium на PCI-E 1x (не существенно).

Раньше запускал CrySis на Windows XP SP3 DX9 с разгоном проца шиной до 3.2 ГГц - разрешение 1440x900, все на максимум, AA выключен. В принципе играть было комфортно: первая сцена на пляже порядка 50fps, дальше порядка 35 (местами до 20).

Вчера запустил на том же железе, но без разгона проца (2.66 ГГц). Видюха как и раньше с разгоном.
Теперь Windows 7 DX10 - разрешение 1440x900, все на максимум, AA выключен.

Каково было мое удивление когда без разгона по шине и с DX10 игруха выдавала абсолютно комфортную частоту кадров.
FRAPS-ом не мерил, но на пляже имел явно не меньше 50 кадров. Там где лежит факел раньше было сильно проседание, а теперь нет.

Может дело в волшебных патчах, но Windws 7 однозначно работает не хуже XP.

Блин, даже DX10 в CrySis на слабеньком, по современным меркам, железе работает удовлетворительно.

А вообще я особого волшебства в CrySis с DX10 на максимальных настройках не увидел.
Игра безусловно выглядит безупречно - водичка, пейзажи, тени, свет, взрывы.
Правда в чем отличие от DX9 версии я не понял.

В принципе BFBC2, Just Cause 2 и Uncharted 2 выглядят по большому счету не хуже.

Очень жду CrySis 2 на  PS3, может хоть в этот раз получится ее пройти.
shocker: (Default)
Поставил Windows 7 на свой Dell XPS M1330.

Все заработало сходу кроме кардридера.
На сайте Dell для Win7 ничего нет.

В итоге наткнулся на это (R234107.exe) - идеально подходит.
Сливаем, запускаем, оно распаковывается на диск. После этого руками в диспетчере устройств говорим для каждого из неизвестных устройств обновить драйвера. Указываем путь туда куда надо и выбираем '83x'.

SDHC работает. 


И не стоит забывать поставить свежие драйвера видюхи с сайта NVidia и драва тачпада Synaptics с сайта Dell.
shocker: (Default)
Ну вот и случилось обещанное - PlayStation 3 теперь поддерживает стандарт Blu-Ray 3D. 

Сначала HDMI 1.4 со стереоскопическими играми (их пока не так много), потом PlayStation@Move (продажи в России уже в ближайшие дни, демок же в PSN под это дело уже полно), а теперь Blu-Ray 3D - Sony решает ;)

Правда я не собираюсь покупать 3D-Ready телек в ближайшие годы. А вот Move возьму.

После прошивки в меню появился какой-то Bitmapping для музыки (обработка звука), больше ничего не заметил.
shocker: (Default)
Купил вчера данный девайс, впечатления очень приятные. Это именно то, что я так давно хотел получить.
Прошивка по умолчанию 1.01.18, обновляться не захотел - записал что обновлений нет (хотя на сайте значится 1.02.04).
Тут прочитал что автоматическое обновление не работает, а где взять образ для ручной заливки х.з.
Есть 1.02.05, но что-то стремно лить хрен знает что :)
Оставил 1.01.18.
На борту стоит линукс под ARM, при чем не так коцанный как в DD-WRT.

Шум
О чудо, его не слышно!
Похоже вентиляторов там нет вообще, а хард довольно тихий.
С метрового расстояния в покое его не слышно, приходится прислушиваться и тогда можно различить еле заметный звук от вращения блинов. Под нагрузкой слышно похрустывание, но это совсем не беда.
Из приятных бонусов хочется отметить возможность совсем отключить LED подсветку. В этом случае он вообще не выдает своего присутствия.
А самое главное - он умеет отключать диск при отсутствии активности!!!
Этого я так и не смог добиться от моего D-Link DIR-320 под DD-WRT с USB хардом.
А тут работает из коробки - супер.

Скорострельность по сети
По сети льет не очень быстро (Samba), на 100 гигов говорит что ему надо порядка 3.5 часов.
Можно поднять FTP, тогда возможно будет побыстрее, но возможны проблемы с кириллицей.
Из коробки знает SMB (Samba), FTP, NFS и AFS (кстати на диске у него XFS).

USB Host
У него есть полноценный USB Host (не пытайтесь воткнуть накопитель в комп через USB - оно не для этого).
При подключении внешнего харда он автоматом монтируется и шарится. Есть возможность безопасного отключения через Web-интерфейс.
Для заливки контента с внешних хардов лучше воспользоваться прямым подключением их к девайсу, а дальше SSH->"cp ..." и никаких компов и сетевого взаимодействия.
Так работает быстрее всего, скорость порядка 15-20 мбайт/сек.

Кириллица в названиях файлов
Работает из коробки, главное при использовании PuTTY выставить UTF-8.

Web-интерфейс
Просто идем на роутер броузером и логинимся admin/admin.
Из приятностей - через Web-интерфейс теперь можно отключить тормозной MioNet (рекомендуется) и включить SSH без всяких хаков!
Подробности тут.

SSH
Работает из коробки (после включения через Web-интерфейс). Заходим под root/welc0me (в середине ноль), потом passwd и вперед!

OptWare
Ставится совсем без хлопот. Идем по SSH а дальше по мануалу:
wget http://mybookworld.wikidot.com/local--files/optware/setup-whitelight.sh
chmod +x setup-whitelight.sh
./setup-whitelight.sh
echo "export PATH=$PATH:/opt/bin" >> /root/.bashrc
echo "export PATH=$PATH:/opt/bin" >> /etc/profile
export PATH=$PATH:/opt/bin
ipkg update

Дальше "ipkg list" и "ipkg install ..."

Медиасервер
DLNA (UPnP) работает из коробки - в NASе стоит Twonky. Оно следит за изменениями файловой системы и сходу подхватывает и начинает раздавать новый контент залитый в NAS (поддиректории в Public). Так не делает даже Tvercity!
Кроме этого оно дружит с продуктами Apple (в плане медиа и в плане сетевой файловой системы), может раздавать IPod`ам музон.
Теперь более подробно о DLNA.
Тестил с Sony PlayStation 3 (уверен с медиакомбайнами проблем вообще не будет).
На консоли удалось посмотреть AVI (XVid+MP3), WMV (VC-1, SD и HD), M2TS (H264/AVC+AC3, HD), MP4 (H264/AVC+AAC).
Работает и перемотка (пробовал до 10x) и анимированная нарезка с превьюшками и переход в произвольные места и с SD и с HD контентом в различных контейнерах.
В общем никаких неудобств, все работает как надо.

При желании можно поставить и Ushare и MediaTomb и торрент качалку и все что угодно (места на диске полно).
Полезная инфа на тему:
mybookworld.wikidot.com/hacks-and-howto
www.panvasoft.com/rus/blog/520/

Выводы
На удивление родная прошивка работает как надо и делает все что должна. Все продуманно и удобно.
В принципе SSH с OptWare и не нужен, все что нужно мне есть и так.
Что самое важно - работает тихо и умеет отключать хард при отсутствии активности, при желании можно совсем отключить лампочки.
А тут можно слить исходники прошивки (GPL).
При этом альтернативных прошивок не обнаружил (как для продукции ASUS, D-Link и ICONBit) - видимо нет необходимости, все работает и так, а при желании можно доставить софта и все переконфигурить как хочется.
Спасибо WD за шелл.

upd: Посмотрел с него на PS3 фильм целиком в HD - полет нормально. Ничего не тормозит, не дергается и не виснет.

upd2: В прошивке 1.01.18 ошибка с ватчдогом, он поднимает MioNet каждые 20 минут несмотря на настройки (залечили в 1.02.04 которую убрали с сайта из-за проблем у пользователей).
Надо поправить /usr/mionet/monitorCVM.sh.
В самое начало файла после первой строки надо вставить:
# Start of hack to make Mionet obey startup flag
if [ ! -f "/etc/.mionet_on_startup" ]; then
exit 1
fi
# End of hack to make Mionet obey startup flag
shocker: (Default)
 После того как пробросил мультикаст через DIR-320 решил смотреть IPTV на моем iconBIT HDS4l.

Из коробки юникаст по HTTP не работает даже в 2.12 (зато в ней интерфейс красивее).

Качаем альтернативную прошивку на базе родной 2.11-ims отсюда.
Главное в общей куче не перепутать и не взять прошивку от другой железки.
Первый раз я прошил в HDS4l прошивку от HDS5l, он завелся и работал. Только после ребута не смог включиться и постоянно ресетился. Пришлось воспользоваться мануалом - откручиваем дно, втыкаем USB флешку с install.img в корне, замыкаем контакты на плате отверткой, включаем питание не размыкая контаты, ждем пару секунд и убираем отвертку. В итоге оно перепрошивается с флешки.
Я влил HDS4L_FW2.11_IMS_1.4.tar.gz - полет нормальный.

Включаем девайс и идем броузером на него по ссылке http://АДРЕС_ПЛЕЕРА:81/ (адрес можно посмотреть в настройках сети плеера).
Потом прописываем сетевое имя и рабочую группу как в компе и на закладке службы временно запускаем Samba.
Теперь ищем в сетевом окружении на компе наш плеер и закидываем в директорию PLAYLISTS наш заранее подготовленный плейлист с каналами ТВ. Нюанс - плейлист в UTF8 и в начале может быть стартовая последовательность UTF8 которую плеер не понимает и выдаем мусор в первой строке. Надо убрать мусор в начале первой строки не юникодным текстовым редактором.

Собственно все - идем в сетевые службы на плеере и выбираем Media center. Там видим наш плейлист и тыкаем в какой-нить канал.

Tvercity с PS3 пока заставить работать не удалось. Tvercity не пропускает через себя поток а просто отлает PS3 ссылку на мой роутер. PS3 без транскодирования поток не понимает.
shocker: (Default)
Мой горячо любимый провайдер Butovo.com нахаляву раздает мультикастом 135 каналов ТВ.

Раньше был роутер Zyxel P-330W, у него мультикаст работает из коробки (гаку надо поставить и все). Но сама железка очень слабая и глючная, поэтому отказался от нее в пользу D-Link DIR-320. Первым делом поставил DD-WRT и с тех пор наслаждаюсь жизнью - работает 24/7 и каши не просит.

Проблема в том, что родной igmprt нифига не работает и заставить работать IPTV так и не получилось.

Спустя несколько лет мне удалось найти рецепт:
- Качаем отсюда ipkg пакет для mipsel, например это;
- Закидываем его по scp на роутер в /var/tmp;
- Идем на роутер ssh`ом и выполняем там 'ipkg -d /var/tmp install /var/tmp/udpxy_1.0-Chipmunk-11_mipsel.ipk';
- Ищем в поддиректориях /var/tmp бинарник 'udpxy' и переносим его в /jffs/bin (JFFS должен быть, места в нем должно быть достаточно,  директорию bin создаем руками). С таким же успехом можно положить udpxy и на USB флешку, но я ей не пользуюсь;
- Создаем скрипт '/jffs/etc/config/udpxy.wanup' со следующим содержимым и даем право на исполнение (chmod +x ...):
#!/bin/sh
/jffs/bin/udpxy -a br0 -m vlan1 -p 4022 -M 30

Теперь udpxy будет стартовать сам при включении роутера, br0 - интерфейс локалки, vlan0 - интерфейс в сеть провайдера (WAN), 4022 - TCP порт для входящих HTTP соединений;
-  Идем броузером на роутер (http://192.168.1.1) и на закладке Security отключаем SPI Firewall, жмем Save;
- На закладке Setup->Advanced Routing добавляем 2 маршрута:
Dest. LAN NET - 77.94.170.0
Subnet mask - 255.255.255.0
Gateway - 0.0.0.0
Interface - WAN
и
Dest. LAN NET - 192.168.1.2
Subnet mask - 255.255.255.255
Gateway - 0.0.0.0
Interface - WAN
Жмем Save.
Первое это подсеть откуда Butovo.com ведет трансляцию, второе это адрес IGMP роутера следящего за подписками в сети Butovo.com (без него трансляция будет периодически прерываться);
- Ребутим роутер и если все сделано правильно, то у нас все готово к просмотру ТВ. Для проверки работоспособности udpxy заходим броузером на http://192.168.1.1:4022/status - должна открыться страничка со статистикой.

Теперь осталось скачать плейлист с сайта провайдера, заменить в нем все вхождения 'udp://@' на 'http://192.168.1.1:4022/udp/' (умеет Far) и открыть его с помощью VLC.

Работает? Поздравляю!!!

Полезные ссылки по теме:
forum.reutov.ru/index.php
forum.netbynet.ru/index.php
wl500g.info/showpost.php
forum.butovo.com/viewthread.php
forum.butovo.com/viewthread.php

Две последние именно про Butovo.com, там и нашел адреса подсетки источника мультикаст трафика и IGMP роутера.
В противном случае пришлось бы снифить tcpdump`ом.

Осталось проверить ТВ на моем ICONBit (должен уметь тянуть прям с роутера) и на PS3 (через TVercity - надо добавить интересующие каналы из плейлиста и PS3 должна их показать).

upd: у меня без проблем показывает даже HD даже через WiFi. 
upd2: после того как все заработало можно включить обратно SPI Firewall добавив 2 строчки в /jffs/etc/config/udpxy.wanup:
/usr/sbin/iptables -I INPUT -p udp -s 77.94.170.0/24 -j logaccept
/usr/sbin/iptables -I INPUT -p igmp -s 192.168.1.2 -j logaccept
shocker: (Default)
Наконец привезли это адское чудо из Китая.

Теперь понимаю почему такие штуки у нас не продают - они не пригодны для использования по прямому назначению.

1. Запись маршрута
Тут, похоже все ок, но проверить проблематично (см. ниже). Холодный старт минут 10, потом начинает моргать лампочкой - типа пишет.

2. Подключение через USB

Драйвера USB на прилагаемом диске не подходят - WinXP говорит что подходящих драйверов не нашлось.
Сливаем свежак с сайта производителя. На WinXP и Windows 7 эффект один - установка драйверов не удалась.
Изучаем INF файлы и обнаруживаем что  Vendor ID и Device ID устройства не соответствуют тем что указаны в INF файле. Оказывается что эти параметры в чипе USB to UART конвертера программируемые и производитель устройства может зашить туда что угодно, только Китайцы не потрудились сделать так что бы драйвера подходили к железяке.
Правим руками, вроде встает, но не работает.
Пробуем слить драва CP210x с сайта производителя микросхемы. Танцы с бубном и никакого результата.
Пробуем под Linux. Стандартный модуль cp2101 железку не находит, приходится править исходники (добавлять Vendor ID и Device ID в список поддерживаемых устройств) и компилить самому. Эффект - железку находит, присоединяет ее к ttyUSB0 и ttyUSB1, но не работает:
[749332.711310] cp2101 ttyUSB0: cp2101_set_config - Unable to send request, request=0x0 size=2 result=-32
[749332.711314] cp2101 ttyUSB0: cp2101_open - Unable to enable UART

Драва под Linux с сайта не собираются никак под ядро 2.6.28. Хоть и заявлена поддержка 2.6, но по факту исходники очень старые (от 2008 года) и не соответствуют текущему интерфейсу ядра. Править не хочется.

В итоге USB ей нужен только для зарядки.

3. Подключение через BlueTooth
Устройство находится, парится (код 0000) и отдает наружу SPP сервис. Даже N95 с этим дружит. В винде появляется один или несколько последовательных портов (один для данных, второй с ATшный как у модема).
Весь софт для NMEA работает - показывает спутники, координаты, время и т.п.
Проблема в том, что периодически BlueTooth в этой шняге зависает что приходится выключать питание и включать заново.
Данная проблема явно прослеживается при загрузке треков. И родной ezTour и MTK GPS Logger download Utility зависают на 50-70% хоть ты тресни при любой скорости последовательного порта.

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

Максимум для чего оно годится - быть тупым GPS приемником.
Вообще-то я покупал это устройство для записи GPS маршрутов когда катаюсь на велике что бы не мучить свой N95.

Ну нихера сделать не могут.... вроде и MTK чип припаяли, и CP210x для USB и BlueTooth есть. Стырили халявного софта, напечатали инструкцию, положили в коробку.
И не работает нихера. Ну полное гавно за 50$ в DealExtreme.


Вот тут много полезного софта для GPS: homepage2.nifty.com/k8/gps/
shocker: (Default)
В настройках и менюшке появилось:
- Автоматическая загрузка контента (PS3 будет сама включаться в заданное время и сливать новые прошивки, обновления для игр, видеоролики и т.п.);
- Калибровка магнитного датчика контроллера движений (Sony Move видимо);
- Вывод Deep Color через HDMI (30, 36 и 48 битный цвет вместо стандартных 24-х бит где на каждую составляющую RGB отводилось по 8 бит);
- Редактор видеоматериалов;
- Рядом с именем друга PSN появляется его уровень.
shocker: (Default)
Пришло письмо про то, что мой PS3Muxer включили в базу данных Софтпедии, протестировали и дали сертификат качества :)

Они даже скринов сами понаделали.

Линк: www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/PS3Muxer.shtml




Ну и заодно про tsDemux: www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/tsDemux.shtml


Текст письма... )

shocker: (Default)
Суббота

В обед поехал на велике. В лесу наткнулся на стаю диких собак - испугался. Слышу шорох, смотрю в кустах стоит одна и смотрит. Все тропинки с людьми остались далеко позади. Веду взгляд - еще одна, еще, еще. И все на меня смотрят. Большие, насчитал штук 6. Начал медленно ехать не отрывая взгляд, обошлось :)

Возвращался обратно, переехал МКАД по мосту и на крутом спуске опять перепрыгнул через руль... велик с грохотом на бок.
Перестал нормально работать задний переключатель, походу погнул.
Час стоят и пытался настроить... вроде получилось, заодно и цепь подтянул.

На подъезде к дому на полном ходу заскочил на бордюр - ударом пробил заднюю камеру. Спустило моментально. Надо учиться поднимать заднее колесо и качать посильнее шины!

Метров 500 пешком до дома, вышла 20-ка :)
Когда менял камеру обнаружил что новая с вело-нипелем (хотя долго выбирал в магазине с авто-нипелем), первый раз такое вижу. Долго думал как работает... хорошо насос с двумя дырками.

Опять подцепил розовый баннер :(
100% через броузер, ничего не запускал. В прошлый раз был Firefox, в этот Chrome!
Лезет с дурацких хостингов картинок где торентовские скриншоты выкладывают.

В тот раз избавился элементарно - запустил Far, им запустил regedit и вычистил все Run секции (запускало systems.exe из домашнего каталога пользователя). После перезагрузки снес и файлик - все.

В этот раз они все изменили и намудрили с фокусом ввода, все сильно осложнилось. Концы найти не смог. Выдернул сеть и весь день прыгал с бубном, пробовал вводить коды с сайта Dr.Web и Касперского - не работает. Пробовал запускать их тулзы для сканирования файловой системы - за баннером ничего не видно :)

В итоге стал чистить временные файлы в директории пользователя и наткнулся на 2 неудаляемых бинарника с дурацкими названиями - оно. Перегрузился под Ubuntu и стер их нафиг. Перегрузился - баннер пропал.
Руками покопался в реестре и почистил мусор.
Проверил hosts - напихали кучу говна для Одноклассников и т.п :))))
Хорошо не пользуюсь.
В общем мусор убрал.

Напоследок запустил Dr.Web Cureit - отличная хрень, нашла еще 8 троянов и ругнулась на hosts!
Вроде залечил.
Закончил поздно вечером.

Воскресенье

В обед поехал на велике, нашел "прямой" путь из Южного Бутово в Щербинку - не далеко. Добрался до Варшавки.
Заехал внутрь железнодорожного испытательного кольца - там дачи и люди. Забавно, а вокруг гоняют поезда и гудят.
Въезд к ним походу один (под мостом), зато есть нормальная асфальтовая дорога. Еще видел прикольный переезд через это кольцо с шлагбаумом. Поблизости ни души, по кольцу поезда тоже не едут, а он закрыт, мигает лампочками и издает звуки - как в фильмах ужасов, еще такой весь старый и обшарпанный :)

За пределами железнодорожного кольца есть поседения.... очень жутко выглядят старый обшарпанные панельные пятиэтажки. Все разрисованные, рядом ржавые трубы и брошенные ржавые составы и никакой цивилизации. Все стены исписаны.
А ведь там живут люди...стоят нормальные машины, кто-то приезжает и уезжает. И в 50 метрах испытательный полегон где гоняют гудящие поезда. Ужас.

На обратном пути пытался найти как же там проехать на машине. Нашел, но я бы не рискнул.
Проехать можно даже на легковушке, но лучше по сухому. Метров 400 между асфальтовыми дорогами надо ехать по полю. Все разбито грузовиками - колеи сантиметров по 50 в глубину, на дне грязь. Куча развилок которые в итоге сходятся, но если ошибиться, то можно упереться и придется сдавать задом... очень стремно даже для джипа (из колеи точно не вылезти если свалишься).

Зато там очень классно кататься на велике - настоящий триал. Прыг-скок, ногу вправо, руку влево и в таком духе :)
Там еще уклон есть - класс.
Море эмоций :)

На обратном пути - прыг на бордюр и еще одна камера на выброс... настоящий эпик феил :(
Опять задняя. На этот раз до дома шел минут 40 :(
Сгонял в Спортмастер и взял 3 запасных камеры, на 3 поездки :)
На этот раз заменил очень быстро.

Опять подтянул шатуны. Квадрат - говно, постоянно щелкает под нагрузкой сколько не затягивай.

Вечером решил поставить Mac OS X на Dell XPS 1330. Mac OS запустилась, но с жить с XP не хочет никак.
Либо работает одно либо другое (из-за необходимости хитрой разметки диска, XP этого не понимает).
В итоге решил вернуть XP и отказаться от затеи, но не тут-то было. 3 раза раскатывал бекап, но XP не заводится - не видит раздела хоть ты лопни. Совсем я диск замучил.
В итоге в 3:30 утра разбил диск маковской тулзой и сказал что должно быть с MBR. Потом раскатал на весь диск образ XP и восстановил MBR - завелось.

Profile

shocker: (Default)
shocker

October 2016

S M T W T F S
      1
2345678
9101112131415
16171819 202122
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 23 Sep 2017 03:57
Powered by Dreamwidth Studios