TBS6280

From LinuxTVWiki
Revision as of 16:53, 19 June 2013 by Timmydog (talk | contribs) (reinstated find+chmod step as I still needed to do this during my latest update)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

A dual DVB-T/DVB-T2 PCIe card from TurboSight. The manufacturer officially supports Linux, and there is on-going development of their driver, although it is supplied as a binary blob.

Overview/Features

  • PCI-e x1
  • Dual Tuner DVB-T/DVB-T2 card
  • RF antenna pass-through

Components Used

TBC

Identification

 02:00.0 Multimedia controller: Philips Semiconductors Device 7160 (rev 03)
       Subsystem: Device 6280:0011
       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 16
       Region 0: Memory at fda00000 (64-bit, non-prefetchable) [size=1M]
       Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/5 Enable-
               Address: 0000000000000000  Data: 0000
       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- Suprise- 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 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [80] Vendor Specific Information <?>
       Capabilities: [100] Vendor Specific Information <?>
       Kernel driver in use: SAA716x TBS
       Kernel modules: saa716x_tbs-dvb

Making it Work

As of (2012-02-14) it is now possible to tune into DVB-T & DVB-T2 at the same time, both recorded and live, following the release of Linux Driver v120216. This version will also now compile on all Linux Kernels up till 3.2.x. Instructions for compiling/installing remain identical.

These instructions can all be carried out as a non-root user, until "make install".

  • Download driver zip from the manufacturer and unpack the files
wget http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v130506.zip
mkdir tbs-linux-drivers_v130506
cd tbs-linux-drivers_v130506
unzip ../tbs-linux-drivers_v130506.zip

Note: The next lines are explained in more detail in the manifacturers README: README_TBS62XY, linking to README_TBS6981

tar axvf linux-tbs-drivers.tar.bz2
cd linux-tbs-drivers
  • At this point, the supplied tar.bz2 is completely knackered in respect of the file permissions. To fix run
 find -type d -exec chmod 755 \{\} \;
 find -type f -exec chmod 644 \{\} \;
 find -name '*.sh' -exec chmod 755 \{\} \;
 find -name '*.pl' -exec chmod 755 \{\} \;
  • We need to choose 32bit or 64bit for our drivers. Run
    • ./v4l/tbs-x86.sh for 32bit;
    • ./v4l/tbs-x86_r3.sh for 32bit running kernel 3.x
    • ./v4l/tbs-x86_64.sh for 64bit.
  • We're ready to build; add -j3 for a faster build on a dual core machine, -j5 on a quad core machine, etc.
 make -j3
  • Once that has completed, you can install
 sudo make install
  • And reboot.

Sample kernel output

 SAA716x TBS 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
 SAA716x TBS 0000:02:00.0: setting latency timer to 64
 DVB: registering adapter 0 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)...
 DVB: registering new adapter (SAA716x dvb adapter)
 DVB: registering adapter 1 frontend 0 (TurboSight TBS 62x0 DVBT/T2 frontend)...

troubleshooting

Re-installing after a kernel upgrade

  • cd to the linux-tbs-drivers directory that was created in the Making it Work section above.
  • Clean out the previously built objects
 make clean
  • Choose 32bit or 64bit for our drivers again.
    • ./v4l/tbs-x86.sh for 32bit
    • ./v4l/tbs-x86_r3.sh for 32bit running kernel 3.x
    • ./v4l/tbs-x86_64.sh for 64bit.
  • Remove (or rename if you're paranoid) the config file; it will be regenerated automatically.
 rm v4l/.version
  • Build and install the modules
 make -j3
 sudo make install
  • Reboot your machine.

External Links