TBS6284: Difference between revisions
No edit summary |
|||
(46 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
TBS6284 PCI-E DVB-T2 '''Quad''' TV Tuner Card, as the name suggests, is a [[DVB-T2 PCIe Cards]] from [[TBS |
[[image:6284-1.jpg |thumb|TBS6284]] TBS6284 PCI-E DVB-T2 '''Quad''' TV Tuner Card, as the name suggests, is a [[DVB-T2 PCIe Cards|DVB-T2 PCIe Card]] from [[TBS Technologies]]. It supports watching or recording four different channels concurrently. Launched in October 2011, the model has been superseded by the [[TBS6285]] and then [[TBS6205]]. |
||
== |
==Features and components== |
||
* 1 x PCI Express Interface |
* 1 x PCI Express Interface |
||
* Four DVB T/T2 Freeview SD& HD Channels Receiving |
* Four DVB T/T2 Freeview SD & HD Channels Receiving |
||
* DiSEqC 2.x Compliant |
* DiSEqC 2.x Compliant |
||
* |
* Linux Support |
||
The following chips are used: |
|||
* NXP [http://www.nxp.com/products/tv_and_stb_front_ends/silicon_tuners/cable_and_terrestrial_silicon_tuners/TDA18272HN.html NXP18272] x4 tuner |
|||
* Sony [http://www.sony.net/Products/SC-HP/cx_news_archives/img/pdf/vol_60/cxd2820r.pdf CXD2820] demodulator |
|||
* NXP [http://www.nxp.com/documents/data_sheet/SAA7160.pdf SAA7160] PCIe audio and video bridge |
|||
==Identification== |
|||
===Components Used=== |
|||
* NXP18272 X4(Tuner) |
|||
* SONY CXD2820(Demod) |
|||
* SAA7160 |
|||
lspci -v | grep --after-context=10 7160 |
|||
===Other Images=== |
|||
Example of output for functioning card: |
|||
<gallery perrow=4> |
|||
Image:Tbs6284-2.jpg|TBS6284-Front side |
|||
Image:Tbs6284-3.jpg|TBS6284 with mini Aerial |
|||
Image:Qbox_remote.jpg|remote control |
|||
Image:Tbs6284-4.jpg|TBS6284 package |
|||
</gallery> |
|||
===Identification=== |
|||
02:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02) |
02:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02) |
||
Line 37: | Line 30: | ||
Kernel modules: saa716x_tbs-dvb |
Kernel modules: saa716x_tbs-dvb |
||
The control and status settings are not always displayed, however: |
|||
===Making it work=== |
|||
03:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 02) |
|||
I.1 extract linux-tbs-drivers.tar.bz2 archive: |
|||
Subsystem: Device 6284:0001 |
|||
Flags: bus master, fast devsel, latency 0, IRQ 16 |
|||
Memory at fbb00000 (64-bit, non-prefetchable) [size=1M] |
|||
Capabilities: [40] MSI: Enable- Count=1/32 Maskable- 64bit+ |
|||
Capabilities: [50] Express Endpoint, MSI 00 |
|||
Capabilities: [74] Power Management version 2 |
|||
Capabilities: [80] Vendor Specific Information: Len=50 <?> |
|||
Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?> |
|||
Kernel driver in use: SAA716x TBS |
|||
Kernel modules: saa716x_tbs-dvb |
|||
Example of output for driver not yet installed or loaded. Note kernel driver and modules info is missing: |
|||
# tar xjvf linux-tbs-drivers.tar.bz2 |
|||
02:00.0 Multimedia controller: Philips Semiconductors Device 7160 (rev 02) |
|||
I.2 go to driver package directory: |
|||
Subsystem: Device 6284:0001 |
|||
Flags: bus master, fast devsel, latency 0, IRQ 10 |
|||
Memory at fe900000 (64-bit, non-prefetchable) [size=1M] |
|||
Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable- |
|||
Capabilities: [50] Express Endpoint, MSI 00 |
|||
Capabilities: [74] Power Management version 2 |
|||
Capabilities: [80] Vendor Specific Information <?> |
|||
Capabilities: [100] Vendor Specific Information <?> |
|||
==Making it work== |
|||
# cd linux-tbs-drivers |
|||
Drivers are available from the [http://www.tbsdtv.com/download/ TBS website]. |
|||
'''1. Extract the ZIP file tbs-linux-drivers_v[VERSION NUMBER].zip.''' As of 5 April 2015, the latest version is 150313. You may want to do this in an empty directory as this archive does not extract into a single root directory of its own. |
|||
I.3 build and install the driver: |
|||
unp -u tbs-linux-drivers_v140113.zip |
|||
# make && make install |
|||
'''2. Extract linux-tbs-drivers.tar.bz2 archive''' |
|||
unp linux-tbs-drivers.tar.bz2 |
|||
'''3. Change to driver package directory''' |
|||
cd linux-tbs-drivers |
|||
'''4. Select platform architecture''' |
|||
for x86 kernel 3.x (x86 32 bit installations of kernel 3.x) |
|||
./v4l/tbs-x86_r3.sh |
|||
''or'' for x86 kernel 2.6.x (x86 32 bit installations of kernel 2.6.x) |
|||
./v4l/tbs-x86.sh |
|||
''or'' for any x86_64 kernel (x86 64 bit installations of Linux) |
|||
./v4l/tbs-x86_64.sh |
|||
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. This will take many minutes. |
|||
make |
|||
If you get -bash: make: command not found, then <code>sudo apt-get install build-essential</code> |
|||
'''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''' |
|||
tail /var/log/syslog |
|||
You should get a message about tainting the kernel. This is fine. |
|||
kernel: tbs62x0fe: module license 'TurboSight Proprietary' taints kernel. |
|||
Running '''<code>dmesg | tail</code>''' 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== |
|||
===Compilation problems=== |
|||
make[3]: *** 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 |
|||
During compilation: |
|||
make[1]: *** 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. |
|||
===Problems after kernel update=== |
|||
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 |
|||
make distclean |
|||
Then go back to step 5. |
|||
===Deleting media drivers directory to resolve conflicts=== |
|||
I.4 reboot in order to load the newly installed driver: |
|||
Some users have found that deleting the whole kernel media drivers folder and then compiling can resolve conflicts. If you're not sure what your kernel version is, you can find it using the command: |
|||
uname -r |
|||
# shutdown -r now |
|||
Then as root or using sudo (directory structure shown is for Debian/Ubuntu): |
|||
===Drivers=== |
|||
Available [http://www.tbsdtv.com/english/Download.html here]. Look for the TBS6284 driver. Latest update: November 20. |
|||
rm -rf /lib/modules/<KERNEL VERSION>/kernel/drivers/media/ |
|||
===Sample Kernel Output=== |
|||
Then start the compilation and install process again. |
|||
[ 10.799367] DVB: registering adapter 0 frontend 0 (TurboSight TBS 62x0 DVBT frontend)... |
|||
[ 10.799657] DVB: registering new adapter (SAA716x dvb adapter) |
|||
[ 10.906258] DVB: registering adapter 1 frontend 0 (TurboSight TBS 62x0 DVBT frontend)... |
|||
[ 10.906496] DVB: registering new adapter (SAA716x dvb adapter) |
|||
[ 11.602240] DVB: registering adapter 2 frontend 0 (TurboSight TBS 62x0 DVBT frontend)... |
|||
[ 11.602413] DVB: registering new adapter (SAA716x dvb adapter) |
|||
[ 11.686238] DVB: registering adapter 3 frontend 0 (TurboSight TBS 62x0 DVBT frontend)... |
|||
[ 11.825776] ppdev: user-space parallel port driver |
|||
[ 12.146290] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro,commit=0 |
|||
[ 12.359789] init: plymouth-stop pre-start process (1291) terminated with status 1 |
|||
[ 12.384485] r8169 0000:04:00.0: eth0: link up |
|||
==Sample Kernel Output== |
|||
===External Links=== |
|||
[ 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)... |
|||
==External Links== |
|||
* [http://www.buydvb.net/tbs6284-pcie-dvbt2-quad-tv-tuner-card_p57.html TBS6284 Product page] |
|||
* [http://www.tbsdtv.com/forum/ |
* [http://www.tbsdtv.com/forum/viewforum.php?f=62 TBS Support forum for 6284 card] |
||
[[Category:DVB-T2 PCIe Cards]] |
[[Category:DVB-T2 PCIe Cards]] |
Revision as of 22:11, 25 June 2015
TBS6284 PCI-E DVB-T2 Quad TV Tuner Card, as the name suggests, is a DVB-T2 PCIe Card from TBS Technologies. It supports watching or recording four different channels concurrently. Launched in October 2011, the model has been superseded by the TBS6285 and then TBS6205.
Features and components
- 1 x PCI Express Interface
- Four DVB T/T2 Freeview SD & HD Channels Receiving
- DiSEqC 2.x Compliant
- Linux Support
The following chips are used:
Identification
lspci -v | grep --after-context=10 7160
Example of output for functioning card:
02:00.0 Multimedia controller [0480]: 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
The control and status settings are not always displayed, however:
03:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 02) Subsystem: Device 6284:0001 Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at fbb00000 (64-bit, non-prefetchable) [size=1M] Capabilities: [40] MSI: Enable- Count=1/32 Maskable- 64bit+ Capabilities: [50] Express Endpoint, MSI 00 Capabilities: [74] Power Management version 2 Capabilities: [80] Vendor Specific Information: Len=50 <?> Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?> Kernel driver in use: SAA716x TBS Kernel modules: saa716x_tbs-dvb
Example of output for driver not yet installed or loaded. Note kernel driver and modules info is missing:
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: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable- Capabilities: [50] Express Endpoint, MSI 00 Capabilities: [74] Power Management version 2 Capabilities: [80] Vendor Specific Information <?> Capabilities: [100] Vendor Specific Information <?>
Making it work
Drivers are available from the TBS website.
1. Extract the ZIP file tbs-linux-drivers_v[VERSION NUMBER].zip. As of 5 April 2015, the latest version is 150313. 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
unp linux-tbs-drivers.tar.bz2
3. Change to driver package directory
cd linux-tbs-drivers
4. Select platform architecture
for x86 kernel 3.x (x86 32 bit installations of kernel 3.x)
./v4l/tbs-x86_r3.sh
or for x86 kernel 2.6.x (x86 32 bit installations of kernel 2.6.x)
./v4l/tbs-x86.sh
or for any x86_64 kernel (x86 64 bit installations of Linux)
./v4l/tbs-x86_64.sh
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. This will take many minutes.
make
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
tail /var/log/syslog
You should get a message about tainting the kernel. This is fine.
kernel: tbs62x0fe: module license 'TurboSight Proprietary' taints kernel.
Running 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
Compilation problems
make[3]: *** 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
During compilation:
make[1]: *** 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.
Problems after kernel update
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
make distclean
Then go back to step 5.
Deleting media drivers directory to resolve conflicts
Some users have found that deleting the whole kernel media drivers folder and then compiling can resolve conflicts. If you're not sure what your kernel version is, you can find it using the command:
uname -r
Then as root or using sudo (directory structure shown is for Debian/Ubuntu):
rm -rf /lib/modules/<KERNEL VERSION>/kernel/drivers/media/
Then start the compilation and install process again.
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)...