DVB-S2 7301 PCI
A DVB-S2 PCI card from Prof.
The Prof 7301 is supported under Linux since kernel 2.6.33.
Overview/Features
- PCI interface
- Inputs: LNB in, Remote in
- Output: LNB Loop out
Components Used
- STB6100 (Tuner)
- STV0903B (Demodulator)
- CX23883-39 (PCI Audio/Video Broadcast Decoder)
Identification
# lspci -vvv
05:00.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05) Subsystem: Device b034:3034 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 (5000ns min, 13750ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 20 Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M] Capabilities: <access denied> Kernel driver in use: cx8800 Kernel modules: cx8800
05:00.2 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05) Subsystem: Device b034:3034 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 (1500ns min, 22000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 20 Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M] Capabilities: <access denied> Kernel driver in use: cx88-mpeg driver manager Kernel modules: cx8802
Making it Work
Supported in the kernel since 2.6.33.
Firmware
No firmware required.
Drivers
The demod will not lock high bitrate HD TV feeds with the standard kernel driver. The Pendragon patch fixes this issue. For more information see here... [1]
For blind scanning support using chinesebob's blindscan-S2 [2] you will also need the UDL patch [3]
If you wish to tune the card with old apps that have not been ported to S2API reverse this patch [4] and the card will tune DVB-S or DVB-S2 without having to manually specify one or the other.
With all these patches applied all that is necessary to tune the card is the frequency, any relevant switching control and any symbol rate between 1000 and 45000. As long as the frequency is close the card will quickly blind scan all the other parameters including symbol rate.
$dvbsnoop -s feinfo
will provide the current tuned parameters.
A script is available to download, patch and compile the driver using the current media build. It should work for any 3.x kernel. You can find a link to it here... The Jowski script This maybe no longer being maintained.
A GIT repo based on linuxtv media tree with all the above patches plus patches for UDL's stv090x-scan spectrum scannning app and IQ Plot app is available here... media_build_udl
A HG repo based on s2-liplianin-v37 with all the patches is here... s2-liplianin-v37-udl
Sample Kernel Output
$dmesg | grep cx88 [ 15.160699] cx88/0: cx2388x v4l2 driver version 0.0.8 loaded [ 15.160736] cx8800 0000:05:00.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20 [ 15.162368] cx88[0]: subsystem: b034:3034, board: Prof 7301 DVB-S/S2 [card=83,autodetected], frontend(s): 1 [ 15.162371] cx88[0]: TV tuner type -1, Radio tuner type -1 [ 15.234533] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.8 loaded [ 15.313526] tuner 0-006a: chip found @ 0xd4 (cx88[0]) [ 15.700114] input: cx88 IR (Prof 7301 DVB-S/S2) as /devices/pci0000:00 /0000:00:1e.0/0000:05:00.0/rc/rc0/input6 [ 15.700169] rc0: cx88 IR (Prof 7301 DVB-S/S2) as /devices/pci0000:00 /0000:00:1e.0/0000:05:00.0/rc/rc0 [ 15.700177] cx88[0]/0: found at 0000:05:00.0, rev: 5, irq: 20, latency: 32, mmio: 0xfa000000 [ 15.700244] cx88[0]/0: registered device video0 [v4l2] [ 15.700279] cx88[0]/0: registered device vbi0 [ 15.727140] cx88[0]/2: cx2388x 8802 Driver Manager [ 15.727151] cx88-mpeg driver manager 0000:05:00.2: PCI INT A -> GSI 20 (level, low) -> IRQ 20 [ 15.727159] cx88[0]/2: found at 0000:05:00.2, rev: 5, irq: 20, latency: 32, mmio: 0xfb000000 [ 15.732548] cx88/2: cx2388x dvb driver version 0.0.8 loaded [ 15.732551] cx88/2: registering cx8802 driver, type: dvb access: shared [ 15.732553] cx88[0]/2: subsystem: b034:3034, board: Prof 7301 DVB-S/S2 [card=83] [ 15.732555] cx88[0]/2: cx2388x based DVB/ATSC card [ 15.732557] cx8802_alloc_frontends() allocating 1 frontend(s) [ 16.006297] DVB: registering new adapter (cx88[0])
$ dmesg | grep stv0900 [ 15.755447] stv0900_init_internal [ 15.755450] stv0900_init_internal: Create New Internal Structure! [ 15.924437] stv0900_st_dvbs2_single [ 15.924440] stv0900_stop_all_s2_modcod [ 15.934513] stv0900_activate_s2_modcod_single [ 15.957435] stv0900_set_ts_parallel_serial path1 3 path2 0 [ 15.978074] stv0900_set_mclk: Mclk set to 135000000, Quartz = 27000000 [ 15.981899] stv0900_get_mclk_freq: Calculated Mclk = 135000000 [ 16.001600] stv0900_get_mclk_freq: Calculated Mclk = 135000000 [ 16.001602] stv0900_attach: Attaching STV0900 demodulator(0)
Remote Control Support
Untested.
External Links
http://proftuners.com/prof7301.html Manufacturers Website.