Hobbyist Open Source Satellite Receiver - Raspberry Pi 2 Instructions and Tips

Status
Please reply by conversation.

fred555

Pub Member
Original poster
Lifetime Supporter
Sep 18, 2014
7,976
7,024
77W
DVB-S2 on Raspberry Pi2 Tutorial
Initial Pi2 Setup

The first step is to get a good microSD card, tests here show that the Sandisk Ultra microSD HC Class 10 is a good one.
I have so far experienced a 100% failure rate with the Samsung Evo cards.
One was DOA and the other died after only a few hours of use.
I have run 50+ hours of compiling on the same Sandisk card and it is still going strong.
Get a few extras too. They don't last forever. See last section for size and backup considerations.

sandiskultra.jpg


Go here and download Win32DiskImager:
http://downloads.sourceforge.net/project/win32diskimager/Archive/Win32DiskImager-0.9.5-install.exe?r=http://sourceforge.net/projects/win32diskimager/&ts=1426604080&use_mirror=hivelocity


Go here and get the Raspian Debian Wheezy Image:
Raspbian
Debian Wheezy
Version: February 2015
Release date: 2015-02-16
http://downloads.raspberrypi.org/raspbian_latest

Go here and read how to get the image onto the SD card.
http://www.raspberrypi.org/documentation/installation/installing-images/README.md

Boot up the PI, you will get to this screen:
Initial Sreen.jpg

Expand the root file system to fill entire SD card.
Once we get ready to actually watch some shows, I will explain how to setup overscan and other video tweaks on the PI to get the best picture.
Configure your keyboard.
You can change the default pi user password here if you want
The default user on Raspbian is pi with the password raspberry.
Change locale.
Change timezone.
We will look at memory split later when we optimize the pi for video.
Make sure ssh is turned on.
Do not start the desktop on boot. If you really want the gui later, type startx at the command line.
Installation of USB DVB-S2 tuners will all be done at the command line and the gui is just extra overhead during compile.
So turn it off for now.
Run raspi-config to revisit this screen later on.

Go here to read about all the other options:
http://www.raspberrypi.org/documentation/configuration/raspi-config.md


Once you log in, type the following:
sudo passwd root

Set the root password. Logout then log back in as root. You will save yourself from having to type su or sudo all the time. This is not a Fortune 500 highly sensitive and secure type system. Logging in as root will save time during setup.


Go here and download the putty ssh client to a PC or laptop:
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Use putty to remote into your Pi. Doing it this way allows to copy and paste the statements given in tutorials.

You paste into putty by just right clicking.
To copy from putty you simply select the text by holding down the left mouse button and highlighting.

Another handy feature with putty is logging.
Right click on the top border, click on change settings.
Under the session category, click logging.
Under session logging, select all session logging, browse to a suitable location.
Then click apply.

You will now have a record of everything you typed and everything the PI spit back out at you. /username/.bash_history only shows what you typed in not the results.This feature is handy to go back and review your work if you made a mistake or to log compiling to be able to see what has left the viewing area. To stop logging, go back in and select none under session logging. The logging will also stop automatically when you exit the session.

Back Up Your SD Card Often
Once you finish initial setup, use Win32DiskImager to "read" an image of your sd card to another computer. Do this every time you complete a major step. Use a new rev number or name every time so you don't overwrite the older ones. You will have a complete archive of all your images if you need to go back to some point and time and start fresh for for various reasons. I am currently using 16B sd cards, this may be overkill as it is no where near filled and it takes a long time to read and write an image. Also storage space for images on your PC will grow fast. Consider using an 8GB card. You can expand it later if needed. It may be more difficult to impossible to shrink 16GB image, I have not tried it.
Right-click on the Win32DiskImager icon, and select Run as administrator.

Select a location on your computer and name for the backup image.

Select the drive letter of the SD card in the device box.

Click Read and wait for the Image to complete.

Exit the imager and eject the SD card.


Thanks to KE4EST for ideas on this.
 
Last edited:
Part II.
Get Running Kernel with matching source.

In preparation for building drivers.


Code:
I logon as root to avoid su and sudo.
Pi must have an Internet connection too.

uname -r
result: 3.18.7-v7+
apt-get update
apt-get upgrade
apt-get install bc
cd /usr/src
wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz
tar xvfz linux-rpi-3.18.y.tar.gz
cd /usr/src/linux-rpi-3.18.y
make bcm2709_defconfig
make -j4
mv /lib/modules/3.18.7+ /lib/modules/3.18.7+.bak
mv /lib/modules/3.18.7-v7+ /lib/modules/3.18.7-v7+.bak
make modules
make modules_install
make headers_install

#Make sure you backup your old /boot/kernel.img
cp /boot/kernel.img /boot/kernel.img.bak

while still in this directory: /usr/src/linux-rpi-3.18.y
cp arch/arm/boot/zImage /boot/kernelnew.img

nano /boot/config.txt
add the following:
kernel=kernelnew.img

make sure there are no other kernel=
statements anywhere

I usually add the kernel= at the top somehwere


shutdown -r now

uname -r
root@pi2:~# uname -r
3.18.9-v7

Type this to back up Kernel config:
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.bak


http://www.raspberrypi.org/documentation/linux/kernel/building.md
 
Part III.
Installing TBS-5922 Drivers on the Pi2
NOTE: This Will NOT work with TBS-5922SE


Code:
I logon as root to avoid su and sudo.
Pi must have an Internet connection too.

The lines with # are just my comments

#Turn of the IR sensor it will cause problems
nano /etc/modprobe.d/dvbir.conf
options dvb_usb disable_rc_polling=1

# Add a few dependencies
apt-get install patchutils
cpan Proc::processTable
Hit Enter to except [Yes] answers when prompted

#Get the open source drivers
cd /root
git clone --depth=1 https://github.com/ljalves/linux_media.git -b latest ./media

#Fix some code so compile does not fail, although it still spits out a nonsensical warning about something else.
nano /root/media/drivers/media/dvb-frontends/tas2101.c
Comment the folowing as shown below (*/):
/*#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)*/
#define TAS2101_USE_I2C_MUX
/*#endif*/

#Copy driver sources into kernel source directories
cp /root/media/drivers/media/dvb-frontends/tas2101.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/tas2101.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/tas2101_priv.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/usb/dvb-usb/tbs-qbox22.c /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb
cp /root/media/drivers/media/usb/dvb-usb/tbs-qbox22.h /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb
cp /root/media/drivers/media/tuners/av201x.h /usr/src/linux-rpi-3.18.y/drivers/media/tuners
cp /root/media/drivers/media/tuners/av201x.c /usr/src/linux-rpi-3.18.y/drivers/media/tuners
cp /root/media/drivers/media/tuners/av201x_priv.h /usr/src/linux-rpi-3.18.y/drivers/media/tuners

#Make additions to Makefiles and Kconfigs so system will process the code
#The <tab> means remove the <tab> and then hit the tab key, you are trying to
#format the additions to look like whats alreay there. Same with <2 spaces>



#Add to the end of/usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/Makefile
obj-$(CONFIG_DVB_TAS2101) += tas2101.o

#Add to the end of /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/Kconfig
#before the endmenu statement

config DVB_TAS2101
<tab>tristate "Tmax TAS2101 based"
<tab>depends on DVB_CORE && I2C
<tab>default m if !MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab>A DVB-S demod and tuner module.
<tab><2 spaces>Say Y when you want to support this frontend.

#Add to the end of/usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/Makefile
#before the first ccflags-y statement

dvb-usb-tbsqbox22-objs = tbs-qbox22.o
obj-$(CONFIG_DVB_USB_TBSQBOX22) += dvb-usb-tbsqbox22.o

#Add to the end of /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/Kconfig

config DVB_USB_TBSQBOX22
<tab>tristate "TurboSight QBOX22 DVB-S2 USB2.0 support"
<tab>depends on DVB_USB
<tab>select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
<tab>select DVB_TAS2101 if MEDIA_SUBDRV_AUTOSELECT
<tab>select MEDIA_TUNER_AV201X if MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab><2 spaces>Say Y here to support the TurboSight QBOX22 DVB-S USB2.0 receivers

#Add to the end of /usr/src/linux-rpi-3.18.y/drivers/media/tuners/Makefile
#before the first ccflags-y statement

obj-$(CONFIG_MEDIA_TUNER_AV201X) += av201x.o


#Add to the end of /usr/src/linux-rpi-3.18.y/drivers/media/tuners/Kconfig
#before the endmenu statement

config MEDIA_TUNER_AV201X
<tab>tristate "Airoha Technology AV201x silicon tuner"
<tab>depends on MEDIA_SUPPORT && I2C
<tab>default m if !MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab><2 spaces>Airoha Technology AV201x silicon tuner driver.


#back up the .config file
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.tbs

#Here is where the fun begins
#Compile time 5 minutes

cd /usr/src/linux-rpi-3.18.y
make -j4
You will be asked if you want to add the new modules, like this:
Airoha Technology AV201x silicon tuner (MEDIA_TUNER_AV201X) [M/n/?] (NEW)

type a small m to add the module to the build then hit Enter

mv /lib/modules/3.18.9-v7 /lib/modules/3.18.9-v7.bak
make modules
make modules_install
make headers_install

#Make sure you backup your old /boot/kernel.img
cp arch/arm/boot/zImage /boot/kerneltbs.img
nano /boot/config.txt
#add the following:
kernel=kerneltbs.img

#If you don't have the firmware file dvb-usb-tbsqbox-id5922.fw I will attach, take off the .txt and copy to /lib/firmware.
shutdown -r now

After rebooting into the new kernel type this to back up Kernel config:
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.tbs.bak
 

Attachments

  • dvb-usb-tbsqbox-id5922.fw.txt
    8 KB · Views: 300
Last edited by a moderator:
Part IV.
Installing the Tevii S662 Drivers on the Pi2


Code:
I logon as root to avoid su and sudo.
Pi must have an Internet connection too.

The lines with # are just my comments

#Turn of the IR sensor in the Tevii it will cause problems
nano /etc/modprobe.d/dvbir.conf
options dvb_usb disable_rc_polling=1

# Add a few dependencies if you haven't already
apt-get install patchutils
cpan Proc::processTable
Hit Enter to except [Yes] answers when prompted

#Get the open source drivers
mkdir /root/s662driver
cd /root/s662driver
wget https://bitbucket.org/CrazyCat/s2-liplianin-v39/get/c8bc2800443a.zip
unzip c8bc2800443a.zip

cd CrazyCat-s2-liplianin-v39-c8bc2800443a
#The following make will fail but we are really just leting it produce the soucre we need
make

cd /usr/src/linux-rpi-3.18.y

#Copy driver sources into kernel source directories
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ts2022.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ts2022.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ts2020.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ts2020.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ds3103.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ds3103.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ds3000.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/ds3000.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/dw2102.h /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb
cp /root/s662driver/CrazyCat-s2-liplianin-v39-c8bc2800443a/v4l/dw2102.c /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb

#remove the old modules if they exist so the new ones will get made
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ts2020.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ts2020.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ts2020.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ts2020.mod.c
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ds3000.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ds3000.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ds3000.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/ds3000.mod.c
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/dw2102.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/dw2102.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/dw2102.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/dw2102.mod.c


#Make additions to Makefiles and Kconfigs so system will process the code
#The <tab> means remove the <tab> and then hit the tab key, you are trying to
#format the additions to look like whats already there. Same with <2 spaces>

#Add the following to /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/Kconfig
#at the end before the endmenu staement

config DVB_TS2022
<tab>tristate "Montage Tehnology TS2022 based tuners"
<tab>depends on DVB_CORE && I2C
<tab>default m if !MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab><2 spaces>A DVB-S/S2 silicon tuner. Say Y when you want to support this tuner.

config DVB_DS3103
<tab>tristate "Montage DS3103"
<tab>depends on DVB_CORE && I2C && I2C_MUX
<tab>default m if !MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab><2 spaces>Say Y when you want to support this frontend.

comment "Multistandard (cable + terrestrial) frontends"
<tab>depends on DVB_CORE


#Add to to the end of/usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/Makefile

obj-$(CONFIG_DVB_DS3103) += ds3103.o
obj-$(CONFIG_DVB_TS2022) += ts2022.o

#back up the .config file
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.tevi

#Here is where the fun begins
#Compile time about 5 minutes

cd /usr/src/linux-rpi-3.18.y
make -j4

#You will be asked if you want to add the new modules, like this:
#Montage Tehnology TS2022 based tuners (DVB_TS2022) [M/n/?] (NEW) m
#Type a small m to add the module to the build


mv /lib/modules/3.18.9-v7 /lib/modules/3.18.9-v7.tevi.bak
make modules
make modules_install
make headers_install

#Make sure you backup your old /boot/kernel.img
cp arch/arm/boot/zImage /boot/kerneltevi.img
nano /boot/config.txt
#add the following:
kernel=kerneltevi.img

#If you don't have the firmware file dvb-fe-ds3103.fw I will attach, take off the .txt and copy to /lib/firmware.

#Back up the Kernel config
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.tevi.bak

shutdown -r now


Type dmesg at the command prompt and you should get the following results:


Code:
[    3.720207] usb 1-1.4: New USB device found, idVendor=9022, idProduct=d662
[    3.720221] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.720230] usb 1-1.4: Product: DVB-S/S2 Box
[    3.720239] usb 1-1.4: Manufacturer: Jactek
[    3.720248] usb 1-1.4: SerialNumber: 000000031
[    4.168305] dw2102: su3000_identify_state
[    4.168305]
[    4.168311] dvb-usb: found a 'TeVii S662' in warm state.
[    4.168340] dw2102: su3000_power_ctrl: 1, initialized 0
[    4.169926] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[    4.171733] DVB: registering new adapter (TeVii S662)
[    4.182996] dvb-usb: MAC address: 00:18:bd:5b:b8:1d
[    4.554589]  Chip ID != [DS300X]! Not supported by this module
[    4.627010]  Chip ID = [DS3103]!
[    4.639570] DS3103 chip version: 0.208 attached.
[    4.698787] dw2102: Attached DS3103/TS2022!
[    4.709144] usb 1-1.4: DVB: registering adapter 0 frontend 0 (Montage Technology DS3103/TS2022)...
[    4.729795]
[    4.729826] dvb-usb: schedule remote query interval to 250 msecs.
[    4.729848] dw2102: su3000_power_ctrl: 0, initialized 1
[    4.729848]
[    4.729860] dvb-usb: TeVii S662 successfully initialized and connected.
[    4.730084] usbcore: registered new interface driver dw2102

You may see some strange things in the log but the unit should work:

Code:
Like this:
[    7.449256] dvb-usb: recv bulk message failed: -110
[    7.457999] dw2102: i2c transfer failed.

Disabling the IR sensor seems to get rid of most of these errors.

Or this even though the firmware is in place:

[ 2694.968322] ds3103_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3103.fw)...
[ 2694.968474] ds3103_firmware_ondemand: Waiting for firmware upload(2)...
[ 2696.376810] ts2022_set_params: offset 428khz
[ 2696.376835] ts2022_set_params: 1365000khz 1365428khz
[ 2754.955428] dw2102: su3000_power_ctrl: 0, initialized 1
[ 2754.955428]
[ 2826.804496] dw2102: su3000_power_ctrl: 1, initialized 1
[ 2826.804496]
[ 2826.818961] ds3103_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3103.fw)...
[ 2826.819119] ds3103_firmware_ondemand: Waiting for firmware upload(2)...
[ 2828.367408] ts2022_set_params: offset 785khz
[ 2828.367433] ts2022_set_params: 1193000khz 1193785khz
[ 2886.809812] dw2102: su3000_power_ctrl: 0, initialized 1
 

Attachments

  • dvb-fe-ds3103.fw.txt
    8 KB · Views: 219
Last edited by a moderator:
Excellent guide Fred!

Are you considering making a bootable disk image of your SD card? What do you think the size of the resulting image file would be?

That could make it very easy for people who just want to get started quickly.
 
Well was almost there, corrupted the Kernel somehow, back to the top. :)
 
Excellent guide Fred!

Are you considering making a bootable disk image of your SD card? What do you think the size of the resulting image file would be?

That could make it very easy for people who just want to get started quickly.

I think the smallest size would be 8GB, I have no idea where an image of this size could be hosted.
 
Well was almost there, corrupted the Kernel somehow, back to the top. :)

Sorry to here that. If it makes you feel any better my 8GB SD cards just arrived. I will be starting over with you.
With all the sources and everything 8GB is the smallest card that will work. I am scaling down from 16GB cards.

Also I had the same thing happen, it turned out the Samsung SD card was bad.
 
Last edited:
Been compiling now for a little over an hour, this the first time I have felt some heat radiating from this baby.
 
Fred and I are still hard at it. I made some changes to the above instructions.
 
Excellent guide Fred!

Are you considering making a bootable disk image of your SD card? What do you think the size of the resulting image file would be?

That could make it very easy for people who just want to get started quickly.

I'm am starting at the beginning with an 8GB card. When I finish, I will try to compress it then report the new size.
 
Has anyone been working on this besides Fred and myself? If so let us know. Also I made more changes to the instructions above.
 
I think the smallest size would be 8GB, I have no idea where an image of this size could be hosted.

I'm am starting at the beginning with an 8GB card. When I finish, I will try to compress it then report the new size.

It could be broken up into multiple parts. Here is a link to info on how to do that: http://kb.winzip.com/help/help_splitdlg.htm

If you can't find a host, then I am willing to host it on my website. Just let me know and I'll setup an ftp account for you and the other people here on SatGuys.
 
It could be broken up into multiple parts. Here is a link to info on how to do that: http://kb.winzip.com/help/help_splitdlg.htm

If you can't find a host, then I am willing to host it on my website. Just let me know and I'll setup an ftp account for you and the other people here on SatGuys.

I have the TBS and Tevii drivers built on an 8GB card now so I will see what I can do with it to compress it and break it up so it can be hosted somewhere. I will report back when I am done.
 
  • Like
Reactions: Titanium
Well after hours and hours of coding, compiling and calling fred555 for help and he spent hours on it. It has been determined that the TBS-5922SE will not work with above instructions.
Stay tuned though, still working at it. :)
 
By the way, the first two files are 700MB each and the last is 536MB.
 
  • Like
Reactions: fred555
Part V.
Installing the TBS-5980 Drivers on the Pi2


Code:
I logon as root to avoid su and sudo.
Pi must have an Internet connection too.

The lines with # are just my comments

#Turn of the IR sensor it will cause problems
nano /etc/modprobe.d/dvbir.conf
options dvb_usb disable_rc_polling=1

# Add a few dependencies
apt-get install patchutils
cpan Proc::processTable
Hit Enter to except [Yes] answers when prompted

#Get the open source drivers
cd /root
git clone --depth=1 https://github.com/ljalves/linux_media.git -b latest ./media

# If you have already run previous TBS driver compile, start here.

#Copy driver sources into kernel source directories
cp /root/media/drivers/media/dvb-frontends/stv6110x.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv6110x.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv6110x_priv.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv6110x_reg.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
#
cp /root/media/drivers/media/dvb-frontends/stv090x.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv090x.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv090x_priv.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stv090x_reg.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
#
cp /root/media/drivers/media/dvb-frontends/stb6100.c /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stb6100.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stb6100_proc.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
cp /root/media/drivers/media/dvb-frontends/stb6100_cfg.h /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends
#
cp /root/media/drivers/media/usb/dvb-usb/tbs-qbox2ci.c /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb
cp /root/media/drivers/media/usb/dvb-usb/tbs-qbox2ci.h /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb
cp /root/media/drivers/media/usb/dvb-usb/technisat-usb2.c /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb

#remove the old modules if they exist so the new ones will get made
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv6110x.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv6110x.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv6110x.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv6110x.mod.c
#
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv090x.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv090x.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv090x.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stv090x.mod.c
#
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stb6100.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stb6100.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stb6100.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/dvb-frontends/stb6100.mod.c
#
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/tbs-qbox2ci.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/tbs-qbox2ci.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/tbs-qbox2ci.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/tbs-qbox2ci.mod.c
#
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/technisat-usb2.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/technisat-usb2.ko
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/technisat-usb2.mod.o
rm /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/technisat-usb2.mod.c

#Make additions to Makefiles and Kconfigs so system will process the code
#The <tab> means remove the <tab> and then hit the tab key, you are trying to
#format the additions to look like whats already there. Same with <2 spaces>

#Add the following to /usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/Kconfig
#at the end

config DVB_USB_TBSQBOX2CI
<tab>tristate "TurboSight QBOX2 CI DVB-S2 USB2.0 support"
<tab>depends on DVB_USB
<tab>select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
<tab>select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT
<tab>select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
<tab>help
<tab><2 spaces>Say Y here to support the TurboSight QBOX2 CI DVB-S USB2.0 receivers

#Add to the end of/usr/src/linux-rpi-3.18.y/drivers/media/usb/dvb-usb/Makefile
#before the first ccflags-y statement

dvb-usb-tbsqbox2ci-objs = tbs-qbox2ci.o
obj-$(CONFIG_DVB_USB_TBSQBOX2CI) += dvb-usb-tbsqbox2ci.o

#back up the .config file
cp /usr/src/linux-rpi-3.18.y/.config /usr/src/linux-rpi-3.18.y/.config.tbs2ci.bak

#Here is where the fun begins
#Compile time 5 minutes

cd /usr/src/linux-rpi-3.18.y
make -j4
You will be asked if you want to add the new modules, like this:
TurboSight QBOX2 CI DVB-S2 USB2.0 support (DVB_USB_TBSQBOX2CI) [N/m/?] (NEW)

type a small m to add the module to the build then hit Enter

mv /lib/modules/3.18.9-v7 /lib/modules/3.18.9-v7.bak
make modules
make modules_install
make headers_install

#Make sure you backup your old /boot/kernel.img
cp arch/arm/boot/zImage /boot/kerneltbsci.img
nano /boot/config.txt
#add the following:
kernel=kerneltbsci.img

#If you don't have the firmware file dvb-usb-tbsqbox-id5980.fw I will attach, take off the .txt and copy to /lib/firmware.
shutdown -r now

Peter Gunn streaming to laptop from PI2/TBS-5980
pg.jpg
The Flexshot dude in his boat.
boat.jpg
 

Attachments

  • dvb-usb-tbsqbox-id5980.fw.txt
    8 KB · Views: 239
Last edited:
  • Like
Reactions: KE4EST
I will also post a new image file tomorrow (r4) that will include the TBS-5980 as well as the others.
 
  • Like
Reactions: KE4EST
Thanks for the new Info Fred!! You have been an awesome asset on this project.
 
  • Like
Reactions: fred555
Status
Please reply by conversation.
***

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)

Who Read This Thread (Total Members: 1)

Latest posts