patch for lifeview hybrid mini
Hi, the proposed patch is 6 month old and the owner of the card does not give any more sign of life for the support of the radio. can someone review it and push it as is? Cheers, Signed-off-by: thomas genty diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 07f6bb8..d246e15 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c @@ -5462,6 +5462,37 @@ struct saa7134_board saa7134_boards[] = { .amux = TV, }, }, + [SAA7134_BOARD_FLYDVBTDUO_MEDION] = { + /* Thomas Genty */ + .name = "LifeView FlyDVB-T DUO Mini", + .audio_clock= 0x00187de7, + .tuner_type = TUNER_PHILIPS_TDA8290, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .gpiomask = 0x0060, + .mpeg = SAA7134_MPEG_DVB, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = TV, + .gpio = 0x20, + .tv = 1, + },{ + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + },{ + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + }}, + .radio = { + .name = name_radio, + .amux = LINE2, + .gpio = 0x20, /* No tested */ + }, + }, }; @@ -6631,6 +6662,12 @@ struct pci_device_id saa7134_pci_tbl[] = { .subdevice= 0x6655, .driver_data = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S, }, { + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7133, + .subvendor= 0x5168, + .subdevice= 0x0307, /* Lifeview flydvb-t hybrid mini, LR307-N */ + .driver_data = SAA7134_BOARD_FLYDVBTDUO_MEDION, + }, { /* --- boards without eeprom + subsystem ID --- */ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7134, @@ -7383,6 +7420,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) case SAA7134_BOARD_AVERMEDIA_SUPER_007: case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: case SAA7134_BOARD_CREATIX_CTX953: + case SAA7134_BOARD_FLYDVBTDUO_MEDION: { /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 31e82be..2a2e3d8 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c @@ -824,6 +824,19 @@ static struct tda1004x_config asus_tiger_3in1_config = { .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config tda827x_flydvbtduo_medion_config = { + .demod_address = 0x08, + .invert= 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config= TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP01_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x4b, + .tuner_address = 0x61, + .request_firmware = philips_tda1004x_request_firmware +}; + /* -- * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1590,6 +1603,22 @@ static int dvb_init(struct saa7134_dev *dev) &dtv1000s_tda18271_config); } break; + case SAA7134_BOARD_FLYDVBTDUO_MEDION: + /* this card uses saa713x GPIO22 for the mode switch */ + fe0->dvb.frontend = dvb_attach(tda10046_attach, + &tda827x_flydvbtduo_medion_config, + &dev->i2c_adap); + if (fe0->dvb.frontend) { + if (dvb_attach(tda827x_attach,fe0->dvb.frontend, + tda827x_flydvbtduo_medion_config.tuner_address, &dev->i2c_adap, +&ads_duo_cfg) == NULL) { +wprintk("no tda827x tuner found at addr: %02x\n", + tda827x_flydvbtduo_medion_config.tuner_address); +goto dettach_frontend; + } + } else + wprintk("failed to attach tda10046\n"); + break; default: wprintk("Huh? unknown DVB card?\n"); break; diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 756a1ca..c1f213c 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h @@ -304,6 +304,7 @@ struct saa7134_format { #define SAA7134_BOARD_BEHOLD_H7 178 #define SAA7134_BOARD_BEHOLD_A7 179 #define SAA7134_BOARD_AVERMEDIA_M733A 180 +#define SAA7134_BOARD_FLYDVBTDUO_MEDION 181 #define SAA7134_MAXBOARDS 32 #define SAA7134_INPUT_MAX 8
Re: patch for lifeview hybrid mini
Le 17/08/2010 02:24, hermann pitton a écrit : Hi, Am Sonntag, den 15.08.2010, 07:20 +0200 schriebtomloh...@gmail.com: Hi, the proposed patch is 6 month old and the owner of the card does not give any more sign of life for the support of the radio. can someone review it and push it as is? Cheers, Signed-off-by: thomas genty Thomas, just some quick notes, since nobody else cares. The m$ regspy gpio logs do show only gpio22 changing for analog and DVB-T and this should be the out of reference AGC control on a hopefully single hybrid tuner on that device called DUO. Remember, gpios not set in the mask of the analog part of the device do not change/switch anything, but those set there will change to zero even without explicit gpio define for that specific analog input. Out of historical reasons, we don't have this in our logs for DVB, also else they would be littered by the changing gpios for the TS/MPEG interface, but should be OK. We don't need to mark DVB related gpio stuff in the analog gpio mask, since we need to use some sort of hack to switch gpios on saa713x in DVB mode. dvb and v4l still don't know much about what each other subsystem does on that, but we have some progress. So, for now, I don't know for what gpio21 high in analog TV mode should be good, since the m$ driver seems not to do anything on that one, for what we have so far. Also it is common on later LifeView stuff (arrgh), but always is present in related logs then too. If ever needed, despite of that line inputs and muxes are also totally unconfirmed, and radio is plain madness ... drop the radio support for now, mark the external inputs as untested and I give some reviewed by so far with headaches. If we can't get more from here anymore, we must let it bounce. Cheers, Hermann Hi Hermann, thanks for you response for gpios : there is no software bundled with this card to listen to the radio so there is maybe a gpio not showed in regspy when trying to listen music. Is this a bad assumption? anyway gpios 22 and 16 are hight in regspy with gpiomask 410 000 : dvb, analog tv and svideo work fine only radio remains : you can hear the results for radio here (2 Mo): http://perso.orange.fr/tomlohave/linux/radio.test we can clearly hear the sound of a song but it is broken and interrupted, the question is why have you a suggestion ? Cheers T.G -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
saa7134 (not very) new board 5168:0307
Hello list, looking from saa7134.h, this board 5168:0307 is not included This cars is on some asus laptop and some medion laptop It was previously working with this settings (1) card=55 tuner=54 or (2) with tuner = 86 ok, so with this settings, nothing : with card = 55 : [ 109.375445] Linux video capture interface: v2.00 [ 109.410546] saa7130/34: v4l2 driver version 0.2.14 loaded [ 109.410606] saa7133[0]: found at :06:03.0, rev: 208, irq: 19, latency: 181, mmio: 0xb4007800 [ 109.410614] saa7133[0]: subsystem: 5168:0307, board: LifeView FlyDVB-T DUO / MSI t...@nywhere Duo [card=55,insmod option] [ 109.410674] saa7133[0]: board init: gpio is 1 [ 109.410743] input: saa7134 IR (LifeView FlyDVB-T D as /devices/pci:00/:00:1e.0/:06:03.0/input/input9 [ 109.587912] saa7133[0]: i2c eeprom 00: 68 51 07 03 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 [ 109.587924] saa7133[0]: i2c eeprom 10: 00 00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff [ 109.587934] saa7133[0]: i2c eeprom 20: 01 40 01 03 03 01 01 03 08 ff 01 e7 ff ff ff ff [ 109.587944] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587953] saa7133[0]: i2c eeprom 40: ff 24 00 c2 96 10 05 01 01 16 22 15 ff ff ff ff [ 109.587963] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587972] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587982] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587992] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588024] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588034] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588043] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588053] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588062] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588072] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588081] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.596023] saa7133[0]: i2c scan: found device @ 0x10 [???] [ 109.612379] saa7133[0]: i2c scan: found device @ 0x96 [???] [ 109.620016] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom] [ 109.984237] tuner' 0-004b: chip found @ 0x96 (saa7133[0]) [ 110.064028] tda829x 0-004b: setting tuner address to 61 [ 110.144024] tda829x 0-004b: type set to tda8290+75 [ 114.804413] saa7133[0]: registered device video0 [v4l2] [ 114.804463] saa7133[0]: registered device vbi0 [ 114.804509] saa7133[0]: registered device radio0 [ 114.891645] saa7134 ALSA driver for DMA sound loaded [ 114.891706] saa7133[0]/alsa: saa7133[0] at 0xb4007800 irq 19 registered as card -2 [ 115.705042] dvb_init() allocating 1 frontend [ 115.756244] DVB: registering new adapter (saa7133[0]) [ 115.756254] DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)... [ 115.940033] tda1004x: setting up plls for 48MHz sampling clock [ 116.106914] tda1004x: found firmware revision ff -- invalid [ 116.106921] tda1004x: trying to boot from eeprom [ 116.572024] tda1004x: found firmware revision 23 -- ok [ 117.016161] tda827x_probe_version: could not read from tuner at addr: 0xc0 [ 3969.562904] saa7130/34: v4l2 driver version 0.2.14 loaded [ 3969.562994] saa7133[0]: found at :06:03.0, rev: 208, irq: 19, latency: 181, mmio: 0xb4007800 [ 3969.563007] saa7133[0]: subsystem: 5168:0307, board: LifeView FlyDVB-T / Genius VideoWonder DVB-T [card=86,insmod option] [ 3969.563091] saa7133[0]: board init: gpio is 1 [ 3969.563219] input: saa7134 IR (LifeView FlyDVB-T / as /devices/pci:00/:00:1e.0/:06:03.0/input/input9 [ 3969.738045] saa7133[0]: i2c eeprom 00: 68 51 07 03 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 [ 3969.738069] saa7133[0]: i2c eeprom 10: 00 00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff [ 3969.738090] saa7133[0]: i2c eeprom 20: 01 40 01 03 03 01 01 03 08 ff 01 e7 ff ff ff ff [ 3969.738111] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738132] saa7133[0]: i2c eeprom 40: ff 24 00 c2 96 10 05 01 01 16 22 15 ff ff ff ff [ 3969.738152] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738173] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738194] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738214] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738235] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738256] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738276] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738297] saa7133[0]
Re: saa7134 (not very) new board 5168:0307
hermann pitton a écrit : Hi Tom, Am Mittwoch, den 18.11.2009, 14:06 +0100 schrieb tomloh...@gmail.com: Hello list, looking from saa7134.h, this board 5168:0307 is not included This cars is on some asus laptop and some medion laptop It was previously working with this settings (1) card=55 tuner=54 or (2) with tuner = 86 ok, so with this settings, nothing : with card = 55 : [ 109.375445] Linux video capture interface: v2.00 [ 109.410546] saa7130/34: v4l2 driver version 0.2.14 loaded [ 109.410606] saa7133[0]: found at :06:03.0, rev: 208, irq: 19, latency: 181, mmio: 0xb4007800 [ 109.410614] saa7133[0]: subsystem: 5168:0307, board: LifeView FlyDVB-T DUO / MSI t...@nywhere Duo [card=55,insmod option] [ 109.410674] saa7133[0]: board init: gpio is 1 [ 109.410743] input: saa7134 IR (LifeView FlyDVB-T D as /devices/pci:00/:00:1e.0/:06:03.0/input/input9 [ 109.587912] saa7133[0]: i2c eeprom 00: 68 51 07 03 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 [ 109.587924] saa7133[0]: i2c eeprom 10: 00 00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff [ 109.587934] saa7133[0]: i2c eeprom 20: 01 40 01 03 03 01 01 03 08 ff 01 e7 ff ff ff ff [ 109.587944] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587953] saa7133[0]: i2c eeprom 40: ff 24 00 c2 96 10 05 01 01 16 22 15 ff ff ff ff [ 109.587963] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587972] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587982] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.587992] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588024] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588034] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588043] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588053] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588062] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588072] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.588081] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 109.596023] saa7133[0]: i2c scan: found device @ 0x10 [???] [ 109.612379] saa7133[0]: i2c scan: found device @ 0x96 [???] [ 109.620016] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom] [ 109.984237] tuner' 0-004b: chip found @ 0x96 (saa7133[0]) [ 110.064028] tda829x 0-004b: setting tuner address to 61 [ 110.144024] tda829x 0-004b: type set to tda8290+75 [ 114.804413] saa7133[0]: registered device video0 [v4l2] [ 114.804463] saa7133[0]: registered device vbi0 [ 114.804509] saa7133[0]: registered device radio0 [ 114.891645] saa7134 ALSA driver for DMA sound loaded [ 114.891706] saa7133[0]/alsa: saa7133[0] at 0xb4007800 irq 19 registered as card -2 [ 115.705042] dvb_init() allocating 1 frontend [ 115.756244] DVB: registering new adapter (saa7133[0]) [ 115.756254] DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)... [ 115.940033] tda1004x: setting up plls for 48MHz sampling clock [ 116.106914] tda1004x: found firmware revision ff -- invalid [ 116.106921] tda1004x: trying to boot from eeprom [ 116.572024] tda1004x: found firmware revision 23 -- ok [ 117.016161] tda827x_probe_version: could not read from tuner at addr: 0xc0 [ 3969.562904] saa7130/34: v4l2 driver version 0.2.14 loaded [ 3969.562994] saa7133[0]: found at :06:03.0, rev: 208, irq: 19, latency: 181, mmio: 0xb4007800 [ 3969.563007] saa7133[0]: subsystem: 5168:0307, board: LifeView FlyDVB-T / Genius VideoWonder DVB-T [card=86,insmod option] [ 3969.563091] saa7133[0]: board init: gpio is 1 [ 3969.563219] input: saa7134 IR (LifeView FlyDVB-T / as /devices/pci:00/:00:1e.0/:06:03.0/input/input9 [ 3969.738045] saa7133[0]: i2c eeprom 00: 68 51 07 03 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 [ 3969.738069] saa7133[0]: i2c eeprom 10: 00 00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff [ 3969.738090] saa7133[0]: i2c eeprom 20: 01 40 01 03 03 01 01 03 08 ff 01 e7 ff ff ff ff [ 3969.738111] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738132] saa7133[0]: i2c eeprom 40: ff 24 00 c2 96 10 05 01 01 16 22 15 ff ff ff ff [ 3969.738152] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738173] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738194] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738214] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738235] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 3969.738256] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Re: saa7134 (not very) new board 5168:0307
hermann pitton a écrit : Hi Thomas, Hi Hermann, thanks for informations ... This card is not mine so physically inspect it is not possible and the owner is at 700 kms from me... However, it seems there is only one hybrid tuner. The card is referenced as AR307 rev N (seen on photos) and i found a link about this card : http://www.pchub.com/uph/model/0--13652-1/LR307-parts.html yes, if another one is not at the backisde, under the huge shielding of the frontside is only one. searching on LR307, i found a previous mail where you talked about a LR307- rev q http://osdir.com/ml/linux-media/2009-09/msg00744.html The bttv-gallery.de has a LR307 Revision Q too. It has an extra sticker for some LNA version on it. Also gpio init and eeprom data differ. I modified a little the patch found in this mail (subvendor) and i have partial result : - dvb tune work partially, not all channels are found - dvb channel in kaffeine works (image and sound) for few seconds and then nothing Then at least some little progress with antenna_config = 2 and gpio 21 high for RF routing for DVB it seems. - nothing for analogic stations That's a little strange somehow, since if only one RF connector and no radio, RF for analog should come through as well, because gpio 21 was high in that test patch for analog TV too. Maybe some unknown LNA circuitry. with others cards like 81,104,105 and 109, same results, kaffeine works and then hangs With the HVR1110 you have a card with LNA config = 1 there, known issues with that on some Pinnacle 310i, a older setup did exist. What do you want to help this card to be supported ? Hard to say, but since the hvr1110 does not have the antenna_switch = 2 and the RF input routing, you also did not really test &tda827x_cfg_1 yet. Might be worth a try. Cheers, Hermann Thanks in advance Cheers, Thomas Hi Hermann, We will try what you suggest. 2 things : - when kaffeine hangs , the owner try the analogic part with kdetv , no results, but after that, trying kaffeine, dvb works for another few seconds and so on ... -we replace tda10046.fw by tda10046livefiew and before rev in log was 20 with 3 attempts, after, rev 23 at the first time Will post dmesg with gpio-tracking Cheers, Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: saa7134 (not very) new board 5168:0307
Hi hermann, we are this results : with &tda827x_cfg_0, &tda827x_cfg_1 or &tda827x_cfg_2 we have a perfect image without sound on the analogic part (test with mplayer), a partial result with dvb-t : we need to initialize first with analogic (with cold boot, the card doesn't work on dvb) but only for few seconds(sound and image are ok) then re-initialize with analogic, work for few seconds on dvb and then nothing maybe i am wrong but, the sound part for analogic is a problem of redirection, isn't it ? here are our configuration for this card : in saa7134-dvb.c static struct tda1004x_config tda827x_flydvbtduo_medion_config = { .demod_address = 0x08, .invert= 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config= TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP01_I, .if_freq = TDA10046_FREQ_045, .i2c_gate = 0x4b, .tuner_address = 0x61, .antenna_switch = 2, .request_firmware = philips_tda1004x_request_firmware }; case SAA7134_BOARD_FLYDVBTDUO_MEDION: if (configure_tda827x_fe(dev, &tda827x_flydvbtduo_medion_config, &tda827x_cfg_2) < 0) goto dettach_frontend; break; default: wprintk("Huh? unknown DVB card?\n"); break; in saa7134-cards.c [SAA7134_BOARD_FLYDVBTDUO_MEDION] = { .name = "LifeView FlyDVB-T DUO Medion", .audio_clock= 0x00187de7, .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr= ADDR_UNSET, .radio_addr= ADDR_UNSET, .gpiomask= 0x0020, .mpeg = SAA7134_MPEG_DVB, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .gpio = 0x20, /* GPIO21=High for TV input */ .tv = 1, },{ .name = name_comp1,/* Composite signal on S-Video input */ .vmux = 3, .amux = LINE1, },{ .name = name_svideo,/* S-Video signal on S-Video input */ .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00,/* GPIO21=Low for FM radio antenna */ }, .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor= 0x5168, .subdevice= 0x0307, /* LR307-N */ .driver_data = SAA7134_BOARD_FLYDVBTDUO_MEDION, case SAA7134_BOARD_FLYDVBTDUO_MEDION: { /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address */ u8 data[] = { 0x3c, 0x33, 0x60}; struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; i2c_transfer(&dev->i2c_adap, &msg, 1); break; What can we do to have dvb fully supported ? thanks in advance, Cheers, Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: saa7134 (not very) new board 5168:0307
Some news, Hi hermann, we are this results : with &tda827x_cfg_0, &tda827x_cfg_1 or &tda827x_cfg_2 we have a perfect image without sound on the analogic part (test with mplayer), a partial result with dvb-t : we need to initialize first with analogic (with cold boot, the card doesn't work on dvb) but only for few seconds(sound and image are ok) then re-initialize with analogic, work for few seconds on dvb and then nothing maybe i am wrong but, the sound part for analogic is a problem of redirection, isn't it ? fixed here are our configuration for this card : in saa7134-dvb.c static struct tda1004x_config tda827x_flydvbtduo_medion_config = { .demod_address = 0x08, .invert= 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config= TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP01_I, .if_freq = TDA10046_FREQ_045, .i2c_gate = 0x4b, .tuner_address = 0x61, .antenna_switch = 2, .request_firmware = philips_tda1004x_request_firmware }; case SAA7134_BOARD_FLYDVBTDUO_MEDION: if (configure_tda827x_fe(dev, &tda827x_flydvbtduo_medion_config, &tda827x_cfg_2) < 0) goto dettach_frontend; break; default: wprintk("Huh? unknown DVB card?\n"); break; in saa7134-cards.c [SAA7134_BOARD_FLYDVBTDUO_MEDION] = { .name = "LifeView FlyDVB-T DUO Medion", .audio_clock= 0x00187de7, change with 0x0020 and there is a perfect sound :) .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr= ADDR_UNSET, .radio_addr= ADDR_UNSET, .gpiomask= 0x0020, .mpeg = SAA7134_MPEG_DVB, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .gpio = 0x20, /* GPIO21=High for TV input */ .tv = 1, },{ .name = name_comp1,/* Composite signal on S-Video input */ .vmux = 3, .amux = LINE1, },{ .name = name_svideo,/* S-Video signal on S-Video input */ .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00,/* GPIO21=Low for FM radio antenna */ }, .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor= 0x5168, .subdevice= 0x0307, /* LR307-N */ .driver_data = SAA7134_BOARD_FLYDVBTDUO_MEDION, case SAA7134_BOARD_FLYDVBTDUO_MEDION: { /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address */ u8 data[] = { 0x3c, 0x33, 0x60}; struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; i2c_transfer(&dev->i2c_adap, &msg, 1); break; What can we do to have dvb fully supported ? Can someone point me in the right direction ? thanks in advance, Cheers, Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: saa7134 (not very) new board 5168:0307
hermann pitton a écrit : Hi Tom, Am Mittwoch, den 23.12.2009, 13:17 +0100 schrieb tomloh...@gmail.com: Some news, Hi hermann, we are this results : with &tda827x_cfg_0, &tda827x_cfg_1 or &tda827x_cfg_2 we have a perfect image without sound on the analogic part (test with mplayer), a partial result with dvb-t : we need to initialize first with analogic (with cold boot, the card doesn't work on dvb) but only for few seconds(sound and image are ok) then re-initialize with analogic, work for few seconds on dvb and then nothing maybe i am wrong but, the sound part for analogic is a problem of redirection, isn't it ? fixed here are our configuration for this card : in saa7134-dvb.c static struct tda1004x_config tda827x_flydvbtduo_medion_config = { .demod_address = 0x08, .invert= 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config= TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP01_I, .if_freq = TDA10046_FREQ_045, .i2c_gate = 0x4b, .tuner_address = 0x61, .antenna_switch = 2, .request_firmware = philips_tda1004x_request_firmware }; case SAA7134_BOARD_FLYDVBTDUO_MEDION: if (configure_tda827x_fe(dev, &tda827x_flydvbtduo_medion_config, &tda827x_cfg_2) < 0) goto dettach_frontend; break; default: wprintk("Huh? unknown DVB card?\n"); break; in saa7134-cards.c [SAA7134_BOARD_FLYDVBTDUO_MEDION] = { .name = "LifeView FlyDVB-T DUO Medion", .audio_clock= 0x00187de7, change with 0x0020 and there is a perfect sound :) fine. In README.saa7134 since Gerd wrote it the first time ;) .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr= ADDR_UNSET, .radio_addr= ADDR_UNSET, .gpiomask= 0x0020, .mpeg = SAA7134_MPEG_DVB, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .gpio = 0x20, /* GPIO21=High for TV input */ .tv = 1, },{ .name = name_comp1,/* Composite signal on S-Video input */ .vmux = 3, .amux = LINE1, },{ .name = name_svideo,/* S-Video signal on S-Video input */ .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00,/* GPIO21=Low for FM radio antenna */ }, .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor= 0x5168, .subdevice= 0x0307, /* LR307-N */ .driver_data = SAA7134_BOARD_FLYDVBTDUO_MEDION, case SAA7134_BOARD_FLYDVBTDUO_MEDION: { /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address */ u8 data[] = { 0x3c, 0x33, 0x60}; struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; i2c_transfer(&dev->i2c_adap, &msg, 1); break; What can we do to have dvb fully supported ? Can someone point me in the right direction ? hi hermann Hmmm, is there not anything with i2c_debug=1 before it fails after a few seconds? will post this Gpio pins can trigger cascades of switches, so to know the gpio status of the card for working DVB-T on m$ might still be a desire. Maybe chips power off. will post the results of dscaler Also, for 99.99% only a shot at the dark side of the moon before ever seen, but I would also try to force TS_SERIAL to have it visited. Cheers, Hermann Thanks for you answer Cheers Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [RFC] support for fly dvb duo on medion laptop
Hi list, this patch add support for lifeview fly dvb duo (hybrid card) on medion laptop what works : dvb and analogic tv not tested : svideo, composite, radio (i am not the owner of this card) this card uses gpio 22 for the mode switch between analogic and dvb gpio settings should change when svideo , composite an radio will be tested Cheers, Thomas Signed-off-by : Thomas Genty diff -r cdcf089168df linux/drivers/media/video/saa7134/saa7134-cards.c --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sun Jan 17 20:42:47 2010 -0200 +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Mon Jan 18 07:03:53 2010 +0100 @@ -5394,7 +5394,37 @@ .amux = LINE2, }, }, - + [SAA7134_BOARD_FLYDVBTDUO_MEDION] = { + /* Thomas Genty */ + .name = "LifeView FlyDVB-T DUO Medion", + .audio_clock= 0x00187de7, + .tuner_type = TUNER_PHILIPS_TDA8290, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .gpiomask = 0x0020, + .mpeg = SAA7134_MPEG_DVB, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = TV, + .gpio = 0x20, + .tv = 1, + },{ + .name = name_comp1, /* Not tested */ + .vmux = 3, + .amux = LINE1, + },{ + .name = name_svideo, /* Not tested */ + .vmux = 8, + .amux = LINE1, + }}, + .radio = { + .name = name_radio, + .amux = TV, + .gpio = 0x00, /* No tested */ + }, + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -6551,6 +6581,12 @@ .subdevice= 0x6655, .driver_data = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S, }, { + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7133, + .subvendor= 0x5168, + .subdevice= 0x0307, /* LR307-N */ + .driver_data = SAA7134_BOARD_FLYDVBTDUO_MEDION, + }, { /* --- boards without eeprom + subsystem ID --- */ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7134, @@ -7318,6 +7354,7 @@ case SAA7134_BOARD_AVERMEDIA_SUPER_007: case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: case SAA7134_BOARD_CREATIX_CTX953: + case SAA7134_BOARD_FLYDVBTDUO_MEDION: { /* this is a hybrid board, initialize to analog mode * and configure firmware eeprom address diff -r cdcf089168df linux/drivers/media/video/saa7134/saa7134-dvb.c --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Sun Jan 17 20:42:47 2010 -0200 +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Mon Jan 18 07:03:53 2010 +0100 @@ -825,6 +825,20 @@ .request_firmware = philips_tda1004x_request_firmware }; +static struct tda1004x_config tda827x_flydvbtduo_medion_config = { + .demod_address = 0x08, + .invert= 1, + .invert_oclk = 0, + .xtal_freq = TDA10046_XTAL_16M, + .agc_config= TDA10046_AGC_TDA827X, + .gpio_config = TDA10046_GP01_I, + .if_freq = TDA10046_FREQ_045, + .i2c_gate = 0x4b, + .tuner_address = 0x61, + .antenna_switch = 2, + .request_firmware = philips_tda1004x_request_firmware +}; + /* -- * special case: this card uses saa713x GPIO22 for the mode switch */ @@ -1586,6 +1600,22 @@ &dtv1000s_tda18271_config); } break; + case SAA7134_BOARD_FLYDVBTDUO_MEDION: + /* this card uses saa713x GPIO22 for the mode switch */ + fe0->dvb.frontend = dvb_attach(tda10046_attach, + &tda827x_flydvbtduo_medion_config, + &dev->i2c_adap); + if (fe0->dvb.frontend) { + if (dvb_attach(tda827x_attach,fe0->dvb.frontend, + tda827x_flydvbtduo_medion_config.tuner_address, &dev->i2c_adap, +&ads_duo_cfg) == NULL) { +wprintk("no tda827x tuner found at addr: %02x\n", + tda827x_flydvbtduo_medion_config.tuner_address); +goto dettach_frontend; + } + } else + wprintk("failed to attach tda10046\n"); + break; default: wprintk("Huh? unknown DVB card?\n"); break; diff -r cdcf089168df linux/drivers/media/video/saa7134/saa7134.h --- a/linux/drivers/media/video/saa7134/saa7134.h Sun Jan 17 20:42:47 2010 -0200 +++ b/linux/drivers/media/video/saa7134/saa7134.h Mon Jan 18 07:03:53 2010 +0100 @@ -301,6 +301,7 @@ #define SAA7134_BOARD_ASUS_EUROPA_HYBRID 174 #define SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S 175 #define SAA7134_BOARD_BEHOLD_505RDS_MK3 176 +#define SAA7134_BOARD_FLYDVBTDUO_MEDION 177 #define SAA7134_MAXBOARDS 32 #define SAA7134_INPUT_MAX 8
Re: Fixed (Was:Re: saa7134/2.6.26 regression, noisy output)
hermann pitton a écrit : Hi Anders, Am Freitag, den 15.05.2009, 11:18 +0200 schrieb Anders Eriksson: Success! I've tracked down the offending change. switch_addr takes on the wrong value and setting the LNA fails. Here's a i2c dump: saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c xfer: < 20 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 84 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 86 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 94 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 96 > saa7133[0]: i2c xfer: < 96 00 > saa7133[0]: i2c xfer: < 97 =01 =01 =00 =11 =01 =04 =01 =85 > saa7133[0]: i2c xfer: < 96 1f > saa7133[0]: i2c xfer: < 97 =89 > tda8290_probe: tda8290 detected @ 1-004b tuner' 1-004b: tda829x detected tuner' 1-004b: Setting mode_mask to 0x0e tuner' 1-004b: chip found @ 0x96 (saa7133[0]) tuner' 1-004b: tuner 0x4b: Tuner type absent tuner' i2c attach [addr=0x4b,client=(tuner unset)] tuner' 1-004b: Calling set_type_addr for type=54, addr=0xff, mode=0x04, config=0x01 tuner' 1-004b: set addr for type -1 tuner' 1-004b: defining GPIO callback saa7133[0]: i2c xfer: < 96 1f > saa7133[0]: i2c xfer: < 97 =89 > tda8290_probe: tda8290 detected @ 1-004b saa7133[0]: i2c xfer: < 96 2f > saa7133[0]: i2c xfer: < 97 =00 > saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c1 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < c3 =88 > saa7133[0]: i2c xfer: < c5 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < c7 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 96 21 00 > tda829x 1-004b: setting tuner address to 61 saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c3 =08 > tda827x: tda827x_attach: tda827x: type set to Philips TDA827X saa7133[0]: i2c xfer: < c3 =08 > tda827x: tda827xa tuner found tda827x: tda827x_init: tda827x: tda827xa_sleep: saa7133[0]: i2c xfer: < c2 30 90 > saa7133[0]: i2c xfer: < 96 21 00 > tda829x 1-004b: type set to tda8290+75a saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c2 00 00 00 00 dc 05 8b 0c 04 20 ff 00 00 4b > saa7133[0]: i2c xfer: < 96 21 00 > saa7133[0]: i2c xfer: < 96 20 01 > saa7133[0]: i2c xfer: < 96 30 6f > tuner' 1-004b: type set to tda8290+75a tuner' 1-004b: tv freq set to 400.00 tda829x 1-004b: setting tda829x to system xx tda829x 1-004b: tda827xa config is 0x01 saa7133[0]: i2c xfer: < 96 01 00 > saa7133[0]: i2c xfer: < 96 02 00 > saa7133[0]: i2c xfer: < 96 00 00 > saa7133[0]: i2c xfer: < 96 01 90 > saa7133[0]: i2c xfer: < 96 28 14 > saa7133[0]: i2c xfer: < 96 0f 88 > saa7133[0]: i2c xfer: < 96 05 04 > saa7133[0]: i2c xfer: < 96 0d 47 > saa7133[0]: i2c xfer: < 96 21 c0 > tda827x: setting tda827x to system xx tda827x: setting LNA to high gain saa7133[0]: i2c xfer: < 96 22 00 > ^ This address is c2 in all kernels <= 5823b3a63c7661272ea7fef7635955e2a50d17eb saa7133[0]: i2c xfer: < c2 00 32 f8 00 16 3b bb 1c 04 20 00 > saa7133[0]: i2c xfer: < c2 90 ff e0 00 99 > saa7133[0]: i2c xfer: < c2 a0 c0 > saa7133[0]: i2c xfer: < c2 30 10 > saa7133[0]: i2c xfer: < c3 =49 =a4 > tda827x: AGC2 gain is: 10 ^ The gain reported on good kernels is 3 Looking at the source, the switch_addr to use in the later kernels is somehow autodetected. How that's done, I've yet to fully understand, but somehow it comes up with the wrong address. This patch (which obviously needs improvement) hardwires the address back to its original value, and works for 2.6.30-rc5. diff --git a/drivers/media/common/tuners/tda8290.c b/drivers/media/common/tuners/tda8290.c index 064d14c..498cc7b 100644 --- a/drivers/media/common/tuners/tda8290.c +++ b/drivers/media/common/tuners/tda8290.c @@ -635,7 +635,11 @@ static int tda829x_find_tuner(struct dvb_frontend *fe) dvb_attach(tda827x_attach, fe, priv->tda827x_addr, priv->i2c_props.adap, &priv->cfg); + tuner_info("ANDERS: setting switch_addr. was 0x%02x, new 0x%02x\n",priv->cfg.switch_addr,priv->i2c_props.addr); priv->cfg.switch_addr = priv->i2c_props.addr; + priv->cfg.switch_addr = 0xc2 / 2; + tuner_info("ANDERS: new 0x%02x\n",priv->cfg.switch_addr); + } if (fe->ops.tuner_ops.init) fe->ops.tuner_ops.init(fe); Could you please help me out and shed some light on what the proper fix is for setting switch_addr? Thanks, /Anders thanks a lot for all your time and energy you did spend on this. I suggest we start collecting photographs of different LNA circuits on the wiki. For now, Tom offered his support already off list, I think we should start about the question, if that early Hauppauge HVR 1110 has such an LNA type one at all, since this caused to not look at it further, as it seemed to be without problems. Tom, I know you carefully worked on it, but can you reassure that this LNA config one is really needed on your device? Hello list, you are talking about
Re: Fixed (Was:Re: saa7134/2.6.26 regression, noisy output)
hermann pitton a écrit : Hi, Am Sonntag, den 17.05.2009, 15:52 +0200 schrieb tomloh...@gmail.com: hermann pitton a écrit : Hi Anders, Am Freitag, den 15.05.2009, 11:18 +0200 schrieb Anders Eriksson: Success! I've tracked down the offending change. switch_addr takes on the wrong value and setting the LNA fails. Here's a i2c dump: saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c xfer: < 20 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 84 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 86 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 94 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 96 > saa7133[0]: i2c xfer: < 96 00 > saa7133[0]: i2c xfer: < 97 =01 =01 =00 =11 =01 =04 =01 =85 > saa7133[0]: i2c xfer: < 96 1f > saa7133[0]: i2c xfer: < 97 =89 > tda8290_probe: tda8290 detected @ 1-004b tuner' 1-004b: tda829x detected tuner' 1-004b: Setting mode_mask to 0x0e tuner' 1-004b: chip found @ 0x96 (saa7133[0]) tuner' 1-004b: tuner 0x4b: Tuner type absent tuner' i2c attach [addr=0x4b,client=(tuner unset)] tuner' 1-004b: Calling set_type_addr for type=54, addr=0xff, mode=0x04, config=0x01 tuner' 1-004b: set addr for type -1 tuner' 1-004b: defining GPIO callback saa7133[0]: i2c xfer: < 96 1f > saa7133[0]: i2c xfer: < 97 =89 > tda8290_probe: tda8290 detected @ 1-004b saa7133[0]: i2c xfer: < 96 2f > saa7133[0]: i2c xfer: < 97 =00 > saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c1 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < c3 =88 > saa7133[0]: i2c xfer: < c5 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < c7 ERROR: NO_DEVICE saa7133[0]: i2c xfer: < 96 21 00 > tda829x 1-004b: setting tuner address to 61 saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c3 =08 > tda827x: tda827x_attach: tda827x: type set to Philips TDA827X saa7133[0]: i2c xfer: < c3 =08 > tda827x: tda827xa tuner found tda827x: tda827x_init: tda827x: tda827xa_sleep: saa7133[0]: i2c xfer: < c2 30 90 > saa7133[0]: i2c xfer: < 96 21 00 > tda829x 1-004b: type set to tda8290+75a saa7133[0]: i2c xfer: < 96 21 c0 > saa7133[0]: i2c xfer: < c2 00 00 00 00 dc 05 8b 0c 04 20 ff 00 00 4b > saa7133[0]: i2c xfer: < 96 21 00 > saa7133[0]: i2c xfer: < 96 20 01 > saa7133[0]: i2c xfer: < 96 30 6f > tuner' 1-004b: type set to tda8290+75a tuner' 1-004b: tv freq set to 400.00 tda829x 1-004b: setting tda829x to system xx tda829x 1-004b: tda827xa config is 0x01 saa7133[0]: i2c xfer: < 96 01 00 > saa7133[0]: i2c xfer: < 96 02 00 > saa7133[0]: i2c xfer: < 96 00 00 > saa7133[0]: i2c xfer: < 96 01 90 > saa7133[0]: i2c xfer: < 96 28 14 > saa7133[0]: i2c xfer: < 96 0f 88 > saa7133[0]: i2c xfer: < 96 05 04 > saa7133[0]: i2c xfer: < 96 0d 47 > saa7133[0]: i2c xfer: < 96 21 c0 > tda827x: setting tda827x to system xx tda827x: setting LNA to high gain saa7133[0]: i2c xfer: < 96 22 00 > ^ This address is c2 in all kernels <= 5823b3a63c7661272ea7fef7635955e2a50d17eb saa7133[0]: i2c xfer: < c2 00 32 f8 00 16 3b bb 1c 04 20 00 > saa7133[0]: i2c xfer: < c2 90 ff e0 00 99 > saa7133[0]: i2c xfer: < c2 a0 c0 > saa7133[0]: i2c xfer: < c2 30 10 > saa7133[0]: i2c xfer: < c3 =49 =a4 > tda827x: AGC2 gain is: 10 ^ The gain reported on good kernels is 3 Looking at the source, the switch_addr to use in the later kernels is somehow autodetected. How that's done, I've yet to fully understand, but somehow it comes up with the wrong address. This patch (which obviously needs improvement) hardwires the address back to its original value, and works for 2.6.30-rc5. diff --git a/drivers/media/common/tuners/tda8290.c b/drivers/media/common/tuners/tda8290.c index 064d14c..498cc7b 100644 --- a/drivers/media/common/tuners/tda8290.c +++ b/drivers/media/common/tuners/tda8290.c @@ -635,7 +635,11 @@ static int tda829x_find_tuner(struct dvb_frontend *fe) dvb_attach(tda827x_attach, fe, priv->tda827x_addr, priv->i2c_props.adap, &priv->cfg); + tuner_info("ANDERS: setting switch_addr. was 0x%02x, new 0x%02x\n",priv->cfg.switch_addr,priv->i2c_props.addr); priv->cfg.switch_addr = priv->i2c_props.addr; + priv->cfg.switch_addr = 0xc2 / 2; + tuner_info("ANDERS: new 0x%02x\n",priv->cfg.switch_addr); + } if (fe->ops.tuner_ops.init) fe->ops.tuner_ops.init(fe); Could you please help me out and shed some light on what the proper fix is for setting switch_addr? Thanks, /Anders thanks a lot for all your time and energy you did s