Reel Extension-HD Linux (eHD) - карта с hardware h.264 decoder

  • 1455, Goga777,
    могу передать кому-то из вас карту для целей тестирования, так как у меня получается сейчас так, что не скоро для этого появится время. К тому же мой опыт пока ограничивается только VDR 1.6.0 c FF картой, а с VDR 1.7.0 и «бюджетной» картой ещё предстоит разбираться. Потому и на eHD я «запал» чтобы упростить себе задачу перехода на VDR 1.7.0 и HDTV, так как соответствующего опыта в линуксе и в VDR у меня ещё не много.
    Вобщем если есть желание протестировать карту, то я готов кому-то из вас её на время передать, так как сам не смогу в скором времени ответить на ваши функциональные вопросы по этой карте.

  • Давайте сделаем так:
    Я так думаю, что для того, чтобы собирать, сама карта пока не нужна.
    Сначала я попробую собрать на чистом винте то, что предлагается на Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    На это тоже нужно время. Кроме того, пока не ясно ляжет ли патч
    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. на новое ведро.
    По готовности доложусь.

  • Цитата

    Со слов пользователя sergeant
    ..Кстати, задал сегодня им также вопрос по поводу текущего состояния дел в их интернет-магазине для российских покупателей, если например кто-то возьмёт да и разместит сейчас у них на сайте заказ и сделает предоплату - то каким образом карта будет отправлена? курьером или нет? Посмотрим, что ответят (если ответят)..


    Ответили что пока приостонавливают приём заказов, которые не из Европейского Союза:


    The possibility to place order from countries outside the EU will be removed within the next days.
    In the meantime we are unfortunately forced to cancel all orders that come from e.g. Russia.
    I really hope to be able to overcome these difficulties asap and be able to proceed with expanding our business to the Russian market.


    Одна из догадок на основе вышесказанного - это что реел возможно собирается найти российского партнёра, которому бы он мог поставлять рееловскую продукцию для продажи внутри России. Но не будучи вхожим в совет директоров реела :), об этом можно только гадать..

  • Между тем, первое с чем я столкнулся, это всё далеко ушедшее вперёд.
    Вчера скачал ревизию 8372, а та иструкция писалась на 4330. Как говорится, "осюсяй".
    Конечно, ни фига не патчится и не собирается.


    Ну, что теперь, -r 4330? Но это же кладбище!
    Надо новые мануалы искать.

  • Это называется "чем отличается пипец от пепелаца". Накачиваю все доступные патчи разных версий.
    Ещё один мануал: Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Вот, может пригодится:
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


  • Там вроде патчи для vdr какие-то были от reel. Возможно vdr будет дружить с HDPlayer, это нужно уточнить

  • сюда не заглядывал ?


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Помимо Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    читаю ещё Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    А на эти Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. ещё не ходил. Завтра буду всасывать.

    Тут какая ситуация... Учитывая небольшой опыт, нельзя начинать собирать, просто следуя инструкции, пока нет понимания, что я вообще в данный момент делаю. Например, что там является драйвером для eHD и в какой момент нужно инсталлировать, собственно, драйвер DVB карты, чтобы не покрошить его, установив не в той последовательности, как требуется.

    С VDR портала (нехилые 53 страницы) скачал около 20 разных патчей на разные версии составляющих этой кухни, но нет возможности подобрать комплект патчей по номеру ревизии того, на что он - все разные. Нужно было начинать ковыряться с первого сообщения в той теме. Там точно так же всё меняется и живёт своей жизнью, в результате чего, эти инструкции почти наверняка не работают на SVN исходные. А старьё не хочется собирать. Т.е. придётся на каждую составляющую примерять (--dry-run) все существующие версии патчей, начиная с последней. Может, что-то и воовсе патчить не надо, а что-то придётся вручную исправлять сообразно патчам. Пока не понятно.


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

  • Пора переходить к делу.
    Здесь привожу удобочитаемый примерный алгоритм действий, который нужен мне для удобства и может пригодиться в последствии остальным. В процессе исправлю.
    Первая фаза это драйвер eHD, проигрыватель и всё связанное с этим.
    Сборку подточенного для этих целей VDR буду рассматривать позже. Со связкой Xine, как я понял, пока есть масса проблем с воспроизведением файлов и нет внятного алгоритма действий. Поэтому пока HDPlayer.


    Подготовка

    Исходный код
    cd /data/installfiles/ mkdir eHD
    cd /data/installfiles/eHD/ 
    svn co svn://reelbox.org


    Созд. рез. копии (не обязательно)

    Исходный код
    cd /data/installfiles/eHD/ 
    tar -czf reelbox.org.tar.gz reelbox.org/


    Папка исходников самого проигрывателя

    Исходный код
    cd /usr/local/src/ 
    mkdir -p eHD/hdplayer


    Конфигурация сервера tftp
    =======================
    Так как eHD загружает своё программное обеспечение плейера (hdplayer) посредством TFTP, то он должен быть сконфигурирован заранее. У такого способа есть преимущество - hdplayer вследствие этого очень просто может обновляться.
    В OpenSuse это делается так:
    Yast-Настройка сетевой службы (xinetd)...
    и там включить "tftp". Если он был н/у, то система скажет: "след. пакеты будут установлены".
    Затем, переключить в состояние "Вкл".
    Аналогично, в случае отсутствия установить и включить пакеты telnet


    Инсталляция eHD
    =================
    После того, как eHD вставлена, нужно сделать тест определения карты.
    Если карта не определяется, при необходимости поменяйте слот PCI и еще раз попробуйте. Должно быть:

    Исходный код
    lspci -v 01:08.0 Multimedia controller: Micronas USA, Inc. Device 8100 
    Subsystem: Micronas USA, Inc. Device 8100 
    Flags: bus master, medium devsel, latency 32, IRQ 11 
    Memory at e7fff000 (32-bit, non-prefetchable) [size=4K] 
    Memory at d8000000 (32-bit, non-prefetchable) [size=128M] 
    Capabilities: [40] Power Management version 2


    Создание модуля драйвера для eHD
    ===============================
    Редактирование hdboot.c. Не требуется с актуальным svn !

    Исходный код
    cd /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/hdboot/ 
    cp hdboot.c hdboot.c_orig 
    vi hdboot.c


    Строки:

    Исходный код
    base = mmap(0, 256*1024*1024,                             
             PROT_READ|PROT_WRITE,                             
             MAP_SHARED, fd1,                             
             offset);


    заменить на

    Исходный код
    base = mmap(0, 256*1024*1024,                             
             PROT_READ|PROT_WRITE,                             
             MAP_SHARED, fd1,                             
             (unsigned)offset);


    Редактирование hdshm.c. Не требуется с актуальным svn !

    Исходный код
    cd /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/src/driver 
    cp hdshm.c hdshm.c_orig 
    sed 's/dma_addr_t/uint32_t/g' hdshm.c_orig > hdshm.c


    Редактирование hdshm.h. Не требуется с актуальным svn !

    Исходный код
    cd /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/src/driver 
    cp hdshm.h hdshm.h_orig 
    sed 's/dma_addr_t/uint32_t/g' hdshm.h_orig > hdshm.h


    Сборка модуля

    Исходный код
    cd /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3 
    make clean x86 
    make x86


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

    Исходный код
    cd /lib/modules/$(uname -r)/kernel/drivers/video 
    cp -a /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/driver/hdshm.ko  
    depmod -a


    Подготовка программного обеспечения
    ===================================
    Каталог с программным обеспечением, необходимым для нужд eHD

    Исходный код
    cd /usr/local/src/eHD/hdplayer/ 
    cp -a /data/installfiles/eHD/reelbox.org/precompiled/hdplayer.gz 
    gunzip hdplayer.gz
    
    
    cd /usr/local/src/eHD/
    cp -a /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/hdboot/hdboot .
    cp -a /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/shmnetd/shmnetd .
    cp -a /data/installfiles/eHD/reelbox.org/precompiled/linux.bin.gz .
    gunzip linux.bin.gz


    Ручной пробный запуск eHD

    Исходный код
    modprobe hdshm 
    /usr/local/src/eHD/hdboot -i /usr/local/src/eHD/linux.bin 
    screen -d -m /usr/local/src/eHD/shmnetd


    После того, как eHD-модуль драйвера был загружен, вызов dmesg должен вывести следующее:

    Исходный код
    hdshm_init_struct: Phys start 00000000db000000, start ffffc20005600000, nc-start ffffc20005a80000 
    hde_fb: init 0 
    tun: Universal TUN/TAP device driver, 1.6 
    tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> 
    tun0: Disabled Privacy Extensions


    Если eHD успешно запустился и в системе Networkdevice "tun0" создает общение с eHD, то
    команда ifconfig выдаст:

    Исходный код
    tun0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
             inet addr:192.168.99.130  P-t-P:192.168.99.130  Mask:255.255.255.252
             UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:8300  Metric:1
             RX packets:411 errors:0 dropped:0 overruns:0 frame:0
             TX packets:459 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:500 
             RX bytes:30305 (29.5 Kb)  TX bytes:159573 (155.8 Kb)


    После того, как networkdevice "tun0" запущен, eHD карта должна отвечать на команду ping:


    Доступ посредством Telnet.
    eHD карта на telnet должна ответить:

    Исходный код
    telnet 192.168.99.129
    Trying 192.168.99.129...
    Connected to 192.168.99.129.
    Escape character is '^]'.
    BusyBox v1.2.2 (2008.05.05-14:30+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    Welcome to extensionHD
    This image is based on SDK V1.7.
    It was built @ Mo 5. Mai 16:31:59 CEST 2008 on rollercoaster.
    hdext #


    Проверка связи hdplayer с eHD.
    ==========================
    Сервер TFTP передаёт на удаленный компьютер. Если /tmp каталог hdplayer пуст или имеет 0-й размер, то значит что-то не нравится серверу TFTP.
    По идее:

    Исходный код
    hdext # cd /tmp/
    hdext # ls -l
    -rwxr-xr-x    1 0        0          485536 Jan  1 00:00 hdplayer


    Проверка процессов eHD
    =======================
    Как только eHD включилось, запущенные процессы можно проверять. Если все прошло успешно, должно выглядеть так:


    Автозагрузка eHD
    ===============
    Чтобы eHD автоматически запускался после системного старта, выполняется спец. скрипт, кот.
    создают

    Исходный код
    cd /etc/init.d/
    vi ehd


    вписывая туда


    и делают его исполняемым

    Исходный код
    cd /etc/init.d/
    chmod +x ehd


    Приоритет процесса в автостарте

    Исходный код
    chkconfig ehd 35


    Автозагрузка в других дистрибутивах
    ===============================
    В Ubuntu, например, это очень просто делается из соотв. пункта основного меню


    Перезагрузка
    ============
    После старта, если выйти в 6 консоль, должен появиться логотип Reelbox на черном фоне

    Исходный код
    init 6


    Обновление
    ==========
    Исходные eHD (проверяются и обновляются все файлы с созданием backup)

    Исходный код
    cd /data/installfiles/eHD/reelbox.org
    svn up


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

    Исходный код
    cd /usr/local/src/eHD/hdplayer/
    rm hdplayer
    cp -a /data/installfiles/eHD/reelbox.org/precompiled/hdplayer.gz .
    gunzip hdplayer.gz


    Системное программное обеспечение

    Исходный код
    cd /usr/local/src/eHD/
    rm hdboot 
    rm linux.bin
    rm shmnetd
    cp -a /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/hdboot/hdboot .
    cp -a /data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/x86/shmnetd/shmnetd .
    cp -a /data/installfiles/eHD/reelbox.org/precompiled/linux.bin.gz .
    gunzip linux.bin.gz


    Перезапуск системы

    Исходный код
    init 6


    Пока перекур.

  • Ожидаемый мазохизм даже превзошёл все ожидания.


    Вежливо вставляю карту в разные слоты, пытаюсь отдать принудительное IRQ слоту, но
    на lspci -v я получаю:

    Исходный код
    02:0a.0 Multimedia controller: Unknown device 1905:8100
            Subsystem: Unknown device 1905:8100
            Flags: bus master, medium devsel, latency 64, IRQ 5
            Memory at f7efb000 (32-bit, non-prefetchable) [size=4K]
            Memory at e8000000 (32-bit, non-prefetchable) [size=128M]
            Capabilities: [40] Power Management version 2


    На lspci -vvv -H1


    Для экспериментов я взял старую ASUS P4P800 (хуже есть только Asus для 3 пня).
    Ладно, лезу читать и выясняется, что и не увидит без доработки.
    Вот тут Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    написано, что общение с PCI и внутренняя архитектура Asus делает инициализацию PCI очень быстро и eHD просто не успевает запуститься. Таким образом, предлагается заменить один кондюк на 47000 пФ или более.
    Ну, блин! Ещё и паять надо.
    Другой вариант состоит в изощрённом способе загрузки компа.


    Я легко могу перепаять SMD кондюк, но карта-то не моя.
    Что будем делать? На что таможня даёт добро?

  • может, в vdr листе спросить еще раз ? только видимо инфы о твоем железе и дровах надо побольше вылодить. Может Georg Acher и поможет другим советом

  • Уже просили одного немца написать по-ангельски в интерн. разделе, как он и что делал.
    Я в VDR листе зарегался, но не понял, как входить, если нужно написать.
    И потом, причина-то "невидимости" уже ясна. Это нормальное явление для Asus. Т.е. карта видится частично, потому, что просто не успела проинициализироваться.
    Что спрашивать?


    В BIOS есть такая опция "PCI latency timer" - 32(64).
    Ставлю 32. Боле похоже, правда исчезли виртуальные прерывания и всё равно не видится:

    Исходный код
    02:0a.0 Multimedia controller: Unknown device 1905:8100
            Subsystem: Unknown device 1905:8100
            Flags: bus master, medium devsel, latency 32, IRQ 10
            Memory at f7efb000 (32-bit, non-prefetchable)
            Memory at e8000000 (32-bit, non-prefetchable)
            Capabilities: [40] Power Management version 2


    Пожалуйста зарегистрируйся для просмотра данного изображения.

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем 1455 ().

  • В VDR-листе тоже недавно поднимали этот вопрос:


    ">There is a reset circuit on the that controls the complicated power
    >sequencing. It is possible that your BIOS is too fast and configures the PCI
    >space during this powerup sequence. At that time, the HDE is not properly
    >accessible.
    >
    >It is possible to shorten this sequence a bit, but for that you need to
    >exchange a SMD capacitor on the HDE board.


    OK, thanks. I have the "Quick Power On Self Test" enabled,
    so by disabling this I should have this problem fixed.
    Josce"


    Значит надо попробовать перепаять эту ёмкость.

  • Ok. Но как бы хотелось видеть карту,
    с аккуратным SMD, которые не подписываются и не отличаются от дросселей и, значит, нужно ехать в магазин покупать "пулемётную ленту" или проситься с битыми материнками на RCL мост, либо напаять обычный кондюк "из хлама", приклеив к плате?


    Кстати, опция BIOS Qick boot - disable не решает проблемы, а городить дурное увеличение времени загрузки не хочется.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем 1455 ().

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

  • Как оказалось, там и не особо-то припаяешь большой. Поэтому выковырял блокировочный SMD на 100000пФ и припаял сверху параллельно стоящему. Но теперь, похоже, многовато будет.

    Исходный код
    02:0a.0 Multimedia controller: Unknown device 1905:8100
            Subsystem: Unknown device 1905:8100
            Flags: medium devsel, IRQ 255
            Memory at fea00000 (32-bit, non-prefetchable) [disabled]
            Memory at 58000000 (32-bit, non-prefetchable) [disabled]
            Capabilities: [40] Power Management version 2


    Попробую пойду 47n добавить вместо 100n.

  • Нет, не отвечает карта, как написано в инструкции.
    Но может и наплевать? Как проверить? Такое ощущение, что имя карты, зашитое во флешке не читается.
    Ну, а если попробовать собрать? Быстренько пробежался по дровам. Дойдя до места dmesg, я получаю:

    Исходный код
    hdshm_init_struct: Phys start eb000000, start f9400000, nc-start f9780000
    tun: Universal TUN/TAP device driver, 1.6
    tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>


    tun0 тут отсутствует. А надо?
    Далее... ifconfig даёт:

    Исходный код
    tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              inet addr:192.168.99.130  P-t-P:192.168.99.130  Mask:255.255.255.252
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:8300  Metric:1
              RX packets:107 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:500
              RX bytes:5885 (5.7 Kb)  TX bytes:0 (0.0 b)


    На telnet 192.168.99.129 отвечает:


    Затем:

    Исходный код
    hdext # cd /tmp/
    hdext # ls -l
    -rw-r--r--    1 0        0               0 Jan  1 00:12 hdplayer


    И наконец:


    Далее по инструкции идёт настройка автостарта, но это потом. Давайте сравним с инструкцией. А что, собственно, не работает?