TBS6284: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 56: Line 56:
Capabilities: [100] Vendor Specific Information <?>
Capabilities: [100] Vendor Specific Information <?>


==Making it work==
==Making it Work==
Drivers are available from the [http://www.tbsdtv.com/download/ TBS website].


See [[TBS PCIe card setup]]
'''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.


== IRQ Issues ==
unp -u tbs-linux-drivers_v140113.zip


See [[TBS PCIe card setup#IRQ_Issues]]
'''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===
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==
==Sample Kernel Output==

Latest revision as of 13:22, 3 January 2016

TBS6284

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

See TBS PCIe card setup

IRQ Issues

See TBS PCIe card setup#IRQ_Issues

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)...

External Links