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
- Silicon Labs Si2158 tuner
- Silicon Labs Si2168 demodulator
- NXP SAA7160 PCIe audio and video bridge (same as TBS6284)
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