deeptho / linux_media

neumoDVB blindscan drivers media_tree
https://github.com/tbsdtv/linux_media/wiki
Other
4 stars 5 forks source link

What is this?

This repository is a clone of tbs/linux_media. It contains patches for the following drivers

Installation

First install the required compilers, git ... You may also need libproc-processtable-perl (e.g., on ubuntu)

mkdir ~/blindscan_kernel
cd  ~/blindscan_kernel

Check out the actual drivers. This uses the default branch which is called deepthought

git clone --depth=1  https://github.com/deeptho/linux_media.git ./media

Then check out a copy of DeepThought's media_build (try tbs media_build if it does not work)

git clone https://github.com/deeptho/neumo_media_build

Make sure software for kernel compilation is installed. For instance on fedora:

sudo dnf install -y patchutils
sudo dnf install -y ccache
sudo dnf install -y kernel-devel-`uname -r`
sudo dnf install -y perl-File-Copy #not needed?
sudo dnf install -y perl
sudo dnf install -y perl-Proc-ProcessTable

cd neumo_media_build
git checkout deepthought
git reset --hard
make dir DIR=../media
make distclean
./install.sh

Last but not least, install rsyslog so that kernel debug messages are stored in the file system in /var/log/debug:

sudo dnf install -y rsyslog
sudo vi /etc/rsyslog.conf # add "kern.debug /var/log/debug" line
sudo systemctl enable rsyslog
sudo systemctl start rsyslog #to have log messages in /var/log/debug

Now install the firmware (if needed):

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

If you cannot find the 6909 firmware:

wget http://www.tbsdtv.com/download/document/linux/dvb-fe-mxl5xx.fw
sudo cp dvb-fe-mxl5xx.fw /lib/firmware/

Now load the drivers: either reboot, or try loading the proper module for your card, e.g., tbsecp3 for many cards:

sudo modprobe tbsecp3

Check /var/log/debug for messages. If there are i2c_xfer error messages, try editing the file tbsecp3-cards.c. In that file lcate the entry for your card and change i2c_speed to 9.

If you have this problem then report it. Also report if the solution works,

Usage

These drivers were designed for use with neumoDVB to support advanced features provided by some cards:

To make use or optimal use of these features, application programs should adhere to a new extended ``neumo-DVB'' interface, but the drivers were designed to be also backward compatable

Using with neumoDVB

neumoDVB detects the presence of these drivers and then will exploit the advanced features; if the drivers are not loaded if falls back to the DVB-apiV5 interface

Using with existing programs developed for DVB-apiV5

In principle no changes are needed, and even without changes for stid135 based cards, through the sysfs interface it is possible to obtain more information about the cards and what they are doing. Also it is possible to slightly enhance using existing programs, such as tvheadend.

The neumoDVB kernel api

This API has been kept mostly compatible with the existing DVB-V5 api, both internally in the kernel and externally towards user applications. However, the kernel-side API is not binary compatile (yet) with DVB-apiV5 and requires recompilation of all DVB modules that the user wants to use, even those not supporting neumoDVB.

User space applications should proceed as follows

Changes in release-1.3

Changes in release-1.2

Changes in release-1.1.1

Kernel support

Changes

Changes in release-1.0.0

Kernel support

Various bugs and improvements

stv091x based cards

stid135 based cards

em28xx based cards

m88rs6060 based cards

tas2101 based cards

si283 based cards

Changes in release-0.9.0

Known problems

User space tools for using blindscan can be found at https://github.com/deeptho/blindscan

Installation

First install the required compilers, git ... You may also need libproc-processtable-perl (e.g., on ubuntu)

mkdir ~/blindscan_kernel
cd  ~/blindscan_kernel

Check out the actual drivers. This uses the default branch which is called deepthought

git clone --depth=1  https://github.com/deeptho/linux_media.git ./media

Then check out a copy of DeepThought's media_build (try tbs media_build if it does not work)

git clone https://github.com/deeptho/media_build

Make sure software for kernel compilation is installed. For instance on fedora, with MYKERNEL the exact kernel version you are running:

sudo dnf install -y patchutils
sudo dnf install -y ccache
sudo dnf install -y kernel-devel-MYKERNEL
sudo dnf install -y perl-File-Copy #not needed?
sudo dnf install -y perl
sudo dnf install -y perl-Proc-ProcessTable

cd media_build
git checkout deepthought
git reset --hard
make dir DIR=../media
make distclean
./install.sh

Last but not least, install rsyslog so that kernel debug messages are stored in the file system in /var/log/debug:

sudo dnf install -y rsyslog
sudo vi /etc/rsyslog.conf # add "kern.debug /var/log/debug" line
sudo systemctl enable rsyslog
sudo systemctl start rsyslog #to have log messages in /var/log/debug

Now install the firmware (if needed):

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

If you cannot find the 6909 firmware:

wget http://www.tbsdtv.com/download/document/linux/dvb-fe-mxl5xx.fw
sudo cp dvb-fe-mxl5xx.fw /lib/firmware/

Now load the drivers: either reboot, or try loading the proper module for your card, e.g., tbsecp3 for many cards:

sudo modprobe tbsecp3

Check /var/log/debug for messages. If there are i2c_xfer error messages, try editing the file tbsecp3-cards.c. In that file lcate the entry for your card and change i2c_speed to 9.

If you have this problem then report it. Also report if the solution works,