Geniatech DVB-S Digistar
A DVB-S PCI card produced by Geniatech, rebranded in North America by HomeVision Technologies Inc. (Canada) as "Digiwave 103g" and in Europe by X3M digital S.A. (Poland) as "SPC1000". Very cheap device - street price in Germany is less than 30 Euro.
This card reportedly works well under some linux systems while on others the playback is unwatchable (skipping and pixelated). The results seem to be related to the system hardware configuration: motherboard, other devices on the bus etc...
Overview/Features
This is a low profile PCI card, however it is supplied only with a full height bracket. To fit this card in a low profile chassis, it is necessary to remove the bracket and modify it (cut and bend!), then refit it. The bracket is secured to the card using two pozidrive screws.
The card has a single F-type LNB input and an LNB passthrough output to allow diasy-chaining to another tuner, although the latter is of limited use as both tuners will need to be recieving a channel on the same band/polarisation.
There is also what looks like a floppy drive male power connector mounted on the back of the PCB. The manual does not state the purpose of this connector. Be aware that this connector has bare terminals and could potentially short-circuit onto metal components of an adjacent PCI card - it is best to leave a spare slot behind this card if possible.
Components Used
Card is fitted with Conextant CX23882 Broadcast Decoder, CX24123 QPSK Demodulator, and a CX24109 Satellite Tuner module.
Uses the cx88 module.
Identification
Output from lspci -vnn
01:06.0 Multimedia video controller [0400]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder 14f1:8800] (rev 05) Subsystem: Conexant Unknown device [14f1:0084] Flags: bus master, medium devsel, latency 20, IRQ 18 Memory at fa000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 01:06.2 Multimedia controller [0480]: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05) Subsystem: Conexant Unknown device [14f1:0084] Flags: bus master, medium devsel, latency 64, IRQ 18 Memory at f9000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [4c] Power Management version 2
Output from lspci -vvn
01:06.0 0400: 14f1:8800 (rev 05) Subsystem: 14f1:0084 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 20 (5000ns min, 13750ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [44] Vital Product Data Capabilities: [4c] 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- 01:06.2 0480: 14f1:8802 (rev 05) Subsystem: 14f1:0084 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (1500ns min, 22000ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at f9000000 (32-bit, non-prefetchable) [size=16M] Capabilities: [4c] 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-
Other Images
use the included code to insert other images if necessary ...
- Filename
description
- Filename
description
- ...
Making it Work
Firmware
None required.
Drivers
Fully supported by current kernels.
If this card is not fully supported by your kernel version, download, compile, and install the latest v4l-dvb source code in the usual manner.
Sample kernel output
relevant dmesg output
[ 48.398015] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 48.398469] cx88[0]: subsystem: 14f1:0084, board: Geniatech DVB-S [card=52,autodetected] [ 48.398432] ACPI: PCI Interrupt 0000:01:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18 [ 48.398472] cx88[0]: TV tuner type 4, Radio tuner type -1 [ 48.424438] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded [ 48.547719] cx88[0]/0: found at 0000:01:06.0, rev: 5, irq: 18, latency: 20, mmio: 0xfa000000 [ 48.547784] cx88[0]/0: registered device video0 [v4l2] [ 48.547819] cx88[0]/0: registered device vbi0 [ 48.576829] cx88[0]/2: cx2388x 8802 Driver Manager [ 48.576849] ACPI: PCI Interrupt 0000:01:06.2[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18 [ 48.576856] PCI: Setting latency timer of device 0000:01:06.2 to 64 [ 48.576861] cx88[0]/2: found at 0000:01:06.2, rev: 5, irq: 18, latency: 64, mmio: 0xf9000000 [ 49.963588] cx88/2: cx2388x dvb driver version 0.0.6 loaded [ 49.963593] cx88/2: registering cx8802 driver, type: dvb access: shared [ 49.963597] cx88[0]/2: subsystem: 14f1:0084, board: Geniatech DVB-S [card=52] [ 49.963601] cx88[0]/2: cx2388x based DVB/ATSC card [ 49.994816] CX24123: detected CX24123 [ 49.994851] DVB: registering new adapter (cx88[0]) [ 49.994855] DVB: registering frontend 1 (Conexant CX24123/CX24109)...
i2cdetect and i2cdump
# i2cdetect -l | grep -i cx i2c-1 i2c cx88[0] I2C adapter i2c-2 i2c CX24123 tuner I2C bus I2C adapter
# i2cdetect -y 2 Error: Can't use SMBus Quick Write command on this bus (ISA bus?)
# i2cdetect -r -y 2 Error: Can't use SMBus Read Byte command on this bus (ISA bus?)
# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- 33 -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- 55 -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
# i2cdump -y 1 0x33 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 10: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 20: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 30: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 40: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 50: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 60: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 70: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? 90: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? a0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? b0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? c0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? d0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? e0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ???????????????? f0: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ????????????????
If You dump 0x33 while a key on the remote is pressed, you will get other output off course.
# i2cdump -y 1 0x50 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 04 ff ff ff f1 14 84 00 ff ff ff ff ff ff ff ff ?...???......... 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
# i2cdump -y 1 0x55 b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: d1 1e 20 07 10 04 31 00 37 b3 a3 00 20 7f 03 fe ?? ???1.7??. ??? 10: 01 00 00 00 9f 00 00 f0 05 5b 01 85 c0 00 0d 00 ?...?..??[???.?. 20: 41 15 10 01 00 00 00 51 01 d0 b0 73 00 00 00 f7 A???...Q???s...? 30: 00 00 8c 00 2f 03 02 3a 83 1e 00 02 00 10 00 0b ..?./??:??.?.?.? 40: 00 41 00 40 4c 00 05 66 fe 00 09 15 24 34 44 56 .A.@L.?f?.??$4DV 50: 64 07 11 00 00 05 c1 ff 18 00 7e 3c 20 20 20 08 d??..??.?.~< ? 60: 10 00 30 80 00 00 09 82 00 00 00 00 00 00 00 00 ?.0?..??........ 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 ..........?..... c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Remote Control Support
Supported since kernel 6.1 (media: cx88: add IR remote support for NotOnlyTV LV3H).
The module can be loaded with the command:
modprobe ir_kbd_i2c
See also NotOnlyTV_LV3H - IR_remote
Typical Symptoms of PCI bus Related Problems
... [ 1019.850185] cx88[0]: irq mpeg [0x80000] pci_abort* [ 1019.850190] cx88[0]/2-mpeg: general errors: 0x00080000 [ 1020.317259] cx88[0]: irq mpeg [0x80000] pci_abort* [ 1020.317263] cx88[0]/2-mpeg: general errors: 0x00080000 [ 1020.386898] cx88[0]: irq mpeg [0x80000] pci_abort* [ 1020.386902] cx88[0]/2-mpeg: general errors: 0x00080000 [ 1020.706455] cx88[0]: irq mpeg [0x80000] pci_abort* [ 1020.706460] cx88[0]/2-mpeg: general errors: 0x00080000 ...
The device DMA transfers are aborted resulting in MPEG stream corruption. Manipulating latencies doesn't seem to help.
External Links
Manufacturers Site[1]