DVB-S2 карта на CX24116 - Hauppauge HVR4000 & NOVA-HD-S2, Omicom SS4,TBS8920,Prof7300,ST-4200

  • Вот мой скромный опыт по HDTV с картой HVR-4000


    Загрузка Multiproto и Patch'а:


    Компиляция:


    Настройка каналов:


    И собственно проигрывание:

    Bash
    #!/bin/sh -e
    
    
    dvbsnoop -s ts -b -tsraw | mplayer -cache 32000 -framedrop -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all -


    Mplayer взят так:

    Bash
    #!/bin/sh -e
    
    
    cd ~/MPLAYER
    wget http://www7.mplayerhq.hu/MPlayer/releases/mplayer-checkout-snapshot.tar.bz2
    tar xjf mplayer-checkout-snapshot.tar.bz2 -C /usr/local/src/


    И скомпилирован так:

    Bash
    #!/bin/sh -e
    
    
    cd /usr/local/src/mplayer*
    
    
    ./configure --enable-largefiles --enable-runtime-cpudetection
    make
    make install


    Каналы Astra-19.2E.conf:

    Исходный код
    Sat 1:12722:h:1:22000:511:515:10201
    Pro 7 HD:12722:h:1:22000:255:259:10200
    Anixe HD:12722:h:1:22000:1023:1027:10203
    Astra HD Promo:12722:h:1:22000:767:768:10202
    Astra HD Promo 2:11914:h:1:27500:1279:1283:131





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

  • Цитата

    Со слов пользователя Grischenkow
    cd /usr/src/multiproto/linux/include/linux
    ln -s /usr/src/linux-headers-2.6.22-3-686/include/linux/compiler.h compiler.h[/code]


    make release VER=$(uname -r)


    а вот эти 2 операции зачем нужны ?


    Цитата


    # FEC = 2/3
    sysctl dev.cx24116.modfec=0x000d
    sysctl dev.cx24116.rolloff=2


    не в курсе, когда надо включать оставшиеся опции roloff


    + * dvb-s2 rolloff
    + * ==============
    + * 0=0.20 (DVB-S2)
    + * 1=0.25 (DVB-S2)
    + * 2=0.35 (DVB-S2/DVB-S)



    Цитата


    # === Вариант 2
    # FEC = 9/10
    #sysctl dev.cx24116.modfec=0x000b
    #sysctl dev.cx24116.rolloff=2


    для fec=9/10 я бы дал команду
    #sysctl dev.cx24116.modfec=0x0011


    * NBC-8PSK FEC_9_10 0x0011 DVB-S2


    (в исходниках патча есть табличка)


    Цитата


    ./configure --enable-largefiles --enable-runtime-cpudetection


    runtime-cpudetection обычно советуют запрещать при компиляции - немного повысит быстродействие.

    Цитата


    [h264 @ 0x889d190]Interlaced pictures + spatial direct mode is not implemented


    ох, уж этот spatial direct mode !!!
    мешает просмотру ?

  • Цитата

    Со слов пользователя Goga777
    cd /usr/src/multiproto/linux/include/linux
    ln -s /usr/src/linux-headers-2.6.22-3-686/include/linux/compiler.h compiler.h


    а вот эти 2 операции зачем нужны ?


    ;-) Жалко что-ли... Пусть будут.


    Цитата

    Со слов пользователя Goga777
    ох, уж этот spatial direct mode !!!
    мешает просмотру ?


    Мешает. Картинка иногда сыплется...
    И это на AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ ???!!!
    Загрузка процессоров от 20 до 60%.
    Причем интересно - процессоры как-бы меняются нагрузкой.
    Например один загружен на 20% другой на 60%, затем через некоторое время обратная картина...

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

  • Driver не грузится...
    При загрузке имеем:

  • Цитата

    Со слов пользователя warp

    Исходный код
    автор обновил патч.


    И чё с этим *.bin делать, как и чем открыть? Хочется глянуть, по моему я уже этим путём шёл.


    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. -O ./hvr4000-multiproto.patch.bz2
    bzip2 -d hvr4000-multiproto.patch.bz2

  • Цитата

    Со слов пользователя Goga777
    для fec=9/10 я бы дал команду
    #sysctl dev.cx24116.modfec=0x0011


    * NBC-8PSK FEC_9_10 0x0011 DVB-S2


    (в исходниках патча есть табличка)


    С таким параметром (0x0011) сигнал не захватывается.

  • странно, 0x000b это для fec 9/10 но для QPSK модуляции - у тебя же 8-QPSK


    у тебя есть возможность поэкспериментировать с другими dvb-s2 каналами, у которых иной fec ? с каким sysctl dev.cx24116.modfec=
    будет lock?


    + * MOD FEC modfec standard
    + * ---- -------- ------- --------
    + * QPSK FEC_1_2 0x022+X DVB-S
    + * QPSK FEC_2_3 0x042+X DVB-S
    + * QPSK FEC_3_4 0x082+X DVB-S
    + * QPSK FEC_4_5 0x102+X DVB-S (?)
    + * QPSK FEC_5_6 0x202+X DVB-S
    + * QPSK FEC_6_7 0x402+X DVB-S
    + * QPSK FEC_7_8 0x802+X DVB-S
    + * QPSK FEC_8_9 0x012+X DVB-S (?) (NOT SUPPORTED?)
    + * QPSK AUTO 0xff2+X DVB-S
    + *
    + * For DVB-S high byte probably represents FEC
    + * and low byte selects the modulator. The high
    + * byte is search range mask. Bit 5 may turn
    + * on DVB-S and remaining bits represent some
    + * kind of calibration (how/what i do not know).
    + *
    + *
    + * After tuning FECSTATUS contains actual FEC
    + * in use numbered 1 through to 8 for 1/2 .. 2/3 etc
    + *
    + * NBC-QPSK FEC_1_2 0x0004 DVB-S2
    + * NBC-QPSK FEC_3_5 0x0005 DVB-S2
    + * NBC-QPSK FEC_2_3 0x0006 DVB-S2
    + * NBC-QPSK FEC_3_4 0x0007 DVB-S2
    + * NBC-QPSK FEC_4_5 0x0008 DVB-S2
    + * NBC-QPSK FEC_5_6 0x0009 DVB-S2
    + * NBC-QPSK FEC_8_9 0x000a DVB-S2
    + * NBC-QPSK FEC_9_10 0x000b DVB-S2
    + *
    + * NBC-8PSK FEC_3_5 0x000c DVB-S2
    + * NBC-8PSK FEC_2_3 0x000d DVB-S2
    + * NBC-8PSK FEC_3_4 0x000e DVB-S2
    + * NBC-8PSK FEC_5_6 0x000f DVB-S2
    + * NBC-8PSK FEC_8_9 0x0010 DVB-S2
    + * NBC-8PSK FEC_9_10 0x0011 DVB-S2

  • Исходный код
    , по моему я уже этим путём шёл.


    Точно, пробовал одним из первых. Результаты не удовлетворили.

  • Цитата

    Со слов пользователя Grischenkow
    Driver не грузится...


    а у меня все загрузилось, заработал дайсек и двб-с2 появился


    goga:/usr/src/szap2# ./szap2 -c 19 -n3 -t2 -e0 -m8
    reading channels from file '19'
    zapping to 3 'Sat 1':
    sat 0, frequency = 12722 MHz H, symbolrate 22000000, vpid = 0x01ff, apid = 0x0203 sid = 0x27d9 (fec = -2147483648, mod = 8)
    Querying info .. Delivery system=DVB-S2
    using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
    ----------------------------------> Using 'Conexant CX24116/CX24118' DVB-S
    diseqc: sat_no:0 pol_vert:0 hi_band:1 cmd:e0 10 38 f3 wait:0


    do_tune: API version=2, delivery system = 2
    do_tune: Frequency = 2122000, Srate = 22000000 (DVB-S2)
    do_tune: Frequency = 2122000, Srate = 22000000 (SET_PARAMS)


    status 1f | signal e700 | snr 8800 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
    status 1f | signal e640 | snr 8b33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
    status 1f | signal e640 | snr 8b33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
    status 1f | signal e640 | snr 8b33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK

  • Исходный код
    и двб-с2 появился


    Не очень то и осчастливливает. Мало того что в DVB-S2 дайсек не работает, так ещё и моды бесконца переключать надо

  • Grischenkow


    похоже, что у тебя мешанина с модулями от разных версий v4l-dvb


    автор патча вот так рекомендует действовать


    hg clone Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    cd multiproto/
    bzcat somewhere/multiproto-hvr4k.patch.bz2 | patch -p1
    make menuconfig (я делал menu clean menu distclean)
    make all
    rm -rf /lib/yourkernelversion/kernel/drivers/media (я делал make rmmod make rminstall из директории, из которой ставил предыдущую версию дров)


    make install
    reboot
    modprobe cx88_dvb
    dmesg


    sysctl dev.cx24116.modfec=0x0d
    sysctl dev.cx24116.pilot=1
    sysctl dev.cx24116.rolloff=2


    echo "Pro 7 HD:12722:h:1:22000:255:259:10200" > channels.conf
    szap -c channels.conf "Pro 7 HD"

  • Исходный код
    Со слов пользователя Grischenkow
    Driver не грузится...


    Удали перед установкой дров вручную папки dvb и video в .../lib/modules ...../kernel/drivers/media и всё загрузится

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

  • более красивый способ - make rminstall каталога, из которого собирался предыдущие v4l-dvb дрова.
    Ну, и эти команды будут полезны в этом случае.


    To clean the source tree:
    make clean
    To clean the build configuration:
    make distclean
    To remove (rmmod) all modules at once from the running kernel (in memory):
    make unload

  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. появилась поддержка облегченной версии hvr4000 (она же Hauppauge Nova HD S2), а также сейчас нет необходимости переключать режимы dvb-s2 вркчную через sysctl - все должно работать на автомате, и в ВДР тоже. Тестим и делимся впечатлениями


    The attached patch adds support for HVR4000(lite) cards into the multiproto
    tree from Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. . On my hardware (Hauppauge Nova HD
    S2, no DiSEqC), this patch provides all functionallity required for watching
    and recording DVB-S and DVB-S2 transmissions and switching between them
    without further manual interaction on a multiproto-patched VDR 1.5.12. After
    some hours of testing it seems to be stable so far.


    The patch is based on Darron Broads patch for v4l-dvb from 12/09/2007. Many
    thanks to Darron and all other people involved.


    Regards,
    Holger

  • Исходный код
    The patch is based on Darron Broads patch for v4l-dvb from 12/09/2007.


    Похоже он идёт темже путем, которым шёл я, только я взял за основу cx24116_igor.c . Копать надо немножко глубже, возможно даже отдельно прописать инструкции дайсека для DVB-S и DVB-S2

  • Опять у меня что-то не так....
    с патчем: multiproto-hvr4k-2007-12-15.patch.bz2
    Драйвер загружен, но szap2 не идет.


    dmsg:

    Исходный код
    cx88[0]/2: cx2388x based dvb card
    DVB: registering new adapter (cx88[0])
    DVB: registering frontend 0 (Conexant CX24116/CX24118)...


    szap2 -r -c Astra-19.2E.conf -t2 -a0 -e2 -m8 "Pro 7 HD"

    Исходный код
    reading channels from file 'Astra-19.2E.conf'
    zapping to 2 'Pro 7 HD':
    sat 1, frequency = 12722 MHz H, symbolrate 22000000, vpid = 0x00ff, apid = 0x0103 sid = 0x27d8 (fec = 32, mod = 8)
    Querying info .. Delivery system=DVB-S2
    using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
    ioctl DVBFE_GET_INFO failed: Invalid argument

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

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


    Я получаю исходные, непатченные файлы (вместо патченных ранее) из мультипрото вот такой командой
    hg revert --all
    ну, и удали из /multiproto/linux/drivers/media/dvb/frontends файлики сх24116.c и cx24116.h
    Потом накладываем патч.
    (Покажи , пожалуйста, результаты патча на мультипрото. )


    Перед компиляцией
    make clean
    make distclean


    make all (Потом посмотри при компиляции какие ошибки имеются. После чего покажи плиз вывод


    make unload
    make rminstall
    make install


    рестарт компа.


  • подводя промежуточный итог могу сказать следующее.
    В настоящее время поддержку карты HVR4000(Lite) в линуксе можно считать удовлетворительной. При этом новых патчей от Даррона в ближайшее время ждать не приходится - он переключился на другие дела. То же самое и со Стивом, он не собирается продолжать работать над дровами для hvr4000, т.к. тоже занят в другом проекте. И вот тут то и пришел на помощь
    Holger Steinhaus , который собрал воедино прежние наработки Стива и Даррона и выпустил вполне работающий патч для мультипрото. Стив ожидает, когда мультипрото сольется с v4l-dvb и только после этого возобновит работу над драйвером hvr4000. А это уже будет через в следующем году. Так что для истории я сохраню в цитате все эти 4 варианта, но в основном будем ориентироваться на патч от Holger Steinhaus.


  • Вопрос: У меня есть карта hvr4000/NOVA-HD-S2 и я ее хочу запустить на линуксе/VDR - что мне делать ?


    Ответ: У вас есть несколько вариантов


    Вариант 1 - без поддержки dvb-s2, данный вариант должен работать во всех приложениях, включая VDR


    Качаем Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.. Далее грузим Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. (заодно там же на страничке читаем, что пишет интерсного автор о своих патчах).
    Где-нибудь сохраняем резервную непатченную копию v4l-dvb - пригодится.
    Патчим. Компилим. Устанавливаем. Перегружаемся.


    Вариант 2 - на базе multiproto от Manu, с поддержкой dvb-s2, работает в VDR (ибо для VDR есть соответствующий патч). В других линуксовых DVB-TV приложениях может и не работать, если нет соответствующего патча для них, внедряющего поддержку multiproto.


    Качаем Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Качаем Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Где-нибудь сохраняем резервную непатченную копию v4l-dvb - пригодится. Патчим. Компилим. Устанавливаем. Перегружаемся.


    Для работы с dvb-s2 необходим еще патченный Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.. Еще одна версия szap2 лежит Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. И у Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Во всех случаях обязательно скачать и загрузить firmware для карты


    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    unzip 88x_2_117_24275_1_INF.zip
    dd if=Driver88/hcw88bda.sys of=dvb-fe-cx24116.fw skip=81768 bs=1 count=32522


    файлик dvb-fe-cx24116.fw помещаем в каталог /firmware,
    например сюда (зависит от особенностей вашего дистра) /usr/lib/hotplug/firmware/