Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
On Thu, 21 Feb 2008 20:38:09 -0500 Michael Krufky [EMAIL PROTECTED] wrote: Mauro Carvalho Chehab wrote: It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. No, but we have patches for all of them. Because the user has the ability to load cx8800 without cx88-dvb, and likewise, the user has the ability to load cx88-dvb without cx8800, the attach call must be fully qualified such that the other side of the driver is not required to be loaded in order for the tuner to work. If you take a look at the code, you'll see that all code is at cx88xx. This module is loaded by cx8800, if you're using analog, or by cx8802, if you're using cx88-dvb or cx88-blackbird. The code initializes xc3028 before tuner attach. In the case of FusionHDTV5 pci nano, there will never be an attach call from the analog side of the driver, since the tuner is hidden behind the s5h1409's i2c gate, and analog mode is not supported with the current driver. If you set i2c_scan=1 on the PCI nano, the xceive tuner will not even show up in the scan. The proper fix is to open the i2c gate before loading tuner. This will allow i2c_scan to work and both analog and digital modes will work. Btw, this somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards. I've added a patch that should open the bridge for s5h1409. Please test. Mauro, It does not work. See my prior email in this thread for the explanation. [ 2912.355967] Linux video capture interface: v2.00 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 17 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw The above message were generated by cx88-cards. So, as I said before, this were called _before_ running dvb_register, defined at cx88-dvb. The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible on that point of the code. With this, analog support will never work. The proper fix is to enable xc3028 before enabling i2c, meaning to correct the code at cx88_pci_nano_init(). After re-visiting s5h1409 code, I noticed that I've used the wrong sequence for the gate. The state should be i2c closed, for xc3028 to work. The following patch should fix: http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c Please test it, with i2c_scan=1, and post the results. Cheers, Mauro ___ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
Mauro Carvalho Chehab wrote: On Thu, 21 Feb 2008 20:38:09 -0500 Michael Krufky [EMAIL PROTECTED] wrote: Mauro Carvalho Chehab wrote: It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. No, but we have patches for all of them. Because the user has the ability to load cx8800 without cx88-dvb, and likewise, the user has the ability to load cx88-dvb without cx8800, the attach call must be fully qualified such that the other side of the driver is not required to be loaded in order for the tuner to work. If you take a look at the code, you'll see that all code is at cx88xx. This module is loaded by cx8800, if you're using analog, or by cx8802, if you're using cx88-dvb or cx88-blackbird. The code initializes xc3028 before tuner attach. In the case of FusionHDTV5 pci nano, there will never be an attach call from the analog side of the driver, since the tuner is hidden behind the s5h1409's i2c gate, and analog mode is not supported with the current driver. If you set i2c_scan=1 on the PCI nano, the xceive tuner will not even show up in the scan. The proper fix is to open the i2c gate before loading tuner. This will allow i2c_scan to work and both analog and digital modes will work. Btw, this somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards. I've added a patch that should open the bridge for s5h1409. Please test. Mauro, It does not work. See my prior email in this thread for the explanation. [ 2912.355967] Linux video capture interface: v2.00 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 17 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw The above message were generated by cx88-cards. So, as I said before, this were called _before_ running dvb_register, defined at cx88-dvb. The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible on that point of the code. With this, analog support will never work. The proper fix is to enable xc3028 before enabling i2c, meaning to correct the code at cx88_pci_nano_init(). After re-visiting s5h1409 code, I noticed that I've used the wrong sequence for the gate. The state should be i2c closed, for xc3028 to work. The following patch should fix: http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c Please test it, with i2c_scan=1, and post the results. Doesn't work. [ 795.056020] Linux video capture interface: v2.00 [ 798.235564] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 798.235643] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 18 [ 798.235718] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 798.235722] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 798.371224] cx88[0]: i2c scan: found device @ 0x32 [???] [ 798.371391] cx88[0]: i2c scan: found device @ 0x34 [???] [ 798.399887] cx88[0]: i2c scan: found device @ 0xa0 [eeprom] [ 798.400319] cx88[0]: i2c scan: found device @ 0xa2 [???] [ 798.400482] cx88[0]: i2c scan: found device @ 0xa4 [???] [ 798.400642] cx88[0]: i2c scan: found device @ 0xa6 [???] [ 798.400800] cx88[0]: i2c scan: found device @ 0xa8 [???] [ 798.400957] cx88[0]: i2c scan: found device @ 0xaa [???] [ 798.401116] cx88[0]: i2c scan: found device @ 0xac [???] [ 798.401272] cx88[0]: i2c scan: found device @ 0xae [???] [ 798.411996] cx88[0]: i2c scan: found device @ 0xd6 [???] [ 798.488821] Closing s5h1409 i2c gate to allow xc3028 detection [ 798.489283] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw [ 798.489301] cx88[0]/0: found at :02:07.0, rev: 5, irq: 18, latency: 64, mmio: 0xe400 [ 798.489376] cx88[0]/0: registered device video0 [v4l2] [ 798.489408] cx88[0]/0: registered device vbi0 [ 818.236239] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded [ 818.236443] cx88[0]/2: cx2388x 8802 Driver Manager [ 818.236465] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level, low) - IRQ 18 [ 818.236480] cx88[0]/2: found at :02:07.2, rev: 5, irq: 18, latency: 64, mmio: 0xe600 [ 818.254906] cx88/2: cx2388x dvb driver version 0.0.6 loaded [ 818.254913] cx88/2: registering cx8802 driver, type: dvb access: shared [ 818.254918] cx88[0]/2: subsystem: 18ac:d530, board:
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
Michael Krufky wrote: Mauro Carvalho Chehab wrote: On Thu, 21 Feb 2008 20:38:09 -0500 Michael Krufky [EMAIL PROTECTED] wrote: Mauro Carvalho Chehab wrote: It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. No, but we have patches for all of them. Because the user has the ability to load cx8800 without cx88-dvb, and likewise, the user has the ability to load cx88-dvb without cx8800, the attach call must be fully qualified such that the other side of the driver is not required to be loaded in order for the tuner to work. If you take a look at the code, you'll see that all code is at cx88xx. This module is loaded by cx8800, if you're using analog, or by cx8802, if you're using cx88-dvb or cx88-blackbird. The code initializes xc3028 before tuner attach. In the case of FusionHDTV5 pci nano, there will never be an attach call from the analog side of the driver, since the tuner is hidden behind the s5h1409's i2c gate, and analog mode is not supported with the current driver. If you set i2c_scan=1 on the PCI nano, the xceive tuner will not even show up in the scan. The proper fix is to open the i2c gate before loading tuner. This will allow i2c_scan to work and both analog and digital modes will work. Btw, this somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards. I've added a patch that should open the bridge for s5h1409. Please test. Mauro, It does not work. See my prior email in this thread for the explanation. [ 2912.355967] Linux video capture interface: v2.00 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 17 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw The above message were generated by cx88-cards. So, as I said before, this were called _before_ running dvb_register, defined at cx88-dvb. The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible on that point of the code. With this, analog support will never work. The proper fix is to enable xc3028 before enabling i2c, meaning to correct the code at cx88_pci_nano_init(). After re-visiting s5h1409 code, I noticed that I've used the wrong sequence for the gate. The state should be i2c closed, for xc3028 to work. The following patch should fix: http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c Please test it, with i2c_scan=1, and post the results. Doesn't work. [ 795.056020] Linux video capture interface: v2.00 [ 798.235564] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 798.235643] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 18 [ 798.235718] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 798.235722] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 798.371224] cx88[0]: i2c scan: found device @ 0x32 [???] [ 798.371391] cx88[0]: i2c scan: found device @ 0x34 [???] [ 798.399887] cx88[0]: i2c scan: found device @ 0xa0 [eeprom] [ 798.400319] cx88[0]: i2c scan: found device @ 0xa2 [???] [ 798.400482] cx88[0]: i2c scan: found device @ 0xa4 [???] [ 798.400642] cx88[0]: i2c scan: found device @ 0xa6 [???] [ 798.400800] cx88[0]: i2c scan: found device @ 0xa8 [???] [ 798.400957] cx88[0]: i2c scan: found device @ 0xaa [???] [ 798.401116] cx88[0]: i2c scan: found device @ 0xac [???] [ 798.401272] cx88[0]: i2c scan: found device @ 0xae [???] [ 798.411996] cx88[0]: i2c scan: found device @ 0xd6 [???] [ 798.488821] Closing s5h1409 i2c gate to allow xc3028 detection [ 798.489283] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw [ 798.489301] cx88[0]/0: found at :02:07.0, rev: 5, irq: 18, latency: 64, mmio: 0xe400 [ 798.489376] cx88[0]/0: registered device video0 [v4l2] [ 798.489408] cx88[0]/0: registered device vbi0 [ 818.236239] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded [ 818.236443] cx88[0]/2: cx2388x 8802 Driver Manager [ 818.236465] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level, low) - IRQ 18 [ 818.236480] cx88[0]/2: found at :02:07.2, rev: 5, irq: 18, latency: 64, mmio:
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
On Friday 22 February 2008 8:13:44 am Michael Krufky wrote: warn_printk(Closing s5h1409 i2c gate to allow xc3028 detection\n); to: warn_printk(Closing s5h1409 i2c gate to allow xc3028 detection\n); I think you meant: warn_printk(core, Closing s5h1409 i2c gate to allow xc3028 detection\n); (which makes changeset 871db4e0451c compile for me) however, cx8802 still kernel-BUGs on me when loaded (see Re: New(ish) card support needed, sorta). -- Life is full of happy and sad events. If you take the time to concentrate on the former, you'll get further in life. Vanessa Ezekowitz [EMAIL PROTECTED] ___ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
Mauro Carvalho Chehab wrote: It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. No, but we have patches for all of them. Because the user has the ability to load cx8800 without cx88-dvb, and likewise, the user has the ability to load cx88-dvb without cx8800, the attach call must be fully qualified such that the other side of the driver is not required to be loaded in order for the tuner to work. If you take a look at the code, you'll see that all code is at cx88xx. This module is loaded by cx8800, if you're using analog, or by cx8802, if you're using cx88-dvb or cx88-blackbird. The code initializes xc3028 before tuner attach. In the case of FusionHDTV5 pci nano, there will never be an attach call from the analog side of the driver, since the tuner is hidden behind the s5h1409's i2c gate, and analog mode is not supported with the current driver. If you set i2c_scan=1 on the PCI nano, the xceive tuner will not even show up in the scan. The proper fix is to open the i2c gate before loading tuner. This will allow i2c_scan to work and both analog and digital modes will work. Btw, this somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards. I've added a patch that should open the bridge for s5h1409. Please test. Mauro, It does not work. See my prior email in this thread for the explanation. [ 2912.355967] Linux video capture interface: v2.00 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level, low) - IRQ 17 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59,autodetected] [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw [ 2912.555111] cx88[0]/0: found at :02:07.0, rev: 5, irq: 17, latency: 64, mmio: 0xe400 [ 2912.555184] cx88[0]/0: registered device video0 [v4l2] [ 2912.555215] cx88[0]/0: registered device vbi0 [ 2936.013682] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded [ 2936.013886] cx88[0]/2: cx2388x 8802 Driver Manager [ 2936.013910] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level, low) - IRQ 17 [ 2936.013924] cx88[0]/2: found at :02:07.2, rev: 5, irq: 17, latency: 64, mmio: 0xe600 [ 2936.051716] cx88/2: cx2388x dvb driver version 0.0.6 loaded [ 2936.051725] cx88/2: registering cx8802 driver, type: dvb access: shared [ 2936.051733] cx88[0]/2: subsystem: 18ac:d530, board: DVICO HDTV5 PCI Nano [card=59] [ 2936.051737] cx88[0]/2: cx2388x based DVB/ATSC card [ 2936.094831] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 2936.094837] cx88[0]/2: xc3028 attached [ 2936.095819] DVB: registering new adapter (cx88[0]) [ 2936.095825] DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)... [ 2943.273085] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2944.378510] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2945.483933] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2946.589366] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2946.594186] xc2028 1-0061: Error on line 1068: -121 [ 2948.664531] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2949.765979] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2950.867404] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2951.968841] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2953.070277] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2954.171711] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2955.273151] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2956.374804] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2957.476020] xc2028 1-0061: xc2028/3028 firmware name not set! [ 2958.473772] xc2028 1-0061: Error on line 1068: -121 -Mike ___ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
Mauro Carvalho Chehab wrote: On Mon, 18 Feb 2008 23:44:33 -0500 Michael Krufky [EMAIL PROTECTED] wrote: On Jan 29, 2008 9:25 AM, Mauro Carvalho Chehab [EMAIL PROTECTED] wrote: Dâniel and others, Having this tested is a very good news! I'll need to merge this patch with two other patches that adds DVB support for cx88/xc3028. If I can manage to have some time for this merge, I'll commit and ask Linus to add this to 2.6.25. :) I've merged some patches from several authors, that add xc3028 support for cx88. The experimental tree is available at: http://linuxtv.org/hg/~mchehab/cx88-xc2028 This patch series adds support for the following boards: 59 - DVICO HDTV5 PCI Nano[18ac:d530] 60 - Pinnacle Hybrid PCTV[12ab:1788] 61 - Winfast TV2000 XP Global[107d:6f18] 62 - PowerColor Real Angel 330 [14f1:ea3d] 63 - Geniatech X8000-MT DVBT [14f1:8852] 64 - DViCO FusionHDTV DVB-T PRO [18ac:db30] In thesis, both analog and DVB support (for boards with DVB/ATSC) should be working (*). Maybe analog audio may need an additional configuration for some specific board (since they may require to add cfg.mts = 1 at xc3028 initialization code, on cx88-cards). Please test. Mauro, We spoke on Thursday, and you asked me to take a look at the code in your 'cx88-xc2028' tree over the weekend and fix it, if possible. The repository is broken after and including changeset ce6afd207b71 - Make xc3028 support more generic This changeset moves the device-specific configuration out of the cx88-dvb.c device-specific switch..case block, into a generic function. This patch breaks functionality, and imho, is not a good idea. Your changes assume that the analog side of the driver will come up before the digital side of the driver, which is not necessarily the case. Additionally, in some cases, the tuner itself is hidden behind an i2c gate that is controlled by the dvb / atsc demodulator. Because of the i2c gate, communication to the tuner might not be available at the time that the i2c bus is probed. For those reasons, the attach calls to the tuner driver should be fully qualified, relative to the functionality of the side of the driver that is attaching it. The device that I used to test is the FusionHDTV 5 PCI nano. This device uses an xc3008 (yes, that is xc3008 -- not a typo) and a s5h1409 demod. The device is capable of receiving ATSC digital broadcasts and the driver does not yet support analog television. Steve Toth made the patch that adds atsc support for that card, and his patch worked without the additional changesets that were added afterwards. I made some small fixes and enabled IR support -- see the bottom of this email for my pull request. Your email above states that you've merged some patches from several authors. What I recommend, in order to properly support each device, would be to apply each patch for each card separately, as we do with all card support additions. We know that the original patches, as submitted by the original authors work properly , since those authors have conducted their own tests. I understand that you've made some attempts to optimize the code in an effort to reduce memory consumption. Unfortunately, these efforts have broken functionality of these devices. I think that it would make more sense to work on optimizations after the basic device support patches are first applied in the standard manner. This way, you would have a good point of reference for before and after that testers will be able to use for comparison (and bisection). Since the only card that I can test is the PCI nano, please pull these changesets into master for now. Please pull from: http://linuxtv.org/hg/~mkrufky/cx88-xc2028 for: (91113b8955e2) 4 weeks ago Steven Toth cx88: Add support for the Dvico PCI Nano. (394d249f03f1) 47 hours ago Michael Krufky cx88: fix FusionHDTV 5 PCI nano name and enable IR support Michael, It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. The point is not saving memory. The point is that tuner-xc2028 requires just one callback. The callback should work properly for DTV, Analog and Radio. It makes no sense to have such generic callback inside cx88-dvb. It should be at cx88xx module, instead. I agree that there should be in a single callback. The appropriate place for this callback should be inside cx88-cards.c , and you'll have to include a prototype
Re: [linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: Wh en xc3028/xc2028 will be supported?
It is not that simple. Steven patch works for DTV on PCI Nano; Christopher patches for some other DiVCO boards (DTV also); my port of Markus patch for other boards (tested by Dâniel Fraga - Analog TV). What does one board have to do with another? Just because these boards all use xceive tuners does not mean that they should be grouped together. No, but we have patches for all of them. Because the user has the ability to load cx8800 without cx88-dvb, and likewise, the user has the ability to load cx88-dvb without cx8800, the attach call must be fully qualified such that the other side of the driver is not required to be loaded in order for the tuner to work. If you take a look at the code, you'll see that all code is at cx88xx. This module is loaded by cx8800, if you're using analog, or by cx8802, if you're using cx88-dvb or cx88-blackbird. The code initializes xc3028 before tuner attach. In the case of FusionHDTV5 pci nano, there will never be an attach call from the analog side of the driver, since the tuner is hidden behind the s5h1409's i2c gate, and analog mode is not supported with the current driver. If you set i2c_scan=1 on the PCI nano, the xceive tuner will not even show up in the scan. The proper fix is to open the i2c gate before loading tuner. This will allow i2c_scan to work and both analog and digital modes will work. Btw, this somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards. I've added a patch that should open the bridge for s5h1409. Please test. We need one solution that works for all boards, not just yours. That's said, maybe SET_TUNER_CONFIG is being called too early. Maybe the way to fix this is to create an special function to initialize it, that would be called later by cx8800 or cx8802. both cx8800 *and* cx8802 need this functionality. Please keep in mind that some users do not ever use analog mode of these cards, and some have even blacklisted cx8800 from loading. This is fine, because cx8800 is not needed for cx88-dvb to function properly. This is a level of flexibility that we do not want to remove. The _real_ problem is that the tuner is being attached to the bridge driver in two locations -- analog side and digital side. This problem will be entirely avoided once we are attaching the tuner driver in a single location, globally to the entire driver. Such changes are planned to be dealt with in tuner refactor phase 4, but I am still dealing with refactoring the prerequisites for this scenario, in phase 3 -- all will come in due time, but for now, we must provide a fully qualified attachment call each time we attach a tuner driver. It would be really nice to avoid having to attach it later, on cx88-dvb, although the double attach won't hurt. I'm not sure on how you want to avoid this. Cheers, Mauro ___ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb