Уставнока драйверов для 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 необходимо переустановить драйвер.