TBS6205: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
[[Image:TBS6205.jpg|thumb|right|200px|TBS 605 Card]]
TBS6205 PCI-E low profile DVB-T2 Quad TV Tuner Card, is a DVB-T2 PCIe Card from TBS Technologies. It is an update to the TBS6285 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.

Quad tuner DVB-T2/T/C low profile card from TBS.


==Overview/Features==
==Overview/Features==
Line 5: Line 7:
* 1 x PCI Express Interface
* 1 x PCI Express Interface
* Low profile design
* Low profile design
* Four DVB T/T2 Freeview SD& HD Channels Receiving
* Four DVB T/T2/C Freeview SD & HD Channels Receiving
* Linux Support via closed source driver
* DiSEqC 2.x Compliant
* Linux Support
* Windows BDA driver and Linux Driver ready
* Windows BDA driver and Linux Driver ready
* No IR remote or receiver


===Components Used===
===Components Used===


* Si2158 (Tuner)
* 4x Si2158 (Tuner)
* Si2168 (Demod)
* 4x Si2168 (Demod)
* Lattice ECP3 FPGA (LFE3-17EA-8FTN256) PCIe Bus Interface
* SAA7160
* F-connectors, adaptors to IEC supplied


===Identification===
===Identification===
<pre>
# lspci -vvvnn
# lspci -vvvnn
03:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02)
06:00.0 Multimedia controller [0480]: Device [544d:6178]
Subsystem: Device [6285:0001]
Subsystem: Device [6205:0001]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
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-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 18
Latency: 0, Cache Line Size: 32 bytes
Region 0: Memory at f7200000 (32-bit, non-prefetchable) [size=256K]
Interrupt: pin A routed to IRQ 45
Capabilities: [50] Power Management version 3
Region 0: Memory at fdf00000 (64-bit, non-prefetchable) [size=1M]
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Capabilities: [40] MSI: Enable+ Count=1/32 Maskable- 64bit+
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Address: 00000000fee0300c Data: 4191
Capabilities: [50] Express (v1) Endpoint, MSI 00
Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
Capabilities: [90] Express (v1) Endpoint, MSI 00
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
MaxPayload 128 bytes, MaxReadReq 128 bytes
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
MaxPayload 128 bytes, MaxReadReq 512 bytes
LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <4us, L1 <64us
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
ClockPM- Surprise- LLActRep- BwNot-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit Latency L0s unlimited, L1 <1us
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
Capabilities: [74] Power Management version 2
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot-,D3cold-)
Capabilities: [100 v1] Device Serial Number 00-00-00-00-00-00-00-00
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: TBS PCIE
Capabilities: [80] Vendor Specific Information: Len=50 <?>
Kernel modules: tbs_pcie_dvb
Capabilities: [100 v1] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?>
</pre>
Kernel driver in use: SAA716x TBS
==Driver==

Since this card has a different PCIe Bus Interface than earlier cards from TBS, the (mostly) closed source linux drivers from TBS are the only option here. While these drivers generally work fine and stable, its always some work to get them recompiled after every kernel update. A switch between DVB T/T2 and DVB-C requires a recompile.


==Making it Work==
==Making it Work==
Line 80: Line 87:
4. rebuild the driver using the "sudo make" command (this will take a while)
4. rebuild the driver using the "sudo make" command (this will take a while)
5. reinstall drivers using the "sudo make install" command
5. reinstall drivers using the "sudo make install" command
6. load newly installed driver using the "sudo modprobe -v tbs62x0fe" command
6. load newly installed driver using the "sudo modprobe -v tbs6205fe" command
7. reboot the system
7. reboot the system



Revision as of 08:48, 12 June 2015

TBS 605 Card

Quad tuner DVB-T2/T/C low profile card from TBS.

Overview/Features

  • 1 x PCI Express Interface
  • Low profile design
  • Four DVB T/T2/C Freeview SD & HD Channels Receiving
  • Linux Support via closed source driver
  • Windows BDA driver and Linux Driver ready
  • No IR remote or receiver

Components Used

  • 4x Si2158 (Tuner)
  • 4x Si2168 (Demod)
  • Lattice ECP3 FPGA (LFE3-17EA-8FTN256) PCIe Bus Interface
  • F-connectors, adaptors to IEC supplied

Identification

 # lspci -vvvnn
 06:00.0 Multimedia controller [0480]: Device [544d:6178]
	Subsystem: Device [6205: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-
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at f7200000 (32-bit, non-prefetchable) [size=256K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [90] Express (v1) Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, 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 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit Latency L0s unlimited, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	Capabilities: [100 v1] Device Serial Number 00-00-00-00-00-00-00-00
	Kernel driver in use: TBS PCIE
	Kernel modules: tbs_pcie_dvb

Driver

Since this card has a different PCIe Bus Interface than earlier cards from TBS, the (mostly) closed source linux drivers from TBS are the only option here. While these drivers generally work fine and stable, its always some work to get them recompiled after every kernel update. A switch between DVB T/T2 and DVB-C requires a recompile.

Making it Work

It supports MythTV mythbuntu building: s

  1. Update the install with update/upgrade
  2. Install TBS drivers as per TBS6285 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 tbs6205fe" command
  7. reboot the system

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

Linux Drivers Download

External Links

Company Profile

TBS Technologies is a company which specializes in developing, manufacturing and marketing of digital TV tuner cards for PC. Main products include PC cards for DVB S/S2, DVB-T/T2, DVB-C with single, dual, and quad tuner, CAM CI box for DVB-S2, USB TV Box for DVB-S/S2,DVB-T/T2,DVB-C. Most TV tuner products are Linux driver ready up to the latest kernel.