From patchwork Wed Aug 21 12:29:25 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: remi X-Patchwork-Id: 2847702 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 85ABF9F239 for ; Wed, 21 Aug 2013 12:29:47 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0E6FC204AE for ; Wed, 21 Aug 2013 12:29:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 15E7C2047B for ; Wed, 21 Aug 2013 12:29:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751498Ab3HUM3h (ORCPT ); Wed, 21 Aug 2013 08:29:37 -0400 Received: from moutng.kundenserver.de ([212.227.126.171]:49213 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751480Ab3HUM3f (ORCPT ); Wed, 21 Aug 2013 08:29:35 -0400 Received: from oxbaltgw19.schlund.de (oxbaltgw19.schlund.de [172.19.246.25]) by mrelayeu.kundenserver.de (node=mrbap4) with ESMTP (Nemesis) id 0Le53E-1Vqdon2sf6-00psMS; Wed, 21 Aug 2013 14:29:25 +0200 Date: Wed, 21 Aug 2013 14:29:25 +0200 (CEST) From: remi Reply-To: remi To: Antti Palosaari Cc: linux-media@vger.kernel.org Message-ID: <936351930.115960.1377088165697.open-xchange@email.1and1.fr> In-Reply-To: <945611328.103225.1377027103612.open-xchange@email.1and1.fr> References: <641271032.80124.1376921926586.open-xchange@email.1and1.fr> <52123758.4090007@iki.fi> <408826654.91086.1376994751713.open-xchange@email.1and1.fr> <1970131979.98476.1377009869066.open-xchange@email.1and1.fr> <945611328.103225.1377027103612.open-xchange@email.1and1.fr> Subject: Re: avermedia A306 / PCIe-minicard (laptop) / CX23885 MIME-Version: 1.0 X-Priority: 3 Importance: Medium X-Mailer: Open-Xchange Mailer v7.2.2-Rev13 X-Provags-ID: V02:K0:0nMvoP+FVYiu/vA1B4qisRq7eknhStKVwDihtOmt7d8 hxYXOFVPLupRZDybo90vQWaDgpsCSWN0c4aJBbDJifbDtj+JQV cWJnh9hBuyhSCgivdg4rCIO9VtJwsRjyZ/a56NzYazhc074Gae 7qvgy2u2WRhPO4bHn+CXx9gsYCkZ3xPlK3yOyTVoNBoGuIykux CWJKbogyaNYrKKjZDEG6x94vUMyiVWoEgaiTNqTEIaCujyi7W2 W5RI/BASIi8Tuk/HiTI6kiCW6iLZe5jsLtgrymtYeOYySCNdNq lItg+FCrNpJlPXaBYOM6I7NhqeSa6orIEWjpgG2dPr0GIQYj6x B0/1nbvzdZQoq0fTC7LN1qOWU6Fi5YB+F7zKWRptpM5Wwtcv6+ V1NcsosRQXVNJBIyZy3VwfTjaGQPOCyqcU= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Spam-Status: No, score=-9.7 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_TVD_MIME_EPI, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hello I suggest this patch, For v4l/cx23885.h     v4l/cx23885-video.c and v4l/cx23885-cards.c Status, AVerMedia A306 MiniCard Hybrid DVB-T  / 14f1:8852 (rev 02) Subsystem: 1461:c139 Is beeing regognized and loaded by the driver, by it's PCI ID , The correct firmwares are loaded fully notably by the Xceive 3028 . I'm testing the mpeg side, not fully yet (firmware) . The full dmesg output, with all relevant drivers set debug=1 , is atteched to the email . I do not have all the cables to test (it's a laptop ..:) ) so testing is more than welcome. Best regards Rémi PUTHOMME-ESSAISSI . root@medeb:~/v4l# diff -u  media_build/v4l/cx23885-cards.c media_build.remi/v4l/cx23885-cards.c --- media_build/v4l/cx23885-cards.c     2012-12-28 00:04:05.000000000 +0100 +++ media_build.remi/v4l/cx23885-cards.c        2013-08-21 14:15:54.173195979 +0200 @@ -604,8 +604,39 @@                                   CX25840_NONE0_CH3 |                                   CX25840_NONE1_CH3,                         .amux   = CX25840_AUDIO6, -               } }, -       } +               }} +        }, +       [CX23885_BOARD_AVERMEDIA_A306] = { +                .name           = "AVerTV Hybrid Minicard PCIe A306", +                .tuner_type     = TUNER_XC2028, +                .tuner_addr     = 0x61, /* 0xc2 >> 1 */ +                .tuner_bus      = 1, +                .porta          = CX23885_ANALOG_VIDEO, +               .portb          = CX23885_MPEG_ENCODER, +                .input          = {{ +                        .type   = CX23885_VMUX_TELEVISION, +                        .vmux   = CX25840_VIN2_CH1 | +                                  CX25840_VIN5_CH2 | +                                  CX25840_NONE0_CH3 | +                                  CX25840_NONE1_CH3, +                        .amux   = CX25840_AUDIO8, +                }, { +                        .type   = CX23885_VMUX_SVIDEO, +                        .vmux   = CX25840_VIN8_CH1 | +                                  CX25840_NONE_CH2 | +                                  CX25840_VIN7_CH3 | +                                  CX25840_SVIDEO_ON, +                        .amux   = CX25840_AUDIO6, +                }, { +                        .type   = CX23885_VMUX_COMPONENT, +                        .vmux   = CX25840_VIN1_CH1 | +                                  CX25840_NONE_CH2 | +                                  CX25840_NONE0_CH3 | +                                  CX25840_NONE1_CH3, +                        .amux   = CX25840_AUDIO6, +                }}, + +       }         };  const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);   @@ -841,7 +872,12 @@                 .subvendor = 0x1461,                 .subdevice = 0xd939,                 .card      = CX23885_BOARD_AVERMEDIA_HC81R, -       }, +       }, { +                .subvendor = 0x1461, +                .subdevice = 0xc139, +                .card      = CX23885_BOARD_AVERMEDIA_A306, +        }, +         };  const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);   @@ -1069,6 +1105,10 @@                 /* XC3028L Reset Command */                 bitmask = 1 << 2;                 break; +       case CX23885_BOARD_AVERMEDIA_A306: +                /* XC3028L Reset Command */ +                bitmask = 1 << 2; +                break;         }           if (bitmask) { @@ -1394,6 +1434,34 @@                 cx_set(GP0_IO, 0x00040004);                 mdelay(60);                 break; +        case CX23885_BOARD_AVERMEDIA_A306: +                cx_clear(MC417_CTL, 1); +                /* GPIO-0,1,2 setup direction as output */ +                cx_set(GP0_IO, 0x00070000); +                mdelay(10); +                /* AF9013 demod reset */ +                cx_set(GP0_IO, 0x00010001); +                mdelay(10); +                cx_clear(GP0_IO, 0x00010001); +                mdelay(10); +                cx_set(GP0_IO, 0x00010001); +                mdelay(10); +                /* demod tune? */ +                cx_clear(GP0_IO, 0x00030003); +                mdelay(10); +                cx_set(GP0_IO, 0x00020002); +                mdelay(10); +                cx_set(GP0_IO, 0x00010001); +                mdelay(10); +                cx_clear(GP0_IO, 0x00020002); +                /* XC3028L tuner reset */ +                cx_set(GP0_IO, 0x00040004); +                cx_clear(GP0_IO, 0x00040004); +                cx_set(GP0_IO, 0x00040004); +                mdelay(60); +                break; + +         }  }   @@ -1623,6 +1691,21 @@                 ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */                 ts2->src_sel_val     = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;                 break; + +        case CX23885_BOARD_AVERMEDIA_A306: +                /* Defaults for VID B */ +                ts1->gen_ctrl_val  = 0x4; /* Parallel */ +                ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */ +                ts1->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; +                /* Defaults for VID C */ +                /* DREQ_POL, SMODE, PUNC_CLK, MCLK_POL Serial bus + punc clk */ +                ts2->gen_ctrl_val  = 0x10e; +                ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ +                ts2->src_sel_val     = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; +                break; + + +         case CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP:         case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:                 ts2->gen_ctrl_val  = 0xc; /* Serial bus + punctured clock */ @@ -1758,6 +1841,18 @@                         v4l2_subdev_call(dev->sd_cx25840, core, load_fw);                 }                 break; + +        case CX23885_BOARD_AVERMEDIA_A306: +                dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev, +                                &dev->i2c_bus[2].i2c_adap, +                                "cx25840", 0x88 >> 1, NULL); +                if (dev->sd_cx25840) { +                        dev->sd_cx25840->grp_id = CX23885_HW_AV_CORE; +                        v4l2_subdev_call(dev->sd_cx25840, core, load_fw); +                } +                break; + +         }           /* AUX-PLL 27MHz CLK */ root@medeb:~/v4l# diff -u  media_build/v4l/cx23885-video.c media_build.remi/v4l/cx23885-video.c --- media_build/v4l/cx23885-video.c     2013-08-02 05:45:59.000000000 +0200 +++ media_build.remi/v4l/cx23885-video.c        2013-08-21 13:55:20.017625046 +0200 @@ -511,7 +511,8 @@                 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) ||                 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) ||                 (dev->board == CX23885_BOARD_MYGICA_X8507) || -               (dev->board == CX23885_BOARD_AVERMEDIA_HC81R)) { +               (dev->board == CX23885_BOARD_AVERMEDIA_HC81R)|| +               (dev->board == CX23885_BOARD_AVERMEDIA_A306)) {                 /* Configure audio routing */                 v4l2_subdev_call(dev->sd_cx25840, audio, s_routing,                         INPUT(input)->amux, 0, 0); @@ -1888,6 +1889,20 @@                                 };                                 v4l2_subdev_call(sd, tuner, s_config, &cfg);                         } +                       if (dev->board == CX23885_BOARD_AVERMEDIA_A306) { +                                struct xc2028_ctrl ctrl = { +                                     /* .fname = "xc3028L-v36.fw", */ +                                       .fname = "xc3028-v27.fw", +                                        .max_len = 64 +                                }; +                                struct v4l2_priv_tun_config cfg = { +                                        .tuner = dev->tuner_type, +                                        .priv = &ctrl +                                }; +                                v4l2_subdev_call(sd, tuner, s_config, &cfg); +                        } + +                 }         }   root@medeb:~/v4l# diff -u  media_build/v4l/cx23885.h media_build.remi/v4l/cx23885.h root@medeb:~/v4l# > Le 20 août 2013 à 21:31, remi a écrit : > > > Hello > > Seeing that card=39 worked, and, that the A306 doesnt use the LowPower version > of the XC3028 , HC81 is an expressCard == lowpower > > A306 is the PCIe minicard version == not LowPower , > > > I decided to clone the HC81 entries in cx23885-video.c, cx23885.h , > cx23885-cards.c > > And intruct it to load then the xc3028-v27.fw instead, > > Seems to me alot better , see below , > > And I added so, the card=40 in the definitions ... > > I dont think submiting a patch for this woth it yet ... > > as none of the tuners get "created" , > > For the analog video composite/s-video, i'll be able to test it when i find > the > right cable . > > > > root@medeb:~/v4l/media_build/v4l# grep A306 * > cx23885-cards.c:        [CX23885_BOARD_AVERMEDIA_A306] = { > cx23885-cards.c:                .name           = "AVerTV Hybrid Minicard PCIe > A306", > cx23885-cards.c:                .card      = CX23885_BOARD_AVERMEDIA_A306, > cx23885-cards.c:        case CX23885_BOARD_AVERMEDIA_A306: > cx23885-cards.c:        case CX23885_BOARD_AVERMEDIA_A306: > cx23885-cards.c:        case CX23885_BOARD_AVERMEDIA_A306: > cx23885-cards.c:        case CX23885_BOARD_AVERMEDIA_A306: > cx23885.h:#define CX23885_BOARD_AVERMEDIA_A306          40 > cx23885-video.c:                (dev->board == CX23885_BOARD_AVERMEDIA_A306)) > { > cx23885-video.c:                        if (dev->board == > CX23885_BOARD_AVERMEDIA_A306) { > > > > >                         if (dev->board == CX23885_BOARD_AVERMEDIA_HC81R) { >                                 struct xc2028_ctrl ctrl = { >                                         .fname = "xc3028L-v36.fw", >                                         .max_len = 64 >                                 }; >                                 struct v4l2_priv_tun_config cfg = { >                                         .tuner = dev->tuner_type, >                                         .priv = &ctrl >                                 }; >                                 v4l2_subdev_call(sd, tuner, s_config, &cfg); >                         } >                         if (dev->board == CX23885_BOARD_AVERMEDIA_A306) { >                                 struct xc2028_ctrl ctrl = { >                                      /* .fname = "xc3028L-v36.fw", */ >                                         .fname = "xc3028-v27.fw", >                                         .max_len = 64 >                                 }; >                                 struct v4l2_priv_tun_config cfg = { >                                         .tuner = dev->tuner_type, >                                         .priv = &ctrl >                                 }; >                                 v4l2_subdev_call(sd, tuner, s_config, &cfg); >                         } > > > > [32653.087693] cx23885 driver version 0.0.3 loaded > [32653.088091] CORE cx23885[0]: subsystem: 1461:c139, board: AVerTV Hybrid > Minicard PCIe A306 [card=40,autodetected] > [32653.318339] cx23885[0]: scan bus 0: > [32653.329792] cx23885[0]: i2c scan: found device @ 0xa0  [eeprom] > [32653.336716] cx23885[0]: scan bus 1: > [32653.350543] cx23885[0]: i2c scan: found device @ 0xc2  > [tuner/mt2131/tda8275/xc5000/xc3028] > [32653.355042] cx23885[0]: scan bus 2: > [32653.357050] cx23885[0]: i2c scan: found device @ 0x66  [???] > [32653.357699] cx23885[0]: i2c scan: found device @ 0x88  [cx25837] > [32653.358011] cx23885[0]: i2c scan: found device @ 0x98  [flatiron] > [32653.391211] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) > [32654.031992] cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 > bytes) > [32654.049675] tuner 2-0061: Tuner -1 found with type(s) Radio TV. > [32654.051827] xc2028: Xcv2028/3028 init called! > [32654.051830] xc2028 2-0061: creating new instance > [32654.051832] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner > [32654.051834] xc2028 2-0061: xc2028_set_config called > [32654.051963] cx23885[0]: registered device video0 [v4l2] > [32654.052165] cx23885[0]: registered device vbi0 > [32654.052329] cx23885[0]: registered ALSA audio device > [32654.052593] xc2028 2-0061: request_firmware_nowait(): OK > [32654.052596] xc2028 2-0061: load_all_firmwares called > [32654.052598] xc2028 2-0061: Loading 80 firmware images from xc3028-v27.fw, > type: xc2028 firmware, ver 2.7 > [32654.052606] xc2028 2-0061: Reading firmware type BASE F8MHZ (3), id 0, > size=8718. > [32654.052614] xc2028 2-0061: Reading firmware type BASE F8MHZ MTS (7), id 0, > size=8712. > [32654.052623] xc2028 2-0061: Reading firmware type BASE FM (401), id 0, > size=8562. > [32654.052631] xc2028 2-0061: Reading firmware type BASE FM INPUT1 (c01), id > 0, > size=8576. > [32654.052640] xc2028 2-0061: Reading firmware type BASE (1), id 0, size=8706. > [32654.052647] xc2028 2-0061: Reading firmware type BASE MTS (5), id 0, > size=8682. > [32654.052652] xc2028 2-0061: Reading firmware type (0), id 100000007, > size=161. > [32654.052654] xc2028 2-0061: Reading firmware type MTS (4), id 100000007, > size=169. > [32654.052657] xc2028 2-0061: Reading firmware type (0), id 200000007, > size=161. > [32654.052659] xc2028 2-0061: Reading firmware type MTS (4), id 200000007, > size=169. > [32654.052661] xc2028 2-0061: Reading firmware type (0), id 400000007, > size=161. > [32654.052663] xc2028 2-0061: Reading firmware type MTS (4), id 400000007, > size=169. > [32654.052666] xc2028 2-0061: Reading firmware type (0), id 800000007, > size=161. > [32654.052668] xc2028 2-0061: Reading firmware type MTS (4), id 800000007, > size=169. > [32654.052670] xc2028 2-0061: Reading firmware type (0), id 3000000e0, > size=161. > [32654.052672] xc2028 2-0061: Reading firmware type MTS (4), id 3000000e0, > size=169. > [32654.052675] xc2028 2-0061: Reading firmware type (0), id c000000e0, > size=161. > [32654.052677] xc2028 2-0061: Reading firmware type MTS (4), id c000000e0, > size=169. > [32654.052679] xc2028 2-0061: Reading firmware type (0), id 200000, size=161. > [32654.052681] xc2028 2-0061: Reading firmware type MTS (4), id 200000, > size=169. > [32654.052684] xc2028 2-0061: Reading firmware type (0), id 4000000, size=161. > [32654.052686] xc2028 2-0061: Reading firmware type MTS (4), id 4000000, > size=169. > [32654.052688] xc2028 2-0061: Reading firmware type D2633 DTV6 ATSC (10030), > id > 0, size=149. > [32654.052691] xc2028 2-0061: Reading firmware type D2620 DTV6 QAM (68), id 0, > size=149. > [32654.052694] xc2028 2-0061: Reading firmware type D2633 DTV6 QAM (70), id 0, > size=149. > [32654.052698] xc2028 2-0061: Reading firmware type D2620 DTV7 (88), id 0, > size=149. > [32654.052700] xc2028 2-0061: Reading firmware type D2633 DTV7 (90), id 0, > size=149. > [32654.052703] xc2028 2-0061: Reading firmware type D2620 DTV78 (108), id 0, > size=149. > [32654.052706] xc2028 2-0061: Reading firmware type D2633 DTV78 (110), id 0, > size=149. > [32654.052708] xc2028 2-0061: Reading firmware type D2620 DTV8 (208), id 0, > size=149. > [32654.052711] xc2028 2-0061: Reading firmware type D2633 DTV8 (210), id 0, > size=149. > [32654.052714] xc2028 2-0061: Reading firmware type FM (400), id 0, size=135. > [32654.052716] xc2028 2-0061: Reading firmware type (0), id 10, size=161. > [32654.052718] xc2028 2-0061: Reading firmware type MTS (4), id 10, size=169. > [32654.052721] xc2028 2-0061: Reading firmware type (0), id 1000400000, > size=169. > [32654.052723] xc2028 2-0061: Reading firmware type (0), id c00400000, > size=161. > [32654.052725] xc2028 2-0061: Reading firmware type (0), id 800000, size=161. > [32654.052727] xc2028 2-0061: Reading firmware type (0), id 8000, size=161. > [32654.052729] xc2028 2-0061: Reading firmware type LCD (1000), id 8000, > size=161. > [32654.052732] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id 8000, > size=161. > [32654.052734] xc2028 2-0061: Reading firmware type MTS (4), id 8000, > size=169. > [32654.052737] xc2028 2-0061: Reading firmware type (0), id b700, size=161. > [32654.052739] xc2028 2-0061: Reading firmware type LCD (1000), id b700, > size=161. > [32654.052741] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id b700, > size=161. > [32654.052744] xc2028 2-0061: Reading firmware type (0), id 2000, size=161. > [32654.052745] xc2028 2-0061: Reading firmware type MTS (4), id b700, > size=169. > [32654.052748] xc2028 2-0061: Reading firmware type MTS LCD (1004), id b700, > size=169. > [32654.052750] xc2028 2-0061: Reading firmware type MTS LCD NOGD (3004), id > b700, size=169. > [32654.052753] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3280 > (60000000), id 0, size=192. > [32654.052756] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3300 > (60000000), id 0, size=192. > [32654.052759] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3440 > (60000000), id 0, size=192. > [32654.052762] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3460 > (60000000), id 0, size=192. > [32654.052765] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN36 SCODE > HAS_IF_3800 (60210020), id 0, size=192. > [32654.052768] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4000 > (60000000), id 0, size=192. > [32654.052771] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA388 SCODE > HAS_IF_4080 (60410020), id 0, size=192. > [32654.052775] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4200 > (60000000), id 0, size=192. > [32654.052778] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_4320 > (60008000), id 8000, size=192. > [32654.052781] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4450 > (60000000), id 0, size=192. > [32654.052783] xc2028 2-0061: Reading firmware type MTS LCD NOGD MONO IF SCODE > HAS_IF_4500 (6002b004), id b700, size=192. > [32654.052788] xc2028 2-0061: Reading firmware type LCD NOGD IF SCODE > HAS_IF_4600 (60023000), id 8000, size=192. > [32654.052792] xc2028 2-0061: Reading firmware type DTV6 QAM DTV7 DTV78 DTV8 > ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0, size=192. > [32654.052796] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4940 > (60000000), id 0, size=192. > [32654.052799] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5260 > (60000000), id 0, size=192. > [32654.052802] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_5320 > (60008000), id f00000007, size=192. > [32654.052805] xc2028 2-0061: Reading firmware type DTV7 DTV78 DTV8 DIBCOM52 > CHINA SCODE HAS_IF_5400 (65000380), id 0, size=192. > [32654.052809] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN538 SCODE > HAS_IF_5580 (60110020), id 0, size=192. > [32654.052813] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5640 > (60000000), id 300000007, size=192. > [32654.052816] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5740 > (60000000), id c00000007, size=192. > [32654.052819] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5900 > (60000000), id 0, size=192. > [32654.052822] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6000 > (60008000), id c04c000f0, size=192. > [32654.052825] xc2028 2-0061: Reading firmware type DTV6 QAM ATSC LG60 F6MHZ > SCODE HAS_IF_6200 (68050060), id 0, size=192. > [32654.052829] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6240 > (60000000), id 10, size=192. > [32654.052834] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6320 > (60008000), id 200000, size=192. > [32654.052837] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6340 > (60000000), id 200000, size=192. > [32654.052840] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6500 > (60008000), id c044000e0, size=192. > [32654.052843] xc2028 2-0061: Reading firmware type DTV6 ATSC ATI638 SCODE > HAS_IF_6580 (60090020), id 0, size=192. > [32654.052847] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6600 > (60000000), id 3000000e0, size=192. > [32654.052850] xc2028 2-0061: Reading firmware type MONO SCODE HAS_IF_6680 > (60008000), id 3000000e0, size=192. > [32654.052853] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA794 SCODE > HAS_IF_8140 (60810020), id 0, size=192. > [32654.052857] xc2028 2-0061: Reading firmware type SCODE HAS_IF_8200 > (60000000), id 0, size=192. > [32654.052860] xc2028 2-0061: Firmware files loaded. > [32654.057869] xc2028 2-0061: xc2028_set_analog_freq called > [32654.057872] xc2028 2-0061: generic_set_freq called > [32654.057874] xc2028 2-0061: should set frequency 400000 kHz > [32654.057876] xc2028 2-0061: check_firmware called > [32654.057877] xc2028 2-0061: checking firmware, user requested type=(0), id > 0000000c00001000, scode_tbl (0), scode_nr 0 > [32654.257895] xc2028 2-0061: load_firmware called > [32654.257898] xc2028 2-0061: seek_firmware called, want type=BASE (1), id > 0000000000000000. > [32654.257900] xc2028 2-0061: Found firmware for type=BASE (1), id > 0000000000000000. > [32654.257902] xc2028 2-0061: Loading firmware for type=BASE (1), id > 0000000000000000. > [32655.425394] xc2028 2-0061: Load init1 firmware, if exists > [32655.425399] xc2028 2-0061: load_firmware called > [32655.425402] xc2028 2-0061: seek_firmware called, want type=BASE INIT1 > (4001), > id 0000000000000000. > [32655.425407] xc2028 2-0061: Can't find firmware for type=BASE INIT1 (4001), > id > 0000000000000000. > [32655.425412] xc2028 2-0061: load_firmware called > [32655.425414] xc2028 2-0061: seek_firmware called, want type=BASE INIT1 > (4001), > id 0000000000000000. > [32655.425418] xc2028 2-0061: Can't find firmware for type=BASE INIT1 (4001), > id > 0000000000000000. > [32655.425423] xc2028 2-0061: load_firmware called > [32655.425425] xc2028 2-0061: seek_firmware called, want type=(0), id > 0000000c00001000. > [32655.425429] xc2028 2-0061: Selecting best matching firmware (2 bits) for > type=(0), id 0000000c00001000: > [32655.425432] xc2028 2-0061: Found firmware for type=(0), id > 0000000c000000e0. > [32655.425435] xc2028 2-0061: Loading firmware for type=(0), id > 0000000c000000e0. > [32655.440874] xc2028 2-0061: Trying to load scode 0 > [32655.440875] xc2028 2-0061: load_scode called > [32655.440877] xc2028 2-0061: seek_firmware called, want type=SCODE > (20000000), > id 0000000c000000e0. > [32655.440879] xc2028 2-0061: Found firmware for type=SCODE (20000000), id > 0000000c04c000f0. > [32655.440881] xc2028 2-0061: Loading SCODE for type=MONO SCODE HAS_IF_6000 > (60008000), id 0000000c04c000f0. > [32655.443192] xc2028 2-0061: xc2028_get_reg 0004 called > [32655.443855] xc2028 2-0061: xc2028_get_reg 0008 called > [32655.444521] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware > version 2.7 > [32655.557141] xc2028 2-0061: divisor= 00 00 64 00 (freq=400.000) > [32655.580856] cx23885_dev_checkrevision() Hardware revision = 0xb0 > [32655.580862] cx23885[0]/0: found at 0000:05:00.0, rev: 2, irq: 18, latency: > 0, > mmio: 0xd3000000 > root@medeb:~/v4l/media_build# > > > > Best regards > > Rémi . > > > > Le 20 août 2013 à 16:44, remi a écrit : > > > > > > Hello > > > > FYI > > > > I digged into the firmware problem a little, > > > > > > xc3028L-v36.fw  gets loaded by default , and the errors are as you saw > > earlier > > > > > > forcing the /lib/firmware/xc3028-v27.fw :  > > > > [ 3569.941404] xc2028 2-0061: Could not load firmware > > /lib/firmware/xc3028-v27.fw > > > > > > So i searched the original dell/windows driver : > > > > > > I have these files in there : > > > > root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# ls -lR > > .: > > total 5468 > > drwxr-xr-x 2 gpunk gpunk    4096 août  20 13:24 Driver_X86 > > -rwxr-xr-x 1 gpunk gpunk 5589827 sept. 12  2007 Setup.exe > > -rw-r--r-- 1 gpunk gpunk     197 oct.   9  2007 setup.iss > > > > ./Driver_X86: > > total 1448 > > -rw-r--r-- 1 gpunk gpunk 114338 sept.  7  2007 A885VCap_ASUS_DELL_2.inf > > -rw-r--r-- 1 gpunk gpunk  15850 sept. 11  2007 a885vcap.cat > > -rw-r--r-- 1 gpunk gpunk 733824 sept.  7  2007 A885VCap.sys > > -rw-r--r-- 1 gpunk gpunk 147870 avril 20  2007 cpnotify.ax > > -rw-r--r-- 1 gpunk gpunk 376836 avril 20  2007 cx416enc.rom > > -rw-r--r-- 1 gpunk gpunk  65536 avril 20  2007 cxtvrate.dll > > -rw-r--r-- 1 gpunk gpunk  16382 avril 20  2007 merlinC.rom > > root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070# > > > > root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# grep > > firmware * > > Fichier binaire A885VCap.sys concordant > > root@medeb:/home/gpunk/.wine/drive_c/dell/drivers/R169070/Driver_X86# > > > > > > > > I'll try to find a way to extract "maybe" the right firmware for what this > > card > > , > > > > I'd love some help :) > > > > Good news there are ALOT of infos on how to initialize the card in the .INF > > , > > so > > > > many problems, i think, are partially solved (I need to implement them ) > > > > I'll send a copy of theses to anyone who wishes, > > > > Or see > > http://www.dell.com/support/drivers/us/en/04/DriverDetails?driverId=R169070  > >   > >   > >  :) > > > > Regards > > > > Rémi > > > > > > > > > > > > > Le 20 août 2013 à 12:32, remi a écrit : > > > > > > > > > Hello > > > > > > I have just putdown my screwdrivers :) > > > > > > > > > Yes it was three ICs > > > > > > > > > on the bottom-side , no heatsinks (digital reception, that's why i guess) > > > , > > > is > > > an AF9013-N1 > > > > > > on the top-side, with a heatsink : CX23885-13Z , PCIe A/V controler > > > > > > on the top-side, with heat-sink + "radio-isolation" (aluminum box) > > > XC3028ACQ > > > , > > > so the analog reception . > > > > > >   > > > Its all on a PCIe bus, the reason why i baught it ... :) > > > > > > > > > > > > To resume : > > > > > > > > > AF9013-N1 > > > > > > CX23885-13Z > > > > > > XC3028ACQ > > > > > > > > > the drivers while scanning > > > > > > > > > gpunk@medeb:~/Bureau$ dmesg |grep i2c > > > [    2.363784] cx23885[0]: i2c scan: found device @ 0xa0  [eeprom] > > > [    2.384721] cx23885[0]: i2c scan: found device @ 0xc2  > > > [tuner/mt2131/tda8275/xc5000/xc3028] > > > [    2.391502] cx23885[0]: i2c scan: found device @ 0x66  [???] > > > [    2.392339] cx23885[0]: i2c scan: found device @ 0x88  [cx25837] > > > [    2.392831] cx23885[0]: i2c scan: found device @ 0x98  [flatiron] > > > [    5.306751] i2c /dev entries driver > > > gpunk@medeb:~/Bureau$ > > > > > > > > >  4.560428] xc2028 2-0061: xc2028_get_reg 0008 called > > > [    4.560989] xc2028 2-0061: Device is Xceive 0 version 0.0, firmware > > > version > > > 0.0 > > > [    4.560990] xc2028 2-0061: Incorrect readback of firmware version. > > > [ *    4.561184] xc2028 2-0061: Read invalid device hardware information - > > > tuner > > > hung? > > > [ *    4.561386] xc2028 2-0061: 0.0      0.0 > > > [ *    4.674072] xc2028 2-0061: divisor= 00 00 64 00 (freq=400.000) > > > [    4.697830] cx23885_dev_checkrevision() Hardware revision = 0xb0 > > > [    4.698029] cx23885[0]/0: found at 0000:05:00.0, rev: 2, irq: 18, > > > latency: > > > 0, > > > mmio: 0xd3000000 > > > > > > * --> I bypassed the "goto fail" to start debugging a little bit the > > > tuner-xc2028.c/ko ... lines 869 > > > ... > > > > > > > > > > > > The firmware doesnt get all loaded . > > > gpunk@medeb:~/Bureau$  uname -a > > > Linux medeb 3.11.0-rc6remi #1 SMP PREEMPT Mon Aug 19 13:30:04 CEST 2013 > > > i686 > > > GNU/Linux > > > gpunk@medeb:~/Bureau$ > > > > > > > > > With yesterday's tarball from linuxtv.org / media-build git . > > > > > > > > > > > > Best regards > > > > > > Rémi > > > > > > > > > > > > > > > > Le 19 août 2013 à 17:18, Antti Palosaari a écrit : > > > > > > > > > > > > On 08/19/2013 05:18 PM, remi wrote: > > > > > Hello > > > > > > > > > > I have this card since months, > > > > > > > > > > http://www.avermedia.com/avertv/Product/ProductDetail.aspx?Id=376&SI=true > > > > > > > > > > I have finally retested it with the cx23885 driver : card=39 > > > > > > > > > > > > > > > > > > > > If I could do anything to identify : [    2.414734] cx23885[0]: i2c > > > > > scan: > > > > > found > > > > > device @ 0x66  [???] > > > > > > > > > > Or "hookup" the xc5000 etc > > > > > > > > > > I'll be more than glad . > > > > > > > > > > > > > > > > > > > > > > > ps: i opened it up a while ago,i saw an af9013 chip ? dvb-tuner looks > > > > > like > > > > > maybe the "device @ 0x66 i2c" > > > > > > > > > > I will double check , and re-write-down all the chips , i think 3 . > > > > > > > > You have to identify all the chips, for DVB-T there is tuner missing. > > > > > > > > USB-interface: cx23885 > > > > DVB-T demodulator: AF9013 > > > > RF-tuner: ? > > > > > > > > If there is existing driver for used RF-tuner it comes nice hacking > > > > project for some newcomer. > > > > > > > > It is just tweaking and hacking to find out all settings. AF9013 driver > > > > also needs likely some changes, currently it is used only for devices > > > > having AF9015 with integrated AF9013, or AF9015 dual devices having > > > > AF9015 + external AF9013 providing second tuner. > > > > > > > > I have bought quite similar AverMedia A301 ages back as I was looking > > > > for that AF9013 model, but maybe I have bought just wrong one... :) > > > > > > > > > > > > regards > > > > Antti > > > > > > > > > > > > -- > > > > http://palosaari.fi/ > > > > -- > > > > To unsubscribe from this list: send the line "unsubscribe linux-media" > > > > in > > > > the body of a message to majordomo@vger.kernel.org > > > > More majordomo info at  http://vger.kernel.org/majordomo-info.html > > > -- > > > To unsubscribe from this list: send the line "unsubscribe linux-media" in > > > the body of a message to majordomo@vger.kernel.org > > > More majordomo info at  http://vger.kernel.org/majordomo-info.html > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-media" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at  http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at  http://vger.kernel.org/majordomo-info.html [ 3744.997672] media: Linux media interface: v0.10 [ 3745.000303] Linux video capture interface: v2.00 [ 3745.000308] WARNING: You are using an experimental version of the media stack. [ 3745.000308] As the driver is backported to an older kernel, it doesn't offer [ 3745.000308] enough quality for its usage in production. [ 3745.000308] Use it with care. [ 3745.000308] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org): [ 3745.000308] dfb9f94e8e5e7f73c8e2bcb7d4fb1de57e7c333d [media] stk1160: Build as a module if SND is m and audio support is selected [ 3745.000308] 9f1595245574a2dc1fb375df665e4d9fe336a9c4 [media] cx23885-video: fix two warnings [ 3745.000308] 5bc08e1921e46101457d3be09835697490177fdd [media] cx23885[v4]: Fix interrupt storm when enabling IR receiver [ 3745.001773] WARNING: You are using an experimental version of the media stack. [ 3745.001773] As the driver is backported to an older kernel, it doesn't offer [ 3745.001773] enough quality for its usage in production. [ 3745.001773] Use it with care. [ 3745.001773] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org): [ 3745.001773] dfb9f94e8e5e7f73c8e2bcb7d4fb1de57e7c333d [media] stk1160: Build as a module if SND is m and audio support is selected [ 3745.001773] 9f1595245574a2dc1fb375df665e4d9fe336a9c4 [media] cx23885-video: fix two warnings [ 3745.001773] 5bc08e1921e46101457d3be09835697490177fdd [media] cx23885[v4]: Fix interrupt storm when enabling IR receiver [ 3745.003348] WARNING: You are using an experimental version of the media stack. [ 3745.003348] As the driver is backported to an older kernel, it doesn't offer [ 3745.003348] enough quality for its usage in production. [ 3745.003348] Use it with care. [ 3745.003348] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org): [ 3745.003348] dfb9f94e8e5e7f73c8e2bcb7d4fb1de57e7c333d [media] stk1160: Build as a module if SND is m and audio support is selected [ 3745.003348] 9f1595245574a2dc1fb375df665e4d9fe336a9c4 [media] cx23885-video: fix two warnings [ 3745.003348] 5bc08e1921e46101457d3be09835697490177fdd [media] cx23885[v4]: Fix interrupt storm when enabling IR receiver [ 3745.007711] cx23885 driver version 0.0.3 loaded [ 3745.007846] cx23885[0]: cx23885_dev_setup() Memory configured for PCIe bridge type 885 [ 3745.007850] cx23885[0]: cx23885_init_tsport(portno=1) [ 3745.008123] CORE cx23885[0]: subsystem: 1461:c139, board: AVerTV Hybrid Minicard PCIe A306 [card=40,autodetected] [ 3745.008125] cx23885[0]: cx23885_pci_quirks() [ 3745.008130] cx23885[0]: cx23885_dev_setup() tuner_type = 0x47 tuner_addr = 0x61 tuner_bus = 1 [ 3745.008133] cx23885[0]: cx23885_dev_setup() radio_type = 0x0 radio_addr = 0x0 [ 3745.008135] cx23885[0]: cx23885_reset() [ 3745.108158] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [VID A] [ 3745.108172] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch2] [ 3745.108173] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TS1 B] [ 3745.108188] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch4] [ 3745.108190] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch5] [ 3745.108191] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TS2 C] [ 3745.108206] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TV Audio] [ 3745.108223] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch8] [ 3745.108225] cx23885[0]: cx23885_sram_channel_setup() Erasing channel [ch9] [ 3745.238409] cx23885[0]: scan bus 0: [ 3745.249869] cx23885[0]: i2c scan: found device @ 0xa0 [eeprom] [ 3745.256761] cx23885[0]: scan bus 1: [ 3745.270630] cx23885[0]: i2c scan: found device @ 0xc2 [tuner/mt2131/tda8275/xc5000/xc3028] [ 3745.275114] cx23885[0]: scan bus 2: [ 3745.277143] cx23885[0]: i2c scan: found device @ 0x66 [???] [ 3745.277796] cx23885[0]: i2c scan: found device @ 0x88 [cx25837] [ 3745.278106] cx23885[0]: i2c scan: found device @ 0x98 [flatiron] [ 3745.309559] cx25840 13-0044: detecting cx25840 client on address 0x88 [ 3745.309786] cx25840 13-0044: device_id = 0x0000 [ 3745.310472] cx25840 13-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 3745.956718] cx25840 13-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 3745.957354] cx25840 13-0044: PLL regs = int: 15, frac: 2876105, post: 4 [ 3745.957356] cx25840 13-0044: PLL = 107.999999 MHz [ 3745.957358] cx25840 13-0044: PLL/8 = 13.499999 MHz [ 3745.957359] cx25840 13-0044: ADC Sampling freq = 14.317382 MHz [ 3745.957361] cx25840 13-0044: Chroma sub-carrier freq = 3.579545 MHz [ 3745.957363] cx25840 13-0044: hblank 122, hactive 720, vblank 26, vactive 487, vblank656 26, src_dec 543, burst 0x5b, luma_lpf 1, uv_lpf 1, comb 0x66, sc 0x087c1f [ 3745.959132] cx25840 13-0044: decoder set video input 7, audio input 8 [ 3745.975507] tuner 12-0061: Setting mode_mask to 0x06 [ 3745.975511] tuner 12-0061: tuner 0x61: Tuner type absent [ 3745.975514] tuner 12-0061: Tuner -1 found with type(s) Radio TV. [ 3745.975523] tuner 12-0061: Calling set_type_addr for type=71, addr=0x61, mode=0x04, config= (null) [ 3745.975525] tuner 12-0061: defining GPIO callback [ 3745.978494] xc2028: Xcv2028/3028 init called! [ 3745.978498] xc2028 12-0061: creating new instance [ 3745.978501] xc2028 12-0061: type set to XCeive xc2028/xc3028 tuner [ 3745.978503] tuner 12-0061: type set to Xceive XC3028 [ 3745.978507] tuner 12-0061: cx23885[0] tuner I2C addr 0xc2 with type 71 used for 0x04 [ 3745.978509] xc2028 12-0061: xc2028_set_config called [ 3745.978595] cx23885[0]: registered device video0 [v4l2] [ 3745.978602] xc2028 12-0061: request_firmware_nowait(): OK [ 3745.978605] xc2028 12-0061: load_all_firmwares called [ 3745.978608] xc2028 12-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 3745.978616] xc2028 12-0061: Reading firmware type BASE F8MHZ (3), id 0, size=8718. [ 3745.978627] xc2028 12-0061: Reading firmware type BASE F8MHZ MTS (7), id 0, size=8712. [ 3745.978639] cx23885[0]: registered device vbi0 [ 3745.978641] xc2028 12-0061: Reading firmware type BASE FM (401), id 0, size=8562. [ 3745.978655] xc2028 12-0061: Reading firmware type BASE FM INPUT1 (c01), id 0, size=8576. [ 3745.978666] xc2028 12-0061: Reading firmware type BASE (1), id 0, size=8706. [ 3745.978677] xc2028 12-0061: Reading firmware type BASE MTS (5), id 0, size=8682. [ 3745.978685] xc2028 12-0061: Reading firmware type (0), id 100000007, size=161. [ 3745.978688] xc2028 12-0061: Reading firmware type MTS (4), id 100000007, size=169. [ 3745.978692] xc2028 12-0061: Reading firmware type (0), id 200000007, size=161. [ 3745.978695] xc2028 12-0061: Reading firmware type MTS (4), id 200000007, size=169. [ 3745.978699] xc2028 12-0061: Reading firmware type (0), id 400000007, size=161. [ 3745.978702] xc2028 12-0061: Reading firmware type MTS (4), id 400000007, size=169. [ 3745.978706] xc2028 12-0061: Reading firmware type (0), id 800000007, size=161. [ 3745.978709] xc2028 12-0061: Reading firmware type MTS (4), id 800000007, size=169. [ 3745.978713] xc2028 12-0061: Reading firmware type (0), id 3000000e0, size=161. [ 3745.978716] xc2028 12-0061: Reading firmware type MTS (4), id 3000000e0, size=169. [ 3745.978719] xc2028 12-0061: Reading firmware type (0), id c000000e0, size=161. [ 3745.978722] xc2028 12-0061: Reading firmware type MTS (4), id c000000e0, size=169. [ 3745.978726] xc2028 12-0061: Reading firmware type (0), id 200000, size=161. [ 3745.978729] xc2028 12-0061: Reading firmware type MTS (4), id 200000, size=169. [ 3745.978733] xc2028 12-0061: Reading firmware type (0), id 4000000, size=161. [ 3745.978736] xc2028 12-0061: Reading firmware type MTS (4), id 4000000, size=169. [ 3745.978740] xc2028 12-0061: Reading firmware type D2633 DTV6 ATSC (10030), id 0, size=149. [ 3745.978744] xc2028 12-0061: Reading firmware type D2620 DTV6 QAM (68), id 0, size=149. [ 3745.978749] xc2028 12-0061: Reading firmware type D2633 DTV6 QAM (70), id 0, size=149. [ 3745.978754] xc2028 12-0061: Reading firmware type D2620 DTV7 (88), id 0, size=149. [ 3745.978758] xc2028 12-0061: Reading firmware type D2633 DTV7 (90), id 0, size=149. [ 3745.978762] xc2028 12-0061: Reading firmware type D2620 DTV78 (108), id 0, size=149. [ 3745.978766] xc2028 12-0061: Reading firmware type D2633 DTV78 (110), id 0, size=149. [ 3745.978770] xc2028 12-0061: Reading firmware type D2620 DTV8 (208), id 0, size=149. [ 3745.978774] xc2028 12-0061: Reading firmware type D2633 DTV8 (210), id 0, size=149. [ 3745.978778] xc2028 12-0061: Reading firmware type FM (400), id 0, size=135. [ 3745.978782] xc2028 12-0061: Reading firmware type (0), id 10, size=161. [ 3745.978785] cx23885[0]: registered ALSA audio device [ 3745.978788] cx25840 13-0044: changing video std to fmt 1 [ 3745.978790] xc2028 12-0061: Reading firmware type MTS (4), id 10, size=169. [ 3745.978794] xc2028 12-0061: Reading firmware type (0), id 1000400000, size=169. [ 3745.978797] xc2028 12-0061: Reading firmware type (0), id c00400000, size=161. [ 3745.978800] xc2028 12-0061: Reading firmware type (0), id 800000, size=161. [ 3745.978803] xc2028 12-0061: Reading firmware type (0), id 8000, size=161. [ 3745.978807] xc2028 12-0061: Reading firmware type LCD (1000), id 8000, size=161. [ 3745.978810] xc2028 12-0061: Reading firmware type LCD NOGD (3000), id 8000, size=161. [ 3745.978814] xc2028 12-0061: Reading firmware type MTS (4), id 8000, size=169. [ 3745.978818] xc2028 12-0061: Reading firmware type (0), id b700, size=161. [ 3745.978821] xc2028 12-0061: Reading firmware type LCD (1000), id b700, size=161. [ 3745.978825] xc2028 12-0061: Reading firmware type LCD NOGD (3000), id b700, size=161. [ 3745.978828] xc2028 12-0061: Reading firmware type (0), id 2000, size=161. [ 3745.978832] xc2028 12-0061: Reading firmware type MTS (4), id b700, size=169. [ 3745.978835] xc2028 12-0061: Reading firmware type MTS LCD (1004), id b700, size=169. [ 3745.978839] xc2028 12-0061: Reading firmware type MTS LCD NOGD (3004), id b700, size=169. [ 3745.978843] xc2028 12-0061: Reading firmware type SCODE HAS_IF_3280 (60000000), id 0, size=192. [ 3745.978848] xc2028 12-0061: Reading firmware type SCODE HAS_IF_3300 (60000000), id 0, size=192. [ 3745.978853] xc2028 12-0061: Reading firmware type SCODE HAS_IF_3440 (60000000), id 0, size=192. [ 3745.978857] xc2028 12-0061: Reading firmware type SCODE HAS_IF_3460 (60000000), id 0, size=192. [ 3745.978861] xc2028 12-0061: Reading firmware type DTV6 ATSC OREN36 SCODE HAS_IF_3800 (60210020), id 0, size=192. [ 3745.978867] xc2028 12-0061: Reading firmware type SCODE HAS_IF_4000 (60000000), id 0, size=192. [ 3745.978871] xc2028 12-0061: Reading firmware type DTV6 ATSC TOYOTA388 SCODE HAS_IF_4080 (60410020), id 0, size=192. [ 3745.978877] xc2028 12-0061: Reading firmware type SCODE HAS_IF_4200 (60000000), id 0, size=192. [ 3745.978882] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_4320 (60008000), id 8000, size=192. [ 3745.978886] xc2028 12-0061: Reading firmware type SCODE HAS_IF_4450 (60000000), id 0, size=192. [ 3745.978891] xc2028 12-0061: Reading firmware type MTS LCD NOGD MONO IF SCODE HAS_IF_4500 (6002b004), id b700, size=192. [ 3745.978898] xc2028 12-0061: Reading firmware type LCD NOGD IF SCODE HAS_IF_4600 (60023000), id 8000, size=192. [ 3745.978903] xc2028 12-0061: Reading firmware type DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0, size=192. [ 3745.978911] xc2028 12-0061: Reading firmware type SCODE HAS_IF_4940 (60000000), id 0, size=192. [ 3745.978915] xc2028 12-0061: Reading firmware type SCODE HAS_IF_5260 (60000000), id 0, size=192. [ 3745.978920] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_5320 (60008000), id f00000007, size=192. [ 3745.978924] xc2028 12-0061: Reading firmware type DTV7 DTV78 DTV8 DIBCOM52 CHINA SCODE HAS_IF_5400 (65000380), id 0, size=192. [ 3745.978931] xc2028 12-0061: Reading firmware type DTV6 ATSC OREN538 SCODE HAS_IF_5580 (60110020), id 0, size=192. [ 3745.978938] xc2028 12-0061: Reading firmware type SCODE HAS_IF_5640 (60000000), id 300000007, size=192. [ 3745.978942] xc2028 12-0061: Reading firmware type SCODE HAS_IF_5740 (60000000), id c00000007, size=192. [ 3745.978947] xc2028 12-0061: Reading firmware type SCODE HAS_IF_5900 (60000000), id 0, size=192. [ 3745.978951] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_6000 (60008000), id c04c000f0, size=192. [ 3745.978956] xc2028 12-0061: Reading firmware type DTV6 QAM ATSC LG60 F6MHZ SCODE HAS_IF_6200 (68050060), id 0, size=192. [ 3745.978963] xc2028 12-0061: Reading firmware type SCODE HAS_IF_6240 (60000000), id 10, size=192. [ 3745.978967] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_6320 (60008000), id 200000, size=192. [ 3745.978972] xc2028 12-0061: Reading firmware type SCODE HAS_IF_6340 (60000000), id 200000, size=192. [ 3745.978977] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_6500 (60008000), id c044000e0, size=192. [ 3745.978982] xc2028 12-0061: Reading firmware type DTV6 ATSC ATI638 SCODE HAS_IF_6580 (60090020), id 0, size=192. [ 3745.978988] xc2028 12-0061: Reading firmware type SCODE HAS_IF_6600 (60000000), id 3000000e0, size=192. [ 3745.978992] xc2028 12-0061: Reading firmware type MONO SCODE HAS_IF_6680 (60008000), id 3000000e0, size=192. [ 3745.978997] xc2028 12-0061: Reading firmware type DTV6 ATSC TOYOTA794 SCODE HAS_IF_8140 (60810020), id 0, size=192. [ 3745.979021] xc2028 12-0061: Reading firmware type SCODE HAS_IF_8200 (60000000), id 0, size=192. [ 3745.979025] xc2028 12-0061: Firmware files loaded. [ 3745.979816] cx25840 13-0044: PLL regs = int: 15, frac: 2876105, post: 4 [ 3745.979820] cx25840 13-0044: PLL = 107.999999 MHz [ 3745.979822] cx25840 13-0044: PLL/8 = 13.499999 MHz [ 3745.979825] cx25840 13-0044: ADC Sampling freq = 14.317382 MHz [ 3745.979827] cx25840 13-0044: Chroma sub-carrier freq = 3.579545 MHz [ 3745.979831] cx25840 13-0044: hblank 122, hactive 720, vblank 26, vactive 487, vblank656 26, src_dec 543, burst 0x5b, luma_lpf 1, uv_lpf 1, comb 0x66, sc 0x087c1f [ 3745.982961] tuner 12-0061: tv freq set to 400.00 [ 3745.982964] xc2028 12-0061: xc2028_set_analog_freq called [ 3745.982967] xc2028 12-0061: generic_set_freq called [ 3745.982970] xc2028 12-0061: should set frequency 400000 kHz [ 3745.982972] xc2028 12-0061: check_firmware called [ 3745.982974] xc2028 12-0061: checking firmware, user requested type=(0), id 0000000000001000, scode_tbl (0), scode_nr 0 [ 3746.021739] cx23885[0]: cx23885_sram_channel_setup() Configuring channel [TV Audio] [ 3746.185354] xc2028 12-0061: load_firmware called [ 3746.185358] xc2028 12-0061: seek_firmware called, want type=BASE (1), id 0000000000000000. [ 3746.185361] xc2028 12-0061: Found firmware for type=BASE (1), id 0000000000000000. [ 3746.185363] xc2028 12-0061: Loading firmware for type=BASE (1), id 0000000000000000. [ 3747.357384] xc2028 12-0061: Load init1 firmware, if exists [ 3747.357389] xc2028 12-0061: load_firmware called [ 3747.357392] xc2028 12-0061: seek_firmware called, want type=BASE INIT1 (4001), id 0000000000000000. [ 3747.357399] xc2028 12-0061: Can't find firmware for type=BASE INIT1 (4001), id 0000000000000000. [ 3747.357403] xc2028 12-0061: load_firmware called [ 3747.357405] xc2028 12-0061: seek_firmware called, want type=BASE INIT1 (4001), id 0000000000000000. [ 3747.357410] xc2028 12-0061: Can't find firmware for type=BASE INIT1 (4001), id 0000000000000000. [ 3747.357414] xc2028 12-0061: load_firmware called [ 3747.357416] xc2028 12-0061: seek_firmware called, want type=(0), id 0000000000001000. [ 3747.357420] xc2028 12-0061: Found firmware for type=(0), id 000000000000b700. [ 3747.357423] xc2028 12-0061: Loading firmware for type=(0), id 000000000000b700. [ 3747.372943] xc2028 12-0061: Trying to load scode 0 [ 3747.372944] xc2028 12-0061: load_scode called [ 3747.372946] xc2028 12-0061: seek_firmware called, want type=SCODE (20000000), id 000000000000b700. [ 3747.372948] xc2028 12-0061: Selecting best matching firmware (1 bits) for type=SCODE (20000000), id 000000000000b700: [ 3747.372950] xc2028 12-0061: Found firmware for type=SCODE (20000000), id 0000000000008000. [ 3747.372952] xc2028 12-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 0000000000008000. [ 3747.375268] xc2028 12-0061: xc2028_get_reg 0004 called [ 3747.375932] xc2028 12-0061: xc2028_get_reg 0008 called [ 3747.376615] xc2028 12-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 [ 3747.489052] xc2028 12-0061: divisor= 00 00 64 00 (freq=400.000) [ 3747.489735] cx25840 13-0044: decoder set video input -2147483439, audio input 8 [ 3747.489738] cx25840 13-0044: vid_input 0x800000d1 [ 3747.489740] cx25840 13-0044: mux cfg 0xd1 comp=1 [ 3747.501430] cx25840 13-0044: decoder set video input -2147483439, audio input 8 [ 3747.501433] cx25840 13-0044: vid_input 0x800000d1 [ 3747.501434] cx25840 13-0044: mux cfg 0xd1 comp=1 [ 3747.513175] cx23885[0]: cx23885_417_register() [ 3747.513177] cx23885[0]: cx23885_video_dev_alloc() [ 3747.513296] cx23885[0]: registered device video1 [mpeg] [ 3747.513298] cx23885[0]: cx23885_initialize_codec() [ 3747.513318] Firmware and/or mailbox pointer not initialized or corrupted, signature = 0xfefefefe, cmd = PING_FW [ 3748.109946] cx23885[0]: Verifying firmware ... [ 3749.480719] ERROR: Firmware load failed (checksum mismatch). [ 3749.480734] cx23885_initialize_codec() f/w load failed [ 3749.480739] cx23885_dev_checkrevision() Hardware revision = 0xb0 [ 3749.480744] cx23885[0]/0: found at 0000:05:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xd3000000 root@medeb:~/v4l# --- media_build/v4l/cx23885.h   2013-03-25 05:45:50.000000000 +0100 +++ media_build.remi/v4l/cx23885.h      2013-08-21 13:55:20.010625134 +0200 @@ -93,6 +93,7 @@  #define CX23885_BOARD_PROF_8000                37  #define CX23885_BOARD_HAUPPAUGE_HVR4400        38  #define CX23885_BOARD_AVERMEDIA_HC81R          39 +#define CX23885_BOARD_AVERMEDIA_A306           40    #define GPIO_0 0x00000001  #define GPIO_1 0x00000002