[linux-dvb] KNC1 DVB-S unter openSUSE 10.0

Chris Dietrich chrisnospam at gmx.de
Fri Nov 11 00:01:46 CET 2005


Oliver Endriss wrote:
> If it does't help either you should compare the initialization code of
> the old driver with the new one. Maybe the frontend power is not
> turned-on for this card. This is usually done by switching some GPIO
> line. See frontend_init() in budget-av.c.

Thanks again for your help!
I looked at the source (I used the code that the Metzler brothers (june
2003) provided (I thought I once switched to dvb-kernel, but ...)).
In the working code, there are two relevant GPIO calls (both in
av7110_attach)

setgpio(av7110, 0, GPIO_OUTHI)
...
setgpio(av7110, 0, GPIO_OUTLO)

Instead, the current dvb-kernel performs a whole bunch of GPIO setting
calls (ie. in ciintf_init), but I disabled one after another and forced
the same calls now. But still no luck, the same error appears
(stv0299_attach fails).

I changed the i2c timeouts (used higher values) in
include/media/saa7146.h, but again, no luck.

Then I replaced the inline function saa7146_write in both, the working
and non-working code with a debug method that prints its calls and gives
me the following

(for the working code (Metzler brothers))  |  notes:
mem=0xd09b3c00, adr=0x  fc, dat=0xbfff0000  ('software reset')
mem=0xd09b3c00, adr=0x 100, dat=0xf8000000  (looks like master reset)
mem=0xd09b3c00, adr=0x  fc, dat=0x 4000400
mem=0xd09b3c00, adr=0x 10c, dat=0xffffffff
mem=0xd09b3c00, adr=0x  dc, dat=0x18000000
mem=0xd09b3c00, adr=0x  48, dat=0x1c00101f
mem=0xd09b3c00, adr=0x  70, dat=0x80400040
mem=0xd09b3c00, adr=0x  54, dat=0x       0
mem=0xd09b3c00, adr=0x  50, dat=0x 2000000
mem=0xd09b3c00, adr=0x 100, dat=0x 6000600
...
mem=0xd09b3c00, adr=0x  e0, dat=0x      40   setgpio(.., 0, GPIO_OUTLO)
...

(for the non-working code (kernel 2.6.13)
adr=0x      fc, dat=0xbfff0000  ('software reset')
adr=0x      fc, dat=0x80000000  (master reset)
adr=0x      dc, dat=0x       0
adr=0x      fc, dat=0x30ff0000
adr=0x     100, dat=0xf8000000
adr=0x      48, dat=0x1c00101f
Nov 10 23:21:17 linux kernel:  budget_av_attach: dev: cd3cd5c0
Nov 10 23:21:17 linux kernel: DVB: registering new adapter (KNC1 DVB-S).
adr=0x      54, dat=0x       0
...

...and this is pretty much where I am stuck now. I have done the same
for the non-working current code, but I don't really know how to
interpret the results (well, I recognize some parts, like setgpio-calls)
:( If someone of you techies could help me, that would be great.

I have uploaded three of the saa7146_write logs, if someone wants to
look at them.
Log from a 2.6 kernel: http://cj2s.de/saa7146_write_kernel26.txt
Log from a 2.4 kernel: http://cj2s.de/saa7146_write_kernel24.txt
Log from a 2.6 kernel session after warm-rebooting from 2.4:
    http://cj2s.de/saa7146_write_kernel26_after_24_ran.txt

Thanks,

-chris




More information about the linux-dvb mailing list