All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
@ 2008-03-07 12:51 timf
  0 siblings, 0 replies; 32+ messages in thread
From: timf @ 2008-03-07 12:51 UTC (permalink / raw
  To: linux-dvb

Hi Hartmut,
I noticed you had a bit to do with implementing this card.

With a fresh install of ubuntu 7.10 (kernel i386 2.6.22-14-generic),
the card is auto recognised as: Kworld DVB-T 210 (card=114)

However, tda1004 firmware does not load.
Used download-firmware, placed dvb-fe-tda10046.fw
into /lib/firmware/2.6.22-14-generic

Rebooted.

Now, again card is recognised, firmware recognised as version 20.
Here is the strange part:
- using dvb-utils scan, each time I run that I get a different result in
channels.
- I try to scan with Kaffeine - nothing
- I try to scan with Me-tv - nothing
- I try to scan with tvtime - all channels obtained ( no audio).

Now, after reboot, if I first start tvtime (analog tv), view a channel,
turn tvtime off, and then :
- if I place a previously good channels.dvb in Kaffeine - it plays all
channels.
- if I place a previously good channels.conf in Me-tv - it plays all
channels. 

Would it be correct to say that the "switch" is not working for DVB
after boot?

I have studied the code, but I need your help to point me in the right
direction.

Thanks,
Tim


_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
       [not found] ` <47D1A65B.3080900@t-online.de>
@ 2008-03-14  7:41   ` timf
  2008-03-17 21:22     ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-03-14  7:41 UTC (permalink / raw
  To: Hartmut Hackmann, linux-dvb

On Fri, 2008-03-07 at 21:32 +0100, Hartmut Hackmann wrote:
> Hi, Tim
> 
> timf schrieb:
> > Hi Hartmut,
> > I noticed you had a bit to do with implementing this card.
> > 
> > With a fresh install of ubuntu 7.10 (kernel i386 2.6.22-14-generic),
> > the card is auto recognised as: Kworld DVB-T 210 (card=114)
> > 
> > However, tda1004 firmware does not load.
> > Used download-firmware, placed dvb-fe-tda10046.fw
> > into /lib/firmware/2.6.22-14-generic
> > 
> > Rebooted.
> > 
> > Now, again card is recognised, firmware recognised as version 20.
> > Here is the strange part:
> > - using dvb-utils scan, each time I run that I get a different result in
> > channels.
> > - I try to scan with Kaffeine - nothing
> > - I try to scan with Me-tv - nothing
> > - I try to scan with tvtime - all channels obtained ( no audio).
> > 
> > Now, after reboot, if I first start tvtime (analog tv), view a channel,
> > turn tvtime off, and then :
> > - if I place a previously good channels.dvb in Kaffeine - it plays all
> > channels.
> > - if I place a previously good channels.conf in Me-tv - it plays all
> > channels. 
> > 
> > Would it be correct to say that the "switch" is not working for DVB
> > after boot?
> > 
> > I have studied the code, but I need your help to point me in the right
> > direction.
> > 
> > Thanks,
> > Tim
> > 
> Hermann reported something similar. I have an idea what the reason could
> be. Please let me check.
> Best regards
>   Hartmut

Hi Hartmut,

Further to this, is the Remote Control meant to work for this card?

lsmod
<snip>
videobuf_core          19460  3 videobuf_dvb,saa7134,videobuf_dma_sg
snd_seq_midi_event      8448  2 snd_seq_oss,snd_seq_midi
ir_kbd_i2c             11280  1 saa7134
ir_common              38404  2 saa7134,ir_kbd_i2c
nvidia               6221648  24 
snd_seq                53232  6
snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              24324  2 snd_pcm,snd_seq
snd_seq_device          9228  5
snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
tveeprom               13572  1 saa7134
sky2                   46852  0 
parport_pc             37412  1 
parport                37448  3 ppdev,lp,parport_pc
i2c_core               26112  18
tda1004x,saa7134_dvb,tuner,tea5767,tda8290,tda18271,tda827x,tuner_xc2028,xc5000,tda9887,tuner_simple,mt20xx,tea5761,saa7134,v4l2_common,ir_kbd_i2c,nvidia,tveeprom
psmouse                39952  0 
pcspkr                  4224  0 
<snip>

timf@ubuntu:~$ sudo cat /proc/bus/input/devices
[sudo] password for timf:
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=mouse0 event0 
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=045e Product=0040 Version=0110
N: Name="Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)"
P: Phys=usb-0000:00:1a.2-2/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=mouse1 event2 
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=kbd event3 
B: EV=40001
B: SND=6

I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=button_power/button/input0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event4 
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=kbd event5 
B: EV=3
B: KEY=100000 0 0 0

Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
@ 2008-03-14 12:52 Steve Moreau
  0 siblings, 0 replies; 32+ messages in thread
From: Steve Moreau @ 2008-03-14 12:52 UTC (permalink / raw
  To: linux-dvb


[-- Attachment #1.1: Type: text/plain, Size: 1671 bytes --]

Hi,

I forgot the most important part (naturally :-))

# tail /var/log/messages
Mar 14 13:16:13 test-desktop kernel: [94017.966160] dvb_frontend_ioctl:
DVBFE_GET_INFO
Mar 14 13:16:14 test-desktop kernel: [94018.187339] newfec_to_oldfec:
Unsupported FEC 3
Mar 14 13:16:14 test-desktop kernel: [94018.187346] dvb_frontend_ioctl:
FESTATE_RETUNE: fepriv->state=2
Mar 14 13:16:14 test-desktop kernel: [94018.190417] tda8261_get_bandwidth:
Bandwidth=40000000
Mar 14 13:16:14 test-desktop kernel: [94018.193820] tda8261_get_bandwidth:
Bandwidth=40000000
Mar 14 13:16:14 test-desktop kernel: [94018.195480] tda8261_set_state: Step
size=1, Divider=1000, PG=0x793 (1939)
Mar 14 13:16:14 test-desktop kernel: [94018.195542] tda8261_write: write
error, err=-121
Mar 14 13:16:14 test-desktop kernel: [94018.195546] tda8261_set_state: I/O
Error
Mar 14 13:16:14 test-desktop kernel: [94018.195550] tda8261_set_frequency:
Invalid parameter
Mar 14 13:16:14 test-desktop kernel: [94018.195555] tda8261_get_frequency:
Frequency=0
Mar 14 13:16:14 test-desktop kernel: [94018.200483] tda8261_get_bandwidth:
Bandwidth=40000000
Mar 14 13:16:14 test-desktop kernel: [94018.771196] tda8261_get_bandwidth:
Bandwidth=40000000
Mar 14 13:16:14 test-desktop kernel: [94018.774587] tda8261_get_bandwidth:
Bandwidth=40000000
Mar 14 13:16:14 test-desktop kernel: [94018.776208] tda8261_set_state: Step
size=1, Divider=1000, PG=0x793 (1939)
Mar 14 13:16:14 test-desktop kernel: [94018.776268] tda8261_write: write
error, err=-121
Mar 14 13:16:14 test-desktop kernel: [94018.776272] tda8261_set_state: I/O
Error

I guess I should keep on backtracking this write error, shouldn't I ?
Yeap, surely...

Steve

[-- Attachment #1.2: Type: text/html, Size: 1769 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-03-14  7:41   ` timf
@ 2008-03-17 21:22     ` Hartmut Hackmann
  2008-03-18 14:40       ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-03-17 21:22 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

timf schrieb:
> On Fri, 2008-03-07 at 21:32 +0100, Hartmut Hackmann wrote:
>> Hi, Tim
>>
>> timf schrieb:
>>> Hi Hartmut,
>>> I noticed you had a bit to do with implementing this card.
>>>
>>> With a fresh install of ubuntu 7.10 (kernel i386 2.6.22-14-generic),
>>> the card is auto recognised as: Kworld DVB-T 210 (card=114)
>>>
>>> However, tda1004 firmware does not load.
>>> Used download-firmware, placed dvb-fe-tda10046.fw
>>> into /lib/firmware/2.6.22-14-generic
>>>
>>> Rebooted.
>>>
>>> Now, again card is recognised, firmware recognised as version 20.
>>> Here is the strange part:
>>> - using dvb-utils scan, each time I run that I get a different result in
>>> channels.
>>> - I try to scan with Kaffeine - nothing
>>> - I try to scan with Me-tv - nothing
>>> - I try to scan with tvtime - all channels obtained ( no audio).
>>>
>>> Now, after reboot, if I first start tvtime (analog tv), view a channel,
>>> turn tvtime off, and then :
>>> - if I place a previously good channels.dvb in Kaffeine - it plays all
>>> channels.
>>> - if I place a previously good channels.conf in Me-tv - it plays all
>>> channels. 
>>>
>>> Would it be correct to say that the "switch" is not working for DVB
>>> after boot?
>>>
>>> I have studied the code, but I need your help to point me in the right
>>> direction.
>>>
>>> Thanks,
>>> Tim
>>>
>> Hermann reported something similar. I have an idea what the reason could
>> be. Please let me check.
>> Best regards
>>   Hartmut
> 
> Hi Hartmut,
> 
> Further to this, is the Remote Control meant to work for this card?
> 
<snip>
Looks like the Remote is not supported. I can't help here since i don't have access
to this card.


In my personal Repository:
  http://linuxtv.org/hg/~hhackmann/v4l-dvb/
the problems with the tuning code should be fixed.
Can you please give it a try?

Best Regards
  Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-03-17 21:22     ` Hartmut Hackmann
@ 2008-03-18 14:40       ` timf
  2008-03-18 22:56         ` Hartmut Hackmann
       [not found]         ` <1213744559.11684.4.camel@asus.lounge>
  0 siblings, 2 replies; 32+ messages in thread
From: timf @ 2008-03-18 14:40 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hi Hartmut,


Apologies for the length of this msg, I'm not sure what info you may
need, so I'm trying to show you that all is not right.

1) New install of ubuntu 7.10 i386.

2) Install Me-tv, Tvtime.
Me-tv, in the absence of a channels.conf, scans
via /usr/share/doc/dvb-utils/examples/scan/dvb-t

3) I placed au-Perth_roleystone
into /usr/share/doc/dvb-utils/examples/scan/dvb-t:

# Australia / Perth (Roleystone transmitter)
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
# SBS
T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
# ABC
T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
# Seven
T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
# Nine
T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
# Ten
T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE

4) Started Me-tv
Here is the output of Me-tv as it does it's first scan:

Failed to tune to transponder at 704500000	(Yet I'm viewing SBS on a
diff box!)
Failed to tune to transponder at 704500000
Found channel: ABC HDTV
Found channel: ABC1
Found channel: ABC2
Found channel: ABC1
Found channel: ABC3
Found channel: ABC DiG Radio
Found channel: ABC DiG Jazz
Found channel: 7 Digital
Found channel: 7 HD Digital
Found channel: 7 Digital 1
Found channel: 7 Digital 2
Found channel: 7 Digital 3
Found channel: 7 Program Guide
Found channel: Nine Digital
Found channel: Nine HD
Found channel: TEN HD
Found channel: TEN Digital
Found channel: TEN HD

Here is the first channels.conf Me-tv created:

ABC
HDTV:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:516:0:736
ABC1:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:737
ABC2:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:651:738
ABC1:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:739
ABC3:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:740
ABC DiG
Radio:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:690:742
ABC DiG
Jazz:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:700:743
7
Digital:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1376
7 Digital
1:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1377
7 Digital
2:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1378
7 Digital
3:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1379
7 HD
Digital:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1601:0:1380
7 Program
Guide:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1633:1634:1382
Nine
Digital:767500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1025
Nine
HD:767500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:522:0:1030
TEN
HD:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1665
TEN
Digital:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1669
TEN
HD:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1672

4) Deleted channels.conf, Me-tv rescan:
Here is the output of Me-tv as it does it's second scan:

Failed to tune to transponder at 704500000 (SBS still viewed on diff
box)
Failed to tune to transponder at 704500000
Failed to tune to transponder at 725500000 (only 3 channels here - ABC
HDTV, ABC1, ABC2)
Found channel: ABC HDTV
Found channel: ABC1
Found channel: ABC2
Found channel: ABC1
Found channel: ABC3
Found channel: ABC DiG Radio
Found channel: ABC DiG Jazz
Found channel: 7 Digital
Found channel: 7 HD Digital
Found channel: 7 Digital 1
Found channel: 7 Digital 2
Found channel: 7 Digital 3
Found channel: 7 Program Guide
Found channel: Nine Digital
Found channel: Nine HD
Found channel: TEN HD
Found channel: TEN Digital
Found channel: TEN HD

Here is the second channels.conf Me-tv created:

ABC
HDTV:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:516:0:736
ABC1:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:737
ABC2:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513:651:738
ABC1:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:739
ABC3:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:740
ABC DiG
Radio:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:690:742
ABC DiG
Jazz:725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:700:743
7
Digital:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1376
7 Digital
1:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1377
7 Digital
2:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1378
7 Digital
3:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1537:1538:1379
7 HD
Digital:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1601:0:1380
7 Program
Guide:746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:1633:1634:1382
Nine
Digital:767500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1025
Nine
HD:767500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:522:0:1030
TEN
HD:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1665
TEN
Digital:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:650:1669
TEN
HD:788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:0:1672

5) I then started Me-tv.
Here is the message it gave me:

Failed to open video stream: No demux plugin

6) I installed Kaffeine.
I placed au-Perth_roleystone into kaffeine.
This is the channels.dvb created by kaffeine:
#Generated by Kaffeine 0.5

That's correct - zero!
Kaffeine failed to scan anything.

7) Now I started Tvtime, commenced the channel scan, it failed to find
any channel!

8) Back to Kaffeine. No channels found!

9) Back to Me-tv, delete channels.conf.
Starts to scan, it very quickly jumps out with this message:

There are no usable channels in the channels.conf file

10) Reboot.

root@ubuntu2:/home/timf# scan /home/timf/au-Perth_roleystone
> /root/.tzap/channels.conf
scanning /home/timf/au-Perth_roleystone
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 704500000 1 2 9 3 1 2 0
initial transponder 725500000 1 3 9 3 1 1 0
initial transponder 746500000 1 2 9 3 1 1 0
initial transponder 767500000 1 3 9 3 1 1 0
initial transponder 788500000 1 3 9 3 1 1 0
>>> tune to:
704500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE
WARNING: >>> tuning failed!!!
>>> tune to:
704500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE (tuning failed)
WARNING: >>> tuning failed!!!
>>> tune to:
725500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0000 0x02e0: pmt_pid 0x0102 ABC -- ABC HDTV (running)
0x0000 0x02e1: pmt_pid 0x0100 ABC -- ABC1 (running)
0x0000 0x02e2: pmt_pid 0x0101 ABC -- ABC2 (running)
0x0000 0x02e3: pmt_pid 0x0103 ABC -- ABC1 (running)
0x0000 0x02e4: pmt_pid 0x0104 ABC -- ABC3 (running)
0x0000 0x02e6: pmt_pid 0x0105 ABC -- ABC DiG Radio (running)
0x0000 0x02e7: pmt_pid 0x0106 ABC -- ABC DiG Jazz (running)
Network Name 'ABC Perth'
>>> tune to:
746500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
Network Name 'Seven Network'
0x0000 0x0560: pmt_pid 0x0600 Seven Network -- 7 Digital (running)
0x0000 0x0564: pmt_pid 0x0640 Network Seven -- 7 HD Digital (running)
0x0000 0x0561: pmt_pid 0x0610 Seven Network -- 7 Digital 1 (running)
0x0000 0x0562: pmt_pid 0x0620 Network Seven -- 7 Digital 2 (running)
0x0000 0x0563: pmt_pid 0x0630 Network Seven -- 7 Digital 3 (running)
0x0000 0x0566: pmt_pid 0x0660 Seven Network -- 7 Program Guide (running)
>>> tune to:
767500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0000 0x0401: pmt_pid 0x0100 Nine Network -- Nine Digital (running)
0x0000 0x0406: pmt_pid 0x0105 Nine Network -- Nine HD (running)
Network Name 'Nine Network'
>>> tune to:
788500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0000 0x0681: pmt_pid 0x0101 Ten Perth -- TEN HD (running)
0x0000 0x0685: pmt_pid 0x0100 Ten Perth -- TEN Digital (running)
0x0000 0x0688: pmt_pid 0x0107 Ten Perth -- TEN HD (running)
Network Name 'Network TEN'
>>> tune to:
226500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
WARNING: filter timeout pid 0x0011
WARNING: filter timeout pid 0x0000
WARNING: filter timeout pid 0x0010
>>> tune to:
177500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0506 0x0560: pmt_pid 0x0600 Seven Network -- 7 Digital (running)
0x0506 0x0564: pmt_pid 0x0640 Network Seven -- 7 HD Digital (running)
0x0506 0x0561: pmt_pid 0x0610 Seven Network -- 7 Digital 1 (running)
0x0506 0x0562: pmt_pid 0x0620 Network Seven -- 7 Digital 2 (running)
0x0506 0x0563: pmt_pid 0x0630 Network Seven -- 7 Digital 3 (running)
0x0506 0x0566: pmt_pid 0x0660 Seven Network -- 7 Program Guide (running)
Network Name 'Seven Network'
>>> tune to:
191625000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0450 0x0401: pmt_pid 0x0100 Nine Network -- Nine Digital (running)
0x0450 0x0406: pmt_pid 0x0105 Nine Network -- Nine HD (running)
Network Name 'Nine Network'
>>> tune to:
219500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE
0x0607 0x0681: pmt_pid 0x0101 Ten Perth -- TEN HD (running)
0x0607 0x0685: pmt_pid 0x0100 Ten Perth -- TEN Digital (running)
0x0607 0x0688: pmt_pid 0x0107 Ten Perth -- TEN HD (running)
Network Name 'Network TEN'
dumping lists (29 services)
Done.
root@ubuntu2:/home/timf# 

11) And yet I am viewing SBS (704.5MHz) on a different box at the same
time!

12) Try a different hard drive.
dmesg after new install ubuntu 7.10 amd64, apply Hartmut's repo, reboot.
NOTE - no firmware found at new install, or after patch.

<snip>
[   44.243956] Linux video capture interface: v2.00
[   44.304301] saa7130/34: v4l2 driver version 0.2.14 loaded
[   44.304666] ACPI: PCI Interrupt 0000:05:01.0[A] -> GSI 17 (level,
low) -> IRQ 17
[   44.304674] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17,
latency: 64, mmio: 0xfebff800
[   44.304680] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210
[card=114,autodetected]
[   44.304690] saa7133[0]: board init: gpio is 100
[   44.356794] parport_pc 00:06: reported by Plug and Play ACPI
[   44.356906] parport0: PC-style at 0x378 (0x778), irq 7, dma 3
[PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
[   44.438910] nvidia: module license 'NVIDIA' taints kernel.
[   44.465523] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465531] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465538] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465544] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465551] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465557] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465564] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465571] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465577] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465583] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465590] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465596] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465603] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465609] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465616] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.465622] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.906833] tuner' 0-004b: chip found @ 0x96 (saa7133[0])
[   45.007476] tda829x 0-004b: setting tuner address to 61
[   45.072125] tda829x 0-004b: type set to tda8290+75a
[   48.964105] saa7133[0]: registered device video0 [v4l2]
[   48.964125] saa7133[0]: registered device vbi0
[   48.964144] saa7133[0]: registered device radio0
[   49.028483] ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level,
low) -> IRQ 17
[   49.028503] PCI: Setting latency timer of device 0000:02:00.0 to 64
[   49.029096] sky2 0000:02:00.0: v1.18 addr 0xfeafc000 irq 17 Yukon-EC
Ultra (0xb4) rev 3
[   49.029446] sky2 eth0: addr 00:1b:fc:b3:85:32
[   49.029705] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level,
low) -> IRQ 22
[   49.030157] PCI: Setting latency timer of device 0000:00:1b.0 to 64
[   49.047064] saa7134 ALSA driver for DMA sound loaded
[   49.047089] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17
registered as card -2
[   49.185743] DVB: registering new adapter (saa7133[0])
[   49.185750] DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
[   49.238054] hda_codec: Unknown model for ALC883, trying auto-probe
from BIOS...
[   49.278237] tda1004x: setting up plls for 48MHz sampling clock
[   49.355006] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level,
low) -> IRQ 16
[   49.355018] PCI: Setting latency timer of device 0000:01:00.0 to 64
[   49.355169] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  100.14.19
Wed Sep 12 14:08:38 PDT 2007
[   50.330401] loop: module loaded
[   50.347517] lp0: using parport0 (interrupt-driven).
[   50.439977] Adding 20474832k swap on /dev/sda3.  Priority:-1
extents:1 across:20474832k
[   50.781333] EXT3 FS on sda2, internal journal
[   51.526526] tda1004x: timeout waiting for DSP ready
[   51.566789] tda1004x: found firmware revision 0 -- invalid
[   51.566794] tda1004x: trying to boot from eeprom
[   51.746062] input: Power Button (FF) as /class/input/input4
<snip>
[   53.686958] Bluetooth: RFCOMM ver 1.8
[   53.912838] tda1004x: timeout waiting for DSP ready
[   53.952857] tda1004x: found firmware revision 0 -- invalid
[   53.952864] tda1004x: waiting for firmware upload...
[   53.989689] tda1004x: no firmware upload (timeout or file not found?)
[   53.989697] tda1004x: firmware upload failed
[   54.084951] tda827x_probe_version: could not read from tuner at addr:
0xc2
[   55.247554] sky2 eth0: Link is up at 100 Mbps, full duplex, flow
control rx
[   58.000140] NET: Registered protocol family 17
[   59.463229] NET: Registered protocol family 10
[   59.463448] lo: Disabled Privacy Extensions
[   70.223095] eth0: no IPv6 routers present
timf@ubuntu:~$ 

13) Most times, "tda1004x: found firmware revision 20 -- ok" appears
from a new install of ubuntu.
Shouldn't have to but will copy firmware into /lib...

Again, dmesg
<snip>
[   44.705797] Linux video capture interface: v2.00
[   44.715868] ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 17 (level,
low) -> IRQ 17
[   44.715882] PCI: Setting latency timer of device 0000:02:00.0 to 64
[   44.716338] sky2 0000:02:00.0: v1.18 addr 0xfeafc000 irq 17 Yukon-EC
Ultra (0xb4) rev 3
[   44.716629] sky2 eth0: addr 00:1b:fc:b3:85:32
[   44.743125] nvidia: module license 'NVIDIA' taints kernel.
[   44.999183] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level,
low) -> IRQ 16
[   44.999192] PCI: Setting latency timer of device 0000:01:00.0 to 64
[   44.999283] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  100.14.19
Wed Sep 12 14:08:38 PDT 2007
[   45.038102] saa7130/34: v4l2 driver version 0.2.14 loaded
[   45.038164] ACPI: PCI Interrupt 0000:05:01.0[A] -> GSI 17 (level,
low) -> IRQ 17
[   45.038172] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17,
latency: 64, mmio: 0xfebff800
[   45.038177] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210
[card=114,autodetected]
[   45.038184] saa7133[0]: board init: gpio is 100
[   45.193124] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193138] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193149] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193160] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193171] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193181] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193192] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193203] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193214] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193225] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193236] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193246] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193257] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193268] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193279] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.193290] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   45.362597] tuner' 0-004b: chip found @ 0x96 (saa7133[0])
[   45.451089] tda829x 0-004b: setting tuner address to 61
[   45.515667] tda829x 0-004b: type set to tda8290+75a
[   49.411813] saa7133[0]: registered device video0 [v4l2]
[   49.411839] saa7133[0]: registered device vbi0
[   49.411867] saa7133[0]: registered device radio0
[   49.476227] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level,
low) -> IRQ 22
[   49.476832] PCI: Setting latency timer of device 0000:00:1b.0 to 64
[   49.491099] saa7134 ALSA driver for DMA sound loaded
[   49.491124] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17
registered as card -2
[   49.629385] DVB: registering new adapter (saa7133[0])
[   49.629392] DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
[   49.685697] hda_codec: Unknown model for ALC883, trying auto-probe
from BIOS...
[   49.721872] tda1004x: setting up plls for 48MHz sampling clock
[   50.650342] loop: module loaded
[   50.679408] lp0: using parport0 (interrupt-driven).
[   50.760172] Adding 20474832k swap on /dev/sda3.  Priority:-1
extents:1 across:20474832k
[   51.084663] EXT3 FS on sda2, internal journal
[   51.986627] tda1004x: timeout waiting for DSP ready
[   52.023796] input: Power Button (FF) as /class/input/input4
[   52.023813] ACPI: Power Button (FF) [PWRF]
[   52.023912] input: Power Button (CM) as /class/input/input5
[   52.023925] ACPI: Power Button (CM) [PWRB]
[   52.026680] tda1004x: found firmware revision 0 -- invalid
[   52.026685] tda1004x: trying to boot from eeprom
[   52.092993] No dock devices found.
<snip>
[   54.015117] Bluetooth: RFCOMM ver 1.8
[   54.384480] tda1004x: timeout waiting for DSP ready
[   54.424482] tda1004x: found firmware revision 0 -- invalid
[   54.424485] tda1004x: waiting for firmware upload...
[   55.760359] sky2 eth0: Link is up at 100 Mbps, full duplex, flow
control rx
[   58.951632] NET: Registered protocol family 17
[   62.002779] NET: Registered protocol family 10
[   62.002992] lo: Disabled Privacy Extensions
[   72.014443] eth0: no IPv6 routers present
[   73.030281] tda1004x: found firmware revision 20 -- ok
timf@ubuntu:~$ 

14) Again exactly same result as last time with dvb, analog.

15) With this refactoring, do the app developers have to adjust
anything? Tzap has problems also.

This actually worse than before, it is now not tuning correctly.
What do I try next? Very frustrating.
Do you want any debug options?

PS. I've actually managed to get the remote to work through a very
convoluted approach via the archives (Hermann), using ir-kbd-i2c.c,
saa7134-i2c.c. But it's no use unless we can fix this tuning/scanning
issue.

Regards,
Tim


On Mon, 2008-03-17 at 22:22 +0100, Hartmut Hackmann wrote:
> Hi, Tim
> 
> timf schrieb:
> > On Fri, 2008-03-07 at 21:32 +0100, Hartmut Hackmann wrote:
> >> Hi, Tim
> >>
> >> timf schrieb:
> >>> Hi Hartmut,
> >>> I noticed you had a bit to do with implementing this card.
> >>>
> >>> With a fresh install of ubuntu 7.10 (kernel i386 2.6.22-14-generic),
> >>> the card is auto recognised as: Kworld DVB-T 210 (card=114)
> >>>
> >>> However, tda1004 firmware does not load.
> >>> Used download-firmware, placed dvb-fe-tda10046.fw
> >>> into /lib/firmware/2.6.22-14-generic
> >>>
> >>> Rebooted.
> >>>
> >>> Now, again card is recognised, firmware recognised as version 20.
> >>> Here is the strange part:
> >>> - using dvb-utils scan, each time I run that I get a different result in
> >>> channels.
> >>> - I try to scan with Kaffeine - nothing
> >>> - I try to scan with Me-tv - nothing
> >>> - I try to scan with tvtime - all channels obtained ( no audio).
> >>>
> >>> Now, after reboot, if I first start tvtime (analog tv), view a channel,
> >>> turn tvtime off, and then :
> >>> - if I place a previously good channels.dvb in Kaffeine - it plays all
> >>> channels.
> >>> - if I place a previously good channels.conf in Me-tv - it plays all
> >>> channels. 
> >>>
> >>> Would it be correct to say that the "switch" is not working for DVB
> >>> after boot?
> >>>
> >>> I have studied the code, but I need your help to point me in the right
> >>> direction.
> >>>
> >>> Thanks,
> >>> Tim
> >>>
> >> Hermann reported something similar. I have an idea what the reason could
> >> be. Please let me check.
> >> Best regards
> >>   Hartmut
> > 
> > Hi Hartmut,
> > 
> > Further to this, is the Remote Control meant to work for this card?
> > 
> <snip>
> Looks like the Remote is not supported. I can't help here since i don't have access
> to this card.
> 
> 
> In my personal Repository:
>   http://linuxtv.org/hg/~hhackmann/v4l-dvb/
> the problems with the tuning code should be fixed.
> Can you please give it a try?
> 
> Best Regards
>   Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-03-18 14:40       ` timf
@ 2008-03-18 22:56         ` Hartmut Hackmann
  2008-03-19  4:03           ` timf
       [not found]         ` <1213744559.11684.4.camel@asus.lounge>
  1 sibling, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-03-18 22:56 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

timf schrieb:
> Hi Hartmut,
> 
> 
> Apologies for the length of this msg, I'm not sure what info you may
> need, so I'm trying to show you that all is not right.
> 
> 1) New install of ubuntu 7.10 i386.
> 
> 2) Install Me-tv, Tvtime.
> Me-tv, in the absence of a channels.conf, scans
> via /usr/share/doc/dvb-utils/examples/scan/dvb-t
> 
> 3) I placed au-Perth_roleystone
> into /usr/share/doc/dvb-utils/examples/scan/dvb-t:
> 
> # Australia / Perth (Roleystone transmitter)
> # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
> # SBS
> T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
> # ABC
> T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> # Seven
> T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
> # Nine
> T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> # Ten
> T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> 

Hm, is that right? The transmitter at 704.5MHz has a different configuration
from all others? That's unusual...
There is a speciality with this channel decoder: If you define a parameter
like the GI, it takes this serious while many others ignore it.

<snip>
> 13) Most times, "tda1004x: found firmware revision 20 -- ok" appears
> from a new install of ubuntu.
> Shouldn't have to but will copy firmware into /lib...
> 
And here we have the problem: as long as the firmware download is not
reliable, the board is unusable.
There must be somehing wrong with the board configuration.
In saa7134-dvb.c, line 744, please try to excange:
	.gpio_config   = TDA10046_GP11_I,
with
	.gpio_config   = TDA10046_GP01_I,
does this make the firmware load stable?

Best regards
  Hartmut


_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-03-18 22:56         ` Hartmut Hackmann
@ 2008-03-19  4:03           ` timf
  2008-03-19 23:18             ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-03-19  4:03 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hi Hartmut,

On Tue, 2008-03-18 at 23:56 +0100, Hartmut Hackmann wrote:
> Hi, Tim
> 
> timf schrieb:
> > Hi Hartmut,
> > 
> > 
> > Apologies for the length of this msg, I'm not sure what info you may
> > need, so I'm trying to show you that all is not right.
> > 
> > 1) New install of ubuntu 7.10 i386.
> > 
> > 2) Install Me-tv, Tvtime.
> > Me-tv, in the absence of a channels.conf, scans
> > via /usr/share/doc/dvb-utils/examples/scan/dvb-t
> > 
> > 3) I placed au-Perth_roleystone
> > into /usr/share/doc/dvb-utils/examples/scan/dvb-t:
> > 
> > # Australia / Perth (Roleystone transmitter)
> > # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
> > # SBS
> > T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
> > # ABC
> > T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> > # Seven
> > T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
> > # Nine
> > T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> > # Ten
> > T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> > 
> 
> Hm, is that right? The transmitter at 704.5MHz has a different configuration
> from all others? That's unusual...
> There is a speciality with this channel decoder: If you define a parameter
> like the GI, it takes this serious while many others ignore it.
> 
> <snip>
> > 13) Most times, "tda1004x: found firmware revision 20 -- ok" appears
> > from a new install of ubuntu.
> > Shouldn't have to but will copy firmware into /lib...
> > 
> And here we have the problem: as long as the firmware download is not
> reliable, the board is unusable.
> There must be somehing wrong with the board configuration.
> In saa7134-dvb.c, line 744, please try to excange:
> 	.gpio_config   = TDA10046_GP11_I,
> with
> 	.gpio_config   = TDA10046_GP01_I,
> does this make the firmware load stable?
> 
> Best regards
>   Hartmut


Improved, I think.

With Me-tv, using au-Perth_roleystone:
(SBS is on 704500000)

Failed to tune to transponder at 704500000
Found channel: SBS HD
Found channel: SBS
Found channel: SBS NEWS
Found channel: SBS 2
Found channel: SBS RADIO 1
Found channel: SBS RADIO 2
Found channel: ABC HDTV
Found channel: ABC1
Found channel: ABC2
Found channel: ABC1
Found channel: ABC3
Found channel: ABC DiG Radio
Found channel: ABC DiG Jazz
Found channel: 7 Digital
Found channel: 7 HD Digital
Found channel: 7 Digital 1
Found channel: 7 Digital 2
Found channel: 7 Digital 3
Found channel: 7 Program Guide
Found channel: Nine Digital
Found channel: Nine HD
Found channel: TEN HD
Found channel: TEN Digital
Found channel: TEN HD

However, with Kaffeine channels.dvb:

#Generated by Kaffeine 0.5
TV|7 Digital|1537(2)|1538(eng),|1540|1376|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|1|||
TV|7 Digital 1|1537(2)|1538(eng),|1540|1377|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|2|||
TV|7 Digital 2|1537(2)|1538(eng),|1540|1378|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|3|||
TV|7 Digital 3|1537(2)|1538(eng),|1540|1379|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|4|||
TV|Nine Digital|512(2)|650(eng),651(ac3),|576|1025|1104|Terrestrial|
191625|0|v|34|-1|64|12|7|8|16|0|5|||
TV|Nine HD|522(2)|750(ac3),|576|1030|1104|Terrestrial|191625|0|v|34|-1|
64|12|7|8|16|0|6|||
TV|7 HD Digital|1601(2)|1603(ac3),|0|1380|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|7|||
TV|7 Program Guide|1633(2)|1634,|0|1382|1286|Terrestrial|177500|0|v|
34|-1|64|34|7|8|16|0|8|||
TV|TEN Digital|512(2)|650(eng),651(ac3),|576|1669|1543|Terrestrial|
219500|0|v|34|-1|64|12|7|8|16|0|9|||
TV|TEN HD|514(2)|672(ac3),|577|1672|1543|Terrestrial|788500|0|v|34|-1|
64|-1|7|8|16|0|10|||
TV|TEN HD-1|514(2)|672(ac3),|577|1665|1543|Terrestrial|788500|0|v|34|-1|
64|-1|7|8|16|0|11|||

So Kaffeine is not happy now.

dmesg
<snip>
[   43.751473] Linux video capture interface: v2.00
[   43.780417] nvidia: module license 'NVIDIA' taints kernel.
<snip>
[   44.101925] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17,
latency: 64, mmio: 0xfebff800
[   44.101931] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210
[card=114,autodetected]
[   44.101940] saa7133[0]: board init: gpio is 100
[   44.250022] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level,
low) -> IRQ 22
[   44.250500] PCI: Setting latency timer of device 0000:00:1b.0 to 64
[   44.259010] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259023] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259034] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259045] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259056] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259066] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259077] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259088] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259099] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259110] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259121] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259131] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259142] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259153] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259164] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.259174] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
[   44.372044] tuner' 0-004b: chip found @ 0x96 (saa7133[0])
[   44.456848] tda829x 0-004b: setting tuner address to 61
[   44.460864] hda_codec: Unknown model for ALC883, trying auto-probe
from BIOS...
[   44.537235] tda829x 0-004b: type set to tda8290+75a
[   48.498066] saa7133[0]: registered device video0 [v4l2]
[   48.498214] saa7133[0]: registered device vbi0
[   48.498363] saa7133[0]: registered device radio0
[   48.582667] saa7134 ALSA driver for DMA sound loaded
[   48.582699] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17
registered as card -2
[   48.846762] DVB: registering new adapter (saa7133[0])
[   48.846768] DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
[   48.918706] tda1004x: setting up plls for 48MHz sampling clock
[   49.202699] tda1004x: found firmware revision 20 -- ok
<snip>
......
<snip>
[  152.485617] tda1004x: setting up plls for 48MHz sampling clock
[  152.681710] tda1004x: found firmware revision 20 -- ok
[  431.669193] tda1004x: setting up plls for 48MHz sampling clock
[  431.868920] tda1004x: found firmware revision 20 -- ok
[  477.103776] tda1004x: setting up plls for 48MHz sampling clock
[  477.299645] tda1004x: found firmware revision 20 -- ok
[  490.469730] tda1004x: setting up plls for 48MHz sampling clock
[  490.693412] tda1004x: found firmware revision 20 -- ok
timf@ubuntu:~$ 

I also have a Pinnacle 310i, so I can do a test for your new personal
repo.
(I have never been able to get the remote going with this card.)

Best regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-03-19  4:03           ` timf
@ 2008-03-19 23:18             ` Hartmut Hackmann
  0 siblings, 0 replies; 32+ messages in thread
From: Hartmut Hackmann @ 2008-03-19 23:18 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

timf schrieb:
> Hi Hartmut,
> 
> On Tue, 2008-03-18 at 23:56 +0100, Hartmut Hackmann wrote:
>> Hi, Tim
>>
>> timf schrieb:
>>> Hi Hartmut,
>>>
>>>
>>> Apologies for the length of this msg, I'm not sure what info you may
>>> need, so I'm trying to show you that all is not right.
>>>
>>> 1) New install of ubuntu 7.10 i386.
>>>
>>> 2) Install Me-tv, Tvtime.
>>> Me-tv, in the absence of a channels.conf, scans
>>> via /usr/share/doc/dvb-utils/examples/scan/dvb-t
>>>
>>> 3) I placed au-Perth_roleystone
>>> into /usr/share/doc/dvb-utils/examples/scan/dvb-t:
>>>
>>> # Australia / Perth (Roleystone transmitter)
>>> # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
>>> # SBS
>>> T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>> # ABC
>>> T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>> # Seven
>>> T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>> # Nine
>>> T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>> # Ten
>>> T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>
>> Hm, is that right? The transmitter at 704.5MHz has a different configuration
>> from all others? That's unusual...
>> There is a speciality with this channel decoder: If you define a parameter
>> like the GI, it takes this serious while many others ignore it.
>>
>> <snip>
>>> 13) Most times, "tda1004x: found firmware revision 20 -- ok" appears
>>> from a new install of ubuntu.
>>> Shouldn't have to but will copy firmware into /lib...
>>>
>> And here we have the problem: as long as the firmware download is not
>> reliable, the board is unusable.
>> There must be somehing wrong with the board configuration.
>> In saa7134-dvb.c, line 744, please try to excange:
>> 	.gpio_config   = TDA10046_GP11_I,
>> with
>> 	.gpio_config   = TDA10046_GP01_I,
>> does this make the firmware load stable?
>>
>> Best regards
>>   Hartmut
> 
> 
> Improved, I think.
> 
> With Me-tv, using au-Perth_roleystone:
> (SBS is on 704500000)
> 
> Failed to tune to transponder at 704500000
> Found channel: SBS HD
> Found channel: SBS
> Found channel: SBS NEWS
> Found channel: SBS 2
> Found channel: SBS RADIO 1
> Found channel: SBS RADIO 2
> Found channel: ABC HDTV
> Found channel: ABC1
> Found channel: ABC2
> Found channel: ABC1
> Found channel: ABC3
> Found channel: ABC DiG Radio
> Found channel: ABC DiG Jazz
> Found channel: 7 Digital
> Found channel: 7 HD Digital
> Found channel: 7 Digital 1
> Found channel: 7 Digital 2
> Found channel: 7 Digital 3
> Found channel: 7 Program Guide
> Found channel: Nine Digital
> Found channel: Nine HD
> Found channel: TEN HD
> Found channel: TEN Digital
> Found channel: TEN HD
> 
> However, with Kaffeine channels.dvb:
> 
> #Generated by Kaffeine 0.5
> TV|7 Digital|1537(2)|1538(eng),|1540|1376|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|1|||
> TV|7 Digital 1|1537(2)|1538(eng),|1540|1377|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|2|||
> TV|7 Digital 2|1537(2)|1538(eng),|1540|1378|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|3|||
> TV|7 Digital 3|1537(2)|1538(eng),|1540|1379|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|4|||
> TV|Nine Digital|512(2)|650(eng),651(ac3),|576|1025|1104|Terrestrial|
> 191625|0|v|34|-1|64|12|7|8|16|0|5|||
> TV|Nine HD|522(2)|750(ac3),|576|1030|1104|Terrestrial|191625|0|v|34|-1|
> 64|12|7|8|16|0|6|||
> TV|7 HD Digital|1601(2)|1603(ac3),|0|1380|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|7|||
> TV|7 Program Guide|1633(2)|1634,|0|1382|1286|Terrestrial|177500|0|v|
> 34|-1|64|34|7|8|16|0|8|||
> TV|TEN Digital|512(2)|650(eng),651(ac3),|576|1669|1543|Terrestrial|
> 219500|0|v|34|-1|64|12|7|8|16|0|9|||
> TV|TEN HD|514(2)|672(ac3),|577|1672|1543|Terrestrial|788500|0|v|34|-1|
> 64|-1|7|8|16|0|10|||
> TV|TEN HD-1|514(2)|672(ac3),|577|1665|1543|Terrestrial|788500|0|v|34|-1|
> 64|-1|7|8|16|0|11|||
> 
> So Kaffeine is not happy now.
> 
> dmesg
> <snip>
> [   43.751473] Linux video capture interface: v2.00
> [   43.780417] nvidia: module license 'NVIDIA' taints kernel.
> <snip>
> [   44.101925] saa7133[0]: found at 0000:05:01.0, rev: 209, irq: 17,
> latency: 64, mmio: 0xfebff800
> [   44.101931] saa7133[0]: subsystem: 17de:7250, board: KWorld DVB-T 210
> [card=114,autodetected]
> [   44.101940] saa7133[0]: board init: gpio is 100
> [   44.250022] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level,
> low) -> IRQ 22
> [   44.250500] PCI: Setting latency timer of device 0000:00:1b.0 to 64
> [   44.259010] saa7133[0]: i2c eeprom 00: de 17 50 72 ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259023] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259034] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259045] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259056] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259066] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259077] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259088] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259099] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259110] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259121] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259131] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259142] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259153] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259164] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.259174] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [   44.372044] tuner' 0-004b: chip found @ 0x96 (saa7133[0])
> [   44.456848] tda829x 0-004b: setting tuner address to 61
> [   44.460864] hda_codec: Unknown model for ALC883, trying auto-probe
> from BIOS...
> [   44.537235] tda829x 0-004b: type set to tda8290+75a
> [   48.498066] saa7133[0]: registered device video0 [v4l2]
> [   48.498214] saa7133[0]: registered device vbi0
> [   48.498363] saa7133[0]: registered device radio0
> [   48.582667] saa7134 ALSA driver for DMA sound loaded
> [   48.582699] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17
> registered as card -2
> [   48.846762] DVB: registering new adapter (saa7133[0])
> [   48.846768] DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
> [   48.918706] tda1004x: setting up plls for 48MHz sampling clock
> [   49.202699] tda1004x: found firmware revision 20 -- ok
> <snip>
> ......
> <snip>
> [  152.485617] tda1004x: setting up plls for 48MHz sampling clock
> [  152.681710] tda1004x: found firmware revision 20 -- ok
> [  431.669193] tda1004x: setting up plls for 48MHz sampling clock
> [  431.868920] tda1004x: found firmware revision 20 -- ok
> [  477.103776] tda1004x: setting up plls for 48MHz sampling clock
> [  477.299645] tda1004x: found firmware revision 20 -- ok
> [  490.469730] tda1004x: setting up plls for 48MHz sampling clock
> [  490.693412] tda1004x: found firmware revision 20 -- ok
> timf@ubuntu:~$ 
> 
> I also have a Pinnacle 310i, so I can do a test for your new personal
> repo.
> (I have never been able to get the remote going with this card.)
> 
> Best regards,
> Tim
> 
Your situation improved when you changed the GPIO setting?
Regarding the scanning:
1) Did you try to change the GI setting as i recommended last time?
2) Regarding kaffeine i noticed different transmitter frequencies
Are you sure you used the right config file?

It is VERY unlikely that your card works with one application but not
with another. All upper layers of the driver are card independent and
saa7134-dvb is known to work with kaffeine.

May i ask you to have a look with the Pinnacle card? This one is affected
by the recent patch.


Best regards
  Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
@ 2008-04-10 16:22 timf
  2008-04-10 22:08 ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-10 16:22 UTC (permalink / raw
  To: hartmut.hackmann, linux-dvb


Hi Hartmut,
OK, found some more spare time, but very, very frustrated!

1) Tried ubuntu 7.04, 7.10, 8.04
    Tried with just modules that exist in kernel (no v4l-dvb)
   Tried v4l-dvb from June 2007 and tried current v4l-dvb
   Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
   Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
TDA10046_GP01_I,
   Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
pinnacle 310i, twinhan 3056

    # Australia / Perth (Roleystone transmitter)
    # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
    # SBS
    T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
    # ABC
    T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
    # Seven
    T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
    # Nine
    T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
    # Ten
    T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE

2) I have these saa7134 cards:
    - pinnacle 310i
    - kworld 210

    This cx88 card:
    - dvico DVB-T Pro hybrid (analog tv not work)

-   problem only occurs with kworld 210 in linux (works fine in WinXP)

3) In WinXP, all channels, both analog tv and dvb-t found

4) In linux, if start dvb-t first, never scans SBS - dmesg1

5) In linux, if start analog tv first, stop, then start dvb-t, scan 
finds SBS - dmesg2

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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-10 16:22 [linux-dvb] Kworld DVB-T 210 - dvb tuning problem timf
@ 2008-04-10 22:08 ` Hartmut Hackmann
  2008-04-10 23:30   ` hermann pitton
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-10 22:08 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

HI, Tim

timf schrieb:
> Hi Hartmut,
> OK, found some more spare time, but very, very frustrated!
> 
> 1) Tried ubuntu 7.04, 7.10, 8.04
>     Tried with just modules that exist in kernel (no v4l-dvb)
>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
> TDA10046_GP01_I,
>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
> pinnacle 310i, twinhan 3056
> 
>     # Australia / Perth (Roleystone transmitter)
>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
>     # SBS
>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>     # ABC
>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>     # Seven
>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>     # Nine
>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>     # Ten
>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> 
> 2) I have these saa7134 cards:
>     - pinnacle 310i
>     - kworld 210
> 
>     This cx88 card:
>     - dvico DVB-T Pro hybrid (analog tv not work)
> 
> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
> 
> 3) In WinXP, all channels, both analog tv and dvb-t found
> 
> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
> 
> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
> finds SBS - dmesg2
>
a) The pinnacle 310i finds everything?
    It has the same chipset, but an almost perfectly handled tuner chip...
    This means that your initial config file is ok...
b) Does this mean that in case 4, all other channels are found?
c) Case 5: This finds everything?
d) What happens if you use the scan data of the pinnacle card?
    Does it tune SBS? Does it just take more time to stabilize?
    This can be understood.
e) Just to be sure: did you clarify the open point with .antenna_switch
    (i think so)
f) the kernel logs are as expected.
<snip>


> 6) Herman mentioned something called a "mode-switch" in the archives, 
> but not any description.

I guess he meant the switching between analog, radio and dvb-t. This is the
GPIO handling and card depending.

> 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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-10 22:08 ` Hartmut Hackmann
@ 2008-04-10 23:30   ` hermann pitton
  2008-04-11 17:54     ` timf
  2008-04-11 21:23     ` Hartmut Hackmann
  0 siblings, 2 replies; 32+ messages in thread
From: hermann pitton @ 2008-04-10 23:30 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
> HI, Tim
> 
> timf schrieb:
> > Hi Hartmut,
> > OK, found some more spare time, but very, very frustrated!
> > 
> > 1) Tried ubuntu 7.04, 7.10, 8.04
> >     Tried with just modules that exist in kernel (no v4l-dvb)
> >    Tried v4l-dvb from June 2007 and tried current v4l-dvb
> >    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
> >    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
> > TDA10046_GP01_I,
> >    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
> > pinnacle 310i, twinhan 3056
> > 
> >     # Australia / Perth (Roleystone transmitter)
> >     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
> >     # SBS
> >     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
> >     # ABC
> >     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> >     # Seven
> >     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
> >     # Nine
> >     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> >     # Ten
> >     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> > 
> > 2) I have these saa7134 cards:
> >     - pinnacle 310i
> >     - kworld 210
> > 
> >     This cx88 card:
> >     - dvico DVB-T Pro hybrid (analog tv not work)
> > 
> > -   problem only occurs with kworld 210 in linux (works fine in WinXP)
> > 
> > 3) In WinXP, all channels, both analog tv and dvb-t found
> > 
> > 4) In linux, if start dvb-t first, never scans SBS - dmesg1
> > 
> > 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
> > finds SBS - dmesg2
> >
> a) The pinnacle 310i finds everything?
>     It has the same chipset, but an almost perfectly handled tuner chip...
>     This means that your initial config file is ok...
> b) Does this mean that in case 4, all other channels are found?
> c) Case 5: This finds everything?
> d) What happens if you use the scan data of the pinnacle card?
>     Does it tune SBS? Does it just take more time to stabilize?
>     This can be understood.
> e) Just to be sure: did you clarify the open point with .antenna_switch
>     (i think so)
> f) the kernel logs are as expected.
> <snip>
> 
> 
> > 6) Herman mentioned something called a "mode-switch" in the archives, 
> > but not any description.
> 
> I guess he meant the switching between analog, radio and dvb-t. This is the
> GPIO handling and card depending.

Tim must have it from when I mentioned the special case of card=87 and
94.

> > I tried to find some data sheets for tda8275 tda8290 but only found the 
> > publicity pdf file from Phillips,
> > so at least I can see they go together, so I presume this "mode-switch" 
> > is coded into those modules.
> > But those modules work for all other cards, so now I'm lost again.
> > 
> > What else should I try?
> > 
> If my assumptions above are wrong, there is one other chance:
> Recently i saw another card that does the (unusual) mode switching
> like card 87. So to be sure, you might try to force this card type (be
> aware of the antenna inputs, if in doubt, try both.
> 
> Best regards
>    Hartmut
> 

For the Medion8800 Quad and CTX948 also showing this issue, needs to
tune analog first to have good recepton on DVB-T, they are a little
weaker on analog than other cards, but after that on DVB-T, they are as
good than known good others.

Cheers,
Hermann



_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-10 23:30   ` hermann pitton
@ 2008-04-11 17:54     ` timf
  2008-04-11 22:14       ` Hartmut Hackmann
  2008-04-11 21:23     ` Hartmut Hackmann
  1 sibling, 1 reply; 32+ messages in thread
From: timf @ 2008-04-11 17:54 UTC (permalink / raw
  To: hermann pitton; +Cc: Hartmut Hackmann, linux-dvb

hermann pitton wrote:
> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>   
>> HI, Tim
>>
>> timf schrieb:
>>     
>>> Hi Hartmut,
>>> OK, found some more spare time, but very, very frustrated!
>>>
>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
>>> TDA10046_GP01_I,
>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>> pinnacle 310i, twinhan 3056
>>>
>>>     # Australia / Perth (Roleystone transmitter)
>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
>>>     # SBS
>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>     # ABC
>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>     # Seven
>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>     # Nine
>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>     # Ten
>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>
>>> 2) I have these saa7134 cards:
>>>     - pinnacle 310i
>>>     - kworld 210
>>>
>>>     This cx88 card:
>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>
>>> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
>>>
>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>
>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>
>>> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
>>> finds SBS - dmesg2
>>>
>>>       
>> a) The pinnacle 310i finds everything?
>>     It has the same chipset, but an almost perfectly handled tuner chip...
>>     This means that your initial config file is ok...
>> b) Does this mean that in case 4, all other channels are found?
>> c) Case 5: This finds everything?
>> d) What happens if you use the scan data of the pinnacle card?
>>     Does it tune SBS? Does it just take more time to stabilize?
>>     This can be understood.
>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>     (i think so)
>> f) the kernel logs are as expected.
>> <snip>
>>
>>
>>     
>>> 6) Herman mentioned something called a "mode-switch" in the archives, 
>>> but not any description.
>>>       
>> I guess he meant the switching between analog, radio and dvb-t. This is the
>> GPIO handling and card depending.
>>     
>
> Tim must have it from when I mentioned the special case of card=87 and
> 94.
>
>   
>>> I tried to find some data sheets for tda8275 tda8290 but only found the 
>>> publicity pdf file from Phillips,
>>> so at least I can see they go together, so I presume this "mode-switch" 
>>> is coded into those modules.
>>> But those modules work for all other cards, so now I'm lost again.
>>>
>>> What else should I try?
>>>
>>>       
>> If my assumptions above are wrong, there is one other chance:
>> Recently i saw another card that does the (unusual) mode switching
>> like card 87. So to be sure, you might try to force this card type (be
>> aware of the antenna inputs, if in doubt, try both.
>>
>> Best regards
>>    Hartmut
>>
>>     
>
> For the Medion8800 Quad and CTX948 also showing this issue, needs to
> tune analog first to have good recepton on DVB-T, they are a little
> weaker on analog than other cards, but after that on DVB-T, they are as
> good than known good others.
>
> Cheers,
> Hermann
>
>
>   
Hi Hartmut and Hermann,

a) The pinnacle 310i finds everything?
    It has the same chipset, but an almost perfectly handled tuner chip...
    This means that your initial config file is ok...

Answer - Yes, the non-working remote (and constant unknown key messages) is all that is
wrong with the pinnacle 310i.
I tested it for your new tda8290 tda8275 patches - didn't I send you the results?
It works fine!

b) Does this mean that in case 4, all other channels are found?

Answer - In linux, if start dvb-t first, never scans SBS
	- yes all other channels are viewable/scannable.

c) Case 5: This finds everything?

Answer - In linux, if start analog tv first, stop, then start dvb-t, scan 
finds SBS
	- yes all channels are viewable/scannable.

d) What happens if you use the scan data of the pinnacle card?
    Does it tune SBS? Does it just take more time to stabilize?
    This can be understood.

Answer - the same answer applies as for b) and c)

e) Just to be sure: did you clarify the open point with .antenna_switch
    (i think so)

Answer - yes that was me being over-enthusiastic - made no difference
as you pointed out.


OK, this modification has achieved, I think success. I can now view/scan 
all channels
in analog tv or dvb-t in either order.
That is, I now don't have to start analog tv first, before dvb-t will start.

In saa7134- cards.c - no change.

In saa7134-dvb.c:

Remove this:
------------------------------------
static struct tda1004x_config kworld_dvb_t_210_config = {
    .demod_address = 0x08,
    .invert        = 1,
    .invert_oclk   = 0,
    .xtal_freq     = TDA10046_XTAL_16M,
    .agc_config    = TDA10046_AGC_TDA827X,
    .gpio_config   = TDA10046_GP11_I,
    .if_freq       = TDA10046_FREQ_045,
    .i2c_gate      = 0x4b,
    .tuner_address = 0x61,
    .antenna_switch= 1,
    .request_firmware = philips_tda1004x_request_firmware
};
------------------------------

Add this:

------------------------------
static int kw210_tuner_init(struct dvb_frontend *fe)
{
    struct saa7134_dev *dev = fe->dvb->priv;
    philips_tda827x_tuner_init(fe);
    /* route TDA8275a AGC input to the channel decoder */
    saa7134_set_gpio(dev, 22, 1);
    return 0;
}

static int kw210_tuner_sleep(struct dvb_frontend *fe)
{
    struct saa7134_dev *dev = fe->dvb->priv;
    /* route TDA8275a AGC input to the analog IF chip*/
    saa7134_set_gpio(dev, 22, 0);
    philips_tda827x_tuner_sleep(fe);
    return 0;
}

static struct tda827x_config kw210_cfg = {
    .tuner_callback = saa7134_tuner_callback,
    .init = kw210_tuner_init,
    .sleep = kw210_tuner_sleep,
    .config = 0
};

static struct tda1004x_config kworld_dvb_t_210_config = {
    .demod_address = 0x08,
    .invert        = 1,
    .invert_oclk   = 0,
    .xtal_freq     = TDA10046_XTAL_16M,
    .agc_config    = TDA10046_AGC_TDA827X,
    .gpio_config   = TDA10046_GP11_I,
    .if_freq       = TDA10046_FREQ_045,
    .tuner_address = 0x61,
    .request_firmware = philips_tda1004x_request_firmware
};
----------------------------

Change this:

    case SAA7134_BOARD_KWORLD_DVBT_210:
        dev->dvb.frontend = dvb_attach(tda10046_attach, 
&kworld_dvb_t_210_config, &dev->i2c_adap);
        if (dev->dvb.frontend) {
            if (dvb_attach(tda827x_attach,dev->dvb.frontend,
                   kworld_dvb_t_210_config.tuner_address, &dev->i2c_adap,
                                &kw210_cfg) == NULL) {
                wprintk("no tda827x tuner found at addr: %02x\n",
                    kworld_dvb_t_210_config.tuner_address);
            }
        }
        break;
---------------------------------------------

However, I need you to explain something for me.

There is no difference if I use this:

    saa7134_set_gpio(dev, 22, 1);

or this:

    saa7134_set_gpio(dev, 21, 1);

I await your guidance, meanwhile I shall apply my
modification to enable the remote and ensure it
doesn't have any effect.

Many thanks to you both,

Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-10 23:30   ` hermann pitton
  2008-04-11 17:54     ` timf
@ 2008-04-11 21:23     ` Hartmut Hackmann
  2008-04-12 11:30       ` hermann pitton
  1 sibling, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-11 21:23 UTC (permalink / raw
  To: hermann pitton; +Cc: linux-dvb

Hi, Hermann

hermann pitton schrieb:
> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>> HI, Tim
>>
>> timf schrieb:
>>> Hi Hartmut,
>>> OK, found some more spare time, but very, very frustrated!
>>>
>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
>>> TDA10046_GP01_I,
>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>> pinnacle 310i, twinhan 3056
>>>
>>>     # Australia / Perth (Roleystone transmitter)
>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
>>>     # SBS
>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>     # ABC
>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>     # Seven
>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>     # Nine
>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>     # Ten
>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>
>>> 2) I have these saa7134 cards:
>>>     - pinnacle 310i
>>>     - kworld 210
>>>
>>>     This cx88 card:
>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>
>>> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
>>>
>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>
>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>
>>> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
>>> finds SBS - dmesg2
>>>
>> a) The pinnacle 310i finds everything?
>>     It has the same chipset, but an almost perfectly handled tuner chip...
>>     This means that your initial config file is ok...
>> b) Does this mean that in case 4, all other channels are found?
>> c) Case 5: This finds everything?
>> d) What happens if you use the scan data of the pinnacle card?
>>     Does it tune SBS? Does it just take more time to stabilize?
>>     This can be understood.
>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>     (i think so)
>> f) the kernel logs are as expected.
>> <snip>
>>
>>
>>> 6) Herman mentioned something called a "mode-switch" in the archives, 
>>> but not any description.
>> I guess he meant the switching between analog, radio and dvb-t. This is the
>> GPIO handling and card depending.
> 
> Tim must have it from when I mentioned the special case of card=87 and
> 94.
> 
>>> I tried to find some data sheets for tda8275 tda8290 but only found the 
>>> publicity pdf file from Phillips,
>>> so at least I can see they go together, so I presume this "mode-switch" 
>>> is coded into those modules.
>>> But those modules work for all other cards, so now I'm lost again.
>>>
>>> What else should I try?
>>>
>> If my assumptions above are wrong, there is one other chance:
>> Recently i saw another card that does the (unusual) mode switching
>> like card 87. So to be sure, you might try to force this card type (be
>> aware of the antenna inputs, if in doubt, try both.
>>
>> Best regards
>>    Hartmut
>>
> 
> For the Medion8800 Quad and CTX948 also showing this issue, needs to
> tune analog first to have good recepton on DVB-T, they are a little
> weaker on analog than other cards, but after that on DVB-T, they are as
> good than known good others.
> 
> Cheers,
> Hermann
> 

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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-11 17:54     ` timf
@ 2008-04-11 22:14       ` Hartmut Hackmann
  2008-04-13  6:00         ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-11 22:14 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

timf schrieb:
> hermann pitton wrote:
>> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>>  
>>> HI, Tim
>>>
>>> timf schrieb:
>>>    
>>>> Hi Hartmut,
>>>> OK, found some more spare time, but very, very frustrated!
>>>>
>>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
>>>> TDA10046_GP01_I,
>>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>>> pinnacle 310i, twinhan 3056
>>>>
>>>>     # Australia / Perth (Roleystone transmitter)
>>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval 
>>>> hierarchy
>>>>     # SBS
>>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>>     # ABC
>>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>     # Seven
>>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>>     # Nine
>>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>     # Ten
>>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>
>>>> 2) I have these saa7134 cards:
>>>>     - pinnacle 310i
>>>>     - kworld 210
>>>>
>>>>     This cx88 card:
>>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>>
>>>> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
>>>>
>>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>>
>>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>>
>>>> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
>>>> finds SBS - dmesg2
>>>>
>>>>       
>>> a) The pinnacle 310i finds everything?
>>>     It has the same chipset, but an almost perfectly handled tuner 
>>> chip...
>>>     This means that your initial config file is ok...
>>> b) Does this mean that in case 4, all other channels are found?
>>> c) Case 5: This finds everything?
>>> d) What happens if you use the scan data of the pinnacle card?
>>>     Does it tune SBS? Does it just take more time to stabilize?
>>>     This can be understood.
>>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>>     (i think so)
>>> f) the kernel logs are as expected.
>>> <snip>
>>>
>>>
>>>    
>>>> 6) Herman mentioned something called a "mode-switch" in the 
>>>> archives, but not any description.
>>>>       
>>> I guess he meant the switching between analog, radio and dvb-t. This 
>>> is the
>>> GPIO handling and card depending.
>>>     
>>
>> Tim must have it from when I mentioned the special case of card=87 and
>> 94.
>>
>>  
>>>> I tried to find some data sheets for tda8275 tda8290 but only found 
>>>> the publicity pdf file from Phillips,
>>>> so at least I can see they go together, so I presume this 
>>>> "mode-switch" is coded into those modules.
>>>> But those modules work for all other cards, so now I'm lost again.
>>>>
>>>> What else should I try?
>>>>
>>>>       
>>> If my assumptions above are wrong, there is one other chance:
>>> Recently i saw another card that does the (unusual) mode switching
>>> like card 87. So to be sure, you might try to force this card type (be
>>> aware of the antenna inputs, if in doubt, try both.
>>>
>>> Best regards
>>>    Hartmut
>>>
>>>     
>>
>> For the Medion8800 Quad and CTX948 also showing this issue, needs to
>> tune analog first to have good recepton on DVB-T, they are a little
>> weaker on analog than other cards, but after that on DVB-T, they are as
>> good than known good others.
>>
>> Cheers,
>> Hermann
>>
>>
>>   
> Hi Hartmut and Hermann,
> 
> a) The pinnacle 310i finds everything?
>    It has the same chipset, but an almost perfectly handled tuner chip...
>    This means that your initial config file is ok...
> 
> Answer - Yes, the non-working remote (and constant unknown key messages) 
> is all that is
> wrong with the pinnacle 310i.
> I tested it for your new tda8290 tda8275 patches - didn't I send you the 
> results?
> It works fine!
> 
> b) Does this mean that in case 4, all other channels are found?
> 
> Answer - In linux, if start dvb-t first, never scans SBS
>     - yes all other channels are viewable/scannable.
> 
> c) Case 5: This finds everything?
> 
> Answer - In linux, if start analog tv first, stop, then start dvb-t, 
> scan finds SBS
>     - yes all channels are viewable/scannable.
> 
> d) What happens if you use the scan data of the pinnacle card?
>    Does it tune SBS? Does it just take more time to stabilize?
>    This can be understood.
> 
> Answer - the same answer applies as for b) and c)
> 
> e) Just to be sure: did you clarify the open point with .antenna_switch
>    (i think so)
> 
> Answer - yes that was me being over-enthusiastic - made no difference
> as you pointed out.
> 
> 
> OK, this modification has achieved, I think success. I can now view/scan 
> all channels
> in analog tv or dvb-t in either order.
> That is, I now don't have to start analog tv first, before dvb-t will 
> start.
> 
> In saa7134- cards.c - no change.
> 
> In saa7134-dvb.c:
> 
> Remove this:
> ------------------------------------
> static struct tda1004x_config kworld_dvb_t_210_config = {
>    .demod_address = 0x08,
>    .invert        = 1,
>    .invert_oclk   = 0,
>    .xtal_freq     = TDA10046_XTAL_16M,
>    .agc_config    = TDA10046_AGC_TDA827X,
>    .gpio_config   = TDA10046_GP11_I,
>    .if_freq       = TDA10046_FREQ_045,
>    .i2c_gate      = 0x4b,
>    .tuner_address = 0x61,
>    .antenna_switch= 1,
>    .request_firmware = philips_tda1004x_request_firmware
> };
> ------------------------------
> 
> Add this:
> 
> ------------------------------
> static int kw210_tuner_init(struct dvb_frontend *fe)
> {
>    struct saa7134_dev *dev = fe->dvb->priv;
>    philips_tda827x_tuner_init(fe);
>    /* route TDA8275a AGC input to the channel decoder */
>    saa7134_set_gpio(dev, 22, 1);
>    return 0;
> }
> 
> static int kw210_tuner_sleep(struct dvb_frontend *fe)
> {
>    struct saa7134_dev *dev = fe->dvb->priv;
>    /* route TDA8275a AGC input to the analog IF chip*/
>    saa7134_set_gpio(dev, 22, 0);
>    philips_tda827x_tuner_sleep(fe);
>    return 0;
> }
> 
> static struct tda827x_config kw210_cfg = {
>    .tuner_callback = saa7134_tuner_callback,
>    .init = kw210_tuner_init,
>    .sleep = kw210_tuner_sleep,
>    .config = 0
> };
> 
> static struct tda1004x_config kworld_dvb_t_210_config = {
>    .demod_address = 0x08,
>    .invert        = 1,
>    .invert_oclk   = 0,
>    .xtal_freq     = TDA10046_XTAL_16M,
>    .agc_config    = TDA10046_AGC_TDA827X,
>    .gpio_config   = TDA10046_GP11_I,
>    .if_freq       = TDA10046_FREQ_045,
>    .tuner_address = 0x61,
>    .request_firmware = philips_tda1004x_request_firmware
> };
> ----------------------------
> 
> Change this:
> 
>    case SAA7134_BOARD_KWORLD_DVBT_210:
>        dev->dvb.frontend = dvb_attach(tda10046_attach, 
> &kworld_dvb_t_210_config, &dev->i2c_adap);
>        if (dev->dvb.frontend) {
>            if (dvb_attach(tda827x_attach,dev->dvb.frontend,
>                   kworld_dvb_t_210_config.tuner_address, &dev->i2c_adap,
>                                &kw210_cfg) == NULL) {
>                wprintk("no tda827x tuner found at addr: %02x\n",
>                    kworld_dvb_t_210_config.tuner_address);
>            }
>        }
>        break;
> ---------------------------------------------
> 
> However, I need you to explain something for me.
> 
> There is no difference if I use this:
> 
>    saa7134_set_gpio(dev, 22, 1);
> 
> or this:
> 
>    saa7134_set_gpio(dev, 21, 1);
> 
> I await your guidance, meanwhile I shall apply my
> modification to enable the remote and ensure it
> doesn't have any effect.
> 
> Many thanks to you both,
> 
> Regards,
> Tim
> 
Again progress, excellent!
I think we will need one further interation. If i go through your
changes and comments, i come to the opinion that we will get the same
with less changes. But if i understand this right, its astonishing that your
card worked a bit. But let me go through your last patch again tomorrow -
i am too tired now.

Best regards
   Hartmut

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-11 21:23     ` Hartmut Hackmann
@ 2008-04-12 11:30       ` hermann pitton
  2008-04-12 12:00         ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: hermann pitton @ 2008-04-12 11:30 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hi Hartmut,

Am Freitag, den 11.04.2008, 23:23 +0200 schrieb Hartmut Hackmann:
> Hi, Hermann
> 
> hermann pitton schrieb:
> > Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
> >> HI, Tim
> >>
> >> timf schrieb:
> >>> Hi Hartmut,
> >>> OK, found some more spare time, but very, very frustrated!
> >>>
> >>> 1) Tried ubuntu 7.04, 7.10, 8.04
> >>>     Tried with just modules that exist in kernel (no v4l-dvb)
> >>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
> >>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
> >>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
> >>> TDA10046_GP01_I,
> >>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
> >>> pinnacle 310i, twinhan 3056
> >>>
> >>>     # Australia / Perth (Roleystone transmitter)
> >>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
> >>>     # SBS
> >>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
> >>>     # ABC
> >>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> >>>     # Seven
> >>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
> >>>     # Nine
> >>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> >>>     # Ten
> >>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
> >>>
> >>> 2) I have these saa7134 cards:
> >>>     - pinnacle 310i
> >>>     - kworld 210
> >>>
> >>>     This cx88 card:
> >>>     - dvico DVB-T Pro hybrid (analog tv not work)
> >>>
> >>> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
> >>>
> >>> 3) In WinXP, all channels, both analog tv and dvb-t found
> >>>
> >>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
> >>>
> >>> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
> >>> finds SBS - dmesg2
> >>>
> >> a) The pinnacle 310i finds everything?
> >>     It has the same chipset, but an almost perfectly handled tuner chip...
> >>     This means that your initial config file is ok...
> >> b) Does this mean that in case 4, all other channels are found?
> >> c) Case 5: This finds everything?
> >> d) What happens if you use the scan data of the pinnacle card?
> >>     Does it tune SBS? Does it just take more time to stabilize?
> >>     This can be understood.
> >> e) Just to be sure: did you clarify the open point with .antenna_switch
> >>     (i think so)
> >> f) the kernel logs are as expected.
> >> <snip>
> >>
> >>
> >>> 6) Herman mentioned something called a "mode-switch" in the archives, 
> >>> but not any description.
> >> I guess he meant the switching between analog, radio and dvb-t. This is the
> >> GPIO handling and card depending.
> > 
> > Tim must have it from when I mentioned the special case of card=87 and
> > 94.
> > 
> >>> I tried to find some data sheets for tda8275 tda8290 but only found the 
> >>> publicity pdf file from Phillips,
> >>> so at least I can see they go together, so I presume this "mode-switch" 
> >>> is coded into those modules.
> >>> But those modules work for all other cards, so now I'm lost again.
> >>>
> >>> What else should I try?
> >>>
> >> If my assumptions above are wrong, there is one other chance:
> >> Recently i saw another card that does the (unusual) mode switching
> >> like card 87. So to be sure, you might try to force this card type (be
> >> aware of the antenna inputs, if in doubt, try both.
> >>
> >> Best regards
> >>    Hartmut
> >>
> > 
> > For the Medion8800 Quad and CTX948 also showing this issue, needs to
> > tune analog first to have good recepton on DVB-T, they are a little
> > weaker on analog than other cards, but after that on DVB-T, they are as
> > good than known good others.
> > 
> > Cheers,
> > Hermann
> > 
> 
> 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

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.

diff -r 1e295a94038e -r 49ba58715fe0 linux/drivers/media/video/saa7134/saa7134-core.c
--- a/linux/drivers/media/video/saa7134/saa7134-core.c  Mon Mar 03 22:55:05 2008 +0100
+++ b/linux/drivers/media/video/saa7134/saa7134-core.c  Sun Mar 16 23:49:43 2008 +0100
@@ -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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-12 11:30       ` hermann pitton
@ 2008-04-12 12:00         ` timf
  0 siblings, 0 replies; 32+ messages in thread
From: timf @ 2008-04-12 12:00 UTC (permalink / raw
  To: hermann pitton; +Cc: Hartmut Hackmann, linux-dvb

hermann pitton wrote:
> Hi Hartmut,
>
> Am Freitag, den 11.04.2008, 23:23 +0200 schrieb Hartmut Hackmann:
>   
>> Hi, Hermann
>>
>> hermann pitton schrieb:
>>     
>>> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>>>       
>>>> HI, Tim
>>>>
>>>> timf schrieb:
>>>>         
>>>>> Hi Hartmut,
>>>>> OK, found some more spare time, but very, very frustrated!
>>>>>
>>>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   = 
>>>>> TDA10046_GP01_I,
>>>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>>>> pinnacle 310i, twinhan 3056
>>>>>
>>>>>     # Australia / Perth (Roleystone transmitter)
>>>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
>>>>>     # SBS
>>>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>>>     # ABC
>>>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>     # Seven
>>>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>>>     # Nine
>>>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>     # Ten
>>>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>
>>>>> 2) I have these saa7134 cards:
>>>>>     - pinnacle 310i
>>>>>     - kworld 210
>>>>>
>>>>>     This cx88 card:
>>>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>>>
>>>>> -   problem only occurs with kworld 210 in linux (works fine in WinXP)
>>>>>
>>>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>>>
>>>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>>>
>>>>> 5) In linux, if start analog tv first, stop, then start dvb-t, scan 
>>>>> finds SBS - dmesg2
>>>>>
>>>>>           
>>>> a) The pinnacle 310i finds everything?
>>>>     It has the same chipset, but an almost perfectly handled tuner chip...
>>>>     This means that your initial config file is ok...
>>>> b) Does this mean that in case 4, all other channels are found?
>>>> c) Case 5: This finds everything?
>>>> d) What happens if you use the scan data of the pinnacle card?
>>>>     Does it tune SBS? Does it just take more time to stabilize?
>>>>     This can be understood.
>>>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>>>     (i think so)
>>>> f) the kernel logs are as expected.
>>>> <snip>
>>>>
>>>>
>>>>         
>>>>> 6) Herman mentioned something called a "mode-switch" in the archives, 
>>>>> but not any description.
>>>>>           
>>>> I guess he meant the switching between analog, radio and dvb-t. This is the
>>>> GPIO handling and card depending.
>>>>         
>>> Tim must have it from when I mentioned the special case of card=87 and
>>> 94.
>>>
>>>       
>>>>> I tried to find some data sheets for tda8275 tda8290 but only found the 
>>>>> publicity pdf file from Phillips,
>>>>> so at least I can see they go together, so I presume this "mode-switch" 
>>>>> is coded into those modules.
>>>>> But those modules work for all other cards, so now I'm lost again.
>>>>>
>>>>> What else should I try?
>>>>>
>>>>>           
>>>> If my assumptions above are wrong, there is one other chance:
>>>> Recently i saw another card that does the (unusual) mode switching
>>>> like card 87. So to be sure, you might try to force this card type (be
>>>> aware of the antenna inputs, if in doubt, try both.
>>>>
>>>> Best regards
>>>>    Hartmut
>>>>
>>>>         
>>> For the Medion8800 Quad and CTX948 also showing this issue, needs to
>>> tune analog first to have good recepton on DVB-T, they are a little
>>> weaker on analog than other cards, but after that on DVB-T, they are as
>>> good than known good others.
>>>
>>> Cheers,
>>> Hermann
>>>
>>>       
>> 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
>>     
>
> 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.
>
> diff -r 1e295a94038e -r 49ba58715fe0 linux/drivers/media/video/saa7134/saa7134-core.c
> --- a/linux/drivers/media/video/saa7134/saa7134-core.c  Mon Mar 03 22:55:05 2008 +0100
> +++ b/linux/drivers/media/video/saa7134/saa7134-core.c  Sun Mar 16 23:49:43 2008 +0100
> @@ -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
>
>
>   
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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-11 22:14       ` Hartmut Hackmann
@ 2008-04-13  6:00         ` timf
  2008-04-13  7:59           ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13  6:00 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hartmut Hackmann wrote:
> Hi, Tim
>
> timf schrieb:
>> hermann pitton wrote:
>>> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>>>  
>>>> HI, Tim
>>>>
>>>> timf schrieb:
>>>>   
>>>>> Hi Hartmut,
>>>>> OK, found some more spare time, but very, very frustrated!
>>>>>
>>>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   
>>>>> = TDA10046_GP01_I,
>>>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>>>> pinnacle 310i, twinhan 3056
>>>>>
>>>>>     # Australia / Perth (Roleystone transmitter)
>>>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval 
>>>>> hierarchy
>>>>>     # SBS
>>>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>>>     # ABC
>>>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>     # Seven
>>>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>>>     # Nine
>>>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>     # Ten
>>>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>
>>>>> 2) I have these saa7134 cards:
>>>>>     - pinnacle 310i
>>>>>     - kworld 210
>>>>>
>>>>>     This cx88 card:
>>>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>>>
>>>>> -   problem only occurs with kworld 210 in linux (works fine in 
>>>>> WinXP)
>>>>>
>>>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>>>
>>>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>>>
>>>>> 5) In linux, if start analog tv first, stop, then start dvb-t, 
>>>>> scan finds SBS - dmesg2
>>>>>
>>>>>       
>>>> a) The pinnacle 310i finds everything?
>>>>     It has the same chipset, but an almost perfectly handled tuner 
>>>> chip...
>>>>     This means that your initial config file is ok...
>>>> b) Does this mean that in case 4, all other channels are found?
>>>> c) Case 5: This finds everything?
>>>> d) What happens if you use the scan data of the pinnacle card?
>>>>     Does it tune SBS? Does it just take more time to stabilize?
>>>>     This can be understood.
>>>> e) Just to be sure: did you clarify the open point with 
>>>> .antenna_switch
>>>>     (i think so)
>>>> f) the kernel logs are as expected.
>>>> <snip>
>>>>
>>>>
>>>>   
>>>>> 6) Herman mentioned something called a "mode-switch" in the 
>>>>> archives, but not any description.
>>>>>       
>>>> I guess he meant the switching between analog, radio and dvb-t. 
>>>> This is the
>>>> GPIO handling and card depending.
>>>>     
>>>
>>> Tim must have it from when I mentioned the special case of card=87 and
>>> 94.
>>>
>>>  
>>>>> I tried to find some data sheets for tda8275 tda8290 but only 
>>>>> found the publicity pdf file from Phillips,
>>>>> so at least I can see they go together, so I presume this 
>>>>> "mode-switch" is coded into those modules.
>>>>> But those modules work for all other cards, so now I'm lost again.
>>>>>
>>>>> What else should I try?
>>>>>
>>>>>       
>>>> If my assumptions above are wrong, there is one other chance:
>>>> Recently i saw another card that does the (unusual) mode switching
>>>> like card 87. So to be sure, you might try to force this card type (be
>>>> aware of the antenna inputs, if in doubt, try both.
>>>>
>>>> Best regards
>>>>    Hartmut
>>>>
>>>>     
>>>
>>> For the Medion8800 Quad and CTX948 also showing this issue, needs to
>>> tune analog first to have good recepton on DVB-T, they are a little
>>> weaker on analog than other cards, but after that on DVB-T, they are as
>>> good than known good others.
>>>
>>> Cheers,
>>> Hermann
>>>
>>>
>>>   
>> Hi Hartmut and Hermann,
>>
>> a) The pinnacle 310i finds everything?
>>    It has the same chipset, but an almost perfectly handled tuner 
>> chip...
>>    This means that your initial config file is ok...
>>
>> Answer - Yes, the non-working remote (and constant unknown key 
>> messages) is all that is
>> wrong with the pinnacle 310i.
>> I tested it for your new tda8290 tda8275 patches - didn't I send you 
>> the results?
>> It works fine!
>>
>> b) Does this mean that in case 4, all other channels are found?
>>
>> Answer - In linux, if start dvb-t first, never scans SBS
>>     - yes all other channels are viewable/scannable.
>>
>> c) Case 5: This finds everything?
>>
>> Answer - In linux, if start analog tv first, stop, then start dvb-t, 
>> scan finds SBS
>>     - yes all channels are viewable/scannable.
>>
>> d) What happens if you use the scan data of the pinnacle card?
>>    Does it tune SBS? Does it just take more time to stabilize?
>>    This can be understood.
>>
>> Answer - the same answer applies as for b) and c)
>>
>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>    (i think so)
>>
>> Answer - yes that was me being over-enthusiastic - made no difference
>> as you pointed out.
>>
>>
>> OK, this modification has achieved, I think success. I can now 
>> view/scan all channels
>> in analog tv or dvb-t in either order.
>> That is, I now don't have to start analog tv first, before dvb-t will 
>> start.
>>
>> In saa7134- cards.c - no change.
>>
>> In saa7134-dvb.c:
>>
>> Remove this:
>> ------------------------------------
>> static struct tda1004x_config kworld_dvb_t_210_config = {
>>    .demod_address = 0x08,
>>    .invert        = 1,
>>    .invert_oclk   = 0,
>>    .xtal_freq     = TDA10046_XTAL_16M,
>>    .agc_config    = TDA10046_AGC_TDA827X,
>>    .gpio_config   = TDA10046_GP11_I,
>>    .if_freq       = TDA10046_FREQ_045,
>>    .i2c_gate      = 0x4b,
>>    .tuner_address = 0x61,
>>    .antenna_switch= 1,
>>    .request_firmware = philips_tda1004x_request_firmware
>> };
>> ------------------------------
>>
>> Add this:
>>
>> ------------------------------
>> static int kw210_tuner_init(struct dvb_frontend *fe)
>> {
>>    struct saa7134_dev *dev = fe->dvb->priv;
>>    philips_tda827x_tuner_init(fe);
>>    /* route TDA8275a AGC input to the channel decoder */
>>    saa7134_set_gpio(dev, 22, 1);
>>    return 0;
>> }
>>
>> static int kw210_tuner_sleep(struct dvb_frontend *fe)
>> {
>>    struct saa7134_dev *dev = fe->dvb->priv;
>>    /* route TDA8275a AGC input to the analog IF chip*/
>>    saa7134_set_gpio(dev, 22, 0);
>>    philips_tda827x_tuner_sleep(fe);
>>    return 0;
>> }
>>
>> static struct tda827x_config kw210_cfg = {
>>    .tuner_callback = saa7134_tuner_callback,
>>    .init = kw210_tuner_init,
>>    .sleep = kw210_tuner_sleep,
>>    .config = 0
>> };
>>
>> static struct tda1004x_config kworld_dvb_t_210_config = {
>>    .demod_address = 0x08,
>>    .invert        = 1,
>>    .invert_oclk   = 0,
>>    .xtal_freq     = TDA10046_XTAL_16M,
>>    .agc_config    = TDA10046_AGC_TDA827X,
>>    .gpio_config   = TDA10046_GP11_I,
>>    .if_freq       = TDA10046_FREQ_045,
>>    .tuner_address = 0x61,
>>    .request_firmware = philips_tda1004x_request_firmware
>> };
>> ----------------------------
>>
>> Change this:
>>
>>    case SAA7134_BOARD_KWORLD_DVBT_210:
>>        dev->dvb.frontend = dvb_attach(tda10046_attach, 
>> &kworld_dvb_t_210_config, &dev->i2c_adap);
>>        if (dev->dvb.frontend) {
>>            if (dvb_attach(tda827x_attach,dev->dvb.frontend,
>>                   kworld_dvb_t_210_config.tuner_address, &dev->i2c_adap,
>>                                &kw210_cfg) == NULL) {
>>                wprintk("no tda827x tuner found at addr: %02x\n",
>>                    kworld_dvb_t_210_config.tuner_address);
>>            }
>>        }
>>        break;
>> ---------------------------------------------
>>
>> However, I need you to explain something for me.
>>
>> There is no difference if I use this:
>>
>>    saa7134_set_gpio(dev, 22, 1);
>>
>> or this:
>>
>>    saa7134_set_gpio(dev, 21, 1);
>>
>> I await your guidance, meanwhile I shall apply my
>> modification to enable the remote and ensure it
>> doesn't have any effect.
>>
>> Many thanks to you both,
>>
>> Regards,
>> Tim
>>
> Again progress, excellent!
> I think we will need one further interation. If i go through your
> changes and comments, i come to the opinion that we will get the same
> with less changes. But if i understand this right, its astonishing 
> that your
> card worked a bit. But let me go through your last patch again tomorrow -
> i am too tired now.
>
> Best regards
>   Hartmut
>
Hi Hartmut,

I was wrong:

->There is no difference if I use this:

->   saa7134_set_gpio(dev, 22, 1);

->or this:

->   saa7134_set_gpio(dev, 21, 1);

This is wrong.
It only works at all when it is this:   saa7134_set_gpio(dev, 22, 1);

With this:   saa7134_set_gpio(dev, 21, 1); it does not scan anything at all.

I proved this out by modifying the source, rebuild v4l-dvb,
and then instead of rebooting, I power-cycled each time.


There are 2 problems here:
1) With no modification, I must switch to analog tv before I can switch 
to dvb-t.
    If I am using Kaffeine, and then wish to use Me-tv, I must view 
analog tv
    in between.

2) With no modification, dvb-t will not scan SBS unless analog tv viewed 
first.


With this modification, both problems vanish.

I have not yet tested radio.

Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13  6:00         ` timf
@ 2008-04-13  7:59           ` timf
  2008-04-13 15:54             ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13  7:59 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

timf wrote:
> Hartmut Hackmann wrote:
>   
>> Hi, Tim
>>
>> timf schrieb:
>>     
>>> hermann pitton wrote:
>>>       
>>>> Am Freitag, den 11.04.2008, 00:08 +0200 schrieb Hartmut Hackmann:
>>>>  
>>>>         
>>>>> HI, Tim
>>>>>
>>>>> timf schrieb:
>>>>>   
>>>>>           
>>>>>> Hi Hartmut,
>>>>>> OK, found some more spare time, but very, very frustrated!
>>>>>>
>>>>>> 1) Tried ubuntu 7.04, 7.10, 8.04
>>>>>>     Tried with just modules that exist in kernel (no v4l-dvb)
>>>>>>    Tried v4l-dvb from June 2007 and tried current v4l-dvb
>>>>>>    Tried with/without Hartmut patch - changeset 7376    49ba58715fe0
>>>>>>    Tried with .gpio_config   = TDA10046_GP11_I, or .gpio_config   
>>>>>> = TDA10046_GP01_I,
>>>>>>    Tried using configs in saa7134-dvb.c matching tiger, tiger_s, 
>>>>>> pinnacle 310i, twinhan 3056
>>>>>>
>>>>>>     # Australia / Perth (Roleystone transmitter)
>>>>>>     # T freq bw fec_hi fec_lo mod transmission-mode guard-interval 
>>>>>> hierarchy
>>>>>>     # SBS
>>>>>>     T 704500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE
>>>>>>     # ABC
>>>>>>     T 725500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>>     # Seven
>>>>>>     T 746500000 7MHz 2/3 NONE QAM64 8k 1/16 NONE
>>>>>>     # Nine
>>>>>>     T 767500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>>     # Ten
>>>>>>     T 788500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE
>>>>>>
>>>>>> 2) I have these saa7134 cards:
>>>>>>     - pinnacle 310i
>>>>>>     - kworld 210
>>>>>>
>>>>>>     This cx88 card:
>>>>>>     - dvico DVB-T Pro hybrid (analog tv not work)
>>>>>>
>>>>>> -   problem only occurs with kworld 210 in linux (works fine in 
>>>>>> WinXP)
>>>>>>
>>>>>> 3) In WinXP, all channels, both analog tv and dvb-t found
>>>>>>
>>>>>> 4) In linux, if start dvb-t first, never scans SBS - dmesg1
>>>>>>
>>>>>> 5) In linux, if start analog tv first, stop, then start dvb-t, 
>>>>>> scan finds SBS - dmesg2
>>>>>>
>>>>>>       
>>>>>>             
>>>>> a) The pinnacle 310i finds everything?
>>>>>     It has the same chipset, but an almost perfectly handled tuner 
>>>>> chip...
>>>>>     This means that your initial config file is ok...
>>>>> b) Does this mean that in case 4, all other channels are found?
>>>>> c) Case 5: This finds everything?
>>>>> d) What happens if you use the scan data of the pinnacle card?
>>>>>     Does it tune SBS? Does it just take more time to stabilize?
>>>>>     This can be understood.
>>>>> e) Just to be sure: did you clarify the open point with 
>>>>> .antenna_switch
>>>>>     (i think so)
>>>>> f) the kernel logs are as expected.
>>>>> <snip>
>>>>>
>>>>>
>>>>>   
>>>>>           
>>>>>> 6) Herman mentioned something called a "mode-switch" in the 
>>>>>> archives, but not any description.
>>>>>>       
>>>>>>             
>>>>> I guess he meant the switching between analog, radio and dvb-t. 
>>>>> This is the
>>>>> GPIO handling and card depending.
>>>>>     
>>>>>           
>>>> Tim must have it from when I mentioned the special case of card=87 and
>>>> 94.
>>>>
>>>>  
>>>>         
>>>>>> I tried to find some data sheets for tda8275 tda8290 but only 
>>>>>> found the publicity pdf file from Phillips,
>>>>>> so at least I can see they go together, so I presume this 
>>>>>> "mode-switch" is coded into those modules.
>>>>>> But those modules work for all other cards, so now I'm lost again.
>>>>>>
>>>>>> What else should I try?
>>>>>>
>>>>>>       
>>>>>>             
>>>>> If my assumptions above are wrong, there is one other chance:
>>>>> Recently i saw another card that does the (unusual) mode switching
>>>>> like card 87. So to be sure, you might try to force this card type (be
>>>>> aware of the antenna inputs, if in doubt, try both.
>>>>>
>>>>> Best regards
>>>>>    Hartmut
>>>>>
>>>>>     
>>>>>           
>>>> For the Medion8800 Quad and CTX948 also showing this issue, needs to
>>>> tune analog first to have good recepton on DVB-T, they are a little
>>>> weaker on analog than other cards, but after that on DVB-T, they are as
>>>> good than known good others.
>>>>
>>>> Cheers,
>>>> Hermann
>>>>
>>>>
>>>>   
>>>>         
>>> Hi Hartmut and Hermann,
>>>
>>> a) The pinnacle 310i finds everything?
>>>    It has the same chipset, but an almost perfectly handled tuner 
>>> chip...
>>>    This means that your initial config file is ok...
>>>
>>> Answer - Yes, the non-working remote (and constant unknown key 
>>> messages) is all that is
>>> wrong with the pinnacle 310i.
>>> I tested it for your new tda8290 tda8275 patches - didn't I send you 
>>> the results?
>>> It works fine!
>>>
>>> b) Does this mean that in case 4, all other channels are found?
>>>
>>> Answer - In linux, if start dvb-t first, never scans SBS
>>>     - yes all other channels are viewable/scannable.
>>>
>>> c) Case 5: This finds everything?
>>>
>>> Answer - In linux, if start analog tv first, stop, then start dvb-t, 
>>> scan finds SBS
>>>     - yes all channels are viewable/scannable.
>>>
>>> d) What happens if you use the scan data of the pinnacle card?
>>>    Does it tune SBS? Does it just take more time to stabilize?
>>>    This can be understood.
>>>
>>> Answer - the same answer applies as for b) and c)
>>>
>>> e) Just to be sure: did you clarify the open point with .antenna_switch
>>>    (i think so)
>>>
>>> Answer - yes that was me being over-enthusiastic - made no difference
>>> as you pointed out.
>>>
>>>
>>> OK, this modification has achieved, I think success. I can now 
>>> view/scan all channels
>>> in analog tv or dvb-t in either order.
>>> That is, I now don't have to start analog tv first, before dvb-t will 
>>> start.
>>>
>>> In saa7134- cards.c - no change.
>>>
>>> In saa7134-dvb.c:
>>>
>>> Remove this:
>>> ------------------------------------
>>> static struct tda1004x_config kworld_dvb_t_210_config = {
>>>    .demod_address = 0x08,
>>>    .invert        = 1,
>>>    .invert_oclk   = 0,
>>>    .xtal_freq     = TDA10046_XTAL_16M,
>>>    .agc_config    = TDA10046_AGC_TDA827X,
>>>    .gpio_config   = TDA10046_GP11_I,
>>>    .if_freq       = TDA10046_FREQ_045,
>>>    .i2c_gate      = 0x4b,
>>>    .tuner_address = 0x61,
>>>    .antenna_switch= 1,
>>>    .request_firmware = philips_tda1004x_request_firmware
>>> };
>>> ------------------------------
>>>
>>> Add this:
>>>
>>> ------------------------------
>>> static int kw210_tuner_init(struct dvb_frontend *fe)
>>> {
>>>    struct saa7134_dev *dev = fe->dvb->priv;
>>>    philips_tda827x_tuner_init(fe);
>>>    /* route TDA8275a AGC input to the channel decoder */
>>>    saa7134_set_gpio(dev, 22, 1);
>>>    return 0;
>>> }
>>>
>>> static int kw210_tuner_sleep(struct dvb_frontend *fe)
>>> {
>>>    struct saa7134_dev *dev = fe->dvb->priv;
>>>    /* route TDA8275a AGC input to the analog IF chip*/
>>>    saa7134_set_gpio(dev, 22, 0);
>>>    philips_tda827x_tuner_sleep(fe);
>>>    return 0;
>>> }
>>>
>>> static struct tda827x_config kw210_cfg = {
>>>    .tuner_callback = saa7134_tuner_callback,
>>>    .init = kw210_tuner_init,
>>>    .sleep = kw210_tuner_sleep,
>>>    .config = 0
>>> };
>>>
>>> static struct tda1004x_config kworld_dvb_t_210_config = {
>>>    .demod_address = 0x08,
>>>    .invert        = 1,
>>>    .invert_oclk   = 0,
>>>    .xtal_freq     = TDA10046_XTAL_16M,
>>>    .agc_config    = TDA10046_AGC_TDA827X,
>>>    .gpio_config   = TDA10046_GP11_I,
>>>    .if_freq       = TDA10046_FREQ_045,
>>>    .tuner_address = 0x61,
>>>    .request_firmware = philips_tda1004x_request_firmware
>>> };
>>> ----------------------------
>>>
>>> Change this:
>>>
>>>    case SAA7134_BOARD_KWORLD_DVBT_210:
>>>        dev->dvb.frontend = dvb_attach(tda10046_attach, 
>>> &kworld_dvb_t_210_config, &dev->i2c_adap);
>>>        if (dev->dvb.frontend) {
>>>            if (dvb_attach(tda827x_attach,dev->dvb.frontend,
>>>                   kworld_dvb_t_210_config.tuner_address, &dev->i2c_adap,
>>>                                &kw210_cfg) == NULL) {
>>>                wprintk("no tda827x tuner found at addr: %02x\n",
>>>                    kworld_dvb_t_210_config.tuner_address);
>>>            }
>>>        }
>>>        break;
>>> ---------------------------------------------
>>>
>>> However, I need you to explain something for me.
>>>
>>> There is no difference if I use this:
>>>
>>>    saa7134_set_gpio(dev, 22, 1);
>>>
>>> or this:
>>>
>>>    saa7134_set_gpio(dev, 21, 1);
>>>
>>> I await your guidance, meanwhile I shall apply my
>>> modification to enable the remote and ensure it
>>> doesn't have any effect.
>>>
>>> Many thanks to you both,
>>>
>>> Regards,
>>> Tim
>>>
>>>       
>> Again progress, excellent!
>> I think we will need one further interation. If i go through your
>> changes and comments, i come to the opinion that we will get the same
>> with less changes. But if i understand this right, its astonishing 
>> that your
>> card worked a bit. But let me go through your last patch again tomorrow -
>> i am too tired now.
>>
>> Best regards
>>   Hartmut
>>
>>     
> Hi Hartmut,
>
> I was wrong:
>
> ->There is no difference if I use this:
>
> ->   saa7134_set_gpio(dev, 22, 1);
>
> ->or this:
>
> ->   saa7134_set_gpio(dev, 21, 1);
>
> This is wrong.
> It only works at all when it is this:   saa7134_set_gpio(dev, 22, 1);
>
> With this:   saa7134_set_gpio(dev, 21, 1); it does not scan anything at all.
>
> I proved this out by modifying the source, rebuild v4l-dvb,
> and then instead of rebooting, I power-cycled each time.
>
>
> There are 2 problems here:
> 1) With no modification, I must switch to analog tv before I can switch 
> to dvb-t.
>     If I am using Kaffeine, and then wish to use Me-tv, I must view 
> analog tv
>     in between.
>
> 2) With no modification, dvb-t will not scan SBS unless analog tv viewed 
> first.
>
>
> With this modification, both problems vanish.
>
> I have not yet tested radio.
>
> Regards,
> Tim
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
>   
Hi Hartmut,

OK, tried to test radio with gradio, can't get any frequency to lock.

Now, switching to radio then causes analog tv to have a very weak signal 
- only 1 channel will scan with very noisy picture.

Then need to power-cycle to revert to good system.

 From syslog:
Apr 13 14:15:47 ubuntu kernel: [ 3863.073092] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:15:47 ubuntu kernel: [ 3863.193072] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:15:47 ubuntu kernel: [ 3863.297056] tda829x 0-004b: adjust 
gain, step 1. Agc: 0, ADC stat: 0, lock: 0
Apr 13 14:15:47 ubuntu kernel: [ 3863.441033] tda829x 0-004b: adjust 
gain, step 2. Agc: 204, lock: 0
Apr 13 14:15:47 ubuntu kernel: [ 3863.585010] tda829x 0-004b: adjust 
gain, step 3. Agc: 123
Apr 13 14:15:47 ubuntu kernel: [ 3863.721163] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:15:48 ubuntu kernel: [ 3863.737067] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:15:48 ubuntu kernel: [ 3863.752986] tuner' 0-004b: Cmd 
VIDIOC_S_TUNER accepted for radio
Apr 13 14:15:48 ubuntu kernel: [ 3863.752990] tda829x 0-004b: setting 
tda829x to system B
Apr 13 14:15:48 ubuntu kernel: [ 3863.856965] tda827x: setting tda827x 
to system B
Apr 13 14:15:48 ubuntu kernel: [ 3863.912956] tda827x: AGC2 gain is: 10
Apr 13 14:15:48 ubuntu kernel: [ 3864.240905] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:15:48 ubuntu kernel: [ 3864.360885] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:15:48 ubuntu kernel: [ 3864.480865] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:15:48 ubuntu kernel: [ 3864.584849] tda829x 0-004b: adjust 
gain, step 1. Agc: 0, ADC stat: 0, lock: 0
Apr 13 14:15:48 ubuntu kernel: [ 3864.728828] tda829x 0-004b: adjust 
gain, step 2. Agc: 209, lock: 0
Apr 13 14:15:49 ubuntu kernel: [ 3864.872802] tda829x 0-004b: adjust 
gain, step 3. Agc: 129
Apr 13 14:17:08 ubuntu kernel: [ 3944.108802] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:17:08 ubuntu kernel: [ 3944.132069] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio

-> I know the local FM station is 107.3MHz and can tune it in with WinXP

Apr 13 14:17:08 ubuntu kernel: [ 3944.148049] tuner' 0-004b: radio freq 
set to 107.30
Apr 13 14:17:08 ubuntu kernel: [ 3944.148054] tda829x 0-004b: setting 
tda829x to system B
Apr 13 14:17:08 ubuntu kernel: [ 3944.256024] tda827x: setting tda827x 
to system B
Apr 13 14:17:08 ubuntu kernel: [ 3944.324013] tda827x: AGC2 gain is: 10
Apr 13 14:17:08 ubuntu kernel: [ 3944.651961] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:09 ubuntu kernel: [ 3944.771941] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:09 ubuntu kernel: [ 3944.891922] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:09 ubuntu kernel: [ 3944.995906] tda829x 0-004b: adjust 
gain, step 1. Agc: 0, ADC stat: 0, lock: 0
Apr 13 14:17:09 ubuntu kernel: [ 3945.143884] tda829x 0-004b: adjust 
gain, step 2. Agc: 229, lock: 0
Apr 13 14:17:09 ubuntu kernel: [ 3945.291857] tda829x 0-004b: adjust 
gain, step 3. Agc: 149
Apr 13 14:17:09 ubuntu kernel: [ 3945.432058] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:17:09 ubuntu kernel: [ 3945.451896] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:17:09 ubuntu kernel: [ 3945.467841] tuner' 0-004b: Cmd 
VIDIOC_S_TUNER accepted for radio
Apr 13 14:17:09 ubuntu kernel: [ 3945.467845] tda829x 0-004b: setting 
tda829x to system B
Apr 13 14:17:09 ubuntu kernel: [ 3945.575812] tda827x: setting tda827x 
to system B
Apr 13 14:17:09 ubuntu kernel: [ 3945.643801] tda827x: AGC2 gain is: 10
Apr 13 14:17:10 ubuntu kernel: [ 3945.971749] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:10 ubuntu kernel: [ 3946.091729] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:10 ubuntu kernel: [ 3946.211710] tda829x 0-004b: tda8290 
not locked, no signal?
Apr 13 14:17:10 ubuntu kernel: [ 3946.315694] tda829x 0-004b: adjust 
gain, step 1. Agc: 0, ADC stat: 0, lock: 0
Apr 13 14:17:10 ubuntu kernel: [ 3946.463670] tda829x 0-004b: adjust 
gain, step 2. Agc: 231, lock: 0
Apr 13 14:17:10 ubuntu kernel: [ 3946.611645] tda829x 0-004b: adjust 
gain, step 3. Agc: 150
Apr 13 14:17:20 ubuntu kernel: [ 3956.031282] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio
Apr 13 14:17:20 ubuntu kernel: [ 3956.046878] tuner' 0-004b: Cmd 
VIDIOC_G_TUNER accepted for radio


So, the radio config isn't correct.

I'll keep digging.

Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13  7:59           ` timf
@ 2008-04-13 15:54             ` timf
  2008-04-13 17:08               ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13 15:54 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

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

.gpiomask = 1 << 21, is equivalent to:
GPIO 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
gpiomask 0x00200000 = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

from syslog:

Apr 13 22:31:56 ubuntu kernel: [ 148.955428] tda1004x: setting up plls 
for 48MHz sampling clock
Apr 13 22:31:56 ubuntu kernel: [ 149.239381] tda1004x: found firmware 
revision 29 -- ok
Apr 13 22:31:57 ubuntu kernel: [ 149.431357] tda827x: tda827x_init:
Apr 13 22:31:57 ubuntu kernel: [ 149.431365] saa7133[0]/core: setting 
GPIO22 to static 1
Apr 13 22:32:00 ubuntu kernel: [ 153.155969] tda827x: tda827xa_set_params:
Apr 13 22:32:01 ubuntu kernel: [ 153.387931] tda827x: tda8275a AGC2 gain 
is: 7


Apr 13 22:32:08 ubuntu kernel: [ 160.737003] saa7133[0]/core: setting 
GPIO22 to static 0
Apr 13 22:35:28 ubuntu ntpd[5532]: Listening on interface #6 eth0, 
fe80::21b:fcff:feb3:8532#123 Enabled
Apr 13 22:35:28 ubuntu ntpd[5532]: Listening on interface #7 eth0, 
10.1.1.5#123 Enabled
Apr 13 22:47:11 ubuntu kernel: [ 1063.436570] tuner' 0-004b: Cmd 
VIDIOC_S_STD accepted for analog TV

Seems to be:
GPIO22 = 1 for DVB-T
GPIO22 = 0 for analog-tv

What then for radio? Perhaps GPIO21 is radio?
Try this:
.gpiomask = 0 << 22
GPIO 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
gpiomask 0x00000000 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Should give start with analog-tv = on; radio =off
.gpio = 0x00200000, for radio on (GPIO21 = 1)
Result:
No radio, but dvb-t, analog-tv is ok.

My guess is that GPIO22 = 1 (dvb-t); = 0 (analog-tv, default)
GPIO21 = 0 or 1 for radio
But you would have to switch antenna from TV to radio via demux first?
I can't see where/how to do that.

It seems as if the gpiomask should be applied to GPIO22? Then how to 
start radio?

Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 15:54             ` timf
@ 2008-04-13 17:08               ` timf
  2008-04-13 18:56                 ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13 17:08 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

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

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 17:08               ` timf
@ 2008-04-13 18:56                 ` Hartmut Hackmann
  2008-04-13 19:25                   ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-13 18:56 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

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

I will try to reply to all your last mails with this

> 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
> 
That's a common configuration.

> 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.

> 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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 18:56                 ` Hartmut Hackmann
@ 2008-04-13 19:25                   ` timf
  2008-04-13 20:23                     ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13 19:25 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

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

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 19:25                   ` timf
@ 2008-04-13 20:23                     ` Hartmut Hackmann
  2008-04-13 21:08                       ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-13 20:23 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi, Tim

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

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 20:23                     ` Hartmut Hackmann
@ 2008-04-13 21:08                       ` timf
  2008-04-13 21:41                         ` Hartmut Hackmann
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-13 21:08 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hartmut Hackmann wrote:
> Hi, Tim
> <snip>
>>>
>>> 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
>>>
>> 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;
>> ...
>> <snip>
> 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
>

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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 21:08                       ` timf
@ 2008-04-13 21:41                         ` Hartmut Hackmann
  2008-04-13 22:11                           ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-13 21:41 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi,

timf schrieb:
> Hartmut Hackmann wrote:
>> Hi, Tim
>> <snip>
>>>>
>>>> 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
>>>>
>>> Hi Hartmut,
>>>
>>>

<snip>

> 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.
> 

Things should look like this.

> 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"
> 
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

> 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:
> 
I don't believe that this is right.
It is just a static signal and can't be anything else.

>    [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,

This is wrong. It has to be .gpio = 0x0200000, as it was in the original
source code.

>        },
>    },
> 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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 21:41                         ` Hartmut Hackmann
@ 2008-04-13 22:11                           ` timf
  2008-04-13 22:35                             ` timf
  2008-04-13 22:53                             ` Hartmut Hackmann
  0 siblings, 2 replies; 32+ messages in thread
From: timf @ 2008-04-13 22:11 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hartmut Hackmann wrote:
> Hi,
>
> timf schrieb:
>> Hartmut Hackmann wrote:
>>> Hi, Tim
>>> <snip>
>>>>>
>>>>> 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
>>>>>
>>>> Hi Hartmut,
>>>>
>>>>
>
> <snip>
>
>> 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.
>>
>
> Things should look like this.
>
>> 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"
>>
> 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
>
>> 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:
>>
> I don't believe that this is right.
> It is just a static signal and can't be anything else.
>
>>    [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,
>
> This is wrong. It has to be .gpio = 0x0200000, as it was in the original
> source code.
>
>>        },
>>    },
>> 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
>
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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 22:11                           ` timf
@ 2008-04-13 22:35                             ` timf
  2008-04-13 22:53                             ` Hartmut Hackmann
  1 sibling, 0 replies; 32+ messages in thread
From: timf @ 2008-04-13 22:35 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

timf wrote:
> Hartmut Hackmann wrote:
>   
>> Hi,
>>
>> timf schrieb:
>>     
>>> Hartmut Hackmann wrote:
>>>       
>>>> Hi, Tim
>>>> <snip>
>>>>         
>>>>>> 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
>>>>>>
>>>>>>             
>>>>> Hi Hartmut,
>>>>>
>>>>>
>>>>>           
>> <snip>
>>
>>     
>>> 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.
>>>
>>>       
>> Things should look like this.
>>
>>     
>>> 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"
>>>
>>>       
>> 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
>>
>>     
>>> 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:
>>>
>>>       
>> I don't believe that this is right.
>> It is just a static signal and can't be anything else.
>>
>>     
>>>    [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,
>>>       
>> This is wrong. It has to be .gpio = 0x0200000, as it was in the original
>> source code.
>>
>>     
>>>        },
>>>    },
>>> 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
>>
>>     
> 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
> linux-dvb@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
>
> And 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_LOCK
>
> root@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"/>
>   </list>
> </stationlist> 
>
>   
Regards,
Tim

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 22:11                           ` timf
  2008-04-13 22:35                             ` timf
@ 2008-04-13 22:53                             ` Hartmut Hackmann
  2008-04-14 14:10                               ` timf
  1 sibling, 1 reply; 32+ messages in thread
From: Hartmut Hackmann @ 2008-04-13 22:53 UTC (permalink / raw
  To: timf; +Cc: linux-dvb

Hi

timf schrieb:
> Hartmut Hackmann wrote:
>> Hi,
>>
>> timf schrieb:
>>> Hartmut Hackmann wrote:
>>>> Hi, Tim
>>>> <snip>
>>>>>>
>>>>>> 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
>>>>>>
>>>>> Hi Hartmut,
>>>>>
>>>>>
>>
>> <snip>
>>
>>> 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.
>>>
>>
>> Things should look like this.
>>
>>> 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"
>>>
>> 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
>>
>>> 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:
>>>
>> I don't believe that this is right.
>> It is just a static signal and can't be anything else.
>>
>>>    [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,
>>
>> This is wrong. It has to be .gpio = 0x0200000, as it was in the original
>> source code.
>>
>>>        },
>>>    },
>>> 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
>>
> 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
> 
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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-13 22:53                             ` Hartmut Hackmann
@ 2008-04-14 14:10                               ` timf
  2008-04-15  0:42                                 ` hermann pitton
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-04-14 14:10 UTC (permalink / raw
  To: Hartmut Hackmann; +Cc: linux-dvb

Hartmut Hackmann wrote:
> Hi
> <snip>
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
>

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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-04-14 14:10                               ` timf
@ 2008-04-15  0:42                                 ` hermann pitton
  0 siblings, 0 replies; 32+ messages in thread
From: hermann pitton @ 2008-04-15  0:42 UTC (permalink / raw
  To: timf; +Cc: Hartmut Hackmann, linux-dvb

Am Montag, den 14.04.2008, 22:10 +0800 schrieb timf:
> Hartmut Hackmann wrote:
> > Hi
> > <snip>
> 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
> >
> 
> 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


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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
       [not found]         ` <1213744559.11684.4.camel@asus.lounge>
@ 2008-06-18  2:12           ` timf
  2008-06-18  2:51             ` timf
  0 siblings, 1 reply; 32+ messages in thread
From: timf @ 2008-06-18  2:12 UTC (permalink / raw
  To: Allen, linux-dvb, video4linux-list, hermann pitton

Allen wrote:
> Tim,
>
> I was just sorting through some old emails from linuxtv archive, and
> came across
>
>   
>> PS. I've actually managed to get the remote to work through a very
>> convoluted approach via the archives (Hermann), using ir-kbd-i2c.c,
>> saa7134-i2c.c. But it's no use unless we can fix this tuning/scanning
>> issue.
>>     
>
> I have a kw 220rf which I think might be very similar.  
>
> Despite repeated attempts to get the remote working, I have never been
> able to get it to respond in any fashion.  Could you please describe how
> you got it to function, and any problems with operation.
>
> Thanks,
>
> Allen
>
>   
Hi Steve,
Please cc to these mail lists so others can be helpful to you, as well.
You will find Hermann has some answers for saa7134 i2c remotes.
I will paste here my mods, so that others may be able to help get it
going.

This code is an adaptation of originally Henry Wong's work,
and much further work by numerous people across the planet.
Until recently this modification enabled a working remote control
for the Kworld 210RF.
This card has a KS007 remote controller chip.

Since that time, the i2c code in v4l-dvb has undergone a
substantial transition.

Thus this code no longer works, in particular, within ir-kbd-i2c.c
This is the only success I have ever had in getting an i2c
remote control to work in saa7134.

As I have had a few problems with this card working properly,
I basically lost interest.

Perhaps others with a Kworld 210RF or a Kworld 220RF card
can get it working again.

***************************************************************
Mods to /v4l-dvb/linux/include/media/ir-common.h

extern IR_KEYTAB_TYPE ir_codes_kworld_210[IR_KEYTAB_SIZE];
***************************************************************
Mods to /v4l-dvb/linux/drivers/media/common/ir-keymaps.c

IR_KEYTAB_TYPE ir_codes_kworld_210[IR_KEYTAB_SIZE] = {
    [ 0x00 ] = KEY_1,
    [ 0x01 ] = KEY_2,
    [ 0x02 ] = KEY_3,
    [ 0x03 ] = KEY_4,
    [ 0x04 ] = KEY_5,
    [ 0x05 ] = KEY_6,
    [ 0x06 ] = KEY_7,
    [ 0x07 ] = KEY_8,
    [ 0x08 ] = KEY_9,
    [ 0x09 ] = KEY_BACKSPACE,
    [ 0x0a ] = KEY_0,
    [ 0x0b ] = KEY_ENTER,
    [ 0x0c ] = KEY_POWER,
    [ 0x0d ] = KEY_SUBTITLE,
    [ 0x0e ] = KEY_VIDEO,
    [ 0x0f ] = KEY_CAMERA,
    [ 0x10 ] = KEY_CHANNELUP,
    [ 0x11 ] = KEY_CHANNELDOWN,
    [ 0x12 ] = KEY_VOLUMEDOWN,
    [ 0x13 ] = KEY_VOLUMEUP,
    [ 0x14 ] = KEY_MUTE,
    [ 0x15 ] = KEY_AUDIO,
    [ 0x16 ] = KEY_TV,
    [ 0x17 ] = KEY_ZOOM,
    [ 0x18 ] = KEY_PRINT,
    [ 0x19 ] = KEY_SETUP,
    [ 0x1a ] = KEY_STOP,
    [ 0x1b ] = KEY_RECORD,
    [ 0x1c ] = KEY_TEXT,
    [ 0x1d ] = KEY_REWIND,
    [ 0x1e ] = KEY_FASTFORWARD,
    [ 0x1f ] = KEY_SHUFFLE,
    [ 0x45 ] = KEY_STOP,
    [ 0x44 ] = KEY_PLAY,
};
EXPORT_SYMBOL_GPL(ir_codes_kworld_210);
***************************************************************
Mods to /v4l-dvb/linux/drivers/media/video/saa7134/saa7134-i2c.c
...
    /* Am I an i2c remote control? */

    switch (client->addr) {
        case 0x7a:
        case 0x47:
        case 0x71:
        case 0x2d:
        case 0x30: /*for kw210 remote control*/
        {
...

static char *i2c_devs[128] = {
    [ 0x20      ] = "mpeg encoder (saa6752hs)",
    [ 0xa0 >> 1 ] = "eeprom",
    [ 0xc0 >> 1 ] = "tuner (analog)",
    [ 0x86 >> 1 ] = "tda9887",
    [ 0x5a >> 1 ] = "remote control",
    [ 0x30      ] = "kw210 remote control",
};
...
***************************************************************
Mods to /v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c
...

static int get_key_kworld_210(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
{
    unsigned char b;

    /* poll IR chip */
    if (1 != i2c_master_recv(&ir->c,&b,1)) {
        dprintk(1,"read error\n");
        return -EIO;
    }

    /* it seems that 0x80 indicates that a button is still hold
       down, while 0xff indicates that no button is hold
       down. 0x80 sequences are sometimes interrupted by 0xFF */

    dprintk(2,"key %02x\n", b);

    if (b == 0xff)
        return 0;

    if (b == 0x80)
        /* keep old data */
        return 1;

    *ir_key = b;
    *ir_raw = b;
    return 1;
}
...
/*Unless the timer is modified, you have time to make a cup of tea while 
waiting
* for a response after pressing a key
*/
static int polling_interval = 100; /* ms */
...
static void ir_timer(unsigned long data)
{
    struct IR_i2c *ir = (struct IR_i2c*)data;
    schedule_work(&ir->work);
}
...
static void ir_work(struct work_struct *work)
#endif
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
    struct IR_i2c *ir = data;
#else
    struct IR_i2c *ir = container_of(work, struct IR_i2c, work);
#endif

    ir_key_poll(ir);
    /*kw210 improve key-response time*/
    mod_timer(&ir->timer, jiffies + polling_interval*HZ/1000);
}
...
/*needed to select between cards with same i2c address for remote 
controller*/
static int kWorld_210 = 0;
...
    case 0x30:
        ir_type     = IR_TYPE_OTHER;
/*add kw210 card*/
        if (kWorld_210 == 1) {
            name        = "kWoRlD210";
            ir->get_key = get_key_kworld_210;
            ir_codes    = ir_codes_kworld_210;
        } else {
            name        = "KNC One";
            ir->get_key = get_key_knc1;
            ir_codes    = ir_codes_empty;
        } 
        break;
...
static int ir_probe(struct i2c_adapter *adap)
{
...

    static const int probe_bttv[] = { 0x1a, 0x18, 0x4b, 0x64, 0x30, -1};
/*add 0x30*/
    static const int probe_saa7134[] = { 0x7a, 0x47, 0x71, 0x2d, 0x30, -1 };
...
    c->adapter = adap;
    for (i = 0; -1 != probe[i]; i++) {
        c->addr = probe[i];
        rc = i2c_master_recv(c, &buf, 0);
/*mod added here to "wake up" kw210 remote controller chip*/
        if (adap->id == I2C_HW_SAA7134 && probe[i] == 0x30)
        {
            struct i2c_client c2;
            memset (&c2, 0, sizeof(c2));
            c2.adapter = adap;   
            for (c2.addr=127; c2.addr > 0; c2.addr--) {
                if (0 == i2c_master_recv(&c2,&buf,0)) {
                    dprintk(1,"Found another device, at addr 0x%02x\n", 
c2.addr);
                    break;
                }
            }

            /* Now do the probe. The controller does not respond
               to 0-byte reads, so we use a 1-byte read instead. */
            rc = i2c_master_recv(c,&buf,1);
            rc--;
            kWorld_210 = 1;
        } else {
            rc = i2c_master_recv(c,&buf,0);
        }
        dprintk(1,"probe 0x%02x @ %s: %s\n",
            probe[i], adap->name,
            (0 == rc) ? "yes" : "no");
        if (0 == rc) {
            ir_attach(adap, probe[i], 0, 0);
            break;
        }
    }
    kfree(c);
    return 0;
}
***************************************************************

Regards,
Timf

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [linux-dvb] Kworld DVB-T 210 - dvb tuning problem
  2008-06-18  2:12           ` timf
@ 2008-06-18  2:51             ` timf
  0 siblings, 0 replies; 32+ messages in thread
From: timf @ 2008-06-18  2:51 UTC (permalink / raw
  To: Allen, linux-dvb, video4linux-list, hermann pitton

timf wrote:
> Allen wrote:
>   
>> Tim,
>>
>> I was just sorting through some old emails from linuxtv archive, and
>> came across
>>
>>   
>>     
>>> PS. I've actually managed to get the remote to work through a very
>>> convoluted approach via the archives (Hermann), using ir-kbd-i2c.c,
>>> saa7134-i2c.c. But it's no use unless we can fix this tuning/scanning
>>> issue.
>>>     
>>>       
>> I have a kw 220rf which I think might be very similar.  
>>
>> Despite repeated attempts to get the remote working, I have never been
>> able to get it to respond in any fashion.  Could you please describe how
>> you got it to function, and any problems with operation.
>>
>> Thanks,
>>
>> Allen
>>
>>   
>>     
> Hi Steve,
>   
Woops! Profuse apologies, I of course meant Hi Allen,
(too many email replies is my only excuse)
> Please cc to these mail lists so others can be helpful to you, as well.
> You will find Hermann has some answers for saa7134 i2c remotes.
> I will paste here my mods, so that others may be able to help get it
> going.
>
> This code is an adaptation of originally Henry Wong's work,
> and much further work by numerous people across the planet.
> Until recently this modification enabled a working remote control
> for the Kworld 210RF.
> This card has a KS007 remote controller chip.
>
> Since that time, the i2c code in v4l-dvb has undergone a
> substantial transition.
>
> Thus this code no longer works, in particular, within ir-kbd-i2c.c
> This is the only success I have ever had in getting an i2c
> remote control to work in saa7134.
>
> As I have had a few problems with this card working properly,
> I basically lost interest.
>
> Perhaps others with a Kworld 210RF or a Kworld 220RF card
> can get it working again.
>
> ***************************************************************
> Mods to /v4l-dvb/linux/include/media/ir-common.h
>
> extern IR_KEYTAB_TYPE ir_codes_kworld_210[IR_KEYTAB_SIZE];
> ***************************************************************
> Mods to /v4l-dvb/linux/drivers/media/common/ir-keymaps.c
>
> IR_KEYTAB_TYPE ir_codes_kworld_210[IR_KEYTAB_SIZE] = {
>     [ 0x00 ] = KEY_1,
>     [ 0x01 ] = KEY_2,
>     [ 0x02 ] = KEY_3,
>     [ 0x03 ] = KEY_4,
>     [ 0x04 ] = KEY_5,
>     [ 0x05 ] = KEY_6,
>     [ 0x06 ] = KEY_7,
>     [ 0x07 ] = KEY_8,
>     [ 0x08 ] = KEY_9,
>     [ 0x09 ] = KEY_BACKSPACE,
>     [ 0x0a ] = KEY_0,
>     [ 0x0b ] = KEY_ENTER,
>     [ 0x0c ] = KEY_POWER,
>     [ 0x0d ] = KEY_SUBTITLE,
>     [ 0x0e ] = KEY_VIDEO,
>     [ 0x0f ] = KEY_CAMERA,
>     [ 0x10 ] = KEY_CHANNELUP,
>     [ 0x11 ] = KEY_CHANNELDOWN,
>     [ 0x12 ] = KEY_VOLUMEDOWN,
>     [ 0x13 ] = KEY_VOLUMEUP,
>     [ 0x14 ] = KEY_MUTE,
>     [ 0x15 ] = KEY_AUDIO,
>     [ 0x16 ] = KEY_TV,
>     [ 0x17 ] = KEY_ZOOM,
>     [ 0x18 ] = KEY_PRINT,
>     [ 0x19 ] = KEY_SETUP,
>     [ 0x1a ] = KEY_STOP,
>     [ 0x1b ] = KEY_RECORD,
>     [ 0x1c ] = KEY_TEXT,
>     [ 0x1d ] = KEY_REWIND,
>     [ 0x1e ] = KEY_FASTFORWARD,
>     [ 0x1f ] = KEY_SHUFFLE,
>     [ 0x45 ] = KEY_STOP,
>     [ 0x44 ] = KEY_PLAY,
> };
> EXPORT_SYMBOL_GPL(ir_codes_kworld_210);
> ***************************************************************
> Mods to /v4l-dvb/linux/drivers/media/video/saa7134/saa7134-i2c.c
> ...
>     /* Am I an i2c remote control? */
>
>     switch (client->addr) {
>         case 0x7a:
>         case 0x47:
>         case 0x71:
>         case 0x2d:
>         case 0x30: /*for kw210 remote control*/
>         {
> ...
>
> static char *i2c_devs[128] = {
>     [ 0x20      ] = "mpeg encoder (saa6752hs)",
>     [ 0xa0 >> 1 ] = "eeprom",
>     [ 0xc0 >> 1 ] = "tuner (analog)",
>     [ 0x86 >> 1 ] = "tda9887",
>     [ 0x5a >> 1 ] = "remote control",
>     [ 0x30      ] = "kw210 remote control",
> };
> ...
> ***************************************************************
> Mods to /v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c
> ...
>
> static int get_key_kworld_210(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
> {
>     unsigned char b;
>
>     /* poll IR chip */
>     if (1 != i2c_master_recv(&ir->c,&b,1)) {
>         dprintk(1,"read error\n");
>         return -EIO;
>     }
>
>     /* it seems that 0x80 indicates that a button is still hold
>        down, while 0xff indicates that no button is hold
>        down. 0x80 sequences are sometimes interrupted by 0xFF */
>
>     dprintk(2,"key %02x\n", b);
>
>     if (b == 0xff)
>         return 0;
>
>     if (b == 0x80)
>         /* keep old data */
>         return 1;
>
>     *ir_key = b;
>     *ir_raw = b;
>     return 1;
> }
> ...
> /*Unless the timer is modified, you have time to make a cup of tea while 
> waiting
> * for a response after pressing a key
> */
> static int polling_interval = 100; /* ms */
> ...
> static void ir_timer(unsigned long data)
> {
>     struct IR_i2c *ir = (struct IR_i2c*)data;
>     schedule_work(&ir->work);
> }
> ...
> static void ir_work(struct work_struct *work)
> #endif
> {
> #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
>     struct IR_i2c *ir = data;
> #else
>     struct IR_i2c *ir = container_of(work, struct IR_i2c, work);
> #endif
>
>     ir_key_poll(ir);
>     /*kw210 improve key-response time*/
>     mod_timer(&ir->timer, jiffies + polling_interval*HZ/1000);
> }
> ...
> /*needed to select between cards with same i2c address for remote 
> controller*/
> static int kWorld_210 = 0;
> ...
>     case 0x30:
>         ir_type     = IR_TYPE_OTHER;
> /*add kw210 card*/
>         if (kWorld_210 == 1) {
>             name        = "kWoRlD210";
>             ir->get_key = get_key_kworld_210;
>             ir_codes    = ir_codes_kworld_210;
>         } else {
>             name        = "KNC One";
>             ir->get_key = get_key_knc1;
>             ir_codes    = ir_codes_empty;
>         } 
>         break;
> ...
> static int ir_probe(struct i2c_adapter *adap)
> {
> ...
>
>     static const int probe_bttv[] = { 0x1a, 0x18, 0x4b, 0x64, 0x30, -1};
> /*add 0x30*/
>     static const int probe_saa7134[] = { 0x7a, 0x47, 0x71, 0x2d, 0x30, -1 };
> ...
>     c->adapter = adap;
>     for (i = 0; -1 != probe[i]; i++) {
>         c->addr = probe[i];
>         rc = i2c_master_recv(c, &buf, 0);
> /*mod added here to "wake up" kw210 remote controller chip*/
>         if (adap->id == I2C_HW_SAA7134 && probe[i] == 0x30)
>         {
>             struct i2c_client c2;
>             memset (&c2, 0, sizeof(c2));
>             c2.adapter = adap;   
>             for (c2.addr=127; c2.addr > 0; c2.addr--) {
>                 if (0 == i2c_master_recv(&c2,&buf,0)) {
>                     dprintk(1,"Found another device, at addr 0x%02x\n", 
> c2.addr);
>                     break;
>                 }
>             }
>
>             /* Now do the probe. The controller does not respond
>                to 0-byte reads, so we use a 1-byte read instead. */
>             rc = i2c_master_recv(c,&buf,1);
>             rc--;
>             kWorld_210 = 1;
>         } else {
>             rc = i2c_master_recv(c,&buf,0);
>         }
>         dprintk(1,"probe 0x%02x @ %s: %s\n",
>             probe[i], adap->name,
>             (0 == rc) ? "yes" : "no");
>         if (0 == rc) {
>             ir_attach(adap, probe[i], 0, 0);
>             break;
>         }
>     }
>     kfree(c);
>     return 0;
> }
> ***************************************************************
>
> Regards,
> Timf
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
>   

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2008-06-18  2:51 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-10 16:22 [linux-dvb] Kworld DVB-T 210 - dvb tuning problem timf
2008-04-10 22:08 ` Hartmut Hackmann
2008-04-10 23:30   ` hermann pitton
2008-04-11 17:54     ` timf
2008-04-11 22:14       ` Hartmut Hackmann
2008-04-13  6:00         ` timf
2008-04-13  7:59           ` timf
2008-04-13 15:54             ` timf
2008-04-13 17:08               ` timf
2008-04-13 18:56                 ` Hartmut Hackmann
2008-04-13 19:25                   ` timf
2008-04-13 20:23                     ` Hartmut Hackmann
2008-04-13 21:08                       ` timf
2008-04-13 21:41                         ` Hartmut Hackmann
2008-04-13 22:11                           ` timf
2008-04-13 22:35                             ` timf
2008-04-13 22:53                             ` Hartmut Hackmann
2008-04-14 14:10                               ` timf
2008-04-15  0:42                                 ` hermann pitton
2008-04-11 21:23     ` Hartmut Hackmann
2008-04-12 11:30       ` hermann pitton
2008-04-12 12:00         ` timf
  -- strict thread matches above, loose matches on Subject: below --
2008-03-14 12:52 Steve Moreau
     [not found] <1204893775.10536.4.camel@ubuntu>
     [not found] ` <47D1A65B.3080900@t-online.de>
2008-03-14  7:41   ` timf
2008-03-17 21:22     ` Hartmut Hackmann
2008-03-18 14:40       ` timf
2008-03-18 22:56         ` Hartmut Hackmann
2008-03-19  4:03           ` timf
2008-03-19 23:18             ` Hartmut Hackmann
     [not found]         ` <1213744559.11684.4.camel@asus.lounge>
2008-06-18  2:12           ` timf
2008-06-18  2:51             ` timf
2008-03-07 12:51 timf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.