DVBSky T9580 (PCIe)

From LinuxTVWiki
Jump to: navigation, search

A combined DVB-T/DVB-T2 or DVB-C or DVB-S/DVB-S2 PCIe card from DVBSky.

The card is identical to Mystique SaTeCaBiX.

Overview/Features

  • PCI-e x1 low profile card (includes standard profile backplate)
  • Single Tuner for DVB-S/DVB-S2
  • Single Tuner for DVB-T/DVB-T2/DVB-C
  • IR Receiver
  • Remote Controller

Technical Details

  • Name: T9850/5950 Ver. 1.0a 121106
  • Bridge : Conexant PCIe A/V Decoder CX23885-15Z PFAC6621B 1249CN
  • DVB-T2/C demodulator : Si2168-A30
  • DVB-T2/C tuner : Si2158-A20
  • DVB-S2 demodulator : Montage M88DS3103
  • DVB-S2 tuner : Montage TS2022
  • PCI ID 4254:9580 (same for the Mystique card)




Driver and firmware

  • See DVBSky wiki page. Execute build_{x86|x64}_dvbc.sh for DVB-C driver! Firmware: dvb-fe-ds3103.fw needed for this driver.
  • Open source driver is being developed.
    • Patch for media tree has been suggested: [1]
    • Following firmware files are needed: dvb-demod-m88ds3103.fw, dvb-demod-si2168-30-01.fw and dvb-tuner-si2158-20-01.fw. All can be found from OpenELEC firmware tree [2].

Making it Work (Open source)

The driver is in the media_tree now. Will be included in kernel 3.18.

Compile

git clone git://linuxtv.org/media_build.git
cd media_build
./build

Installation

sudo make install

Download the firmwares mentioned in the previous chapter and place them in /lib/firmware, reboot (or reload appropriate modules) and it should work.

dmesg output:

[39628.129977] cx23885 driver version 0.0.3 loaded
[39628.130057] CORE cx23885[0]: subsystem: 4254:9580, board: DVBSky T9580 [card=45,autodetected]
[39628.358270] cx25840 2-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0])
[39628.991041] cx25840 2-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)
[39629.006791] cx23885_dvb_register() allocating 1 frontend(s)
[39629.006793] cx23885[0]: cx23885 based dvb card
[39629.010119] i2c i2c-1: Added multiplexed i2c bus 12
[39629.116211] m88ts2022 12-0060: m88ts2022: Montage M88TS2022 successfully identified
[39629.116217] DVB: registering new adapter (cx23885[0])
[39629.116220] cx23885 0000:02:00.0: DVB: registering adapter 0 frontend 0 (Montage M88DS3103)...
[39629.144175] DVBSky T9580 port 1 MAC address: 00:17:42:54:09:82
[39629.144177] cx23885_dvb_register() allocating 1 frontend(s)
[39629.144178] cx23885[0]: cx23885 based dvb card
[39629.145080] i2c i2c-0: Added multiplexed i2c bus 13
[39629.145083] si2168 0-0064: si2168: Silicon Labs Si2168 successfully attached
[39629.147038] si2157 13-0060: si2157: Silicon Labs Si2157/Si2158 successfully attached
[39629.147043] DVB: registering new adapter (cx23885[0])
[39629.147045] cx23885 0000:02:00.0: DVB: registering adapter 1 frontend 0 (Silicon Labs Si2168)...
[39629.174892] DVBSky T9580 port 2 MAC address: 00:18:42:54:09:83
[39629.174896] cx23885_dev_checkrevision() Hardware revision = 0xa5
[39629.174901] cx23885[0]/0: found at 0000:02:00.0, rev: 4, irq: 16, latency: 0, mmio: 0xf7a00000
[39646.479572] si2168 0-0064: si2168: found a 'Silicon Labs Si2168' in cold state
[39646.479596] si2168 0-0064: si2168: downloading firmware from file 'dvb-demod-si2168-a30-01.fw'
[39649.538399] si2168 0-0064: si2168: found a 'Silicon Labs Si2168' in warm state
[39649.546988] si2157 13-0060: si2157: found a 'Silicon Labs Si2157/Si2158' in cold state
[39649.547002] si2157 13-0060: si2157: downloading firmware from file 'dvb-tuner-si2158-a20-01.fw'
[39655.010407] i2c i2c-1: m88ds3103: downloading firmware from file 'dvb-demod-m88ds3103.fw'
[39655.925117] i2c i2c-1: m88ds3103: found a 'Montage M88DS3103' in warm state
[39655.925120] i2c i2c-1: m88ds3103: firmware version 3.B

Making it Work (Closed source)

Currently the closed source driver can be downloaded from DVBSky website. Driver is available for kernels 3.5-3.13.

Receival of DVB-S, DVB-S2, DVB-T, DVB-T2 and DVB-C have been confirmed working.

Revision history

Cable Working for Ubuntu 12.04

Jan 2014

Upgraded Ubuntu 12.04 to kernel 3.11.1 and used the media_build_bst_130806 from dvbsky support compiled it as in the manual . Cable driver loaded and tested, works fine with tvheadend and XBMC. i use oscam and smargo for encrypted channels. more info pe63@quicknet.nl

will test it with Ubuntu 13.04 and 13.10

Update 25jan2014

Ubuntu 12.04 kernel 3.8.4 working
Ubuntu 12.04 kernel 3.11.1 working
Ubuntu 12.04 kernel 3.12.1 working
Ubuntu 12.04 kernel 3.13.0 not tested

Ubuntu 13.04 kernel 3.11.1 working
Ubuntu 13.04 kernel 3.12.1 working
Ubuntu 13.04 kernel 3.13.0 fails to compile

Febr 2014

With newest drivers and Ubuntu 13.10 kernel - 3.13.2 it compiles good and after
sudo rm -rf /lib/modules/`uname -r`/kernel/drivers/media/
sudo make install
It loads alright, i assume all lower versions will work too

for howto and downloads http://www.dvbsky.net/Support.html



lspci output for this card is:

 05:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 04)
       Subsystem: Device [4254:9580]
       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: 64 bytes
       Interrupt: pin A routed to IRQ 14
       Region 0: Memory at f7800000 (64-bit, non-prefetchable)
       Capabilities: [40] 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 L1, Latency L0 <2us, L1 <4us
                       ClockPM- Surprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [80] 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: [90] Vital Product Data
               Product Name: "
               End
       Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
               Address: 0000000000000000  Data: 0000
       Capabilities: [100 v1] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [200 v1] Virtual Channel
               Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
               Arb:    Fixed+ WRR32+ WRR64+ WRR128-
               Ctrl:   ArbSelect=WRR64
               Status: InProgress-
               Port Arbitration Table [240] <?>
               VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                       Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                       Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
                       Status: NegoPending- InProgress-
       Kernel driver in use: cx23885



dmesg output for the card (Ubuntu, kernel 3.13):

[  348.651632] cx2341x: Unknown symbol v4l2_ctrl_handler_init_class (err 0)
[  455.388612] cx23885 driver version 0.0.3 loaded
[  455.388923] CORE cx23885[0]: subsystem: 4254:9580, board: DVBSKY T9580 [card=45,autodetected]
[  455.622579] cx25840 11-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0])
[  456.254639] cx25840 11-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)
[  456.271678] cx23885_dvb_register() allocating 1 frontend(s)
[  456.271680] cx23885[0]: cx23885 based dvb card
[  456.273690] M88DS3103 tuner read stops = 0.
[  456.274144] DS3000 chip version: d0 attached.
[  456.274961] TS202x chip version[1]: c0 attached.
[  456.295354] TS202x chip version[2]: c3 attached.
[  456.342806] m88ds3103_load_firmware: Waiting for firmware upload (dvb-fe-ds3103.fw)...
[  456.342835] m88ds3103_load_firmware: Waiting for firmware upload(2)...
[  457.257896] DVB: registering new adapter (cx23885[0])
[  457.257899] cx23885 0000:02:00.0: DVB: registering adapter 0 frontend 0 (Montage DS3103/TS2022)...
[  457.286481] DVBSKY PCIe MAC= 00:17:42:54:09:82
[  457.286485] cx23885_dvb_register() allocating 1 frontend(s)
[  457.286498] cx23885[0]: cx23885 based dvb card
[  457.288508] DVB: registering new adapter (cx23885[0])
[  457.288516] cx23885 0000:02:00.0: DVB: registering adapter 1 frontend 0 (Sit2 DVB-T2/C)...
[  457.318127] DVBSKY PCIe MAC= 00:18:42:54:09:83
[  457.318134] cx23885_dev_checkrevision() Hardware revision = 0xa5
[  457.318140] cx23885[0]/0: found at 0000:02:00.0, rev: 4, irq: 16, latency: 0, mmio: 0xf7a00000
[  457.341543] Registered IR keymap rc-dvbsky
[  457.341632] input: cx23885 IR (DVBSKY T9580) as /devices/pci0000:00/0000:00:1c.0/0000:02:00.0/rc/rc0/input21
[  457.345268] rc0: cx23885 IR (DVBSKY T9580) as /devices/pci0000:00/0000:00:1c.0/0000:02:00.0/rc/rc0
[  457.346954] IR NEC protocol handler initialized
[  457.347134] IR RC5(x) protocol handler initialized
[  457.348940] IR RC6 protocol handler initialized
[  457.350151] IR JVC protocol handler initialized
[  457.351072] IR Sony protocol handler initialized
[  457.352658] input: MCE IR Keyboard/Mouse (cx23885) as /devices/virtual/input/input22
[  457.353775] lirc_dev: IR Remote Control driver registered, major 250 
[  457.354339] IR MCE Keyboard/mouse protocol handler initialized
[  457.355386] rc rc0: lirc_dev: driver ir-lirc-codec (cx23885) registered at minor = 0
[  457.355390] IR LIRC bridge handler initialized
[  457.355392] IR SANYO protocol handler initialized

External Links