NotOnlyTV LV3H

From LinuxTVWiki
Jump to: navigation, search

Brief specification.

The card consist of:

  • A/V Controller: Conexant CX-23881
  • Tuner: Xceive XC3028
  • DVB-T Decoder: Intel CE6353 (WJCE 6353)

NotOnlyTV provide in their website a driver for Fedora Linux. This driver (v4l-dvb-experimental-x8000mt.tar.gz) is for the Geniatech X8000-MT DVB-T [1]. Unfortunatelly this doesn't seem to work. And in recent kernels the LV3H is detected as Geniatech X8000-MT, but it doesn't work as this model.


Making it work with latest kernels

Working with kernel > 2.6.32.

Install linux-firmware-nonfree or:

wget http://steventoth.net/linux/hvr1400/xc3028L-v36.fw
mv xc3028L-v36.fw /lib/firmware/xc3028-v27.fw

Once we have the firmware, now we need the options for the module to make it work properly:

nano /etc/modprobe.d/LV3H.conf

Now add the lines:

options cx88xx card=81 tuner=71
options tuner_xc2028 no_poweroff=1

save it, reboot.

Errors

Sometimes the firmware fails to load

[ 4009.583858] cx88xx: cx88_print_irqbits: core:irq mpeg  [0x100000] ts_err?*
[ 4009.583864] cx8802: cx8802_mpeg_irq: mpeg:general errors: 0x00100000
[ 4009.821382] xc2028 6-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000.
[ 4013.134460] xc2028 6-0061: Loading firmware for type=D2633 DTV8 (210), id 0000000000000000.
[ 4013.181343] xc2028 6-0061: Loading SCODE for type=DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4560 (62000300), id 0000000000000000.
[ 4013.193427] xc2028 6-0061: Incorrect readback of firmware version.
[ 4013.447484] xc2028 6-0061: Error! firmware not loaded
[ 4013.447491] xc2028 6-0061: Error -22 while loading base firmware
[ 4013.704136] xc2028 6-0061: Error! firmware not loaded
[ 4013.704139] xc2028 6-0061: Error -22 while loading base firmware
[ 4013.960808] xc2028 6-0061: Error! firmware not loaded
[ 4013.960813] xc2028 6-0061: Error -22 while loading base firmware
[ 4014.217499] xc2028 6-0061: Error! firmware not loaded
[ 4014.217503] xc2028 6-0061: Error -22 while loading base firmware
[ 4014.474142] xc2028 6-0061: Error! firmware not loaded
[ 4014.474149] xc2028 6-0061: Error -22 while loading base firmware
[ 4014.730791] xc2028 6-0061: Error! firmware not loaded
[ 4014.730793] xc2028 6-0061: Error -22 while loading base firmware
[ 4014.987468] xc2028 6-0061: Error! firmware not loaded
[ 4014.987473] xc2028 6-0061: Error -22 while loading base firmware
[ 4015.244119] xc2028 6-0061: Error! firmware not loaded
[ 4015.244121] xc2028 6-0061: Error -22 while loading base firmware

After this error, in recent kernels (Linux 4.9, 5.07), the only way to recover again the card is restarting the system.

The firmware 2.4 has less failures when loading the firmware, but it responds with a "i2c NAK bailout" and the the DVB tunning is worse.

EEPROM

For the official support we may need to know the contents of the EEPROM. As pointed by the main developer, probably there are different versions of the board, see https://patchwork.kernel.org/patch/2332631/

# modprobe i2c-dev
# i2cdetect -l
i2c-3   i2c             i915 gmbus dpc                          I2C adapter
i2c-1   i2c             i915 gmbus vga                          I2C adapter
i2c-6   i2c             cx88[0]                                 I2C adapter
i2c-4   i2c             i915 gmbus dpb                          I2C adapter
i2c-2   i2c             i915 gmbus panel                        I2C adapter
i2c-0   i2c             i915 gmbus ssc                          I2C adapter
i2c-5   i2c             i915 gmbus dpd                          I2C adapter

# i2cdump 6 0x50

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 07 ff ff ff f1 14 52 88 04 04 32 55 f8 00 a2 02    ?...??R???2U?.??
10: a1 00 40 63 06 11 44 30 03 df 40 80 00 20 00 73    ?.@c??D0??@?. .s
20: 3c 10 00 00 00 00 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 a0 00    ..............?.


Regspy

  • DVB-T tuned and working
CX2388x Card [0]:

Vendor ID:           0x14f1
Device ID:           0x8800
Subsystem ID:        0x885214f1

=================================================================================

CX2388x Card - Register Dump:
CX2388X_DEVICE_STATUS:           0000031c   (00000000 00000000 00000011 00011100)                 
CX2388X_VIDEO_INPUT:             00000784   (00000000 00000000 00000111 10000100)                 
CX2388X_TEMPORAL_DEC:            00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_AGC_BURST_DELAY:         00008888   (00000000 00000000 10001000 10001000)                 
CX2388X_BRIGHT_CONTRAST:         00003900   (00000000 00000000 00111001 00000000)                 
CX2388X_UVSATURATION:            00005a7f   (00000000 00000000 01011010 01111111)                 
CX2388X_HUE:                     00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_WHITE_CRUSH:             00003fcf   (00000000 00000000 00111111 11001111)                 
CX2388X_PIXEL_CNT_NOTCH:         0000046f   (00000000 00000000 00000100 01101111)                 
CX2388X_HORZ_DELAY_EVEN:         00000046   (00000000 00000000 00000000 01000110)                 
CX2388X_HORZ_DELAY_ODD:          00000046   (00000000 00000000 00000000 01000110)                 
CX2388X_VERT_DELAY_EVEN:         00000022   (00000000 00000000 00000000 00100010)                 
CX2388X_VERT_DELAY_ODD:          00000022   (00000000 00000000 00000000 00100010)                 
CX2388X_VDELAYCCIR_EVEN:         0000000c   (00000000 00000000 00000000 00001100)                 
CX2388X_VDELAYCCIR_ODD:          0000000e   (00000000 00000000 00000000 00001110)                 
CX2388X_HACTIVE_EVEN:            00000140   (00000000 00000000 00000001 01000000)                 
CX2388X_HACTIVE_ODD:             00000140   (00000000 00000000 00000001 01000000)                 
CX2388X_VACTIVE_EVEN:            00000240   (00000000 00000000 00000010 01000000)                 
CX2388X_VACTIVE_ODD:             00000240   (00000000 00000000 00000010 01000000)                 
CX2388X_HSCALE_EVEN:             00001ce6   (00000000 00000000 00011100 11100110)                 
CX2388X_HSCALE_ODD:              00001ce6   (00000000 00000000 00011100 11100110)                 
CX2388X_VSCALE_EVEN:             00001f9a   (00000000 00000000 00011111 10011010)                 
CX2388X_VSCALE_ODD:              00001f9a   (00000000 00000000 00011111 10011010)                 
CX2388X_FILTER_EVEN:             00000120   (00000000 00000000 00000001 00100000)                 
CX2388X_FILTER_ODD:              00000120   (00000000 00000000 00000001 00100000)                 
CX2388X_FORMAT_2HCOMB:           002f0100   (00000000 00101111 00000001 00000000)                 
CX2388X_PLL:                     013d14c9   (00000001 00111101 00010100 11001001)                 
CX2388X_PLL_ADJUST:              03f9f190   (00000011 11111001 11110001 10010000)                 
CX2388X_SAMPLERATECONV:          00019d5f   (00000000 00000001 10011101 01011111)                 
CX2388X_SAMPLERATEFIFO:          003f8008   (00000000 00111111 10000000 00001000)                 
CX2388X_SUBCARRIERSTEP:          00400000   (00000000 01000000 00000000 00000000)                 
CX2388X_SUBCARRIERSTEPDR:        00538e38   (00000000 01010011 10001110 00111000)                 
CX2388X_CAPTURECONTROL:          00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_VIDEO_COLOR_FORMAT:      00009000   (00000000 00000000 10010000 00000000)                 
CX2388X_VBI_SIZE:                00010000   (00000000 00000001 00000000 00000000)                 
CX2388X_FIELD_CAP_CNT:           00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_VIP_CONFIG:              00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_VIP_CONTBRGT:            00007a00   (00000000 00000000 01111010 00000000)                 
CX2388X_VIP_HSCALE:              00001233   (00000000 00000000 00010010 00110011)                 
CX2388X_VIP_VSCALE:              00001f9a   (00000000 00000000 00011111 10011010)                 
CX2388X_VBOS:                    00040a00   (00000000 00000100 00001010 00000000)                 
CX2388X_PINMUX_IO:               00000000   (00000000 00000000 00000000 00000000)                 
MO_GP0_IO:                       000000ff   (00000000 00000000 00000000 11111111)                 
MO_GP1_IO:                       0000f39e   (00000000 00000000 11110011 10011110)                 
MO_GP2_IO:                       00000001   (00000000 00000000 00000000 00000001)                 
MO_GP3_IO:                       00000000   (00000000 00000000 00000000 00000000)                 
MO_GPIO:                         00000000   (00000000 00000000 00000000 00000000)                 
MO_GPOE:                         00000000   (00000000 00000000 00000000 00000000)                 
MO_AUD_XFR_STAT:                 00000000   (00000000 00000000 00000000 00000000)                 
MO_AUDD_LNGTH:                   000001e0   (00000000 00000000 00000001 11100000)                 
MO_AUDR_LNGTH:                   00000800   (00000000 00000000 00001000 00000000)                 
CX2388X_DEV_CNTRL2:              00000000   (00000000 00000000 00000000 00000000)                 
MO_VID_DMACNTRL:                 00000000   (00000000 00000000 00000000 00000000)                 
MO_AUD_DMACNTRL:                 00000007   (00000000 00000000 00000000 00000111)                 
MO_TS_DMACNTRL:                  00000000   (00000000 00000000 00000000 00000000)                 
MO_VIP_DMACNTRL:                 00000000   (00000000 00000000 00000000 00000000)                 
MO_GPHST_DMACNTRL:               00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_PCI_INTMSK:              00000007   (00000000 00000000 00000000 00000111)                 
CX2388X_VID_INTMSK:              00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_AUD_INTMSK:              00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_TS_INTMSK:               00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_VIP_INTMSK:              00000000   (00000000 00000000 00000000 00000000)                 
CX2388X_GPHST_INTMSK:            00000000   (00000000 00000000 00000000 00000000)                 
MO_DMA25_PTR2:                   00184ab8   (00000000 00011000 01001010 10111000)                 
MO_DMA25_CNT1:                   0000002b   (00000000 00000000 00000000 00101011)                 
MO_DMA25_CNT2:                   00000000   (00000000 00000000 00000000 00000000)                 
MO_DMA26_PTR2:                   00184aa8   (00000000 00011000 01001010 10101000)                 
MO_DMA26_CNT1:                   0000000e   (00000000 00000000 00000000 00001110)                 
MO_DMA26_CNT2:                   00000000   (00000000 00000000 00000000 00000000)                 
0x0320d01:                       05000006   (00000101 00000000 00000000 00000110)                 
0x0320d02:                       00050082   (00000000 00000101 00000000 10000010)                 
0x0320d03:                       00000512   (00000000 00000000 00000101 00010010)                 
0x0320d04:                       00000005   (00000000 00000000 00000000 00000101)                 
0x0320d2a:                       00300034   (00000000 00110000 00000000 00110100)                 
0x0320d2b:                       0000304c   (00000000 00000000 00110000 01001100)                 
AUD_POLY0_DDS_CONSTANT:          000a62b4   (00000000 00001010 01100010 10110100)                 
AUD_IIR1_0_SEL:                  00000001   (00000000 00000000 00000000 00000001)                 
AUD_IIR1_1_SEL:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_2_SEL:                  0000001f   (00000000 00000000 00000000 00011111)                 
AUD_IIR1_3_SEL:                  00000020   (00000000 00000000 00000000 00100000)                 
AUD_IIR1_4_SEL:                  0000000d   (00000000 00000000 00000000 00001101)                 
AUD_IIR1_5_SEL:                  00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_1_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR1_2_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_3_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_4_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR1_5_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR2_0_SEL:                  00000021   (00000000 00000000 00000000 00100001)                 
AUD_IIR2_1_SEL:                  00000023   (00000000 00000000 00000000 00100011)                 
AUD_IIR2_2_SEL:                  00000004   (00000000 00000000 00000000 00000100)                 
AUD_IIR2_3_SEL:                  00000005   (00000000 00000000 00000000 00000101)                 
AUD_IIR3_0_SEL:                  00000004   (00000000 00000000 00000000 00000100)                 
AUD_IIR3_1_SEL:                  00000005   (00000000 00000000 00000000 00000101)                 
AUD_IIR3_2_SEL:                  00000003   (00000000 00000000 00000000 00000011)                 
AUD_IIR3_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR3_1_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR3_2_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR4_0_SEL:                  0000001d   (00000000 00000000 00000000 00011101)                 
AUD_IIR4_1_SEL:                  00000019   (00000000 00000000 00000000 00011001)                 
AUD_IIR4_2_SEL:                  00000008   (00000000 00000000 00000000 00001000)                 
AUD_IIR4_0_SHIFT:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_IIR4_1_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR4_2_SHIFT:                00000007   (00000000 00000000 00000000 00000111)                 
AUD_IIR4_0_CA0:                  0003e57e   (00000000 00000011 11100101 01111110)                 
AUD_IIR4_0_CA1:                  00005e11   (00000000 00000000 01011110 00010001)                 
AUD_IIR4_0_CA2:                  0003a7cf   (00000000 00000011 10100111 11001111)                 
AUD_IIR4_0_CB0:                  00002368   (00000000 00000000 00100011 01101000)                 
AUD_IIR4_0_CB1:                  0003bf1b   (00000000 00000011 10111111 00011011)                 
AUD_IIR4_1_CA0:                  00006349   (00000000 00000000 01100011 01001001)                 
AUD_IIR4_1_CA1:                  00006f27   (00000000 00000000 01101111 00100111)                 
AUD_IIR4_1_CA2:                  0000e7a3   (00000000 00000000 11100111 10100011)                 
AUD_IIR4_1_CB0:                  00005653   (00000000 00000000 01010110 01010011)                 
AUD_IIR4_1_CB1:                  0000cf97   (00000000 00000000 11001111 10010111)                 
AUD_IIR4_2_CA0:                  00006349   (00000000 00000000 01100011 01001001)                 
AUD_IIR4_2_CA1:                  00006f27   (00000000 00000000 01101111 00100111)                 
AUD_IIR4_2_CA2:                  0000e7a3   (00000000 00000000 11100111 10100011)                 
AUD_IIR4_2_CB0:                  00005653   (00000000 00000000 01010110 01010011)                 
AUD_IIR4_2_CB1:                  0000cf97   (00000000 00000000 11001111 10010111)                 
AUD_HP_MD_IIR4_1:                00000001   (00000000 00000000 00000000 00000001)                 
AUD_HP_PROG_IIR4_1:              0000001a   (00000000 00000000 00000000 00011010)                 
AUD_DN0_FREQ:                    0000312b   (00000000 00000000 00110001 00101011)                 
AUD_DN1_FREQ:                    00003318   (00000000 00000000 00110011 00011000)                 
AUD_DN1_SRC_SEL:                 00000017   (00000000 00000000 00000000 00010111)                 
AUD_DN1_SHFT:                    00000007   (00000000 00000000 00000000 00000111)                 
AUD_DN1_AFC:                     00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN1_FREQ_SHIFT:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN2_FREQ:                    00003551   (00000000 00000000 00110101 01010001)                 
AUD_DN2_SRC_SEL:                 00000001   (00000000 00000000 00000000 00000001)                 
AUD_DN2_SHFT:                    00000000   (00000000 00000000 00000000 00000000)                 
AUD_DN2_AFC:                     00000002   (00000000 00000000 00000000 00000010)                 
AUD_DN2_FREQ_SHIFT:              00000000   (00000000 00000000 00000000 00000000)                 
AUD_PDET_SRC:                    00000014   (00000000 00000000 00000000 00010100)                 
AUD_PDET_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH0_SRC_SEL:             0000000b   (00000000 00000000 00000000 00001011)                 
AUD_DEEMPH1_SRC_SEL:             0000000d   (00000000 00000000 00000000 00001101)                 
AUD_DEEMPH0_SHIFT:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_SHIFT:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH0_G0:                  00000800   (00000000 00000000 00001000 00000000)                 
AUD_DEEMPH0_A0:                  0000777a   (00000000 00000000 01110111 01111010)                 
AUD_DEEMPH0_B0:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH0_A1:                  0003f062   (00000000 00000011 11110000 01100010)                 
AUD_DEEMPH0_B1:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_G0:                  00000800   (00000000 00000000 00001000 00000000)                 
AUD_DEEMPH1_A0:                  0000777a   (00000000 00000000 01110111 01111010)                 
AUD_DEEMPH1_B0:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DEEMPH1_A1:                  0003f062   (00000000 00000011 11110000 01100010)                 
AUD_DEEMPH1_B1:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_DMD_RA_DDS:                  002a4f1d   (00000000 00101010 01001111 00011101)                 
AUD_RATE_ADJ1:                   00000100   (00000000 00000000 00000001 00000000)                 
AUD_RATE_ADJ2:                   00000200   (00000000 00000000 00000010 00000000)                 
AUD_RATE_ADJ3:                   00000300   (00000000 00000000 00000011 00000000)                 
AUD_RATE_ADJ4:                   00000400   (00000000 00000000 00000100 00000000)                 
AUD_RATE_ADJ5:                   00000500   (00000000 00000000 00000101 00000000)                 
AUD_C2_UP_THR:                   00005400   (00000000 00000000 01010100 00000000)                 
AUD_C2_LO_THR:                   00003000   (00000000 00000000 00110000 00000000)                 
AUD_C1_UP_THR:                   00007000   (00000000 00000000 01110000 00000000)                 
AUD_C1_LO_THR:                   00005400   (00000000 00000000 01010100 00000000)                 
AUD_CTL:                         00001208   (00000000 00000000 00010010 00001000)                 
AUD_DCOC_0_SRC:                  0000001a   (00000000 00000000 00000000 00011010)                 
AUD_DCOC_1_SRC:                  0000001b   (00000000 00000000 00000000 00011011)                 
AUD_DCOC1_SHIFT:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DCOC_1_SHIFT_IN0:            0000000a   (00000000 00000000 00000000 00001010)                 
AUD_DCOC_1_SHIFT_IN1:            00000008   (00000000 00000000 00000000 00001000)                 
AUD_DCOC_PASS_IN:                00000003   (00000000 00000000 00000000 00000011)                 
AUD_DCOC_2_SRC:                  0000001b   (00000000 00000000 00000000 00011011)                 
AUD_IIR4_0_SEL:                  0000001d   (00000000 00000000 00000000 00011101)                 
AUD_POLY0_DDS_CONSTANT:          000a62b4   (00000000 00001010 01100010 10110100)                 
AUD_PHASE_FIX_CTL:               00000000   (00000000 00000000 00000000 00000000)                 
AUD_CORDIC_SHIFT_1:              00000007   (00000000 00000000 00000000 00000111)                 
AUD_PLL_EN:                      00000000   (00000000 00000000 00000000 00000000)                 
AUD_PLL_PRESCALE:                00000002   (00000000 00000000 00000000 00000010)                 
AUD_PLL_INT:                     0000001e   (00000000 00000000 00000000 00011110)                 
AUD_AFE_12DB_EN:                 00000001   (00000000 00000000 00000000 00000001)                 
AUD_DBX_IN_GAIN:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_WBE_GAIN:                00000000   (00000000 00000000 00000000 00000000)                 
AUD_DBX_SE_GAIN:                 00000000   (00000000 00000000 00000000 00000000)                 
AUD_OUT1_SHIFT:                  00000000   (00000000 00000000 00000000 00000000)                 
AUD_INIT:                        00000004   (00000000 00000000 00000000 00000100)                 
AUD_STATUS:                      0000fbf2   (00000000 00000000 11111011 11110010)                 
AUD_VOL_CTL:                     000001c0   (00000000 00000000 00000001 11000000)                 
AUD_BAL_CTL:                     00000000   (00000000 00000000 00000000 00000000)                 

end of dump