Установка драйверов DVB карт

    Уставнока драйверов для DVB адаптеров DigitalDevices и TBS

    Установка драйверов DigitalDevices

    Выполните в консоли:

    curl -L http://cesbo.com/download/astra/scripts/drv-dd.sh | bash
    Установка в в ручном режиме

    Подготовка системы

    Для установки драйверов необходимы права root:
    sudo -s

    Установка системных утилит для сборки драйвера из исходников:

    apt-get install build-essential \
        patchutils \
        libproc-processtable-perl \
        linux-headers-$(uname -r) \
        git

    Отключите автоматическое обновление в Ubuntu 16.04

    systemctl disable apt-daily.service
    systemctl disable apt-daily.timer

    Установка

    Скачать последнюю версию драйвера из официального репозитория:

    git clone --depth=1 https://github.com/DigitalDevices/dddvb /usr/src/dddvb
    cd /usr/src/dddvb

    По умолчанию драйвер имеет ограничение в 8 DVB-адаптеров. Отключим это ограничение перед сборкой:

    sed -i \
        -e 's/^#if defined(CONFIG_DVB_MAX_ADAPTERS).*$/#if 0/g' \
        dvb-core/dvbdev.h

    Если у вас есть более 64 адаптеров (например, 10 MaxS8) необходимо внести изменения в драйвер:

    sed -i \
        -e 's/DVB_MAX_ADAPTERS 64/DVB_MAX_ADAPTERS 256/g' \
        dvb-core/dvbdev.h
    
    sed -i \
        -e 's/^\(#define MAX_DVB_MINORS*\).*/\1 512/g' \
        dvb-core/dvbdev.c

    Соберите драйвер и установите его:

    make
    make install

    Создание списка зависимостей модулей:

    mkdir -p /etc/depmod.d
    echo 'search extra updates built-in' >/etc/depmod.d/extra.conf
    depmod -a

    Создайте файл конфигурации для адаптеров MaxS8:
    echo 'options ddbridge fmode=X' >/etc/modprobe.d/ddbridge.conf
    Замените X на номер типа работы:

    Типы работы для Max S8 :  
    
    fmode=0  
    4 тюнера ( Внутренний мультисвич отключен )  
    
    fmode=1  
    Quad LNB / normal outputs of multiswitches  
    
    fmode=2  
    Quattro - LNB / cascade outputs of multiswitches  
    
    fmode=3  
    Unicable LNB or JESS / Unicabel output of the multiswitch  

    Для применения изменений перезагрузите компьютер:

    shutdown -r now

    После перезагрузки - проверьте наличие адаптеров в системе:

    ls /dev/dvb

    В ответ - должны быть перечислены все адаптеры, установленные в системе:

    adapter0 adapter1 adapter2 adapter3 adapter4 adapter5 adapter6 adapter7
    Решение проблем

    Сигнал в порядке, но каналы не работают

    Проверьте вывод dmesg на наличие ошибок i2c:
    dmesg | grep i2c
    если вы видите сообщения вроде i2c_write error, то отключите MSI (Message Signaled Interrupts) в драйвере:

    Откройте /etc/modprobe.d/ddbridge.conf в любом текстовом редакторе
    Найдите строку ddbridge …
    После ddbridge добавьте параметр msi=0. Например:options ddbridge msi=0 fmode=1
    Если файл не существует, то создайте его и впишите:
    options ddbridge msi=0

    Адаптеры DVB отсутствуют

    Если команда ls /dev/dvb выдает ошибку:
    ls: cannot access /dev/dvb: No such file or directory
    С помощью команды lspci вы можете проверить, присутствуют ли адаптеры в системе:
    lspci | grep Multimedia

    Если адаптеры подключены к PCIe правильно, вы увидите список адаптеров PCIe. Например:

    01:00.0 Multimedia controller: TBS Technologies DVB-S2 4 Tuner PCIe Card
    01:00.0 Multimedia controller: Digital Devices GmbH Cine V7

    Проверьте boot.log на наличие ошибок:
    dmesg | grep -i dvb
    Этот журнал можно отправить производителю адаптера для поиска решения.

    Драйверы были установлены и все работало нормально до перезагрузки сервера

    Вероятно, ядро Linux было обновлено. После обновления ядра Linux необходимо переустановить драйвер.

    Установка драйверов TBS

    Выполните в консоли:

    curl -L http://cesbo.com/download/astra/scripts/drv-tbs.sh | bash

    Вы можете обратиться за помощью по установке драйверов к представителям TBS по данной ссылке: https://www.tbsdtv.com/contact-us.html - выберите пункт "software installation and debugging"

    Установка в в ручном режиме

    Подготовка системы

    Для установки драйверов необходимы права root:

    sudo -s

    Установка системных утилит для сборки драйвера из исходников::

    apt-get install build-essential \
        patchutils \
        libproc-processtable-perl \
        linux-headers-$(uname -r) \
        git

    Удалите старые драйвера:

    rm -rf /lib/modules/$(uname -r)/extra
    rm -rf /lib/modules/$(uname -r)/kernel/drivers/media
    rm -rf /lib/modules/$(uname -r)/kernel/drivers/staging/media

    Отключите автоматическое обновление в Ubuntu 16.04

    systemctl disable apt-daily.service
    systemctl disable apt-daily.timer

    Установка

    Загрузка и сборка драйвера:

    cd /usr/src
    git clone https://github.com/tbsdtv/media_build.git
    git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b latest ./media
    cd media_build
    make dir DIR=../media
    make allyesconfig
    make -j4
    sudo make install

    Установите firmware для DVB адаптеров:

    curl -L http://www.tbsdtv.com/download/document/linux/tbs-tuner-firmwares_v1.0.tar.bz2 | tar -jxvf - -C /lib/firmware/

    Для применения изменений перезагрузите компьютер:

    shutdown -r now

    После перезагрузки - проверьте наличие адаптеров в системе:

    ls /dev/dvb`

    В ответ - должны быть перечислены все адаптеры, установленные в системе:

    adapter0 adapter1 adapter2 adapter3 adapter4 adapter5 adapter6 adapter7
    Решение проблем

    Решение проблем

    Адаптеры DVB отсутствуют

    Если команда ls /dev/dvb выдает ошибку:
    ls: cannot access /dev/dvb: No such file or directory
    С помощью команды lspci вы можете проверить, присутствуют ли адаптеры в системе:

    lspci | grep Multimedia

    Если адаптеры подключены к PCIe правильно, вы увидите список адаптеров PCIe. Например:

    01:00.0 Multimedia controller: TBS Technologies DVB-S2 4 Tuner PCIe Card

    Проверьте boot.log на наличие ошибок:

    dmesg | grep -i dvb

    Этот журнал можно отправить производителю адаптера для поиска решения.

    Драйверы были установлены и все работало нормально до перезагрузки сервера

    Вероятно, ядро Linux было обновлено. После обновления ядра Linux необходимо переустановить драйвер.