TBS6285: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
m (Fix category link)
Line 18: Line 18:
===Components Used===
===Components Used===


* Silicon Labs [https://www.silabs.com/Support%20Documents/TechnicalDocs/Si2158-short.pdf Si2158] tuner
* Si2158 (Tuner)
* Silicon Labs [http://www.silabs.com/products/video/demodulator/Pages/Si2168.aspx Si2168 demodulator
* Si2168 (Demod)
* NXP [http://www.nxp.com/documents/data_sheet/SAA7160.pdf SAA7160] PCIe audio and video bridge (same as [[TBS6284]])
* SAA7160


===Other Images===
===Other Images===

Revision as of 18:06, 25 June 2015

TBS6285

An DVB-T2 PCIe Card from TurboSight. TBS6285 PCI-E low profile DVB-T2 Quad TV Tuner Card, as the name suggests, is a DVB-T2 PCIe Card from TBS Technologies. It is an update to the TBS6284 card for DVB T2 reception countries, such as UK, Sweden. It supports watching or recording four different channels .This DVB T2 PC TV card is ready with windows BDA driver and Linux driver. It’s ideal for watching UK Freeview SD and HD channels on PC.

This card is similar as the TBS6284 card, so use the same procedure to install.

Overview/Features

  • 1 x PCI Express Interface
  • low profile
  • Four DVB T/T2 Freeview SD& HD Channels Receiving
  • DiSEqC 2.x Compliant
  • Linux Support
  • 'F' type female screw connectors and provides RF in and out signals for other TV tuners.

Components Used

Other Images

Identification

# lspci -vvvnn
03:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02)
       Subsystem: Device [6285: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: 32 bytes
       Interrupt: pin A routed to IRQ 45
       Region 0: Memory at fdf00000 (64-bit, non-prefetchable) [size=1M]
       Capabilities: [40] MSI: Enable+ Count=1/32 Maskable- 64bit+
               Address: 00000000fee0300c  Data: 4191
       Capabilities: [50] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
               LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <4us, L1 <64us
                       ClockPM- Surprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
       Capabilities: [74] Power Management version 2
               Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot-,D3cold-)
               Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [80] Vendor Specific Information: Len=50 <?>
       Capabilities: [100 v1] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?>
       Kernel driver in use: SAA716x TBS


Making it Work

When installed into Myth TV 0.26 or 0.27, the driver install process caused issues on a mythbuntu build.

I followed this process

  1. Update the install with update/upgrade
  2. Install TBS drivers as per TBS6284 instructions
  3. nothing was added to the /var/log/syslog or dmesg output
  4. reboot the system
  5. I found "disagrees about version of symbol dvb_frontend_detach" messages in the dmesg output, so follow instructions for this at the TBS forum [1]
     a. cd to the "tbs-linux-drivers" subdirectory
     b. move or delete the contents of the kernel library drivers/media subdirectory using 
        "sudo mv /lib/modules/$(uname-r)/kernel/drivers/media ~/.media.bak" or 
        "rm -Rf /lib/modules/3.8.0-29-generic/kernel/drivers/media" (this is for Ubuntu based systems)
     c. reinstall drivers using "sudo make install"
     d. reboot the system

This gives working card drivers loaded and seen during the boot sequence.


When the kernel is updated (due to security updates), then I found the TBS help wiki's fedora installation instructions useful. These are:

  1. cd to the "tbs-linux-drivers" subdirectory
  2. move or delete the contents of the kernel library drivers/media subdirectory using 
     "sudo mv /lib/modules/$(uname -r)/kernel/drivers/media ~/.media.bak" or 
     "rm -Rf /lib/modules/3.8.0-29-generic/kernel/drivers/media" (this is for Ubuntu based systems)
  3. Reconfigure the drivers. For this I found the following steps which worked for me.
     a. clean out the code and reset the installation kernel data using the "sudo make distclean" command
     b. rerun the installation settings script with the "sudo ./v4l/tbs-x86_64.sh" command
     c. configure the driver settings (this is a guess) using the "sudo make release" command
     d. configure the driver settings (this is a guess) using the "sudo make menuconfig" command. 
        I enabled the "Enable drivers not supported by this kernel" which on hindsight should be left unchecked. 
        The fedora instructions said to just exit this. 
  4. rebuild the driver using the "sudo make" command (this will take a while)
  5. reinstall drivers using the "sudo make install" command
  6. load newly installed driver using the "sudo modprobe -v tbs62x0fe" command
  7. reboot the system

The installation now uses and installs to the latest kernel's "/lib/modules/" directory.

IRQ Issues

After an extended period the combined TBS driver may crash with messages (check using dmesg) such as:

 irq 16: nobody cared (try booting with the "irqpoll" option)
 ...
 Disabling IRQ #16

This will render the device inoperable until rebooting (including IR receiver), meaning it won't be able to record anything.

This can be resolved by configuring the driver to use MSI instead of IRQ:

 sudo sh -c 'echo options saa716x_tbs_dvb int_type=1 > /etc/modprobe.d/tbs.conf'

See this TBS forum thread for more details.

Compatibility with other cards

As noted above you should remove the kernel's existing media drivers before installing the TBS driver package, I omitted this step when installing the drivers and whilst the card worked fine (Mythtv 0.27/Debian 7) my other DVB-S2 tuner card would fail to initialize on start up. There was no obvious messages in the dmesg output indicating symbol issues, the card simply wouldn't work. Once I removed the media directory before installing the TBS drivers the card worked correctly. (The driver in the v4l tree used by the TBS drivers was actually a different name than the one in the Linux kernel I had installed).

Additionally it's worth noting that the TBS drivers don't appear to support the 'adapter_nr' argument.

Firmware

Drivers

Sample Kernel Output

# dmesg
[    5.889300] TurboSight TBS6285 DVB-T2 card port0 MAC=ff:ff:ff:ff:ff:ff
[    5.889313] DVB: registering adapter 0 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    5.889659] DVB: registering new adapter (SAA716x dvb adapter)
[    6.085293] TurboSight TBS6285 DVB-T2 card port1 MAC=ff:ff:ff:ff:ff:ff
[    6.085305] DVB: registering adapter 1 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    6.086188] DVB: registering new adapter (SAA716x dvb adapter)
[    6.273291] TurboSight TBS6285 DVB-T2 card port2 MAC=ff:ff:ff:ff:ff:ff
[    6.273302] DVB: registering adapter 2 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    6.273675] DVB: registering new adapter (SAA716x dvb adapter)
[    6.461291] TurboSight TBS6285 DVB-T2 card port3 MAC=ff:ff:ff:ff:ff:ff
[    6.461301] DVB: registering adapter 3 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    6.462190] SAA716x TBS 0000:03:00.0: setting latency timer to 64
[    6.462584] SAA716x TBS 0000:03:00.0: irq 45 for MSI/MSI-X
[    6.472213] DVB: registering new adapter (SAA716x dvb adapter)
[    6.661281] TurboSight TBS6285 DVB-T2 card port0 MAC=ff:ff:ff:ff:ff:ff
[    6.661290] DVB: registering adapter 4 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    6.661570] DVB: registering new adapter (SAA716x dvb adapter)
[    6.849279] TurboSight TBS6285 DVB-T2 card port1 MAC=ff:ff:ff:ff:ff:ff
[    6.849288] DVB: registering adapter 5 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    6.849586] DVB: registering new adapter (SAA716x dvb adapter)
[    7.037280] TurboSight TBS6285 DVB-T2 card port2 MAC=ff:ff:ff:ff:ff:ff
[    7.037288] DVB: registering adapter 6 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[    7.037573] DVB: registering new adapter (SAA716x dvb adapter)
[    7.225282] TurboSight TBS6285 DVB-T2 card port3 MAC=ff:ff:ff:ff:ff:ff
[    7.225292] DVB: registering adapter 7 frontend 0 (TurboSight TBS 62x1 DVBT/T2 frontend)...
[  112.412577] TurboSight TBS 62x1 Frontend:
[  112.412580]  tbs62x1fe - software version is 2.0.0.0
[  113.444129] TurboSight TBS 62x1 Frontend:
[  113.444132]  tbs62x1fe - Successfully Initialized
[  114.640682] TurboSight TBS 62x1 Frontend:
[  114.640685]  tbs62x1fe - software version is 2.0.0.0
[  115.720133] TurboSight TBS 62x1 Frontend:
[  115.720138]  tbs62x1fe - Successfully Initialized
[  116.964580] TurboSight TBS 62x1 Frontend:
[  116.964583]  tbs62x1fe - software version is 2.0.0.0
[  117.996150] TurboSight TBS 62x1 Frontend:
[  117.996155]  tbs62x1fe - Successfully Initialized
[  119.308582] TurboSight TBS 62x1 Frontend:
[  119.308584]  tbs62x1fe - software version is 2.0.0.0
[  120.388136] TurboSight TBS 62x1 Frontend:
[  120.388141]  tbs62x1fe - Successfully Initialized
[  121.676561] TurboSight TBS 62x1 Frontend:
[  121.676563]  tbs62x1fe - software version is 2.0.0.0
[  122.732133] TurboSight TBS 62x1 Frontend:
[  122.732138]  tbs62x1fe - Successfully Initialized
[  126.888560] TurboSight TBS 62x1 Frontend:
[  126.888561]  tbs62x1fe - software version is 2.0.0.0
[  127.920139] TurboSight TBS 62x1 Frontend:
[  127.920143]  tbs62x1fe - Successfully Initialized
[  134.804615] TurboSight TBS 62x1 Frontend:
[  134.804618]  tbs62x1fe - software version is 2.0.0.0
[  135.836128] TurboSight TBS 62x1 Frontend:
[  135.836131]  tbs62x1fe - Successfully Initialized
[  145.220562] TurboSight TBS 62x1 Frontend:
[  145.220563]  tbs62x1fe - software version is 2.0.0.0
[  146.252132] TurboSight TBS 62x1 Frontend:
[  146.252136]  tbs62x1fe - Successfully Initialized

Remote Control Support

Working without problems

Kernel modules

# lsmod
tbs6982fe              21981  1 saa716x_tbs_dvb
tbs6680fe              17177  1 saa716x_tbs_dvb
tbs6923fe              21981  1 saa716x_tbs_dvb
tbs6985se              17489  1 saa716x_tbs_dvb
tbs6928se              17489  1 saa716x_tbs_dvb
tbs6982se              21981  1 saa716x_tbs_dvb
tbs6991fe              17452  1 saa716x_tbs_dvb
tbs6618fe              17177  1 saa716x_tbs_dvb
saa716x_core           39763  29 saa716x_tbs_dvb
tbs6922fe              21981  1 saa716x_tbs_dvb
tbs6928fe              17452  1 saa716x_tbs_dvb
tbs6991se              17489  1 saa716x_tbs_dvb
tbs6290fe              50137  1 saa716x_tbs_dvb
stv090x                42943  1 saa716x_tbs_dvb
dvb_core               77733  6 saa716x_core,saa716x_tbs_dvb
rc_core                18329  8 ir_nec_decoder,ir_rc5_decoder,ir_rc6_decoder,ir_sony_decoder,ir_mce_kbd_decoder,ir_jvc_decoder,ir_lirc_codec,saa716x_tbs_dvb
i2c_algo_bit           12841  2 saa716x_tbs_dvb,radeon
i2c_core               23876  21  i2c_algo_bit,i2c_piix4,drm,stv090x,tbs6290fe,drm_kms_helper,tbs6991se,tbs6928fe,tbs6922fe,saa716x_core,tbs6618fe,tbs6991fe,tbs6982se,tbs6928se,tbs6985se,tbs6923fe,tbs6680fe,tbs6982fe,saa716x_tbs_dvb,radeon,tbs62x1fe

External Links