[linux-dvb] KNC1 DVB-S unter openSUSE 10.0
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
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
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:
More information about the linux-dvb