timf wrote: > timf wrote: > >> Hartmut Hackmann wrote: >> >> >>> Hi, Tim >>> >>> timf schrieb: >>> >>> >>>> hermann pitton wrote: >>>> >>>> >>>>> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann: >>>>> >>>>> >>>>> >>>>>> HI, Tim >>>>>> >>>>>> timf schrieb: >>>>>> >>>>>> >>>>>> >>>>>>> Hi Hartmut, >>>>>>> OK, found some more spare time, but very, very frustrated! >>>>>>> >>>>>>> 1) Tried ubuntu 7.04, 7.10, 8.04 >>>>>>> Tried with just modules that exist in kernel (no v4l-dvb) >>>>>>> Tried v4l-dvb from June 2007 and tried current v4l-dvb >>>>>>> Tried with/without Hartmut patch - changeset 7376 49ba58715fe0 >>>>>>> Tried with .gpio_config = TDA10046_GP11_I, or .gpio_config >>>>>>> = TDA10046_GP01_I, >>>>>>> Tried using configs in saa7134-dvb.c matching tiger, tiger_s, >>>>>>> pinnacle 310i, twinhan 3056 >>>>>>> >>>>>>> # Australia / Perth (Roleystone transmitter) >>>>>>> # T freq bw fec_hi fec_lo mod transmission-mode guard-interval >>>>>>> hierarchy >>>>>>> # SBS >>>>>>> T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE >>>>>>> # ABC >>>>>>> T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE >>>>>>> # Seven >>>>>>> T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE >>>>>>> # Nine >>>>>>> T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE >>>>>>> # Ten >>>>>>> T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE >>>>>>> >>>>>>> 2) I have these saa7134 cards: >>>>>>> - pinnacle 310i >>>>>>> - kworld 210 >>>>>>> >>>>>>> This cx88 card: >>>>>>> - dvico DVB-T Pro hybrid (analog tv not work) >>>>>>> >>>>>>> - problem only occurs with kworld 210 in linux (works fine in >>>>>>> WinXP) >>>>>>> >>>>>>> 3) In WinXP, all channels, both analog tv and dvb-t found >>>>>>> >>>>>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1 >>>>>>> >>>>>>> 5) In linux, if start analog tv first, stop, then start dvb-t, >>>>>>> scan finds SBS - dmesg2 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> a) The pinnacle 310i finds everything? >>>>>> It has the same chipset, but an almost perfectly handled tuner >>>>>> chip... >>>>>> This means that your initial config file is ok... >>>>>> b) Does this mean that in case 4, all other channels are found? >>>>>> c) Case 5: This finds everything? >>>>>> d) What happens if you use the scan data of the pinnacle card? >>>>>> Does it tune SBS? Does it just take more time to stabilize? >>>>>> This can be understood. >>>>>> e) Just to be sure: did you clarify the open point with >>>>>> .antenna_switch >>>>>> (i think so) >>>>>> f) the kernel logs are as expected. >>>>>> <snip> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> 6) Herman mentioned something called a "mode-switch" in the >>>>>>> archives, but not any description. >>>>>>> >>>>>>> >>>>>>> >>>>>> I guess he meant the switching between analog, radio and dvb-t. >>>>>> This is the >>>>>> GPIO handling and card depending. >>>>>> >>>>>> >>>>>> >>>>> Tim must have it from when I mentioned the special case of card=87 and >>>>> 94. >>>>> >>>>> >>>>> >>>>> >>>>>>> I tried to find some data sheets for tda8275 tda8290 but only >>>>>>> found the publicity pdf file from Phillips, >>>>>>> so at least I can see they go together, so I presume this >>>>>>> "mode-switch" is coded into those modules. >>>>>>> But those modules work for all other cards, so now I'm lost again. >>>>>>> >>>>>>> What else should I try? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> If my assumptions above are wrong, there is one other chance: >>>>>> Recently i saw another card that does the (unusual) mode switching >>>>>> like card 87. So to be sure, you might try to force this card type (be >>>>>> aware of the antenna inputs, if in doubt, try both. >>>>>> >>>>>> Best regards >>>>>> Hartmut >>>>>> >>>>>> >>>>>> >>>>>> >>>>> For the Medion8800 Quad and CTX948 also showing this issue, needs to >>>>> tune analog first to have good recepton on DVB-T, they are a little >>>>> weaker on analog than other cards, but after that on DVB-T, they are as >>>>> good than known good others. >>>>> >>>>> Cheers, >>>>> Hermann >>>>> >>>>> >>>>> >>>>> >>>>> >>>> Hi Hartmut and Hermann, >>>> >>>> a) The pinnacle 310i finds everything? >>>> It has the same chipset, but an almost perfectly handled tuner >>>> chip... >>>> This means that your initial config file is ok... >>>> >>>> Answer - Yes, the non-working remote (and constant unknown key >>>> messages) is all that is >>>> wrong with the pinnacle 310i. >>>> I tested it for your new tda8290 tda8275 patches - didn't I send you >>>> the results? >>>> It works fine! >>>> >>>> b) Does this mean that in case 4, all other channels are found? >>>> >>>> Answer - In linux, if start dvb-t first, never scans SBS >>>> - yes all other channels are viewable/scannable. >>>> >>>> c) Case 5: This finds everything? >>>> >>>> Answer - In linux, if start analog tv first, stop, then start dvb-t, >>>> scan finds SBS >>>> - yes all channels are viewable/scannable. >>>> >>>> d) What happens if you use the scan data of the pinnacle card? >>>> Does it tune SBS? Does it just take more time to stabilize? >>>> This can be understood. >>>> >>>> Answer - the same answer applies as for b) and c) >>>> >>>> e) Just to be sure: did you clarify the open point with .antenna_switch >>>> (i think so) >>>> >>>> Answer - yes that was me being over-enthusiastic - made no difference >>>> as you pointed out. >>>> >>>> >>>> OK, this modification has achieved, I think success. I can now >>>> view/scan all channels >>>> in analog tv or dvb-t in either order. >>>> That is, I now don't have to start analog tv first, before dvb-t will >>>> start. >>>> >>>> In saa7134- cards.c - no change. >>>> >>>> In saa7134-dvb.c: >>>> >>>> Remove this: >>>> ------------------------------------ >>>> static struct tda1004x_config kworld_dvb_t_210_config = { >>>> .demod_address = 0x08, >>>> .invert = 1, >>>> .invert_oclk = 0, >>>> .xtal_freq = TDA10046_XTAL_16M, >>>> .agc_config = TDA10046_AGC_TDA827X, >>>> .gpio_config = TDA10046_GP11_I, >>>> .if_freq = TDA10046_FREQ_045, >>>> .i2c_gate = 0x4b, >>>> .tuner_address = 0x61, >>>> .antenna_switch= 1, >>>> .request_firmware = philips_tda1004x_request_firmware >>>> }; >>>> ------------------------------ >>>> >>>> Add this: >>>> >>>> ------------------------------ >>>> static int kw210_tuner_init(struct dvb_frontend *fe) >>>> { >>>> struct saa7134_dev *dev = fe->dvb->priv; >>>> philips_tda827x_tuner_init(fe); >>>> /* route TDA8275a AGC input to the channel decoder */ >>>> saa7134_set_gpio(dev, 22, 1); >>>> return 0; >>>> } >>>> >>>> static int kw210_tuner_sleep(struct dvb_frontend *fe) >>>> { >>>> struct saa7134_dev *dev = fe->dvb->priv; >>>> /* route TDA8275a AGC input to the analog IF chip*/ >>>> saa7134_set_gpio(dev, 22, 0); >>>> philips_tda827x_tuner_sleep(fe); >>>> return 0; >>>> } >>>> >>>> static struct tda827x_config kw210_cfg = { >>>> .tuner_callback = saa7134_tuner_callback, >>>> .init = kw210_tuner_init, >>>> .sleep = kw210_tuner_sleep, >>>> .config = 0 >>>> }; >>>> >>>> static struct tda1004x_config kworld_dvb_t_210_config = { >>>> .demod_address = 0x08, >>>> .invert = 1, >>>> .invert_oclk = 0, >>>> .xtal_freq = TDA10046_XTAL_16M, >>>> .agc_config = TDA10046_AGC_TDA827X, >>>> .gpio_config = TDA10046_GP11_I, >>>> .if_freq = TDA10046_FREQ_045, >>>> .tuner_address = 0x61, >>>> .request_firmware = philips_tda1004x_request_firmware >>>> }; >>>> ---------------------------- >>>> >>>> Change this: >>>> >>>> case SAA7134_BOARD_KWORLD_DVBT_210: >>>> dev->dvb.frontend = dvb_attach(tda10046_attach, >>>> &kworld_dvb_t_210_config, &dev->i2c_adap); >>>> if (dev->dvb.frontend) { >>>> if (dvb_attach(tda827x_attach,dev->dvb.frontend, >>>> kworld_dvb_t_210_config.tuner_address, &dev->i2c_adap, >>>> &kw210_cfg) == NULL) { >>>> wprintk("no tda827x tuner found at addr: %02x\n", >>>> kworld_dvb_t_210_config.tuner_address); >>>> } >>>> } >>>> break; >>>> --------------------------------------------- >>>> >>>> However, I need you to explain something for me. >>>> >>>> There is no difference if I use this: >>>> >>>> saa7134_set_gpio(dev, 22, 1); >>>> >>>> or this: >>>> >>>> saa7134_set_gpio(dev, 21, 1); >>>> >>>> I await your guidance, meanwhile I shall apply my >>>> modification to enable the remote and ensure it >>>> doesn't have any effect. >>>> >>>> Many thanks to you both, >>>> >>>> Regards, >>>> Tim >>>> >>>> >>>> >>> Again progress, excellent! >>> I think we will need one further interation. If i go through your >>> changes and comments, i come to the opinion that we will get the same >>> with less changes. But if i understand this right, its astonishing >>> that your >>> card worked a bit. But let me go through your last patch again tomorrow - >>> i am too tired now. >>> >>> Best regards >>> Hartmut >>> >>> >>> >> Hi Hartmut, >> >> I was wrong: >> >> ->There is no difference if I use this: >> >> -> saa7134_set_gpio(dev, 22, 1); >> >> ->or this: >> >> -> saa7134_set_gpio(dev, 21, 1); >> >> This is wrong. >> It only works at all when it is this: saa7134_set_gpio(dev, 22, 1); >> >> With this: saa7134_set_gpio(dev, 21, 1); it does not scan anything at all. >> >> I proved this out by modifying the source, rebuild v4l-dvb, >> and then instead of rebooting, I power-cycled each time. >> >> >> There are 2 problems here: >> 1) With no modification, I must switch to analog tv before I can switch >> to dvb-t. >> If I am using Kaffeine, and then wish to use Me-tv, I must view >> analog tv >> in between. >> >> 2) With no modification, dvb-t will not scan SBS unless analog tv viewed >> first. >> >> >> With this modification, both problems vanish. >> >> I have not yet tested radio. >> >> Regards, >> Tim >> >> _______________________________________________ >> linux-dvb mailing list >> linux-dvb@xxxxxxxxxxx >> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb >> >> >> > Hi Hartmut, > > OK, tried to test radio with gradio, can't get any frequency to lock. > > Now, switching to radio then causes analog tv to have a very weak signal > - only 1 channel will scan with very noisy picture. > > Then need to power-cycle to revert to good system. > > From syslog: > Apr 13 14:15:47 ubuntu kernel: [ 3863.073092] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:15:47 ubuntu kernel: [ 3863.193072] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:15:47 ubuntu kernel: [ 3863.297056] tda829x 0-004b: adjust > gain, step 1. Agc: 0, ADC stat: 0, lock: 0 > Apr 13 14:15:47 ubuntu kernel: [ 3863.441033] tda829x 0-004b: adjust > gain, step 2. Agc: 204, lock: 0 > Apr 13 14:15:47 ubuntu kernel: [ 3863.585010] tda829x 0-004b: adjust > gain, step 3. Agc: 123 > Apr 13 14:15:47 ubuntu kernel: [ 3863.721163] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:15:48 ubuntu kernel: [ 3863.737067] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:15:48 ubuntu kernel: [ 3863.752986] tuner' 0-004b: Cmd > VIDIOC_S_TUNER accepted for radio > Apr 13 14:15:48 ubuntu kernel: [ 3863.752990] tda829x 0-004b: setting > tda829x to system B > Apr 13 14:15:48 ubuntu kernel: [ 3863.856965] tda827x: setting tda827x > to system B > Apr 13 14:15:48 ubuntu kernel: [ 3863.912956] tda827x: AGC2 gain is: 10 > Apr 13 14:15:48 ubuntu kernel: [ 3864.240905] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:15:48 ubuntu kernel: [ 3864.360885] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:15:48 ubuntu kernel: [ 3864.480865] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:15:48 ubuntu kernel: [ 3864.584849] tda829x 0-004b: adjust > gain, step 1. Agc: 0, ADC stat: 0, lock: 0 > Apr 13 14:15:48 ubuntu kernel: [ 3864.728828] tda829x 0-004b: adjust > gain, step 2. Agc: 209, lock: 0 > Apr 13 14:15:49 ubuntu kernel: [ 3864.872802] tda829x 0-004b: adjust > gain, step 3. Agc: 129 > Apr 13 14:17:08 ubuntu kernel: [ 3944.108802] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:17:08 ubuntu kernel: [ 3944.132069] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > > -> I know the local FM station is 107.3MHz and can tune it in with WinXP > > Apr 13 14:17:08 ubuntu kernel: [ 3944.148049] tuner' 0-004b: radio freq > set to 107.30 > Apr 13 14:17:08 ubuntu kernel: [ 3944.148054] tda829x 0-004b: setting > tda829x to system B > Apr 13 14:17:08 ubuntu kernel: [ 3944.256024] tda827x: setting tda827x > to system B > Apr 13 14:17:08 ubuntu kernel: [ 3944.324013] tda827x: AGC2 gain is: 10 > Apr 13 14:17:08 ubuntu kernel: [ 3944.651961] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:09 ubuntu kernel: [ 3944.771941] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:09 ubuntu kernel: [ 3944.891922] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:09 ubuntu kernel: [ 3944.995906] tda829x 0-004b: adjust > gain, step 1. Agc: 0, ADC stat: 0, lock: 0 > Apr 13 14:17:09 ubuntu kernel: [ 3945.143884] tda829x 0-004b: adjust > gain, step 2. Agc: 229, lock: 0 > Apr 13 14:17:09 ubuntu kernel: [ 3945.291857] tda829x 0-004b: adjust > gain, step 3. Agc: 149 > Apr 13 14:17:09 ubuntu kernel: [ 3945.432058] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:17:09 ubuntu kernel: [ 3945.451896] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:17:09 ubuntu kernel: [ 3945.467841] tuner' 0-004b: Cmd > VIDIOC_S_TUNER accepted for radio > Apr 13 14:17:09 ubuntu kernel: [ 3945.467845] tda829x 0-004b: setting > tda829x to system B > Apr 13 14:17:09 ubuntu kernel: [ 3945.575812] tda827x: setting tda827x > to system B > Apr 13 14:17:09 ubuntu kernel: [ 3945.643801] tda827x: AGC2 gain is: 10 > Apr 13 14:17:10 ubuntu kernel: [ 3945.971749] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:10 ubuntu kernel: [ 3946.091729] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:10 ubuntu kernel: [ 3946.211710] tda829x 0-004b: tda8290 > not locked, no signal? > Apr 13 14:17:10 ubuntu kernel: [ 3946.315694] tda829x 0-004b: adjust > gain, step 1. Agc: 0, ADC stat: 0, lock: 0 > Apr 13 14:17:10 ubuntu kernel: [ 3946.463670] tda829x 0-004b: adjust > gain, step 2. Agc: 231, lock: 0 > Apr 13 14:17:10 ubuntu kernel: [ 3946.611645] tda829x 0-004b: adjust > gain, step 3. Agc: 150 > Apr 13 14:17:20 ubuntu kernel: [ 3956.031282] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > Apr 13 14:17:20 ubuntu kernel: [ 3956.046878] tuner' 0-004b: Cmd > VIDIOC_G_TUNER accepted for radio > > > So, the radio config isn't correct. > > I'll keep digging. > > Regards, > Tim > > _______________________________________________ > linux-dvb mailing list > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb > > Hi Hartmut, OK, I'll send you this info that I think I have worked out so far: .gpiomask = 1 << 21, is equivalent to: GPIO 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 gpiomask 0x00200000 = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 from syslog: Apr 13 22:31:56 ubuntu kernel: [ 148.955428] tda1004x: setting up plls for 48MHz sampling clock Apr 13 22:31:56 ubuntu kernel: [ 149.239381] tda1004x: found firmware revision 29 -- ok Apr 13 22:31:57 ubuntu kernel: [ 149.431357] tda827x: tda827x_init: Apr 13 22:31:57 ubuntu kernel: [ 149.431365] saa7133[0]/core: setting GPIO22 to static 1 Apr 13 22:32:00 ubuntu kernel: [ 153.155969] tda827x: tda827xa_set_params: Apr 13 22:32:01 ubuntu kernel: [ 153.387931] tda827x: tda8275a AGC2 gain is: 7 Apr 13 22:32:08 ubuntu kernel: [ 160.737003] saa7133[0]/core: setting GPIO22 to static 0 Apr 13 22:35:28 ubuntu ntpd[5532]: Listening on interface #6 eth0, fe80::21b:fcff:feb3:8532#123 Enabled Apr 13 22:35:28 ubuntu ntpd[5532]: Listening on interface #7 eth0, 10.1.1.5#123 Enabled Apr 13 22:47:11 ubuntu kernel: [ 1063.436570] tuner' 0-004b: Cmd VIDIOC_S_STD accepted for analog TV Seems to be: GPIO22 = 1 for DVB-T GPIO22 = 0 for analog-tv What then for radio? Perhaps GPIO21 is radio? Try this: .gpiomask = 0 << 22 GPIO 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 gpiomask 0x00000000 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Should give start with analog-tv = on; radio =off .gpio = 0x00200000, for radio on (GPIO21 = 1) Result: No radio, but dvb-t, analog-tv is ok. My guess is that GPIO22 = 1 (dvb-t); = 0 (analog-tv, default) GPIO21 = 0 or 1 for radio But you would have to switch antenna from TV to radio via demux first? I can't see where/how to do that. It seems as if the gpiomask should be applied to GPIO22? Then how to start radio? Regards, Tim _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb