Kworld DVB-T 210 - dvb tuning problem
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 NONE2) 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
dmesg1:
[ 44.841316] Linux video capture interface: v2.00
[ 45.150800] saa7130/34: v4l2 driver version 0.2.14 loaded
[ 45.150869] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17, latency: 64, mmio: 0xfebff800 [ 45.150875] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210 [card=114,autodetected] [ 45.150882] saa7133[0]: board init: gpio is 100 [ 45.299946] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299956] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299963] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299970] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299976] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299983] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299989] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.299996] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300002] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300009] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300015] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300022] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300028] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300035] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300041] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.300048] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.308034] saa7133[0]: i2c scan: found device @ 0x10 [???] [ 45.328132] saa7133[0]: i2c scan: found device @ 0x96 [???] [ 45.336273] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
[ 45.489666] tda8290_probe: tda8290 detected @ 0-004b [ 45.489672] tuner' 0-004b: tda829x detected [ 45.489675] tuner' 0-004b: Setting mode_mask to 0x0e [ 45.489679] tuner' 0-004b: chip found @ 0x96 (saa7133[0]) [ 45.489683] tuner' 0-004b: tuner 0x4b: Tuner type absent [ 45.489721] tuner' 0-004b: Calling set_type_addr for type=54, addr=0xff, mode=0x04, config=0x00 [ 45.489724] tuner' 0-004b: set addr for type -1 [ 45.489727] tuner' 0-004b: defining GPIO callback [ 45.505825] tda8290_probe: tda8290 detected @ 0-004b
[ 45.570465] tda829x 0-004b: setting tuner address to 61 [ 45.610865] tda827x: tda827x_attach: [ 45.610868] tda827x: type set to Philips TDA827X [ 45.618924] tda827x: tda827xa tuner found [ 45.618927] tda827x: tda827x_init: [ 45.618929] tda827x: tda827xa_sleep: [ 45.635024] tda829x 0-004b: type set to tda8290+75a [ 45.719438] tuner' 0-004b: type set to tda8290+75a [ 45.719443] tuner' 0-004b: tv freq set to 400.00 [ 45.719447] tda829x 0-004b: setting tda829x to system xx [ 45.824191] tda827x: setting tda827x to system xx [ 45.880752] tda827x: AGC2 gain is: 8 [ 46.219521] tda829x 0-004b: tda8290 not locked, no signal? [ 46.340456] tda829x 0-004b: tda8290 not locked, no signal? [ 46.461656] tda829x 0-004b: tda8290 not locked, no signal? [ 46.566695] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 46.707474] tda829x 0-004b: adjust gain, step 2. Agc: 204, lock: 0 [ 46.852660] tda829x 0-004b: adjust gain, step 3. Agc: 108 [ 46.990029] tuner' 0-004b: saa7133[0] tuner' I2C addr 0x96 with type 54 used for 0x0e [ 47.002109] tuner' 0-004b: switching to v4l2 [ 47.002114] tuner' 0-004b: tv freq set to 400.00 [ 47.002118] tda829x 0-004b: setting tda829x to system B [ 47.106916] tda827x: setting tda827x to system B [ 47.175250] tda827x: AGC2 gain is: 8 [ 47.506148] tda829x 0-004b: tda8290 not locked, no signal? [ 47.635056] tda829x 0-004b: tda8290 not locked, no signal? [ 47.751728] tda829x 0-004b: tda8290 not locked, no signal? [ 47.856768] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 48.002207] tda829x 0-004b: adjust gain, step 2. Agc: 225, lock: 0 [ 48.151158] tda829x 0-004b: adjust gain, step 3. Agc: 133 [ 48.288197] tuner' 0-004b: tv freq set to 400.00 [ 48.288200] tda829x 0-004b: setting tda829x to system B [ 48.393231] tda827x: setting tda827x to system B [ 48.453810] tda827x: AGC2 gain is: 8 [ 48.784236] tda829x 0-004b: tda8290 not locked, no signal? [ 48.905435] tda829x 0-004b: tda8290 not locked, no signal? [ 49.026553] tda829x 0-004b: tda8290 not locked, no signal? [ 49.127045] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 49.272200] tda829x 0-004b: adjust gain, step 2. Agc: 196, lock: 0 [ 49.417642] tda829x 0-004b: adjust gain, step 3. Agc: 100 [ 49.563001] saa7133[0]: registered device video0 [v4l2] [ 49.563022] saa7133[0]: registered device vbi0 [ 49.563042] saa7133[0]: registered device radio0 [ 49.563049] saa7133[0]: dsp access error [ 49.563051] saa7133[0]: dsp access error [ 49.563110] tuner' 0-004b: Cmd TUNER_SET_STANDBY accepted for analog TV [ 49.642566] saa7134 ALSA driver for DMA sound loaded [ 49.642600] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17 registered as card -2 [ 49.927240] tda827x: tda827x_attach: [ 49.927245] tda827x: type set to Philips TDA827X [ 49.927251] DVB: registering new adapter (saa7133[0]) [ 49.927255] DVB: registering frontend 0 (Philips TDA10046H DVB-T)... [ 49.999195] tda1004x: setting up plls for 48MHz sampling clock [ 50.283154] tda1004x: found firmware revision 29 -- ok [ 50.571129] tda827x: tda827xa tuner found [ 50.571136] tda827x: tda827xa_sleep:
[ 50.643361] saa7133[0]/dvb: setting GPIO21 to 1 (Radio antenna?)
-> ... here start scanning with dvb-utils/scan via me-tv
[ 87.654762] tda1004x: setting up plls for 48MHz sampling clock [ 87.858921] tda1004x: found firmware revision 29 -- ok [ 88.050891] tda827x: tda827x_init: [ 88.050895] saa7133[0]/dvb: setting GPIO21 to 0 (TV antenna?) [ 91.888418] tda827x: tda827xa_set_params: [ 91.888425] tda827x: setting LNA to high gain [ 92.096383] tda827x: tda8275a AGC2 gain is: 8 [ 93.856104] tda827x: tda827xa_set_params: [ 93.856113] tda827x: setting LNA to high gain [ 94.100059] tda827x: tda8275a AGC2 gain is: 8 [ 100.854974] tda827x: tda827xa_set_params: [ 100.854981] tda827x: setting LNA to high gain [ 101.098933] tda827x: tda8275a AGC2 gain is: 8 [ 105.510225] tda827x: tda827xa_set_params: [ 105.510232] tda827x: setting LNA to high gain [ 105.754184] tda827x: tda8275a AGC2 gain is: 8 [ 109.393600] tda827x: tda827xa_set_params: [ 109.393606] tda827x: setting LNA to high gain [ 109.637559] tda827x: tda8275a AGC2 gain is: 8 [ 111.825207] tda827x: tda827xa_set_params: [ 111.825214] tda827x: setting LNA to high gain [ 112.069167] tda827x: tda8275a AGC2 gain is: 8 [ 113.852884] tda827x: tda827xa_set_params: [ 113.852891] tda827x: setting LNA to high gain [ 114.096840] tda827x: tda8275a AGC2 gain is: 8 [ 116.828403] tda827x: tda827xa_set_params: [ 116.828410] tda827x: setting LNA to high gain [ 117.072362] tda827x: tda8275a AGC2 gain is: 8 [ 124.419181] tda827x: tda827xa_set_params: [ 124.419187] tda827x: setting LNA to high gain [ 124.663139] tda827x: tda8275a AGC2 gain is: 8 [ 129.802314] tda827x: tda827xa_set_params: [ 129.802320] tda827x: setting LNA to high gain [ 130.046273] tda827x: tda8275a AGC2 gain is: 8 [ 133.029794] tda827x: tda827xa_set_params: [ 133.029800] tda827x: setting LNA to high gain [ 133.273756] tda827x: tda8275a AGC2 gain is: 8 [ 139.768713] tda827x: tda827xa_set_params: [ 139.768719] tda827x: setting LNA to high gain [ 140.012692] tda827x: tda8275a AGC2 gain is: 8 [ 150.782936] tda827x: tda827xa_set_params: [ 150.782942] tda827x: setting LNA to high gain [ 151.002900] tda827x: tda8275a AGC2 gain is: 8 [ 153.166553] tda827x: tda827xa_set_params: [ 153.166560] tda827x: setting LNA to high gain [ 153.386517] tda827x: tda8275a AGC2 gain is: 8 [ 160.021449] tda827x: tda827xa_set_params: [ 160.021456] tda827x: setting LNA to high gain [ 160.237414] tda827x: tda8275a AGC2 gain is: 8 [ 171.027678] tda827x: tda827xa_set_params: [ 171.027684] tda827x: setting LNA to high gain [ 171.243642] tda827x: tda8275a AGC2 gain is: 8 [ 179.591275] tda827x: tda827xa_set_params: [ 179.591282] tda827x: setting LNA to high gain [ 179.799322] tda827x: tda8275a AGC2 gain is: 8 [ 188.045325] tda827x: tda827xa_sleep: [ 188.125616] saa7133[0]/dvb: setting GPIO21 to 1 (Radio antenna?)
---------------------------------------------------------------------
dmesg2:
[ 45.042866] Linux video capture interface: v2.00 [ 45.103665] saa7130/34: v4l2 driver version 0.2.14 loaded
[ 45.103745] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17, latency: 64, mmio: 0xfebff800 [ 45.103752] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210 [card=114,autodetected] [ 45.103760] saa7133[0]: board init: gpio is 100 [ 45.263665] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263679] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263690] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263701] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263712] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263722] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263733] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263744] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263755] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263766] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263777] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263787] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263798] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263809] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263820] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.263831] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 45.275764] saa7133[0]: i2c scan: found device @ 0x10 [???] [ 45.295820] saa7133[0]: i2c scan: found device @ 0x96 [???] [ 45.308019] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
[ 45.449032] tda8290_probe: tda8290 detected @ 0-004b [ 45.449037] tuner' 0-004b: tda829x detected [ 45.449041] tuner' 0-004b: Setting mode_mask to 0x0e [ 45.449044] tuner' 0-004b: chip found @ 0x96 (saa7133[0]) [ 45.449048] tuner' 0-004b: tuner 0x4b: Tuner type absent [ 45.449082] tuner' 0-004b: Calling set_type_addr for type=54, addr=0xff, mode=0x04, config=0x00 [ 45.449086] tuner' 0-004b: set addr for type -1 [ 45.449089] tuner' 0-004b: defining GPIO callback [ 45.465191] tda8290_probe: tda8290 detected @ 0-004b
[ 45.529831] tda829x 0-004b: setting tuner address to 61 [ 45.570255] tda827x: tda827x_attach: [ 45.570258] tda827x: type set to Philips TDA827X [ 45.578310] tda827x: tda827xa tuner found [ 45.578313] tda827x: tda827x_init: [ 45.578315] tda827x: tda827xa_sleep: [ 45.594481] tda829x 0-004b: type set to tda8290+75a [ 45.663128] tuner' 0-004b: type set to tda8290+75a [ 45.663132] tuner' 0-004b: tv freq set to 400.00 [ 45.663137] tda829x 0-004b: setting tda829x to system xx [ 45.779921] tda827x: setting tda827x to system xx [ 45.836196] tda827x: AGC2 gain is: 9 [ 46.167210] tda829x 0-004b: tda8290 not locked, no signal? [ 46.291982] tda829x 0-004b: tda8290 not locked, no signal? [ 46.412775] tda829x 0-004b: tda8290 not locked, no signal? [ 46.517815] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 46.663254] tda829x 0-004b: adjust gain, step 2. Agc: 225, lock: 0 [ 46.804045] tda829x 0-004b: adjust gain, step 3. Agc: 119 [ 46.941140] tuner' 0-004b: saa7133[0] tuner' I2C addr 0x96 with type 54 used for 0x0e [ 46.953230] tuner' 0-004b: switching to v4l2 [ 46.953236] tuner' 0-004b: tv freq set to 400.00 [ 46.953240] tda829x 0-004b: setting tda829x to system B [ 47.058260] tda827x: setting tda827x to system B [ 47.118839] tda827x: AGC2 gain is: 9 [ 47.449264] tda829x 0-004b: tda8290 not locked, no signal? [ 47.570463] tda829x 0-004b: tda8290 not locked, no signal? [ 47.695499] tda829x 0-004b: tda8290 not locked, no signal? [ 47.796012] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 47.941308] tda829x 0-004b: adjust gain, step 2. Agc: 204, lock: 0 [ 48.086748] tda829x 0-004b: adjust gain, step 3. Agc: 108 [ 48.227685] tuner' 0-004b: tv freq set to 400.00 [ 48.227688] tda829x 0-004b: setting tda829x to system B [ 48.332434] tda827x: setting tda827x to system B [ 48.389003] tda827x: AGC2 gain is: 8 [ 48.727743] tda829x 0-004b: tda8290 not locked, no signal? [ 48.848678] tda829x 0-004b: tda8290 not locked, no signal? [ 48.969877] tda829x 0-004b: tda8290 not locked, no signal? [ 49.074917] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 49.215687] tda829x 0-004b: adjust gain, step 2. Agc: 204, lock: 0 [ 49.360883] tda829x 0-004b: adjust gain, step 3. Agc: 108 [ 49.498617] saa7133[0]: registered device video0 [v4l2] [ 49.498763] saa7133[0]: registered device vbi0 [ 49.498904] saa7133[0]: registered device radio0 [ 49.498985] tuner' 0-004b: Cmd TUNER_SET_STANDBY accepted for analog TV [ 49.578852] saa7134 ALSA driver for DMA sound loaded [ 49.578881] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17 registered as card -2 [ 49.691172] tda827x: tda827x_attach: [ 49.691176] tda827x: type set to Philips TDA827X [ 49.691179] DVB: registering new adapter (saa7133[0]) [ 49.691182] DVB: registering frontend 0 (Philips TDA10046H DVB-T)... [ 49.791118] tda1004x: setting up plls for 48MHz sampling clock [ 50.155058] tda1004x: found firmware revision 29 -- ok [ 50.575001] tda827x: tda827xa tuner found [ 50.575008] tda827x: tda827xa_sleep: [ 50.659073] saa7133[0]/dvb: setting GPIO21 to 1 (Radio antenna?)
-> ... here start viewing analog tv via tvtime
[ 83.314648] tuner' 0-004b: Cmd VIDIOC_S_STD accepted for analog TV [ 83.314655] tuner' 0-004b: tv freq set to 400.00 [ 83.314659] tda829x 0-004b: setting tda829x to system B [ 83.425824] tda827x: setting tda827x to system B [ 83.501861] tda827x: AGC2 gain is: 10 [ 83.837806] tda829x 0-004b: tda8290 not locked, no signal? [ 83.957786] tda829x 0-004b: tda8290 not locked, no signal? [ 84.077767] tda829x 0-004b: tda8290 not locked, no signal? [ 84.181759] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 84.329729] tda829x 0-004b: adjust gain, step 2. Agc: 246, lock: 0 [ 84.477703] tda829x 0-004b: adjust gain, step 3. Agc: 153 [ 84.621780] tuner' 0-004b: tv freq set to 400.00 [ 84.621786] tda829x 0-004b: setting tda829x to system B [ 84.733660] tda827x: setting tda827x to system B [ 84.801649] tda827x: AGC2 gain is: 9 [ 85.129600] tda829x 0-004b: tda8290 not locked, no signal? [ 85.249595] tda829x 0-004b: tda8290 not locked, no signal? [ 85.369563] tda829x 0-004b: tda8290 not locked, no signal? [ 85.473542] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 85.617517] tda829x 0-004b: adjust gain, step 2. Agc: 212, lock: 0 [ 85.761495] tda829x 0-004b: adjust gain, step 3. Agc: 113 [ 85.897539] tuner' 0-004b: tv freq set to 400.00 [ 85.897545] tda829x 0-004b: setting tda829x to system B [ 86.005458] tda827x: setting tda827x to system B [ 86.073445] tda827x: AGC2 gain is: 9 [ 86.401398] tda829x 0-004b: tda8290 not locked, no signal? [ 86.521372] tda829x 0-004b: tda8290 not locked, no signal? [ 86.641353] tda829x 0-004b: tda8290 not locked, no signal? [ 86.745337] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 86.889316] tda829x 0-004b: adjust gain, step 2. Agc: 204, lock: 0 [ 87.033290] tda829x 0-004b: adjust gain, step 3. Agc: 106 [ 87.230182] tuner' 0-004b: tv freq set to 400.00 [ 87.230191] tda829x 0-004b: setting tda829x to system B [ 87.341241] tda827x: setting tda827x to system B [ 87.409229] tda827x: AGC2 gain is: 9 [ 87.737177] tda829x 0-004b: tda8290 not locked, no signal? [ 87.857157] tda829x 0-004b: tda8290 not locked, no signal? [ 87.977138] tda829x 0-004b: tda8290 not locked, no signal? [ 88.081122] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 88.225098] tda829x 0-004b: adjust gain, step 2. Agc: 212, lock: 0 [ 88.369076] tda829x 0-004b: adjust gain, step 3. Agc: 113 [ 88.505137] tuner' 0-004b: tv freq set to 400.00 [ 88.505143] tda829x 0-004b: setting tda829x to system B [ 88.613036] tda827x: setting tda827x to system B [ 88.681025] tda827x: AGC2 gain is: 8 [ 89.008972] tda829x 0-004b: tda8290 not locked, no signal? [ 89.128955] tda829x 0-004b: tda8290 not locked, no signal? [ 89.248951] tda829x 0-004b: tda8290 not locked, no signal? [ 89.352917] tda829x 0-004b: adjust gain, step 1. Agc: 0, ADC stat: 0, lock: 0 [ 89.496894] tda829x 0-004b: adjust gain, step 2. Agc: 204, lock: 0 [ 89.640871] tda829x 0-004b: adjust gain, step 3. Agc: 106 [ 89.869324] tuner' 0-004b: tv freq set to 209.25 [ 89.869332] tda829x 0-004b: setting tda829x to system B [ 89.976818] tda827x: setting tda827x to system B [ 90.044806] tda827x: AGC2 gain is: 9 [ 90.408754] tda829x 0-004b: tda8290 is locked, AGC: 255 [ 90.408761] tda829x 0-004b: adjust gain, step 1. Agc: 255, ADC stat: 0, lock: 128 [ 90.556725] tda829x 0-004b: adjust gain, step 2. Agc: 135, lock: 0 [ 93.410080] tuner' 0-004b: Cmd TUNER_SET_STANDBY accepted for analog TV
-> ... here start scanning via me-tv dvb-utils/scan
[ 95.744247] tda1004x: setting up plls for 48MHz sampling clock [ 96.108190] tda1004x: found firmware revision 29 -- ok [ 96.396146] tda827x: tda827x_init: [ 96.396153] saa7133[0]/dvb: setting GPIO21 to 0 (TV antenna?) [ 99.516901] tda827x: tda827xa_set_params: [ 99.516908] tda827x: setting LNA to high gain [ 99.724867] tda827x: tda8275a AGC2 gain is: 8 [ 108.659429] tda827x: tda827xa_set_params: [ 108.659437] tda827x: setting LNA to high gain [ 108.867394] tda827x: tda8275a AGC2 gain is: 8 [ 110.883074] tda827x: tda827xa_set_params: [ 110.883081] tda827x: setting LNA to high gain [ 111.091038] tda827x: tda8275a AGC2 gain is: 8 [ 116.882107] tda827x: tda827xa_set_params: [ 116.882114] tda827x: setting LNA to high gain [ 117.090068] tda827x: tda8275a AGC2 gain is: 8 [ 118.981766] tda827x: tda827xa_set_params: [ 118.981773] tda827x: setting LNA to high gain [ 119.189733] tda827x: tda8275a AGC2 gain is: 8 [ 121.297396] tda827x: tda827xa_set_params: [ 121.297403] tda827x: setting LNA to high gain [ 121.505361] tda827x: tda8275a AGC2 gain is: 8 [ 123.081110] tda827x: tda827xa_set_params: [ 123.081118] tda827x: setting LNA to high gain [ 123.289073] tda827x: tda8275a AGC2 gain is: 8 [ 124.864821] tda827x: tda827xa_set_params: [ 124.864830] tda827x: setting LNA to high gain [ 125.072786] tda827x: tda8275a AGC2 gain is: 8 [ 126.084630] tda827x: tda827xa_set_params: [ 126.084639] tda827x: setting LNA to high gain [ 126.292590] tda827x: tda8275a AGC2 gain is: 8 [ 127.868335] tda827x: tda827xa_set_params: [ 127.868343] tda827x: setting LNA to high gain [ 128.076300] tda827x: tda8275a AGC2 gain is: 8 [ 129.652048] tda827x: tda827xa_set_params: [ 129.652054] tda827x: setting LNA to high gain [ 129.860014] tda827x: tda8275a AGC2 gain is: 8 [ 130.871851] tda827x: tda827xa_set_params: [ 130.871859] tda827x: setting LNA to high gain [ 131.079818] tda827x: tda8275a AGC2 gain is: 8 [ 138.610606] tda827x: tda827xa_set_params: [ 138.610614] tda827x: setting LNA to high gain [ 138.818571] tda827x: tda8275a AGC2 gain is: 8 [ 140.394320] tda827x: tda827xa_set_params: [ 140.394327] tda827x: setting LNA to high gain [ 140.602284] tda827x: tda8275a AGC2 gain is: 8 [ 142.178031] tda827x: tda827xa_set_params: [ 142.178038] tda827x: setting LNA to high gain [ 142.386001] tda827x: tda8275a AGC2 gain is: 8 [ 143.397837] tda827x: tda827xa_set_params: [ 143.397844] tda827x: setting LNA to high gain [ 143.605803] tda827x: tda8275a AGC2 gain is: 8 [ 145.181549] tda827x: tda827xa_set_params: [ 145.181556] tda827x: setting LNA to high gain [ 145.389520] tda827x: tda8275a AGC2 gain is: 8 [ 146.965261] tda827x: tda827xa_set_params: [ 146.965267] tda827x: setting LNA to high gain [ 147.173226] tda827x: tda8275a AGC2 gain is: 8 [ 148.185065] tda827x: tda827xa_set_params: [ 148.185071] tda827x: setting LNA to high gain [ 148.393032] tda827x: tda8275a AGC2 gain is: 8 [ 149.968779] tda827x: tda827xa_set_params: [ 149.968786] tda827x: setting LNA to high gain [ 150.176743] tda827x: tda8275a AGC2 gain is: 8 [ 151.752490] tda827x: tda827xa_set_params: [ 151.752498] tda827x: setting LNA to high gain [ 151.960456] tda827x: tda8275a AGC2 gain is: 8 [ 152.972294] tda827x: tda827xa_set_params: [ 152.972302] tda827x: setting LNA to high gain [ 153.180262] tda827x: tda8275a AGC2 gain is: 8 [ 154.756008] tda827x: tda827xa_set_params: [ 154.756014] tda827x: setting LNA to high gain [ 154.963973] tda827x: tda8275a AGC2 gain is: 8 [ 156.539720] tda827x: tda827xa_set_params: [ 156.539726] tda827x: setting LNA to high gain [ 156.747686] tda827x: tda8275a AGC2 gain is: 8 [ 157.759524] tda827x: tda827xa_set_params: [ 157.759532] tda827x: setting LNA to high gain [ 157.967489] tda827x: tda8275a AGC2 gain is: 8 [ 159.543237] tda827x: tda827xa_set_params: [ 159.543244] tda827x: setting LNA to high gain [ 159.751203] tda827x: tda8275a AGC2 gain is: 8 [ 161.326950] tda827x: tda827xa_set_params: [ 161.326956] tda827x: setting LNA to high gain [ 161.534915] tda827x: tda8275a AGC2 gain is: 8 [ 162.546754] tda827x: tda827xa_set_params: [ 162.546761] tda827x: setting LNA to high gain [ 162.754721] tda827x: tda8275a AGC2 gain is: 8 [ 164.330466] tda827x: tda827xa_set_params: [ 164.330473] tda827x: setting LNA to high gain [ 164.538432] tda827x: tda8275a AGC2 gain is: 8 [ 166.114178] tda827x: tda827xa_set_params: [ 166.114184] tda827x: setting LNA to high gain [ 166.322145] tda827x: tda8275a AGC2 gain is: 8 [ 167.333983] tda827x: tda827xa_set_params: [ 167.333990] tda827x: setting LNA to high gain [ 167.541949] tda827x: tda8275a AGC2 gain is: 8 [ 169.117696] tda827x: tda827xa_set_params: [ 169.117703] tda827x: setting LNA to high gain [ 169.325661] tda827x: tda8275a AGC2 gain is: 8 [ 170.901411] tda827x: tda827xa_set_params: [ 170.901417] tda827x: setting LNA to high gain [ 171.109374] tda827x: tda8275a AGC2 gain is: 8 [ 172.121213] tda827x: tda827xa_set_params: [ 172.121220] tda827x: setting LNA to high gain [ 172.329177] tda827x: tda8275a AGC2 gain is: 8 [ 173.904926] tda827x: tda827xa_set_params: [ 173.904932] tda827x: setting LNA to high gain [ 174.112891] tda827x: tda8275a AGC2 gain is: 8 [ 175.688638] tda827x: tda827xa_set_params: [ 175.688644] tda827x: setting LNA to high gain [ 175.896603] tda827x: tda8275a AGC2 gain is: 8 [ 176.908442] tda827x: tda827xa_set_params: [ 176.908448] tda827x: setting LNA to high gain [ 177.116409] tda827x: tda8275a AGC2 gain is: 8 [ 183.579369] tda827x: tda827xa_set_params: [ 183.579378] tda827x: setting LNA to high gain [ 183.787333] tda827x: tda8275a AGC2 gain is: 8 [ 194.533604] tda827x: tda827xa_set_params: [ 194.533612] tda827x: setting LNA to high gain [ 194.741569] tda827x: tda8275a AGC2 gain is: 8 [ 202.352347] tda827x: tda827xa_set_params: [ 202.352355] tda827x: setting LNA to high gain [ 202.560312] tda827x: tda8275a AGC2 gain is: 8 [ 209.199244] tda827x: tda827xa_set_params: [ 209.199252] tda827x: setting LNA to high gain [ 209.407211] tda827x: tda8275a AGC2 gain is: 8 [ 220.245465] tda827x: tda827xa_set_params: [ 220.245473] tda827x: setting LNA to high gain [ 220.489426] tda827x: tda8275a AGC2 gain is: 8 [ 228.678486] tda827x: tda827xa_set_params: [ 228.678494] tda827x: setting LNA to high gain [ 228.890780] tda827x: tda8275a AGC2 gain is: 8 [ 237.136138] tda827x: tda827xa_sleep: [ 237.208124] saa7133[0]/dvb: setting GPIO21 to 1 (Radio antenna?)
6) Herman mentioned something called a "mode-switch" in the archives, but not any description.
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?
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)
Quoted 9 lines
- 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>
Quoted 2 lines
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.
Quoted 8 lines
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
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 58 lines
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 9 lines
- 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>
Quoted 5 lines
Quoted 2 lines
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.
Quoted 8 lines
Quoted 8 lines
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?
Quoted 8 lines
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
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 93 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 61 lines
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 10 lines
- 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>Quoted 6 lines
Quoted 3 lines
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.
Quoted 9 lines
Quoted 9 lines
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?
Quoted 9 lines
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
Quoted 10 lines
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
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi, Tim
Quoted 238 lines · timf
Quoted 96 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 63 lines
HI, Tim
Quoted 33 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 10 lines
- 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>Quoted 7 lines
Quoted 3 lines
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.
Quoted 9 lines
Quoted 9 lines
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?
Quoted 9 lines
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
HartmutQuoted 10 lines
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,
HermannHi 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 intkw210_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);
Quoted 9 lines
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
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 261 lines · Hartmut Hackmann
Hi, Tim
Quoted 241 lines · timf
Quoted 98 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 65 lines
HI, Tim
Quoted 36 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config
=TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine in
WinXP)Quoted 8 lines
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>Quoted 7 lines
Quoted 3 lines
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.
Quoted 9 lines
Quoted 9 lines
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?
Quoted 9 lines
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
HartmutQuoted 10 lines
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,
HermannHi 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 intkw210_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);Quoted 9 lines
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,
TimAgain 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.
Quoted 3 lines
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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 314 lines · timf
Quoted 272 lines · Hartmut Hackmann
Hi, Tim
Quoted 250 lines · timf
Quoted 105 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 68 lines
HI, Tim
Quoted 36 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config
=TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine in
WinXP)Quoted 9 lines
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>Quoted 9 lines
Quoted 4 lines
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.
Quoted 10 lines
Quoted 10 lines
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?
Quoted 10 lines
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
HartmutQuoted 11 lines
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,
HermannHi 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 intkw210_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);Quoted 10 lines
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,
TimAgain 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.Quoted 4 lines
Best regards
HartmutHi 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.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 443 lines · timf
Quoted 329 lines · timf
Quoted 285 lines · Hartmut Hackmann
Hi, Tim
Quoted 261 lines · timf
Quoted 114 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 71 lines
HI, Tim
Quoted 36 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config
=TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine in
WinXP)Quoted 10 lines
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>Quoted 11 lines
Quoted 5 lines
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.
Quoted 11 lines
Quoted 11 lines
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?
Quoted 11 lines
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
HartmutQuoted 12 lines
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,
HermannHi 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 intkw210_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);Quoted 11 lines
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,
TimAgain 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.Quoted 5 lines
Best regards
HartmutHi 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.
Quoted 10 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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_TUNERaccepted 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_TUNERaccepted for radioSo, the radio config isn't correct.
I'll keep digging.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 524 lines · timf
Quoted 460 lines · timf
Quoted 344 lines · timf
Quoted 298 lines · Hartmut Hackmann
Hi, Tim
Quoted 272 lines · timf
Quoted 123 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 80 lines
HI, Tim
Quoted 36 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config
=TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine in
WinXP)Quoted 11 lines
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>Quoted 6 lines
6) Herman mentioned something called a "mode-switch" in the archives, but not any description.
Quoted 7 lines
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.
Quoted 12 lines
Quoted 6 lines
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.Quoted 6 lines
What else should I try?
Quoted 12 lines
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
HartmutQuoted 13 lines
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,
HermannHi 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 intkw210_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);Quoted 12 lines
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,
TimAgain 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.Quoted 6 lines
Best regards
HartmutHi 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.
Quoted 11 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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_TUNERaccepted 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_TUNERaccepted for radioSo, the radio config isn't correct.
I'll keep digging.
Quoted 10 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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 gpiomask0x00200000= 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0from 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 gainis: 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_STDaccepted for analog TVSeems to be:
GPIO22 = 1 for DVB-T
GPIO22 = 0 for analog-tvWhat 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 gpiomask0x00000000= 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?
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Something I don't understand.
This card: KWORLD VS-DVBT210RF
Chips:
SAA7131E - video decoder
TDA10046A - DVB-T decoder
KS007 - remote controller
HC4052 - analog demux
24C02BN - eeprom
NXP 8275A - tuner
Now, other cards have something such as mt352 as an IF demod I was under the impression that the 8275 went with an 8290 IF demod, but there is no demod chip on this card.
How does that work?
The tuner on the Pinnacle 310i is under a metal shield, so I can't actually see it.
I'm just getting more confused - there has to be something for the IF stage!
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi, Tim
Quoted 528 lines · timf
Quoted 527 lines · timf
Quoted 460 lines · timf
Quoted 344 lines · timf
Quoted 298 lines · Hartmut Hackmann
Hi, Tim
Quoted 272 lines · timf
Quoted 123 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 80 lines
HI, Tim
Quoted 36 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config
=TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s,
pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter)
# T freq bwfec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine in
WinXP)Quoted 11 lines
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>Quoted 6 lines
6) Herman mentioned something called a "mode-switch" in the archives, but not any description.
Quoted 7 lines
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.
Quoted 12 lines
Quoted 6 lines
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.Quoted 6 lines
What else should I try?
Quoted 12 lines
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
HartmutQuoted 13 lines
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,
HermannHi 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 intkw210_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);Quoted 12 lines
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,
TimAgain 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.Quoted 6 lines
Best regards
HartmutHi 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.
Quoted 11 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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_TUNERaccepted 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_TUNERaccepted for radioSo, the radio config isn't correct.
I'll keep digging.
Quoted 10 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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 gpiomask0x00200000= 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0from 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 gainis: 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_STDaccepted for analog TVSeems to be:
GPIO22 = 1 for DVB-T
GPIO22 = 0 for analog-tvWhat 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 gpiomask0x00000000= 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
Quoted 6 lines
Quoted 6 lines
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
I will try to reply to all your last mails with this
Quoted 4 lines
Something I don't understand.
This card: KWORLD VS-DVBT210RF
Quoted 8 lines
Chips:
SAA7131E - video decoder
TDA10046A - DVB-T decoder
KS007 - remote controller
HC4052 - analog demux
24C02BN - eeprom
NXP 8275A - tuner
That's a common configuration.
Quoted 6 lines
Now, other cards have something such as mt352 as an IF demod I was under the impression that the 8275 went with an 8290 IF demod, but there is no demod chip on this card.
How does that work?
mt352 is a dvb-t channel decoder. But you are right, the tda8275(a) needs a tda8290 for analog tv. But this is integrated in the saa7131.
Quoted 5 lines
The tuner on the Pinnacle 310i is under a metal shield, so I can't actually see it.
I'm just getting more confused - there has to be something for the IF stage!
Right! its in the saa7131.
I think i know now how your card needs to be configured.
Something that seems not to be really clear for you is the configuration of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs. GPIO 21 is used to switch between analog TV and FM radio.
Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards use GPIO1 of the tda10046 for this.
You should need to make chages only in saa7134-dvb, dvb_init()
- remove the old
case SAA7134_BOARD_KWORLD_DVBT_210: (plus code)
-and add it to
case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
That should do it (though we should add a .antenna switch to the configuration).
Best regards
Hartmut
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 564 lines · Hartmut Hackmann
Hi, Tim
Quoted 505 lines · timf
Quoted 504 lines · timf
Quoted 437 lines · timf
Quoted 320 lines · timf
Quoted 277 lines · Hartmut Hackmann
Hi, Tim
Quoted 253 lines · timf
Quoted 111 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 66 lines
HI, Tim
Quoted 37 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or
.gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s, pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter) # T freq bw
fec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine
in WinXP)Quoted 8 lines
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>Quoted 7 lines
Quoted 3 lines
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.Quoted 17 lines
Quoted 10 lines
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.Quoted 4 lines
Best regards
HartmutFor 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.Quoted 5 lines
Cheers,
HermannHi 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 intkw210_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);Quoted 10 lines
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,
TimAgain 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.Quoted 4 lines
Best regards
HartmutHi 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.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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_TUNERaccepted 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_TUNERaccepted for radioSo, the radio config isn't correct.
I'll keep digging.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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 gpiomask0x00200000= 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0from 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 AGC2gain 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_STDaccepted for analog TVSeems to be:
GPIO22 = 1 for DVB-T
GPIO22 = 0 for analog-tvWhat 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 gpiomask0x00000000= 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,
TimQuoted 6 lines
Quoted 6 lines
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbI will try to reply to all your last mails with this
Quoted 4 lines
Something I don't understand.
This card: KWORLD VS-DVBT210RF
Quoted 8 lines
Chips:
SAA7131E - video decoder
TDA10046A - DVB-T decoder
KS007 - remote controller
HC4052 - analog demux
24C02BN - eeprom
NXP 8275A - tunerThat's a common configuration.
Quoted 6 lines
Now, other cards have something such as mt352 as an IF demod I was under the impression that the 8275 went with an 8290 IF demod, but there is no demod chip on this card.
How does that work?
mt352 is a dvb-t channel decoder. But you are right, the tda8275(a) needs a tda8290 for analog tv. But this is integrated in the saa7131.
Quoted 6 lines
The tuner on the Pinnacle 310i is under a metal shield, so I can't actually see it.
I'm just getting more confused - there has to be something for the IF stage!
Right! its in the saa7131.
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)
Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
Hartmut
Hi Hartmut,
OK, so instead of this:
...
/* ------------------------------------------------------------------
* special case: this card uses saa713x GPIO22 for the mode switch */
static int ads_duo_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 ads_duo_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 ads_duo_cfg = {
.tuner_callback = saa7134_tuner_callback,
.init = ads_duo_tuner_init,
.sleep = ads_duo_tuner_sleep,
.config = 0
};
static struct tda1004x_config ads_tech_duo_config = {
.demod_address = 0x08,
.invert = 1,
.invert_oclk = 0,
.xtal_freq = TDA10046_XTAL_16M,
.agc_config = TDA10046_AGC_TDA827X,
.gpio_config = TDA10046_GP00_I,
.if_freq = TDA10046_FREQ_045,
.tuner_address = 0x61,
.request_firmware = philips_tda1004x_request_firmware
};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,
.antenna_switch= 1,
.request_firmware = philips_tda1004x_request_firmware
};-------------------
/* ==================================================================
* Core code
*/
static int dvb_init(struct saa7134_dev *dev)
{
...
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;
...
case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&ads_tech_duo_config,
&dev->i2c_adap);
if (dev->dvb.frontend) {
if (dvb_attach(tda827x_attach,dev->dvb.frontend,
ads_tech_duo_config.tuner_address, &dev->i2c_adap,
&ads_duo_cfg) == NULL) {
wprintk("no tda827x tuner found at addr: %02x\n",
ads_tech_duo_config.tuner_address);
}
}
break;...
You think this is better:
/* ------------------------------------------------------------------
* special case: this card uses saa713x GPIO22 for the mode switch */
static int ads_duo_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 ads_duo_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 ads_duo_cfg = {
.tuner_callback = saa7134_tuner_callback,
.init = ads_duo_tuner_init,
.sleep = ads_duo_tuner_sleep,
.config = 0
};
static struct tda1004x_config ads_tech_duo_config = {
.demod_address = 0x08,
.invert = 1,
.invert_oclk = 0,
.xtal_freq = TDA10046_XTAL_16M,
.agc_config = TDA10046_AGC_TDA827X,
.gpio_config = TDA10046_GP00_I,
.if_freq = TDA10046_FREQ_045,
.tuner_address = 0x61,
.request_firmware = philips_tda1004x_request_firmware
};-------------------
/* ==================================================================
* Core code
*/
static int dvb_init(struct saa7134_dev *dev)
{
...
case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
case SAA7134_BOARD_KWORLD_DVBT_210:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&ads_tech_duo_config,
&dev->i2c_adap);
if (dev->dvb.frontend) {
if (dvb_attach(tda827x_attach,dev->dvb.frontend,
ads_tech_duo_config.tuner_address, &dev->i2c_adap,
&ads_duo_cfg) == NULL) {
wprintk("no tda827x tuner found at addr: %02x\n",
ads_tech_duo_config.tuner_address);
}
}
break;...
My problem is that this works:
.gpio_config = TDA10046_GP11_I,
but this doesn't:
.gpio_config = TDA10046_GP00_I,And I was going to add this:
.antenna_switch= 1,
to my struct.
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi, Tim
Quoted 760 lines · timf
Quoted 564 lines · Hartmut Hackmann
Hi, Tim
Quoted 505 lines · timf
Quoted 504 lines · timf
Quoted 437 lines · timf
Quoted 320 lines · timf
Quoted 277 lines · Hartmut Hackmann
Hi, Tim
Quoted 253 lines · timf
Quoted 111 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 66 lines
HI, Tim
Quoted 37 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or
.gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching tiger,tiger_s, pinnacle 310i, twinhan 3056# Australia / Perth (Roleystone transmitter) # T freq bw
fec_hifec_lomod 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)- problem only occurs with kworld 210 in linux (works fine
in WinXP)Quoted 8 lines
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>Quoted 7 lines
Quoted 3 lines
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.Quoted 17 lines
Quoted 10 lines
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.Quoted 4 lines
Best regards
HartmutFor 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.Quoted 5 lines
Cheers,
HermannHi 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 intkw210_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);Quoted 10 lines
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,
TimAgain 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.Quoted 4 lines
Best regards
HartmutHi 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.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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_TUNERaccepted 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_TUNERaccepted for radioSo, the radio config isn't correct.
I'll keep digging.
Quoted 9 lines
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbHi 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 gpiomask0x00200000= 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0from 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 AGC2gain 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_STDaccepted for analog TVSeems to be:
GPIO22 = 1 for DVB-T
GPIO22 = 0 for analog-tvWhat 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 gpiomask0x00000000= 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,
TimQuoted 6 lines
Quoted 6 lines
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbI will try to reply to all your last mails with this
Quoted 4 lines
Something I don't understand.
This card: KWORLD VS-DVBT210RF
Quoted 8 lines
Chips:
SAA7131E - video decoder
TDA10046A - DVB-T decoder
KS007 - remote controller
HC4052 - analog demux
24C02BN - eeprom
NXP 8275A - tunerThat's a common configuration.
Quoted 6 lines
Now, other cards have something such as mt352 as an IF demod I was under the impression that the 8275 went with an 8290 IF demod, but there is no demod chip on this card.
How does that work?
mt352 is a dvb-t channel decoder. But you are right, the tda8275(a) needs a tda8290 for analog tv. But this is integrated in the saa7131.
Quoted 6 lines
The tuner on the Pinnacle 310i is under a metal shield, so I can't actually see it.
I'm just getting more confused - there has to be something for the IF stage!
Right! its in the saa7131.
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
OK, so instead of this:
...
/* ------------------------------------------------------------------
* special case: this card uses saa713x GPIO22 for the mode switch */static int
ads_duo_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
ads_duo_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_configads_duo_cfg= {
.tuner_callback =saa7134_tuner_callback,
.init =ads_duo_tuner_init,
.sleep =ads_duo_tuner_sleep,
.config = 0
};static struct tda1004x_config ads_tech_duo_config = { .demod_address = 0x08, .invert = 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config = TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP00_I, .if_freq = TDA10046_FREQ_045, .tuner_address = 0x61, .request_firmware = philips_tda1004x_request_firmware };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, .antenna_switch= 1, .request_firmware = philips_tda1004x_request_firmware };-------------------
/* ==================================================================
* Core code
*/static int
dvb_init(struct saa7134_dev *dev)
{
...
caseSAA7134_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; ... case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: dev->dvb.frontend = dvb_attach(tda10046_attach, &ads_tech_duo_config, &dev->i2c_adap); if (dev->dvb.frontend) { if (dvb_attach(tda827x_attach,dev->dvb.frontend, ads_tech_duo_config.tuner_address, &dev->i2c_adap, &ads_duo_cfg) == NULL) { wprintk("no tda827x tuner found at addr: %02x\n", ads_tech_duo_config.tuner_address); } } break;...
You think this is better:
/* ------------------------------------------------------------------
* special case: this card uses saa713x GPIO22 for the mode switch */static int
ads_duo_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
ads_duo_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_configads_duo_cfg= {
.tuner_callback =saa7134_tuner_callback,
.init =ads_duo_tuner_init,
.sleep =ads_duo_tuner_sleep,
.config = 0
};static struct tda1004x_config ads_tech_duo_config = { .demod_address = 0x08, .invert = 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config = TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP00_I, .if_freq = TDA10046_FREQ_045, .tuner_address = 0x61, .request_firmware = philips_tda1004x_request_firmware };-------------------
/* ==================================================================
* Core code
*/static int
dvb_init(struct saa7134_dev *dev)
{
...
caseSAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: case SAA7134_BOARD_KWORLD_DVBT_210: dev->dvb.frontend = dvb_attach(tda10046_attach, &ads_tech_duo_config, &dev->i2c_adap); if (dev->dvb.frontend) { if (dvb_attach(tda827x_attach,dev->dvb.frontend, ads_tech_duo_config.tuner_address, &dev->i2c_adap, &ads_duo_cfg) == NULL) { wprintk("no tda827x tuner found at addr: %02x\n", ads_tech_duo_config.tuner_address); } } break;...
Quoted 9 lines
My problem is that this works:
.gpio_config = TDA10046_GP11_I, but this doesn't: .gpio_config = TDA10046_GP00_I,And I was going to add this:
.antenna_switch= 1,to my struct.
Ok , the antenna_switch is clear. But the
.gpio_config makes no sense. The card either uses either GPIO22 or the tda10046 for mode switching but not both.
What happens if you use the "bad" gpio_config?
Please switch to tzap for testing. This command line program clearly reports the status of the channel decoder, including signal level.
Hartmut
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 149 lines · Hartmut Hackmann
Hi, Tim
<snip>Quoted 145 lines
Quoted 18 lines
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration
of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
OK, so instead of this:
...
/* ------------------------------------------------------------------
* special case: this card uses saa713x GPIO22 for the mode switch */static int
ads_duo_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
ads_duo_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_configads_duo_cfg= {
.tuner_callback =saa7134_tuner_callback,
.init =ads_duo_tuner_init,
.sleep =ads_duo_tuner_sleep,
.config = 0
};static struct tda1004x_config ads_tech_duo_config = { .demod_address = 0x08, .invert = 1, .invert_oclk = 0, .xtal_freq = TDA10046_XTAL_16M, .agc_config = TDA10046_AGC_TDA827X, .gpio_config = TDA10046_GP00_I, .if_freq = TDA10046_FREQ_045, .tuner_address = 0x61, .request_firmware = philips_tda1004x_request_firmware };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, .antenna_switch= 1, .request_firmware = philips_tda1004x_request_firmware };-------------------
/* ==================================================================
* Core code
*/static int
dvb_init(struct saa7134_dev *dev)
{
...
caseSAA7134_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; ... case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: dev->dvb.frontend = dvb_attach(tda10046_attach, &ads_tech_duo_config, &dev->i2c_adap); if (dev->dvb.frontend) { if (dvb_attach(tda827x_attach,dev->dvb.frontend, ads_tech_duo_config.tuner_address, &dev->i2c_adap, &ads_duo_cfg) == NULL) { wprintk("no tda827x tuner found at addr: %02x\n", ads_tech_duo_config.tuner_address); } } break;Quoted 2 lines
...
<snip>
Quoted 9 lines
Ok , the
antenna_switchis clear. But the
.gpio_config makes no sense. The card either uses either GPIO22 or the tda10046 for mode switching but not both.
What happens if you use the "bad"gpio_config?
Please switch to tzap for testing. This command line program clearly reports the status of the channel decoder, including signal level.Hartmut
Hi Hartmut,
1) With .gpio_config = TDA10046_GP11_I,
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9d9d | snr 3333 | ber 0001fffe | unc 0000004d | status 1f | signal 9d9d | snr fdfd | ber 000001b8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9c9c | snr fdfd | ber 000001de | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000017c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000182 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001a4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000202 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000021c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000226 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000234 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000290 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000240 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001fa | unc 00000000 | FE_HAS_LOCK
Analog-tv also scans fine.
2) With
// .gpio_config = TDA10046_GP11_I,
.gpio_config = TDA10046_GP00_I,
timf@ubuntu:~$ sudo -s -H [sudo] password for timf: root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 0000 | snr 9494 | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr ecec | ber 00019622 | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr f8f8 | ber 00014eac | unc ffffffff | FE_HAS_LOCK status 00 | signal 0000 | snr 5e5e | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr fcfc | ber 00002bcc | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000018a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000e74 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000912 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 000006b6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 0000068e | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000005c2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 00000584 | unc 00000000 | FE_HAS_LOCK
However, analog-tv fails to scan anything -> "no signal"
3) antenna_switch
static int philips_tda827x_tuner_init(struct dvb_frontend *fe)
{
struct saa7134_dev *dev = fe->dvb->priv;
struct tda1004x_state *state = fe->demodulator_priv;
switch (state->config->antenna_switch) {
case 0: break;
case 1: dprintk("setting GPIO21 to 0 (TV antenna?)\n");
saa7134_set_gpio(dev, 21, 0);
break;
case 2: dprintk("setting GPIO21 to 1 (Radio antenna?)\n");
saa7134_set_gpio(dev, 21, 1);
break;
}
return 0;
}static int philips_tda827x_tuner_sleep(struct dvb_frontend *fe)
{
struct saa7134_dev *dev = fe->dvb->priv;
struct tda1004x_state *state = fe->demodulator_priv;
switch (state->config->antenna_switch) {
case 0: break;
case 1: dprintk("setting GPIO21 to 1 (Radio antenna?)\n");
saa7134_set_gpio(dev, 21, 1);
break;
case 2: dprintk("setting GPIO21 to 0 (TV antenna?)\n");
saa7134_set_gpio(dev, 21, 0);
break;
}
return 0;
}If I put .antenna_switch = 1 or 2, in my struct, dvb-t fails to scan. I can't put antenna_switch in my struct, can I, as I am using gpio22? So I took it out, and in saa7134-cards.c, changed .radio to this:
[SAA7134_BOARD_KWORLD_DVBT_210] = {
.name = "KWorld DVB-T 210",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0 << 21,
.inputs = {{
.name = name_tv,
.vmux = 1,
.amux = TV,
.tv = 1,
},{
.name = name_comp1,
.vmux = 3,
.amux = LINE1,
},{
.name = name_svideo,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.name = name_radio,
.amux = TV,
.gpio = 0x00000000,
},
},I still can't tune to a radio cahnnel.
I'm not sure how to switch to radio, I'm not even sure which gpio it's on. I assume it's on gpio21, but I've tried various configs - none work.
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi,
Quoted 33 lines · timf
Quoted 32 lines · Hartmut Hackmann
Hi, Tim
<snip>Quoted 30 lines
Quoted 18 lines
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration
of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
<snip>
Quoted 35 lines
Hi Hartmut,
1) With .gpio_config =
TDA10046_GP11_I,root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9d9d | snr 3333 | ber 0001fffe | unc 0000004d | status 1f | signal 9d9d | snr fdfd | ber 000001b8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9c9c | snr fdfd | ber 000001de | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000017c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000182 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001a4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000202 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000021c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000226 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000234 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000290 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000240 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001fa | unc 00000000 | FE_HAS_LOCK
Quoted 2 lines
Analog-tv also scans fine.
Things should look like this.
Quoted 33 lines
2) With
// .gpio_config =TDA10046_GP11_I,
.gpio_config =TDA10046_GP00_I,timf@ubuntu:~$ sudo -s -H [sudo] password for timf: root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 0000 | snr 9494 | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr ecec | ber 00019622 | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr f8f8 | ber 00014eac | unc ffffffff | FE_HAS_LOCK status 00 | signal 0000 | snr 5e5e | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr fcfc | ber 00002bcc | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000018a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000e74 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000912 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 000006b6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 0000068e | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000005c2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 00000584 | unc 00000000 | FE_HAS_LOCK
Quoted 2 lines
However, analog-tv fails to scan anything -> "no signal"
This is wrong. Although the channel decoder locks, the signal at its input is very low.
But this means: The analog -> dvb switch is the GPIO of the channel decoder *not* GPIO22
so we can fix: we need .gpio_config = TDA10046_GP11_I
Quoted 36 lines
3)
antenna_switchstatic int
philips_tda827x_tuner_init(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; case 2: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; } return 0; }static int
philips_tda827x_tuner_sleep(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; case 2: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; } return 0; }
Quoted 4 lines
If I put .antenna_switch = 1 or 2, in my struct, dvb-t fails to scan. I can't put
antenna_switchin my struct, can I, as I am using gpio22? So I took it out, and insaa7134-cards.c, changed .radio to this:
I don't believe that this is right.
It is just a static signal and can't be anything else.
Quoted 19 lines
[SAA7134_BOARD_KWORLD_DVBT_210] = {
.name = "KWorld DVB-T 210",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0 << 21,
.inputs = {{
.name = name_tv,
.vmux = 1,
.amux = TV,
.tv = 1,
},{
.name = name_comp1,
.vmux = 3,
.amux = LINE1,
},{Quoted 8 lines
.name = name_svideo,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.name = name_radio,
.amux = TV,
.gpio = 0x00000000,This is wrong. It has to be .gpio = 0x0200000, as it was in the original source code.
Quoted 9 lines
},},
I still can't tune to a radio cahnnel.
I'm not sure how to switch to radio, I'm not even sure which gpio it's on. I assume it's on gpio21, but I've tried various configs - none work.Regards,
Tim
Tim, seriously: For me it looks like you messed up the entire code. I would recommend you roll back completely and start over again.
Hartmut
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 207 lines · Hartmut Hackmann
Hi,
Quoted 33 lines · timf
Quoted 32 lines · Hartmut Hackmann
Hi, Tim
<snip>Quoted 30 lines
Quoted 18 lines
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration
of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
<snip>
Quoted 35 lines
Hi Hartmut,
1) With .gpio_config =
TDA10046_GP11_I,root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9d9d | snr 3333 | ber 0001fffe | unc 0000004d | status 1f | signal 9d9d | snr fdfd | ber 000001b8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9c9c | snr fdfd | ber 000001de | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000017c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000182 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001a4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000202 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000021c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000226 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000234 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000290 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000240 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001fa | unc 00000000 | FE_HAS_LOCKQuoted 2 lines
Analog-tv also scans fine.
Things should look like this.
Quoted 33 lines
2) With
// .gpio_config =TDA10046_GP11_I,
.gpio_config =TDA10046_GP00_I,timf@ubuntu:~$ sudo -s -H [sudo] password for timf: root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 0000 | snr 9494 | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr ecec | ber 00019622 | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr f8f8 | ber 00014eac | unc ffffffff | FE_HAS_LOCK status 00 | signal 0000 | snr 5e5e | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr fcfc | ber 00002bcc | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000018a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000e74 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000912 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 000006b6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 0000068e | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000005c2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 00000584 | unc 00000000 | FE_HAS_LOCKQuoted 2 lines
However, analog-tv fails to scan anything -> "no signal"
This is wrong. Although the channel decoder locks, the signal at its input is very low.
But this means: The analog -> dvb switch is the GPIO of the channel decoder
*not* GPIO22so we can fix: we need .gpio_config =
TDA10046_GP11_IQuoted 36 lines
3)
antenna_switchstatic int
philips_tda827x_tuner_init(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; case 2: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; } return 0; }static int
philips_tda827x_tuner_sleep(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; case 2: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; } return 0; }Quoted 4 lines
If I put .antenna_switch = 1 or 2, in my struct, dvb-t fails to scan. I can't put
antenna_switchin my struct, can I, as I am using gpio22? So I took it out, and insaa7134-cards.c, changed .radio to this:I don't believe that this is right.
It is just a static signal and can't be anything else.Quoted 19 lines
[SAA7134_BOARD_KWORLD_DVBT_210] = { .name = "KWorld DVB-T 210", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .mpeg = SAA7134_MPEG_DVB, .gpiomask = 0 << 21, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .tv = 1, },{ .name = name_comp1, .vmux = 3, .amux = LINE1, },{Quoted 8 lines
.name = name_svideo, .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00000000,This is wrong. It has to be .gpio =
0x0200000, as it was in the original source code.Quoted 10 lines
},},
I still can't tune to a radio cahnnel.
I'm not sure how to switch to radio, I'm not even sure which gpio it's on.
I assume it's on gpio21, but I've tried various configs - none work.Regards,
Tim
Quoted 7 lines
Tim, seriously: For me it looks like you messed up the entire code. I would
recommend you roll back completely and start over again.Hartmut
OK, this is using v4l-dvb as downloaded via mercurial 9 April2008. No modifications.
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9e9e | snr 5d5d | ber 0001fffe | unc 00000000 | status 1f | signal 9d9d | snr fdfd | ber 0000010c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000104 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000106 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000116 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000012c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000108 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000011e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000114 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000013a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000232 | unc 00000000 | FE_HAS_LOCK
Analog-tv - "no signal" - no channels scanned
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 331 lines · timf
Quoted 218 lines · Hartmut Hackmann
Hi,
Quoted 36 lines · timf
Quoted 34 lines · Hartmut Hackmann
Hi, Tim
<snip>Quoted 31 lines
Quoted 17 lines
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration
of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 10 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
<snip>
Quoted 35 lines
Hi Hartmut,
1) With .gpio_config =
TDA10046_GP11_I,root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9d9d | snr 3333 | ber 0001fffe | unc 0000004d | status 1f | signal 9d9d | snr fdfd | ber 000001b8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9c9c | snr fdfd | ber 000001de | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000017c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000182 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001a4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000202 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000021c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000226 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000234 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000290 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000240 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001fa | unc 00000000 | FE_HAS_LOCKQuoted 3 lines
Analog-tv also scans fine.
Things should look like this.
Quoted 33 lines
2) With
// .gpio_config =TDA10046_GP11_I,
.gpio_config =TDA10046_GP00_I,timf@ubuntu:~$ sudo -s -H [sudo] password for timf: root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 0000 | snr 9494 | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr ecec | ber 00019622 | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr f8f8 | ber 00014eac | unc ffffffff | FE_HAS_LOCK status 00 | signal 0000 | snr 5e5e | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr fcfc | ber 00002bcc | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000018a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000e74 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000912 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 000006b6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 0000068e | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000005c2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 00000584 | unc 00000000 | FE_HAS_LOCKQuoted 3 lines
However, analog-tv fails to scan anything -> "no signal"
This is wrong. Although the channel decoder locks, the signal at its input is very low.
But this means: The analog -> dvb switch is the GPIO of the channel decoder
*not* GPIO22so we can fix: we need .gpio_config =
TDA10046_GP11_IQuoted 36 lines
3)
antenna_switchstatic int
philips_tda827x_tuner_init(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; case 2: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; } return 0; }static int
philips_tda827x_tuner_sleep(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; case 2: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; } return 0; }Quoted 5 lines
If I put .antenna_switch = 1 or 2, in my struct, dvb-t fails to scan. I can't put
antenna_switchin my struct, can I, as I am using gpio22? So I took it out, and insaa7134-cards.c, changed .radio to this:I don't believe that this is right.
It is just a static signal and can't be anything else.Quoted 19 lines
[SAA7134_BOARD_KWORLD_DVBT_210] = { .name = "KWorld DVB-T 210", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .mpeg = SAA7134_MPEG_DVB, .gpiomask = 0 << 21, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .tv = 1, },{ .name = name_comp1, .vmux = 3, .amux = LINE1, },{Quoted 9 lines
.name = name_svideo, .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00000000,This is wrong. It has to be .gpio =
0x0200000, as it was in the original source code.Quoted 11 lines
},},
I still can't tune to a radio cahnnel.
I'm not sure how to switch to radio, I'm not even sure which gpio it's on.
I assume it's on gpio21, but I've tried various configs - none work.Regards,
TimQuoted 8 lines
Tim, seriously: For me it looks like you messed up the entire code. I would
recommend you roll back completely and start over again.Hartmut
OK, this is using v4l-dvb as downloaded via mercurial 9 April2008. No modifications.
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9e9e | snr 5d5d | ber 0001fffe | unc 00000000 | status 1f | signal 9d9d | snr fdfd | ber 0000010c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000104 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000106 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000116 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000012c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000108 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000011e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000114 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000013a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000232 | unc 00000000 | FE_HAS_LOCKAnalog-tv - "no signal" - no channels scanned
Regards,
Tim_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvbAnd here is using my strange code:
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9c9c | snr 3636 | ber 0001fffe | unc 00000000 | status 1f | signal 9c9c | snr fefe | ber 000001d0 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000019a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000186 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000176 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000186 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000016a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 000001ba | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001bc | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 000001dc | unc 00000000 | FE_HAS_LOCKroot@ubuntu:/home/timf# tzap -r "SBS HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 704500000 Hz video pid 0x0066, audio pid 0x0067 status 00 | signal 9b9b | snr 4848 | ber 0001fffe | unc 00000000 | status 1f | signal 9b9b | snr fefe | ber 000002a8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000294 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000024c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000282 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000258 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000208 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000156 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000194 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 000001a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000176 | unc 00000000 | FE_HAS_LOCK<?xml version="1.0"?>
<!DOCTYPE stationlist PUBLIC "-//tvtime//DTD stationlist 1.0//EN" "http://tvtime.sourceforge.net/DTD/stationlist1.dtd"> <stationlist xmlns="http://tvtime.sourceforge.net/DTD/">
<list norm="PAL" frequencies="australia" audio="bg"><station name="3" active="1" position="3" band="VHF Australia" channel="AS2" finetune="0"/> <station name="9" active="1" position="9" band="VHF Australia" channel="AS7" finetune="0"/> <station name="11" active="1" position="11" band="VHF Australia" channel="AS9" finetune="0"/> <station name="13" active="1" position="13" band="VHF Australia" channel="AS10" finetune="0"/> <station name="24" active="1" position="24" band="UHF Australia" channel="AU28" finetune="0"/> <station name="53" active="1" position="53" band="UHF Australia" channel="AU57" finetune="0"/> <station name="56" active="1" position="56" band="UHF Australia" channel="AU60" finetune="0"/> <station name="59" active="1" position="59" band="UHF Australia" channel="AU63" finetune="0"/> <station name="62" active="1" position="62" band="UHF Australia" channel="AU66" finetune="0"/>
Quoted 4 lines
</list>
</stationlist>
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi
Quoted 252 lines · timf
Quoted 207 lines · Hartmut Hackmann
Hi,
Quoted 33 lines · timf
Quoted 32 lines · Hartmut Hackmann
Hi, Tim
<snip>Quoted 30 lines
Quoted 18 lines
I think i know now how your card needs to be configured. Something that seems not to be really clear for you is the configuration
of the so-called AGC (automatic gain control) of the tuner. This needs to be switched according to the function the tuner is used for:
analog TV -> FM Radio -> DVB-T.
This is done with the 4052 analog mux and requires 2 control bits -> the GPIOs.
GPIO 21 is used to switch between analog TV and FM radio. Typically GPIO21=0 -> analog TV, GPIO21=1 -> FM Radio.
In your case, GPIO22 is used to switch between DVB-T and analog while most cards
use GPIO1 of the tda10046 for this.You should need to make chages only in saa7134-dvb,
dvb_init()
- remove the oldcase SAA7134_BOARD_KWORLD_DVBT_210: (plus code)Quoted 9 lines
-and add it to
caseSAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:That should do it (though we should add a .antenna switch to the configuration).
Best regards
HartmutHi Hartmut,
<snip>
Quoted 35 lines
Hi Hartmut,
1) With .gpio_config =
TDA10046_GP11_I,root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9d9d | snr 3333 | ber 0001fffe | unc 0000004d | status 1f | signal 9d9d | snr fdfd | ber 000001b8 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9c9c | snr fdfd | ber 000001de | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000017c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000182 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001a4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000202 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 0000021c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000226 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000234 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000290 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000240 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 000001fa | unc 00000000 | FE_HAS_LOCKQuoted 2 lines
Analog-tv also scans fine.
Things should look like this.
Quoted 33 lines
2) With
// .gpio_config =TDA10046_GP11_I,
.gpio_config =TDA10046_GP00_I,timf@ubuntu:~$ sudo -s -H [sudo] password for timf: root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 0000 | snr 9494 | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr ecec | ber 00019622 | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr f8f8 | ber 00014eac | unc ffffffff | FE_HAS_LOCK status 00 | signal 0000 | snr 5e5e | ber 0001fffe | unc 00000000 | status 1f | signal 0000 | snr fcfc | ber 00002bcc | unc ffffffff | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000018a2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000e74 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 00000912 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 000006b6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 0000068e | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fdfd | ber 000005c2 | unc 00000000 | FE_HAS_LOCK status 1f | signal 0000 | snr fefe | ber 00000584 | unc 00000000 | FE_HAS_LOCKQuoted 2 lines
However, analog-tv fails to scan anything -> "no signal"
This is wrong. Although the channel decoder locks, the signal at its input is very low.
But this means: The analog -> dvb switch is the GPIO of the channel decoder
*not* GPIO22so we can fix: we need .gpio_config =
TDA10046_GP11_IQuoted 36 lines
3)
antenna_switchstatic int
philips_tda827x_tuner_init(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; case 2: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; } return 0; }static int
philips_tda827x_tuner_sleep(struct dvb_frontend *fe){ struct saa7134_dev *dev = fe->dvb->priv; struct tda1004x_state *state = fe->demodulator_priv; switch (state->config->antenna_switch) { case 0: break; case 1: dprintk("setting GPIO21 to 1 (Radio antenna?)\n"); saa7134_set_gpio(dev, 21, 1); break; case 2: dprintk("setting GPIO21 to 0 (TV antenna?)\n"); saa7134_set_gpio(dev, 21, 0); break; } return 0; }Quoted 4 lines
If I put .antenna_switch = 1 or 2, in my struct, dvb-t fails to scan. I can't put
antenna_switchin my struct, can I, as I am using gpio22? So I took it out, and insaa7134-cards.c, changed .radio to this:I don't believe that this is right.
It is just a static signal and can't be anything else.Quoted 19 lines
[SAA7134_BOARD_KWORLD_DVBT_210] = { .name = "KWorld DVB-T 210", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_TDA8290, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .mpeg = SAA7134_MPEG_DVB, .gpiomask = 0 << 21, .inputs = {{ .name = name_tv, .vmux = 1, .amux = TV, .tv = 1, },{ .name = name_comp1, .vmux = 3, .amux = LINE1, },{Quoted 8 lines
.name = name_svideo, .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = TV, .gpio = 0x00000000,This is wrong. It has to be .gpio =
0x0200000, as it was in the original source code.Quoted 10 lines
},},
I still can't tune to a radio cahnnel.
I'm not sure how to switch to radio, I'm not even sure which gpio it's on.
I assume it's on gpio21, but I've tried various configs - none work.Regards,
TimQuoted 7 lines
Tim, seriously: For me it looks like you messed up the entire code. I would
recommend you roll back completely and start over again.Hartmut
OK, this is using v4l-dvb as downloaded via mercurial 9 April2008. No modifications.
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9e9e | snr 5d5d | ber 0001fffe | unc 00000000 | status 1f | signal 9d9d | snr fdfd | ber 0000010c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000104 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000106 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000116 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 0000012c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 00000108 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000011e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000114 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9d9d | snr fefe | ber 000000f4 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000010e | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 0000013a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9c9c | snr fefe | ber 00000232 | unc 00000000 | FE_HAS_LOCK
Quoted 5 lines
Analog-tv - "no signal" - no channels scanned
Regards,
Tim
DVB-T works now but not analog? We never had this before.
Just to be sure:
- you are aware that you can't use analog and dvb simultanously?
- you are aware that after stopping a dvb application it takes about a second before the dvb driver releases the card and the analog tuner can be used?
- did you mix up the antenna inputs?
Hartmut
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 2 lines · Hartmut Hackmann
Hi
<snip>
Just to be sure:
Quoted 8 lines
- you are aware that you can't use analog and dvb simultanously?
- you are aware that after stopping a dvb application it takes about a second before the dvb driver releases the card and the analog tuner
can be used?
- did you mix up the antenna inputs?Hartmut
OK, start completely new again.
This is exactly as it was when I asked for your help:
need to start analog-tv before can use dvb-t
timf@ubuntu:~$ hg clone http://linuxtv.org/hg/v4l-dvb timf@ubuntu:~$ cd v4l-dvb timf@ubuntu:~$ make timf@ubuntu:~$ sudo make install
-> shutdown
-> power-cycle (1 hour no power)
timf@ubuntu:~$ sudo -s -H root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000117e6 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011902 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 00012076 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000120d6 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 00011abe | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011938 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 0001198a | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 01 | signal ffff | snr 0000 | ber 00011e5c | unc ffffffff | status 1f | signal ffff | snr 0000 | ber 00011a14 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011962 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011cf4 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011906 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000118f2 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 3030 | ber 00013348 | unc ffffffff | FE_HAS_LOCK
-> start tvtime -> viewing SBS -> stop tvtime
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9b9b | snr 6060 | ber 0001fffe | unc 00000000 | status 1f | signal 9b9b | snr fdfd | ber 00000248 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000294 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 000002f6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 000002a0 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000264 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000024a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000027a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000020c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000218 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 000001c6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000188 | unc 00000000 | FE_HAS_LOCK
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Am Montag, den 14.04.2008, 22:10 +0800 schrieb timf:
Quoted 99 lines
Quoted 2 lines · Hartmut Hackmann
Hi
<snip>Just to be sure:
Quoted 8 lines
- you are aware that you can't use analog and dvb simultanously?
- you are aware that after stopping a dvb application it takes about a second before the dvb driver releases the card and the analog tuner
can be used?
- did you mix up the antenna inputs?Hartmut
OK, start completely new again.
This is exactly as it was when I asked for your help:
need to start analog-tv before can use dvb-ttimf@ubuntu:~$ hg clone http://linuxtv.org/hg/v4l-dvb timf@ubuntu:~$ cd v4l-dvb timf@ubuntu:~$ make timf@ubuntu:~$ sudo make install-> shutdown
-> power-cycle (1 hour no power)timf@ubuntu:~$ sudo -s -H root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000117e6 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011902 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 00012076 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000120d6 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 00011abe | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011938 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 0001198a | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 01 | signal ffff | snr 0000 | ber 00011e5c | unc ffffffff | status 1f | signal ffff | snr 0000 | ber 00011a14 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011962 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011cf4 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 0000 | ber 00011906 | unc ffffffff | FE_HAS_LOCK status 00 | signal ffff | snr 0000 | ber 0001fffe | unc 00000000 | status 1f | signal ffff | snr 0000 | ber 000118f2 | unc ffffffff | FE_HAS_LOCK status 1f | signal ffff | snr 3030 | ber 00013348 | unc ffffffff | FE_HAS_LOCK-> start tvtime -> viewing SBS -> stop tvtime
root@ubuntu:/home/timf# tzap -r "TEN HD" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' tuning to 788500000 Hz video pid 0x0202, audio pid 0x0000 status 00 | signal 9b9b | snr 6060 | ber 0001fffe | unc 00000000 | status 1f | signal 9b9b | snr fdfd | ber 00000248 | unc ffffffff | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000294 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 000002f6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 000002a0 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000264 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000024a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000027a | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 0000020c | unc 00000000 | FE_HAS_LOCK status 1f | signal 9a9a | snr fefe | ber 00000218 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 000001c6 | unc 00000000 | FE_HAS_LOCK status 1f | signal 9b9b | snr fefe | ber 00000188 | unc 00000000 | FE_HAS_LOCK
Quoted 2 lines
Regards,
Tim
Hi,
I have no idea yet, same goes for Frederic reporting the same kernel 2.6.24 once working and after a distribution upgrade not anymore.
For sure the gpio antenna and mode switching for me works on both type of cards.
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 29 -- ok
saa7133[0]/dvb: setting GPIO21 to 0 (TV antenna?) saa7133[0]/dvb: setting GPIO21 to 1 (Radio antenna?) saa7133[0]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[0]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[0]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[0]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[0]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television]
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 29 -- ok
saa7133[1]/dvb: setting GPIO21 to 1 (Radio antenna?) saa7133[1]/dvb: setting GPIO21 to 0 (TV antenna?) saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0000000 [Television]
saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0200000 [Radio] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0200000 [Radio] saa7133[1]: gpio: mode=0x0200000 in=0x0000000 out=0x0200000 [Radio] saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xe8000000 irq 19 registered as card -1 saa7133[1]/alsa: saa7133[1] at 0xe8001000 irq 18 registered as card -1 saa7133[2]/alsa: saa7133[2] at 0xe8002000 irq 17 registered as card -1
Cheers,
Hermann
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi, Hermann
Quoted 84 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 58 lines
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 9 lines
- 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>Quoted 4 lines
Quoted 2 lines
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.
Quoted 8 lines
Quoted 8 lines
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?
Quoted 8 lines
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
Quoted 8 lines
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
Is this problem still there with the recent v4l-dvb code? I found a problem with the GPIO initialization and fixed this in patch 49ba58715fe0 3 weeks ago (The gpiomask was not set until analog tuning occured).
Best regards
Hartmut
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Hi Hartmut,
Am Freitag, den 11.04.2008, 23:23 +0200 schrieb Hartmut Hackmann:
Quoted 96 lines
Hi, Hermann
Quoted 84 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 58 lines
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 9 lines
- 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>Quoted 4 lines
Quoted 2 lines
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.
Quoted 8 lines
Quoted 8 lines
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?
Quoted 8 lines
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
HartmutQuoted 8 lines
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
Quoted 7 lines
Is this problem still there with the recent v4l-dvb code? I found a problem with the GPIO initialization and fixed this in patch
49ba58715fe03 weeks ago (The gpiomask was not set until analog tuning occured).Best regards
Hartmut
argh, my DVB-T signal can not be split much, so I left that other machine with DVB-S, cable-tv and the empress almost untouched during the last weeks and without DVB-T.
linux/drivers/media/video/saa7134/saa7134-core.c Sun Mar 16 23:49:43 2008 +0100 renamed from linux/drivers/media/video/saa7134/saa7134-core.c Mon Mar 03 22:55:05 2008 +0100 +6 -0
@@ -960,6 +960,7 @@ static int __devinit saa7134_initdev(str struct saa7134_dev *dev; struct saa7134_mpeg_ops *mops; int err; + int mask; dev = kzalloc(sizeof(*dev),GFP_KERNEL); if (NULL == dev)
@@ -1157,6 +1158,11 @@ static int __devinit saa7134_initdev(str if (TUNER_ABSENT != dev->tuner_type) saa7134_i2c_call_clients(dev, TUNER_SET_STANDBY, NULL); + if (card(dev).gpiomask != 0) { + mask = card(dev).gpiomask; + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, mask, mask); + saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, 0); + } return 0; fail4:
It is fixed!
Thanks,
Hermann
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
Quoted 145 lines · hermann pitton
Hi Hartmut,
Am Freitag, den 11.04.2008, 23:23 +0200 schrieb Hartmut Hackmann:
Quoted 104 lines
Hi, Hermann
Quoted 91 lines · hermann pitton
Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
Quoted 61 lines
HI, Tim
Quoted 32 lines · timf
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 737649ba58715fe0
Tried with .gpio_config =TDA10046_GP11_I, or .gpio_config =TDA10046_GP01_I,
Tried using configs insaa7134-dvb.cmatching 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 NONE2) I have these saa7134 cards:
- pinnacle 310i
- kworld 210This cx88 card:
- dvico DVB-T Pro hybrid (analog tv not work)Quoted 10 lines
- 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>Quoted 6 lines
Quoted 3 lines
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.
Quoted 9 lines
Quoted 9 lines
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?
Quoted 9 lines
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
HartmutQuoted 9 lines
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,
HermannQuoted 8 lines
Is this problem still there with the recent v4l-dvb code? I found a problem with the GPIO initialization and fixed this in patch
49ba58715fe03 weeks ago (The gpiomask was not set until analog tuning occured).Best regards
Hartmutargh, my DVB-T signal can not be split much, so I left that other machine with DVB-S, cable-tv and the empress almost untouched during the last weeks and without DVB-T.
diff -r
1e295a94038e-r49ba58715fe0linux/drivers/media/video/saa7134/saa7134-core.clinux/drivers/media/video/saa7134/saa7134-core.c Sun Mar 16 23:49:43 2008 +0100 renamed from linux/drivers/media/video/saa7134/saa7134-core.c Mon Mar 03 22:55:05 2008 +0100 +6
-0@@ -960,6 +960,7 @@ static int __devinit saa7134_initdev(str struct saa7134_dev *dev; struct saa7134_mpeg_ops *mops; int err; + int mask; dev = kzalloc(sizeof(*dev),GFP_KERNEL); if (NULL == dev)@@ -1157,6 +1158,11 @@ static int __devinit saa7134_initdev(str if (TUNER_ABSENT != dev->tuner_type) saa7134_i2c_call_clients(dev, TUNER_SET_STANDBY, NULL); + if (card(dev).gpiomask != 0) { + mask = card(dev).gpiomask; + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, mask, mask); + saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, 0); + } return 0; fail4:
Quoted 7 lines
It is fixed!
Thanks,
Hermann
Hi Hartmut and Hermann,
Yes, this patch has already been implemented in my saa7134-core.c, only differences are line numbers:
line 963 int mask;
line 1164 if (card(dev).gpiomask != 0) {
mask = card(dev).gpiomask;
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,
mask, mask);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, 0);
Regards,
Tim
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb