From LinuxTVWikiTBS6284 PCI-E DVB-T2 Quad TV Tuner Card, as the name suggests, is a DVB-T2 PCIe Cards from TBS Technologies. It is a new product since October 2011, which is specially designed
- 1 x PCI Express Interface
- Four DVB T/T2 Freeview SD& HD Channels Receiving
- DiSEqC 2.x Compliant
- Linux Support
- NXP18272 X4(Tuner)
- SONY CXD2820(Demod)
lspci -v | grep --after-context=9 7160
02:00.0 Multimedia controller : Philips Semiconductors SAA7160 [1131:7160] (rev 02) Subsystem: Device [6284:0001] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at fdd00000 (64-bit, non-prefetchable) [size=1M] Capabilities: <access denied> Kernel driver in use: SAA716x TBS Kernel modules: saa716x_tbs-dvb
If the driver is not yet installed or loaded, then output will instead be
02:00.0 Multimedia controller: Philips Semiconductors Device 7160 (rev 02) Subsystem: Device 6284:0001 Flags: bus master, fast devsel, latency 0, IRQ 10 Memory at fe900000 (64-bit, non-prefetchable) [size=1M] Capabilities:  Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable- Capabilities:  Express Endpoint, MSI 00 Capabilities:  Power Management version 2 Capabilities:  Vendor Specific Information <?> Capabilities:  Vendor Specific Information <?>
TurboSight Proprietary by Konstantin Dimitrov <email@example.com> for TurboSight TBS 62x0 DVBT/T2/C frontend driver module of www.turbosight.com
Making it work
1. Extract the ZIP file tbs-linux-drivers_v[VERSION NUMBER].zip. As of 14 January 2014, the latest version is 140113. You may want to do this in an empty directory as this archive does not extract into a single root directory of its own.
unp -u tbs-linux-drivers_v140113.zip
2. Extract linux-tbs-drivers.tar.bz2 archive
3. Change to driver package directory
4. Select platform architecture
for x86 kernel 3.x (x86 32 bit installations of kernel 3.x)
or for x86 kernel 2.6.x (x86 32 bit installations of kernel 2.6.x)
or for any x86_64 kernel (x86 64 bit installations of Linux)
You should then receive a message along these lines:
TBS drivers configured for [NAME OF PLATFORM] platform.
5. Build the driver. Recompiles v4l for a wide range of cards, currently 485, will take many minutes.
If you get -bash: make: command not found, then sudo apt-get install build-essential
6. Install driver. Existing drivers for other v4l related hardware, such as lirc could also get updated.
sudo make install
7. Load newly installed driver
sudo modprobe -v tbs62x0fe
insmod /lib/modules/3.(your kernel version)-generic/kernel/drivers/media/dvb/frontends/tbs62x0fe.ko
8. Check it loaded correctly
You should get a message about tainting the kernel. This is fine.
kernel: tbs62x0fe: module license 'TurboSight Proprietary' taints kernel.
dmesg | tail should end with something along these lines:
[ 7330.361868] tbs62x0fe: module license 'TurboSight Proprietary' taints kernel. [ 7330.361875] Disabling lock debugging due to kernel taint
dvb adaptor nodes should now exist
ls -al /dev/dvb
drwxr-xr-x 2 root root 120 Jul 9 21:12 adapter0 drwxr-xr-x 2 root root 120 Jul 9 21:12 adapter1 drwxr-xr-x 2 root root 120 Jul 9 21:12 adapter2 drwxr-xr-x 2 root root 120 Jul 9 21:12 adapter3
Errors and troubleshooting
make: *** No rule to make target `tbs8921ctrl.o', needed by `v4l/media.o'. Stop.
Did you select the correct platform in step 4 above?
Fighting with another tuner card in load order at boot time - http://www.tbsdtv.com/forum/viewtopic.php?f=62&t=7747
make: *** No rule to make target `.myconfig', needed by `config-compat.h'. Stop.
Make sure you have the right C header files installed for your Linux kernel version.
Some weeks later your /dev/dvb directory has disappeared?
Perhaps your kernel was updated, and your machine rebooted.
The driver needs to be recompiled.
If you just run make, it will try to compile against the old kernel headers, so first run
Then go back to step 5.
Sample Kernel Output
[ 6.125838] tbs6928fe: module license 'TurboSight Proprietary: www.tbsdtv.com' taints kernel. [ 6.125842] Disabling lock debugging due to kernel taint [ 6.206009] Registered IR keymap rc-tbs-nec [ 6.206058] input: saa716x IR (TurboSight TBS 6284) as /devices/pci0000:00/0000:00:1c.3/0000:04:00.0/rc/rc1/input5 [ 6.206081] rc1: saa716x IR (TurboSight TBS 6284) as /devices/pci0000:00/0000:00:1c.3/0000:04:00.0/rc/rc1 [ 6.206141] DVB: registering new adapter (SAA716x dvb adapter) [ 6.261725] input: MCE IR Keyboard/Mouse (saa716x) as /devices/virtual/input/input7 [ 6.277606] rc rc1: lirc_dev: driver ir-lirc-codec (saa716x) registered at minor = 1 [ 7.092446] TurboSight TBS6284 DVB-T2 card port0 MAC=ff:ff:ff:ff:ff:ff [ 7.092450] DVB: registering adapter 0 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)... [ 7.092538] DVB: registering new adapter (SAA716x dvb adapter) [ 7.140415] TurboSight TBS6284 DVB-T2 card port1 MAC=ff:ff:ff:ff:ff:ff [ 7.140418] DVB: registering adapter 1 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)... [ 7.140476] DVB: registering new adapter (SAA716x dvb adapter) [ 7.792511] TurboSight TBS6284 DVB-T2 card port2 MAC=ff:ff:ff:ff:ff:ff [ 7.792515] DVB: registering adapter 2 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)... [ 7.792595] DVB: registering new adapter (SAA716x dvb adapter) [ 7.840515] TurboSight TBS6284 DVB-T2 card port3 MAC=ff:ff:ff:ff:ff:ff [ 7.840517] DVB: registering adapter 3 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)...