* [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
@ 2008-02-03 15:07 Richard (MQ)
2008-02-05 9:50 ` Mauro Carvalho Chehab
[not found] ` <1205875868.3385.133.camel@pc08.localdom.local>
0 siblings, 2 replies; 30+ messages in thread
From: Richard (MQ) @ 2008-02-03 15:07 UTC (permalink / raw)
To: linux-dvb
I tried contacting Markus with the following but no response - probably
one of you experienced coders on this list will know what's wrong
though? As I say below, the 'standard' v4l-dvb builds fine but is no use
with this card.
Cheers
Richard (MQ)
> Having another try to get my Avermedia A16D card working with latest hg
> code. I'm also using the very latest OpenSuSE 'factory' platform, with
> kernel 2.6.24-rc8-git2-5-default. gcc is 4.3.0
>
> I can build the 'standard' v4l-dvb tree OK, though as expected it
> doesn't see my card. However, when I try to build your
> v4l-dvb-experimental tree (in a separate directory) I get
>
>> > rpm@DevBox2400:~/Progs/v4l-dvb-experimental/v4l> make
> ...
>> > make -C ../../../linux-2.6.24-rc8-git2-5 O=../linux-2.6.24-rc8-git2-5-obj/i386/default modules
>> > CC [M] /home/rpm/Progs/v4l-dvb-experimental/v4l/flexcop-pci.o
>> > In file included from /home/rpm/Progs/v4l-dvb-experimental/v4l/flexcop-common.h:23,
>> > from /home/rpm/Progs/v4l-dvb-experimental/v4l/flexcop-pci.c:10:
>> > /home/rpm/Progs/v4l-dvb-experimental/v4l/dvb_frontend.h:42:33: error: media/v4l_dvb_tuner.h: No such file or directory
>
> Indeed there's no directory 'media' at the current level, though there's
> one at ../linux, so I tried
>
>> > ln -s ../linux/include/media media
>
> Now make gets a bit further, but dies building bttv-driver
>
> Please have you any suggestions?
>
> By the way - is it more appropriate to post this e.g. at linux-dvb?
>
> Many thanks
> Richard.
>
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
2008-02-03 15:07 Richard (MQ)
@ 2008-02-05 9:50 ` Mauro Carvalho Chehab
[not found] ` <47A8CE7E.6020908@googlemail.com>
[not found] ` <1205875868.3385.133.camel@pc08.localdom.local>
1 sibling, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-05 9:50 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
Hi Richard,
On Sun, 03 Feb 2008 15:07:27 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> I tried contacting Markus with the following but no response - probably
> one of you experienced coders on this list will know what's wrong
> though? As I say below, the 'standard' v4l-dvb builds fine but is no use
> with this card.
I've ported Markus patch for cx88 and saa7134 xc3028-based boards into this
tree:
http://linuxtv.org/hg/~mchehab/cx88-xc2028
Some adjustments may be needed for this to work, since tuner-xc2028 needs
to know what firmware it will load for dvb. This is done by those lines, at
the end of saa7134-cards.c:
/* FIXME: This should be device-dependent */
ctl.demod = XC3028_FE_OREN538;
ctl.mts = 1;
ctl.demod should have the IF of the used tuner. Most current boards use
IF=5.380 MHz. XC3028_FE_OREN538 is an alias for 5380.
Another possible value is XC3028_FE_ZARLINK456 (IF = 4560 KHz).
ctl.mts affects audio decoding. If you don't have audio on
analog mode, you may try to change this to 0.
For the driver to work, you'll need to extract xc3028 firmware. Most devices
works fine with Xceive firmware version 2.7. In order to extract, you should
follow the following procedure:
1) Download the windows driver with something like:
wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
2) Extract the file hcw85bda.sys from the zip into the current dir:
unzip -j HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85bda.sys
3) run the script:
./linux/Documentation/video4linux/extract_xc3028.pl
4) copy the generated file:
cp xc3028-v27.fw /lib/firmware
Could you please test it and give us some feedback?
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47AA014F.2090608@googlemail.com>
@ 2008-02-07 11:26 ` Mauro Carvalho Chehab
[not found] ` <47AAF0C4.8030804@googlemail.com>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-07 11:26 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
On Wed, 06 Feb 2008 18:49:51 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> Mauro Carvalho Chehab wrote:
> > I need the tuner-xc2028 dmesg.
> >
> > Please, add this to /etc/modprobe.conf:
> > options tuner debug=1
> > options tuner-xc2028 debug=1
>
> Added to /etc/modprobe.conf.local per SuSE scheme
>
> > DevBox2400:~ # rmmod tuner tuner-xc3028
> > DevBox2400:~ # modprobe -vv tuner
> > insmod /lib/modules/2.6.24-rc8-git2-5-default/kernel/drivers/media/video/tuner.ko debug=1
> > DevBox2400:~ # dmesg
> > Linux version 2.6.24-rc8-git2-5-default (geeko@buildhost) (gcc version 4.3.0 20080117 (experimental)
>
> dmesg shows only:
>
> > tuner: Unknown parameter `tuner_xc2028'
Hmm... I suspect you did something wrong at modprobe.conf.local. It seems that
it is using tuner_xc2028 as a parameter to tuner module.
What we need is to have a parameter "debug=1" to both tuner an tuner-xc2028
modules.
> modprobe'ing tuner_xc2028 does nothing (no error, nothing added to dmesg)
>
> No dmesg messages starting "xc2028", in fact
>
> > DevBox2400:~ # dmesg | grep 2028
> > tuner: Unknown parameter `tuner_xc2028'
> > DevBox2400:~ # dmesg | grep firmw
> > DevBox2400:~ #
>
> Is it me doing something wrong, or a problem with the code?
The code may have some trouble, since it is not tested yet ;)
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47AB6A1B.5090100@googlemail.com>
@ 2008-02-07 20:42 ` Mauro Carvalho Chehab
[not found] ` <47ACA9AA.4090702@googlemail.com>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-07 20:42 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
On Thu, 07 Feb 2008 20:29:15 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> Richard (MQ) wrote:
> > Mauro Carvalho Chehab wrote:
> >> "Richard (MQ)" <osl2008@googlemail.com> wrote:
> >>>> tuner: Unknown parameter `tuner_xc2028'
> >> Hmm... I suspect you did something wrong at modprobe.conf.local. It seems that
> >> it is using tuner_xc2028 as a parameter to tuner module.
> >>
> >> What we need is to have a parameter "debug=1" to both tuner an tuner-xc2028
> >> modules.
> >
> > I thought I just pasted your lines straight in...
> >
> > I'll have another try tonight, maybe something is mis-typed. If I load
> > with modprobe -v it will show the options being used.
>
> After booting:
> DevBox2400:~ # rmmod tuner tuner-xc2028 saa7134 tuner-simple tuner-types
> DevBox2400:~ # modprobe -vv tuner
> insmod /lib/modules/.../media/video/tuner-types.ko
> insmod /lib/modules/.../media/video/tuner-simple.ko
> insmod /lib/modules/.../media/video/tuner-xc2028.ko debug=1
> insmod /lib/modules/.../media/video/tuner.ko debug=1
> DevBox2400:~ # modprobe -vv saa7134
> insmod /lib/modules/.../kernel/drivers/media/video/saa7134/saa7134.ko
>
> but /var/log/messages shows no sign of the debug messages:
>
> Feb 7 20:08:49 DevBox2400 kernel: saa7130/34: v4l2 driver version
> 0.2.14 loaded
> Feb 7 20:08:49 DevBox2400 kernel: saa7133[0]: found at 0000:00:0d.0,
> rev: 209, irq: 20, latency: 32, mmio: 0xe2000000
> Feb 7 20:08:49 DevBox2400 kernel: saa7133[0]: subsystem: 1461:f936,
> board: AVerMedia Hybrid TV/Radio (A16D) [card=133,autodetected]
> Feb 7 20:08:49 DevBox2400 kernel: saa7133[0]: board init: gpio is 2f600
> Feb 7 20:08:50 DevBox2400 kernel: saa7133[0]: i2c eeprom 00: 61 14 36
> f9 00 00 00 00 00 00 00 00 00 00 00 00
> ...
>
> modinfo confirms that tuner-xc2028 is your code. I'm completely baffled
> by this...
If you're not seeing any mesage from tuner-xc2028, it means that the driver is
selecting a different tuner.
Please send me the complete dmesg.
Also, try to force saa7134 driver to use tuner=71 with:
modprobe -vv saa7134 tuner=71
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47AE20BD.7090503@googlemail.com>
@ 2008-02-12 14:47 ` Mauro Carvalho Chehab
[not found] ` <47B1E22D.4090901@googlemail.com>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-02-12 14:47 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
On Sat, 09 Feb 2008 21:53:01 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> Richard (MQ) wrote:
> > Mauro Carvalho Chehab wrote:
> >> If you're not seeing any mesage from tuner-xc2028, it means that the driver is
> >> selecting a different tuner.
> >>
> >> Please send me the complete dmesg.
> >>
> >> Also, try to force saa7134 driver to use tuner=71 with:
> >>
> >> modprobe -vv saa7134 tuner=71
> >
> > Please find attached - not posted to list as I don't think everyone will
> > want this...
>
> Just tried re-booting the box with the standard OpenSuSE 10.3 partition,
> (and completely re-loaded and re-built the mercurial code) - same odd
> behaviour. Kernel now 2.6.22.16 fwiw
>
> Also may be worth noting - running "make reload" after "make install"
> produces lots of errors, though neither the initial "make" nor "make
> install" gave any.
>
> Output of "modprobe -vv saa7134 tuner=71" for this case attached
> (smaller than last time!)
The file got corrupted here :(
If you're getting too much errors, it may mean that you're having some
conflicts on your compilation.
There is a recent patch at the tree that changed the module dependencies.
(before the patch, videodev were dependent on v4l2-common - now, the dependency
is the reverse. Only after "make distclean", the building system will
correctly deal with this change)
Please try to do force a cleanup, with this:
make distclean
make
make rminstall
make rmmod
make install
modprobe saa7134 tuner=71
please forward the errors that it might produce. You may forward the full dmesg
errors to me in priv directly. I prefer if you don't generate a tarball, since
makes easier for me to comment, the results, if needed.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47B1E22D.4090901@googlemail.com>
@ 2008-03-13 14:46 ` Mauro Carvalho Chehab
[not found] ` <1205457408.6358.5.camel@ubuntu>
[not found] ` <47DEC660.3080005@googlemail.com>
0 siblings, 2 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-13 14:46 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
Hi Richard,
On Tue, 12 Feb 2008 18:15:09 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
Sorry for a late answer. Too busy from my side :(
> > please forward the errors that it might produce. You may forward the full dmesg
> > errors to me in priv directly. I prefer if you don't generate a tarball, since
> > makes easier for me to comment, the results, if needed.
> Feb 12 18:03:26 DevBox2400 klogd: saa7133[0]: i2c scan: found device @ 0x1e [???]
> Feb 12 18:03:26 DevBox2400 klogd: saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
The issue here is that tuner-xc3028 weren't detected. It should have found a
device at 0xc2.
This could happen on two cases:
1) Some saa713x GPIO is needed before we can see xc3028. The better would be to
take a look on what windows driver is doing with GPIO's. This link helps you to
understand what should be done on windows:
http://www.linuxtv.org/v4lwiki/index.php/GPIO_pins
2) You need to open an i2c gate on your demod chip. In this case, some commands
need to be sent to your demod for it to open the i2c gate.
I suspect that, on your case, it is (1). Please try the enclosed patch.
---
Enable GPIO's for AV A16D
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff -r 3580392c30da linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Thu Mar 13 10:57:22 2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Thu Mar 13 11:43:45 2008 -0300
@@ -5499,6 +5499,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M115:
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
+ case SAA7134_BOARD_AVERMEDIA_A16D:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205457408.6358.5.camel@ubuntu>
@ 2008-03-14 15:14 ` Mauro Carvalho Chehab
[not found] ` <1205518856.6094.14.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-14 15:14 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Fri, 14 Mar 2008 10:16:48 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
> Improved, but still no tuner-xc3028, no dvb.
> Relevant part of my dmesg:
> [ 15.120000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> [ 15.120000] tuner' 2-0061: tuner type not set
> [ 15.120000] tuner' 2-0061: tuner type not set
The above messages are very weird... are you passing any option to saa7134? It
should autodetect tuner=71...
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205518856.6094.14.camel@ubuntu>
@ 2008-03-14 18:58 ` Mauro Carvalho Chehab
[not found] ` <1205523274.6364.5.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-14 18:58 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Sat, 15 Mar 2008 03:20:56 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
>
> On Fri, 2008-03-14 at 12:14 -0300, Mauro Carvalho Chehab wrote:
> > On Fri, 14 Mar 2008 10:16:48 +0900
> > timf <timf@iinet.net.au> wrote:
> >
> > > Hi Mauro,
> > > Improved, but still no tuner-xc3028, no dvb.
> > > Relevant part of my dmesg:
> >
> > > [ 15.120000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > > [ 15.120000] tuner' 2-0061: tuner type not set
> > > [ 15.120000] tuner' 2-0061: tuner type not set
> >
> > The above messages are very weird... are you passing any option to saa7134? It
> > should autodetect tuner=71...
> >
> > Cheers,
> > Mauro
>
> OK, I have just done a completely new install of ubuntu 7.10.
> (dmesg1.txt, lspci1.txt, lsmod1.txt)
>
> Then v4l-dvb via mercurial (download-via-mercurial.txt)
>
> Then sudo cp xc3028-v27.fw /lib/firmware/2.6.22-14-generic
> (lib-firmware-2.6.22-14-generic.txt)
>
> Then cd v4l-dvb, make, sudo make install, reboot
> (dmesg2.txt, lspci2.txt, lsmod2.txt)
>
> Then cd v4l-dvb, patch -p1 < a16d-patch1.diff,
> (patch-result.txt)
> make, sudo make install, reboot
> (dmesg3.txt, lspci3.txt, lsmod3.txt)
>
> Nothing done to /etc/modprobe.d /etc/modules
Very weird. It shouldn't print that messages.
Please add this at modprobe.conf (or modprobe.d):
options tuner-xc2028 debug=1
options tuner debug=1
Also, let's remove the old v4l modules from your kernel:
make rminstall
make rmmod
Now, do two tests, with v4l-dvb tree + the patch:
1) do a modprobe saa7134 and collect the logs that start after you modprobe saa7134;
2) do:
make rmmod
modprobe saa7134 tuner=71 i2c_scan=1
also, collect the logs
---
You should notice that the driver is currently without support for DVB. After
fixing analog, we will need to patch cx88-dvb to inform the kernel about the
demod chip in use by this board, and provide the proper configuration
parameters for the demod.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205523274.6364.5.camel@ubuntu>
@ 2008-03-14 20:21 ` Mauro Carvalho Chehab
[not found] ` <1205573636.5941.1.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-14 20:21 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Sat, 15 Mar 2008 04:34:34 +0900
timf <timf@iinet.net.au> wrote:
> > Now, do two tests, with v4l-dvb tree + the patch:
Of course, you'll need to compile and install v4l-dvb ;)
make
make install
> cx88-dvb or saa7134-dvb ?
saa7134-dvb.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47DEC660.3080005@googlemail.com>
@ 2008-03-18 13:10 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-18 13:10 UTC (permalink / raw)
To: Richard (MQ); +Cc: linux-dvb
On Mon, 17 Mar 2008 19:28:32 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> Mauro Carvalho Chehab wrote:
>
> > Sorry for a late answer. Too busy from my side :(
>
> And apologies from me for very slow response too. I've been away, and
> although I'm back I'm now using a different box for this problem, with a
> brand new Linux installation. I'm running OpenSuSE 11.0 Alpha-2 and
> having big problems compiling the hg code - I think it's my (admittedly
> alpha) system.
You could also get the latest tarball via:
http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2
Of course, having mercurial installed is much better ;)
>
> I'll keep at it and get back to you as soon as I can test your patch.
> Not sure whether timf's issues are the same but I'm following that
> thread too.
>
> Thanks for your patience ! ;-)
You're welcome.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205573636.5941.1.camel@ubuntu>
@ 2008-03-18 13:30 ` Mauro Carvalho Chehab
[not found] ` <1205864312.11231.11.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-18 13:30 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Sat, 15 Mar 2008 18:33:56 +0900
timf <timf@iinet.net.au> wrote:
> [ 15.000000] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> TV/Radio (A16D) [card=137,autodetected]
> [ 15.296000] tuner' 2-0061: Setting mode_mask to 0x0e
> [ 15.296000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> [ 15.296000] tuner' 2-0061: tuner 0x61: Tuner type absent
The above is not right. It should be using type=71 for the tuner.
I think I found the bug: the tuner addresses should be set to ADDR_UNSET,
instead of keeping it blank.
Please do an "hg pull -u" and try again, recompiling and re-installing the modules:
hg pull -u
make rmmod
make
make install
modprobe saa7134
> 8) The chip on my card is xc3018. Why does module xc5000 load?
This is an issue on the way cards are attached, at tuner_core. Since they
directly access xc5000 code, with:
if (!xc5000_attach(&t->fe, t->i2c->adapter, &xc5000_cfg)) {
xc5000 module will be loaded, even if not used. It shouldn't be hard to fix
this, by using the macro dvb_attach().
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205864312.11231.11.camel@ubuntu>
@ 2008-03-18 19:17 ` Mauro Carvalho Chehab
[not found] ` <1205873332.11231.17.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-18 19:17 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Wed, 19 Mar 2008 03:18:32 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
>
> On Tue, 2008-03-18 at 10:30 -0300, Mauro Carvalho Chehab wrote:
> > On Sat, 15 Mar 2008 18:33:56 +0900
> > timf <timf@iinet.net.au> wrote:
> >
> > > [ 15.000000] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> > > TV/Radio (A16D) [card=137,autodetected]
> >
> >
> > > [ 15.296000] tuner' 2-0061: Setting mode_mask to 0x0e
> > > [ 15.296000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > > [ 15.296000] tuner' 2-0061: tuner 0x61: Tuner type absent
> >
> > The above is not right. It should be using type=71 for the tuner.
> >
> > I think I found the bug: the tuner addresses should be set to ADDR_UNSET,
> > instead of keeping it blank.
> >
> > Please do an "hg pull -u" and try again, recompiling and re-installing the modules:
> > hg pull -u
> > make rmmod
> > make
> > make install
> > modprobe saa7134
> >
> > > 8) The chip on my card is xc3018. Why does module xc5000 load?
> >
> > This is an issue on the way cards are attached, at tuner_core. Since they
> > directly access xc5000 code, with:
> >
> > if (!xc5000_attach(&t->fe, t->i2c->adapter, &xc5000_cfg)) {
> >
> > xc5000 module will be loaded, even if not used. It shouldn't be hard to fix
> > this, by using the macro dvb_attach().
> >
> >
> >
> > Cheers,
> > Mauro
>
>
> 1) There is something wrong with the repo at present
> - it just times out and aborts.
>
> 2) So I copied the latest tip.tgz and extracted it.
> (Thus hg pull won't work - no .hg)
>
> 3) I tried to interpret your meaning and tried this in saa7134-cards.c
>
> },
> [SAA7134_BOARD_AVERMEDIA_A16D] = {
> .name = "AVerMedia Hybrid TV/Radio (A16D)",
> .audio_clock = 0x187de7,
> .tuner_type = TUNER_XC2028,
> .tuner_addr = ADDR_UNSET,
> .inputs = {{
> .name = name_tv,
> .vmux = 1,
> .amux = TV,
> .tv = 1,
> }, {
> .name = name_svideo,
> .vmux = 8,
> .amux = LINE1,
> } },
> .radio = {
> .name = name_radio,
> .amux = LINE1,
> },
> },
> [SAA7134_BOARD_AVERMEDIA_M115] = {
>
> 4) My options file:
>
> # Enable double-buffering so gstreamer et. al. work
> options quickcam compatible=2
>
> # Default hostap to managed mode
> options hostap_pci iw_mode=2
> options hostap_cs iw_mode=2
>
> options tuner-xc2028 debug=1
> options tuner debug=1
> options saa7134 i2c_scan=1
> # i2c_debug=1 ir_debug=1
>
> 5) However, with or without ".tuner_addr = ADDR_UNSET,"
> dmesg is the same - no tuner.
>
> <snip>
> [ 40.560890] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 40.560898] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 40.560905] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> TV/Radio (A16D) [card=137,autodetected]
> [ 40.560914] saa7133[0]: board init: gpio is 22000
> [ 40.561341] input: PC Speaker as /class/input/input4
> [ 40.727930] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 40.727939] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727947] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 40.727953] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727961] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727968] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727975] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727982] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727989] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.727996] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728003] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728010] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728017] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728024] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728032] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.728039] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.740151] saa7133[0]: i2c scan: found device @ 0x1e [???]
> [ 40.759885] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 40.901555] saa7133[0]: registered device video0 [v4l2]
> [ 40.901588] saa7133[0]: registered device vbi0
> [ 40.901620] saa7133[0]: registered device radio0
> [ 40.907417] ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 22
> [ 40.907423] ACPI: PCI Interrupt 0000:00:10.1[B] -> Link [AAZA] -> GSI
> 22 (level, low) -> IRQ 22
> [ 40.907624] PCI: Setting latency timer of device 0000:00:10.1 to 64
> [ 40.910779] saa7134 ALSA driver for DMA sound loaded
> [ 40.910811] saa7133[0]/alsa: saa7133[0] at 0xfdbff000 irq 17
> registered as card -2
> [ 41.776297] loop: module loaded
> [ 41.799994] lp0: using parport0 (interrupt-driven).
> <snip>
>
> 6) Perhaps I misinterpreted where you meant to put ".tuner_addr =
> ADDR_UNSET,"
> but I now don't even get this:
> > [ 15.296000] tuner' 2-0061: Setting mode_mask to 0x0e
> > [ 15.296000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > [ 15.296000] tuner' 2-0061: tuner 0x61: Tuner type absent
Argh! I forgot to send the patch to the main tree.
Ok, I've updated saa7134 at v4l-dvb:
http://linuxtv.org/hg/v4l-dvb/rev/3029b981e42c
please, update again and let's see if this time, it will detect xc3028.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205873332.11231.17.camel@ubuntu>
@ 2008-03-18 21:04 ` Mauro Carvalho Chehab
[not found] ` <1205877331.11231.38.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-18 21:04 UTC (permalink / raw)
To: timf; +Cc: linux-dvb, Richard (MQ)
On Wed, 19 Mar 2008 05:48:52 +0900
timf <timf@iinet.net.au> wrote:
> 1) New install ubuntu, extract tip.tgz.
There's no need for you to reinstall Linux for each test. This is not MS**t ;)
You don't even need to reboot.
> [ 40.753552] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> [ 40.864616] tuner' 2-0061: Setting mode_mask to 0x0e
> [ 40.864621] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> [ 40.864624] tuner' 2-0061: tuner 0x61: Tuner type absent
> [ 40.864658] tuner' 2-0061: Calling set_type_addr for type=0,
> addr=0xff, mode=0x02, config=0xffff8100
mode=0x02 is radio.
Try to add this to the struct:
.radio_type = UNSET,
> 3) No DVB, installed tvtime - no signal.
DVB won't work yet. What the demod inside this board? There's no setup for it.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] <47E030C1.2000805@inwind.it>
@ 2008-03-18 21:28 ` Mauro Carvalho Chehab
[not found] ` <47E9A539.1050706@inwind.it>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-18 21:28 UTC (permalink / raw)
To: gian luca rasponi; +Cc: linux-dvb
On Tue, 18 Mar 2008 22:14:41 +0100
gian luca rasponi <lucarasp@inwind.it> wrote:
> hi,
>
> more or less same here:
>
> I've built and installed latest v4l-dvb-3029b981e42c modified with IR
> remote support, and loaded with:
>
> /etc/modprobe.d/saa7134:
>
> options saa7134 tuner=71 ir_debug=1
> install saa7134 /sbin/modprobe xc3028-tuner; /sbin/modprobe
> --ignore-install saa7134; /sbin/modprobe saa7134-dvb; /sbin/modprobe
> saa7134-alsa
>
> then:
>
> modprobe saa7134 tuner=71 i2c_scan=1
Please test without tuner=71. I've just updated the tree again. It should detect it well right now.
Please add this to your modprobe.conf:
options tuner debug=1
options tuner-xc2028 debug=1
This will enable some extra debugs for tuner. You'll need to remove all modules
before probing again. A good procedure for tests is:
make rmmod
make
make install
modprobe saa7124 i2c_scan=1
(sometimes, I also do a "make rminstall" to remove .gz modules that some distro
uses, when I compile against a non-mainstream kernel)
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205877331.11231.38.camel@ubuntu>
@ 2008-03-18 23:25 ` Darren Salt
0 siblings, 0 replies; 30+ messages in thread
From: Darren Salt @ 2008-03-18 23:25 UTC (permalink / raw)
To: linux-dvb
I demand that timf may or may not have written...
[snip]
> [ 30.548678] Oops: 0000 [1] SMP
> [ 30.548755] CPU 1
[snip]
> [ 30.550595] Pid: 3942, comm: modprobe Tainted: P
Tainted kernel. It would be better if you can produce the oops without the
taintware^Wproprietary module; the fewer malign influences, the better :-)
[snip]
> [ 30.551583] [<ffffffff8896b803>] :tuner_xc2028:generic_set_freq+0x593/0x1830
> [ 30.551637] [<ffffffff802361fe>] printk+0x4e/0x60
> [ 30.551685] [<ffffffff88989a4e>] :tuner:set_tv_freq+0xae/0x1c0
> [ 30.551730] [<ffffffff88989bd1>] :tuner:set_freq+0x71/0x1a0
> [ 30.551771] [<ffffffff8898afe8>] :tuner:tuner_command+0x198/0x12f0
[snip]
> 3) It looks really promising with tuner-xc3028 but it won't boot. From
> bitter experience with ubuntu and gnome I find it quicker to re-install
> than search around for what module failed.
No need to reinstall. Use your live CD, mount your root partition, append
"blacklist tuner_xc2028" to etc/modprobe.d/blacklist (relative to the mount
point). You'll need to modprobe the module manually after rebooting, this
time from HD; testing should, however, be easier now. I doubt that it'll
remove any need for reboots, though; that's just a hazard of driver
development and debugging.
Incidentally, try this:
$ cd /path/to/v4l-dvb
$ gdb v4l/tuner_xc2028.ko
(gdb) list *(generic_set_freq + 0x593)
(gdb) edit *(generic_set_freq + 0x593)
[snip]
--
| Darren Salt | linux or ds at | nr. Ashington, | Toon
| RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army
| + Buy less and make it last longer. INDUSTRY CAUSES GLOBAL WARMING.
Sir Arthur C Clarke, gone to the great monolith in the sky.
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205904196.6510.3.camel@ubuntu>
@ 2008-03-19 8:14 ` Matthias Schwarzott
2008-03-20 14:55 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 30+ messages in thread
From: Matthias Schwarzott @ 2008-03-19 8:14 UTC (permalink / raw)
To: linux-dvb
On Mittwoch, 19. März 2008, timf wrote:
> Hi all,
>
> On Tue, 2008-03-18 at 22:31 +0100, hermann pitton wrote:
> > Hi,
> >
> > Am Dienstag, den 18.03.2008, 18:04 -0300 schrieb Mauro Carvalho Chehab:
> > > On Wed, 19 Mar 2008 05:48:52 +0900
> > >
> > > timf <timf@iinet.net.au> wrote:
> > > > 1) New install ubuntu, extract tip.tgz.
> > >
> > > There's no need for you to reinstall Linux for each test. This is not
> > > MS**t ;)
> > >
> > > You don't even need to reboot.
> > >
> > > > [ 40.753552] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> > > > [ 40.864616] tuner' 2-0061: Setting mode_mask to 0x0e
> > > > [ 40.864621] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > > > [ 40.864624] tuner' 2-0061: tuner 0x61: Tuner type absent
> > > > [ 40.864658] tuner' 2-0061: Calling set_type_addr for type=0,
> > > > addr=0xff, mode=0x02, config=0xffff8100
> >
> > any idea somebody when that was introduced?
> >
> > [ 40.753552] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> > [ 40.864616] tuner' 2-0061: Setting mode_mask to 0x0e
> > [ 40.864621] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > [ 40.864624] tuner' 2-0061: tuner 0x61: Tuner type absent
> > [ 40.864658] tuner' 2-0061: Calling set_type_addr for type=0,
> > addr=0xff, mode=0x02, config=0xffff8100
> > [ 40.864662] tuner' 2-0061: set addr for type -1
> > [ 40.876586] tuner-simple 2-0061: creating new instance
> > [ 40.876589] tuner-simple 2-0061: type set to 0 (Temic PAL (4002 FH5))
> >
> > Out of historical cruft TUNER_ABSENT is tuner type 4.
> >
> > > mode=0x02 is radio.
> > >
> > > Try to add this to the struct:
> > >
> > > .radio_type = UNSET,
> > >
> > > > 3) No DVB, installed tvtime - no signal.
> > >
> > > DVB won't work yet. What the demod inside this board? There's no setup
> > > for it.
> >
> > Cheers,
> > Hermann
>
> Nope, could't get anything to work.
> - blacklisted tuner_xc3028 - no diff still locked up at boot
> - dbg - no module loaded
>
Blacklisting will only work for modules modprobe is called for. These days
udev does call modprobe so for this to work you need to blacklist saa7134
module.
Or: You stop module autoloading in general if your distro offers this option.
Regards
Matthias
--
Matthias Schwarzott (zzam)
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1205904196.6510.3.camel@ubuntu>
2008-03-19 8:14 ` Matthias Schwarzott
@ 2008-03-20 14:55 ` Mauro Carvalho Chehab
[not found] ` <1206030503.5997.2.camel@ubuntu>
1 sibling, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-20 14:55 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, Richard (MQ), linux-dvb
On Wed, 19 Mar 2008 14:23:16 +0900
timf <timf@iinet.net.au> wrote:
> Hi all,
>
> On Tue, 2008-03-18 at 22:31 +0100, hermann pitton wrote:
> > Hi,
> >
> > Am Dienstag, den 18.03.2008, 18:04 -0300 schrieb Mauro Carvalho Chehab:
> > > On Wed, 19 Mar 2008 05:48:52 +0900
> > > timf <timf@iinet.net.au> wrote:
> > >
> > > > 1) New install ubuntu, extract tip.tgz.
> > >
> > > There's no need for you to reinstall Linux for each test. This is not MS**t ;)
> > >
> > > You don't even need to reboot.
> > >
> > > > [ 40.753552] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> > > > [ 40.864616] tuner' 2-0061: Setting mode_mask to 0x0e
> > > > [ 40.864621] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > > > [ 40.864624] tuner' 2-0061: tuner 0x61: Tuner type absent
> > > > [ 40.864658] tuner' 2-0061: Calling set_type_addr for type=0,
> > > > addr=0xff, mode=0x02, config=0xffff8100
> >
> > any idea somebody when that was introduced?
> >
> > [ 40.753552] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> > [ 40.864616] tuner' 2-0061: Setting mode_mask to 0x0e
> > [ 40.864621] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> > [ 40.864624] tuner' 2-0061: tuner 0x61: Tuner type absent
> > [ 40.864658] tuner' 2-0061: Calling set_type_addr for type=0,
> > addr=0xff, mode=0x02, config=0xffff8100
> > [ 40.864662] tuner' 2-0061: set addr for type -1
> > [ 40.876586] tuner-simple 2-0061: creating new instance
> > [ 40.876589] tuner-simple 2-0061: type set to 0 (Temic PAL (4002 FH5))
> >
> > Out of historical cruft TUNER_ABSENT is tuner type 4.
> >
> > > mode=0x02 is radio.
> > >
> > > Try to add this to the struct:
> > >
> > > .radio_type = UNSET,
> > >
> > > > 3) No DVB, installed tvtime - no signal.
> > >
> > > DVB won't work yet. What the demod inside this board? There's no setup for it.
> >
> > Cheers,
> > Hermann
> >
>
> Nope, could't get anything to work.
> - blacklisted tuner_xc3028 - no diff still locked up at boot
> - dbg - no module loaded
>
> $%#!!! it - reinstalled; Gee it took ages for clone hg linuxtv to
> download - 3kbs at best???
>
> 1) no updates, no nvidia-glx-new (prop) (thus no 1680 x 1050 - looks
> awful, nv can't do that res)
>
> - looked in saa7134-cards.c
> only this patch:
> },
> [SAA7134_BOARD_AVERMEDIA_A16D] = {
> .name = "AVerMedia Hybrid TV/Radio (A16D)",
> .audio_clock = 0x187de7,
> .tuner_type = TUNER_XC2028,
> .tuner_addr = ADDR_UNSET,
> .inputs = {{
> .name = name_tv,
> .vmux = 1,
> .amux = TV,
> .tv = 1,
> }, {
> .name = name_svideo,
> .vmux = 8,
> .amux = LINE1,
> } },
> .radio = {
> .name = name_radio,
> .amux = LINE1,
> },
> },
> [SAA7134_BOARD_AVERMEDIA_M115] = {
>
> - make, sudo make install v4l-dvb, reboot
>
> - no /dev/video#
> - no soundcard detected??? -> no volume control
> dmesg
> <snip>
> [ 40.108132] Linux video capture interface: v2.00
> [ 40.146196] saa7130/34: v4l2 driver version 0.2.14 loaded
> [ 40.147238] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
> [ 40.147249] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 40.147258] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 40.147265] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> TV/Radio (A16D) [card=137,autodetected]
> [ 40.147275] saa7133[0]: board init: gpio is 2fe00
> [ 40.308263] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 40.308273] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308282] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 40.308290] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308298] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308306] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308314] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308322] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308330] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308338] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308347] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308355] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308363] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308371] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308379] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.308388] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 40.320255] saa7133[0]: i2c scan: found device @ 0x1e [???]
> [ 40.340220] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 40.451576] saa7133[0]: registered device video0 [v4l2]
> [ 40.451617] saa7133[0]: registered device vbi0
> [ 40.451653] saa7133[0]: registered device radio0
> [ 40.452183] ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 22
> [ 40.452187] ACPI: PCI Interrupt 0000:00:10.1[B] -> Link [AAZA] -> GSI
> 22 (level, low) -> IRQ 22
> [ 40.452421] PCI: Setting latency timer of device 0000:00:10.1 to 64
> [ 40.464285] saa7134 ALSA driver for DMA sound loaded
> [ 40.464316] saa7133[0]/alsa: saa7133[0] at 0xfdbff000 irq 17
> registered as card -2
> <snip>
> That's all!
>
> 2) Put other patch in:
> case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
> case SAA7134_BOARD_AVERMEDIA_M115:
> case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
> + case SAA7134_BOARD_AVERMEDIA_A16D:
> /* power-up tuner chip */
> saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
> saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
>
> - make, sudo make install v4l-dvb, reboot
> - still no /dev/video#
> - still no soundcard detected??? -> no volume control
> dmesg
> <snip>
> [ 37.052833] Linux video capture interface: v2.00
> [ 37.088234] parport_pc 00:08: reported by Plug and Play ACPI
> [ 37.088328] parport0: PC-style at 0x378 (0x778), irq 7, dma 3
> [PCSPP,TRISTATE,COMPAT,ECP,DMA]
> [ 37.091985] hdc: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB
> Cache, UDMA(66)
> [ 37.091993] Uniform CD-ROM driver Revision: 3.20
> [ 37.127981] saa7130/34: v4l2 driver version 0.2.14 loaded
> [ 37.129041] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
> [ 37.129053] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 37.129063] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 37.129069] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> TV/Radio (A16D) [card=137,autodetected]
> [ 37.129080] saa7133[0]: board init: gpio is 2fe00
> [ 37.301262] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 37.301272] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301281] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 37.301288] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301297] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301305] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301312] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301320] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301328] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301336] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301344] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301352] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301360] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301368] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301376] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.301384] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 37.321227] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 37.333208] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> [ 37.417690] tuner' 2-0061: Setting mode_mask to 0x0e
> [ 37.417696] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> [ 37.417699] tuner' 2-0061: tuner 0x61: Tuner type absent
> [ 37.417734] tuner' 2-0061: Calling set_type_addr for type=71,
> addr=0xff, mode=0x04, config=0x00
> [ 37.417737] tuner' 2-0061: set addr for type -1
> [ 37.417739] tuner' 2-0061: defining GPIO callback
> [ 37.417742] xc2028: Xcv2028/3028 init called!
> [ 37.417745] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner
> [ 37.417748] tuner' 2-0061: type set to Xceive XC3028
> [ 37.417751] tuner' 2-0061: tv freq set to 400.00
> [ 37.417753] xc2028 2-0061: xc2028_set_analog_freq called
> [ 37.417756] xc2028 2-0061: generic_set_freq called
> [ 37.417759] xc2028 2-0061: should set frequency 400000 kHz
> [ 37.417761] xc2028 2-0061: check_firmware called
> [ 37.417763] xc2028 2-0061: xc2028/3028 firmware name not set!
> [ 37.417767] tuner' 2-0061: saa7133[0] tuner' I2C addr 0xc2 with type
> 71 used for 0x0e
> [ 37.419545] xc2028 2-0061: xc2028_set_config called
> [ 37.419553] tuner' 2-0061: switching to v4l2
> [ 37.419557] tuner' 2-0061: tv freq set to 400.00
> [ 37.419560] xc2028 2-0061: xc2028_set_analog_freq called
> [ 37.419563] xc2028 2-0061: generic_set_freq called
> [ 37.419565] xc2028 2-0061: should set frequency 400000 kHz
> [ 37.419568] xc2028 2-0061: check_firmware called
> [ 37.419570] xc2028 2-0061: load_all_firmwares called
> [ 37.419572] xc2028 2-0061: Reading firmware xc3028-v27.fw
> [ 37.456770] xc2028 2-0061: Loading 80 firmware images from
> xc3028-v27.fw, type: xc2028 firmware, ver 2.7
> [ 37.456783] xc2028 2-0061: Reading firmware type BASE F8MHZ (3), id
> 0, size=8718.
> [ 37.456798] xc2028 2-0061: Reading firmware type BASE F8MHZ MTS (7),
> id 0, size=8712.
> [ 37.456812] xc2028 2-0061: Reading firmware type BASE FM (401), id 0,
> size=8562.
> [ 37.456827] xc2028 2-0061: Reading firmware type BASE FM INPUT1
> (c01), id 0, size=8576.
> [ 37.456841] xc2028 2-0061: Reading firmware type BASE (1), id 0,
> size=8706.
> [ 37.456855] xc2028 2-0061: Reading firmware type BASE MTS (5), id 0,
> size=8682.
> [ 37.456864] xc2028 2-0061: Reading firmware type (0), id 100000007,
> size=161.
> [ 37.456867] xc2028 2-0061: Reading firmware type MTS (4), id
> 100000007, size=169.
> [ 37.456872] xc2028 2-0061: Reading firmware type (0), id 200000007,
> size=161.
> [ 37.456875] xc2028 2-0061: Reading firmware type MTS (4), id
> 200000007, size=169.
> [ 37.456879] xc2028 2-0061: Reading firmware type (0), id 400000007,
> size=161.
> [ 37.456882] xc2028 2-0061: Reading firmware type MTS (4), id
> 400000007, size=169.
> [ 37.456887] xc2028 2-0061: Reading firmware type (0), id 800000007,
> size=161.
> [ 37.456890] xc2028 2-0061: Reading firmware type MTS (4), id
> 800000007, size=169.
> [ 37.456895] xc2028 2-0061: Reading firmware type (0), id 3000000e0,
> size=161.
> [ 37.456898] xc2028 2-0061: Reading firmware type MTS (4), id
> 3000000e0, size=169.
> [ 37.456902] xc2028 2-0061: Reading firmware type (0), id c000000e0,
> size=161.
> [ 37.456905] xc2028 2-0061: Reading firmware type MTS (4), id
> c000000e0, size=169.
> [ 37.456910] xc2028 2-0061: Reading firmware type (0), id 200000,
> size=161.
> [ 37.456913] xc2028 2-0061: Reading firmware type MTS (4), id 200000,
> size=169.
> [ 37.456917] xc2028 2-0061: Reading firmware type (0), id 4000000,
> size=161.
> [ 37.456920] xc2028 2-0061: Reading firmware type MTS (4), id 4000000,
> size=169.
> [ 37.456924] xc2028 2-0061: Reading firmware type D2633 DTV6 ATSC
> (10030), id 0, size=149.
> [ 37.456928] xc2028 2-0061: Reading firmware type D2620 DTV6 QAM (68),
> id 0, size=149.
> [ 37.456932] xc2028 2-0061: Reading firmware type D2633 DTV6 QAM (70),
> id 0, size=149.
> [ 37.456938] xc2028 2-0061: Reading firmware type D2620 DTV7 (88), id
> 0, size=149.
> [ 37.456942] xc2028 2-0061: Reading firmware type D2633 DTV7 (90), id
> 0, size=149.
> [ 37.456946] xc2028 2-0061: Reading firmware type D2620 DTV78 (108),
> id 0, size=149.
> [ 37.456951] xc2028 2-0061: Reading firmware type D2633 DTV78 (110),
> id 0, size=149.
> [ 37.456954] xc2028 2-0061: Reading firmware type D2620 DTV8 (208), id
> 0, size=149.
> [ 37.456958] xc2028 2-0061: Reading firmware type D2633 DTV8 (210), id
> 0, size=149.
> [ 37.456963] xc2028 2-0061: Reading firmware type FM (400), id 0,
> size=135.
> [ 37.456966] xc2028 2-0061: Reading firmware type (0), id 10,
> size=161.
> [ 37.456969] xc2028 2-0061: Reading firmware type MTS (4), id 10,
> size=169.
> [ 37.456973] xc2028 2-0061: Reading firmware type (0), id 1000400000,
> size=169.
> [ 37.456977] xc2028 2-0061: Reading firmware type (0), id c00400000,
> size=161.
> [ 37.456980] xc2028 2-0061: Reading firmware type (0), id 800000,
> size=161.
> [ 37.456984] xc2028 2-0061: Reading firmware type (0), id 8000,
> size=161.
> [ 37.456987] xc2028 2-0061: Reading firmware type LCD (1000), id 8000,
> size=161.
> [ 37.456991] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id
> 8000, size=161.
> [ 37.456995] xc2028 2-0061: Reading firmware type MTS (4), id 8000,
> size=169.
> [ 37.456999] xc2028 2-0061: Reading firmware type (0), id b700,
> size=161.
> [ 37.457002] xc2028 2-0061: Reading firmware type LCD (1000), id b700,
> size=161.
> [ 37.457006] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id
> b700, size=161.
> [ 37.457010] xc2028 2-0061: Reading firmware type (0), id 2000,
> size=161.
> [ 37.457013] xc2028 2-0061: Reading firmware type MTS (4), id b700,
> size=169.
> [ 37.457021] xc2028 2-0061: Reading firmware type MTS LCD (1004), id
> b700, size=169.
> [ 37.457025] xc2028 2-0061: Reading firmware type MTS LCD NOGD (3004),
> id b700, size=169.
> [ 37.457029] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3280
> (60000000), id 0, size=192.
> [ 37.457034] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3300
> (60000000), id 0, size=192.
> [ 37.457039] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3440
> (60000000), id 0, size=192.
> [ 37.457043] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3460
> (60000000), id 0, size=192.
> [ 37.457047] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN36
> SCODE HAS_IF_3800 (60210020), id 0, size=192.
> [ 37.457053] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4000
> (60000000), id 0, size=192.
> [ 37.457057] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA388
> SCODE HAS_IF_4080 (60410020), id 0, size=192.
> [ 37.457063] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4200
> (60000000), id 0, size=192.
> [ 37.457067] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_4320 (60008000), id 8000, size=192.
> [ 37.457072] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4450
> (60000000), id 0, size=192.
> [ 37.457077] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4500
> (60000000), id 2000, size=192.
> [ 37.457081] xc2028 2-0061: Reading firmware type LCD NOGD IF SCODE
> HAS_IF_4600 (60023000), id 8000, size=192.
> [ 37.457087] xc2028 2-0061: Reading firmware type DTV78 ZARLINK456
> SCODE HAS_IF_4760 (62000100), id 0, size=192.
> [ 37.457092] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4940
> (60000000), id 0, size=192.
> [ 37.457096] xc2028 2-0061: Reading firmware type DTV7 ZARLINK456
> SCODE HAS_IF_5260 (62000080), id 0, size=192.
> [ 37.457101] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_5320 (60008000), id 800000007, size=192.
> [ 37.457107] xc2028 2-0061: Reading firmware type DTV8 CHINA SCODE
> HAS_IF_5400 (64000200), id 0, size=192.
> [ 37.457111] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN538
> SCODE HAS_IF_5580 (60110020), id 0, size=192.
> [ 37.457117] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5640
> (60000000), id 200000007, size=192.
> [ 37.457124] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5740
> (60000000), id 800000007, size=192.
> [ 37.457129] xc2028 2-0061: Reading firmware type DTV7 DIBCOM52 SCODE
> HAS_IF_5900 (61000080), id 0, size=192.
> [ 37.457134] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6000 (60008000), id 10, size=192.
> [ 37.457139] xc2028 2-0061: Reading firmware type DTV6 QAM F6MHZ SCODE
> HAS_IF_6200 (68000060), id 0, size=192.
> [ 37.457144] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6240
> (60000000), id 10, size=192.
> [ 37.457149] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6320 (60008000), id 200000, size=192.
> [ 37.457154] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6340
> (60000000), id 200000, size=192.
> [ 37.457159] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6500 (60008000), id 4000000, size=192.
> [ 37.457164] xc2028 2-0061: Reading firmware type DTV6 ATSC ATI638
> SCODE HAS_IF_6580 (60090020), id 0, size=192.
> [ 37.457169] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6600
> (60000000), id 3000000e0, size=192.
> [ 37.457174] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6680 (60008000), id 3000000e0, size=192.
> [ 37.457180] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA794
> SCODE HAS_IF_8140 (60810020), id 0, size=192.
> [ 37.457185] xc2028 2-0061: Reading firmware type SCODE HAS_IF_8200
> (60000000), id 0, size=192.
> [ 37.457201] xc2028 2-0061: Firmware files loaded.
> [ 37.457203] xc2028 2-0061: checking firmware, user requested
> type=F8MHZ MTS (6), id 00000000000000ff, scode_tbl (0), scode_nr 0
> [ 37.457229] Unable to handle kernel NULL pointer dereference at
> 00000000000001c4 RIP:
> [ 37.457232] [<ffffffff88255839>] :saa7134:saa7134_tuner_callback
> +0x9/0x190
> [ 37.457255] PGD 65f26067 PUD 66a9e067 PMD 0
> [ 37.457259] Oops: 0000 [1] SMP
> [ 37.457262] CPU 0
> [ 37.457264] Modules linked in: tuner tea5767 tda8290 tda18271 tda827x
> tuner_xc2028 xc5000 tda9887 tuner_simple tuner_types mt20xx tea5761
> snd_hda_intel snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy
> snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event saa7134 snd_seq
> parport_pc ide_cd cdrom snd_timer snd_seq_device compat_ioctl32 videodev
> v4l1_compat v4l2_common videobuf_dma_sg videobuf_core ir_kbd_i2c
> ir_common tveeprom xpad pcspkr psmouse parport snd soundcore
> snd_page_alloc i2c_nforce2 serio_raw k8temp i2c_core shpchp pci_hotplug
> evdev ext3 jbd mbcache sg sd_mod amd74xx ide_core usbhid hid forcedeth
> sata_nv ata_generic libata scsi_mod ohci_hcd ehci_hcd usbcore thermal
> processor fan fuse apparmor commoncap
> [ 37.457305] Pid: 3942, comm: modprobe Not tainted 2.6.22-14-generic
> #1
> [ 37.457308] RIP: 0010:[<ffffffff88255839>]
> [<ffffffff88255839>] :saa7134:saa7134_tuner_callback+0x9/0x190
> [ 37.457321] RSP: 0018:ffff810065c65a38 EFLAGS: 00010292
> [ 37.457323] RAX: 0000000000000007 RBX: 0000000000000001 RCX:
> 0000000000000000
> [ 37.457326] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
> 0000000000000000
> [ 37.457329] RBP: ffff81006c2e6600 R08: 000000000000904b R09:
> 0000000000000007
> [ 37.457331] R10: 0000000000000000 R11: 0000000000000001 R12:
> 0000000000000000
> [ 37.457334] R13: ffff81006c2e6678 R14: 0000000000000001 R15:
> 0000000000000001
> [ 37.457338] FS: 00002ad17e0376e0(0000) GS:ffffffff80560000(0000)
> knlGS:0000000000000000
> [ 37.457341] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [ 37.457344] CR2: 00000000000001c4 CR3: 0000000067900000 CR4:
> 00000000000006e0
> [ 37.457348] Process modprobe (pid: 3942, threadinfo ffff810065c64000,
> task ffff810037e02dc0)
> [ 37.457350] Stack: ffff81006c2e6600 ffffffff8833c803
> ffff810065c65b08 ffff810000000002
> [ 37.457358] ffff810000000007 ffff81006d7db000 ffff81006d7db270
> 00000000000000ff
> [ 37.457363] 000000066d7db170 17d7840000000004 ffff81006d7db000
> ffff81006c2e66a0
> [ 37.457368] Call Trace:
> [ 37.457375] [<ffffffff8833c803>] :tuner_xc2028:generic_set_freq
> +0x593/0x1830
> [ 37.457393] [<ffffffff802361fe>] printk+0x4e/0x60
> [ 37.457408] [<ffffffff8835aa4e>] :tuner:set_tv_freq+0xae/0x1c0
> [ 37.457417] [<ffffffff8835abd1>] :tuner:set_freq+0x71/0x1a0
> [ 37.457423] [<ffffffff8835bfe8>] :tuner:tuner_command+0x198/0x12f0
> [ 37.457439] [<ffffffff8818c072>] :i2c_core:i2c_clients_command
> +0xa2/0xf0
> [ 37.457452] [<ffffffff8825dfc0>] :saa7134:saa7134_video_init2
> +0x10/0x40
> [ 37.457462] [<ffffffff882577bb>] :saa7134:saa7134_initdev
> +0x3fb/0x9a0
> [ 37.457469] [<ffffffff802e8530>] sysfs_make_dirent+0x30/0x50
> [ 37.457478] [<ffffffff803352d1>] pci_device_probe+0xf1/0x170
> [ 37.457487] [<ffffffff80391063>] driver_probe_device+0xa3/0x1b0
> [ 37.457494] [<ffffffff80391329>] __driver_attach+0xc9/0xd0
> [ 37.457499] [<ffffffff80391260>] __driver_attach+0x0/0xd0
> [ 37.457503] [<ffffffff8039023d>] bus_for_each_dev+0x4d/0x80
> [ 37.457512] [<ffffffff8039069f>] bus_add_driver+0xaf/0x1f0
> [ 37.457518] [<ffffffff80335556>] __pci_register_driver+0x66/0xb0
> [ 37.457525] [<ffffffff80256edb>] sys_init_module+0x19b/0x19b0
> [ 37.457540] [<ffffffff80326a21>] __up_write+0x21/0x130
> [ 37.457551] [<ffffffff80209e8e>] system_call+0x7e/0x83
> [ 37.457560]
> [ 37.457561]
> [ 37.457562] Code: 8b 87 c4 01 00 00 83 f8 36 74 0f 83 f8 47 74 27 b8
> ea ff ff
> [ 37.457571] RIP [<ffffffff88255839>] :saa7134:saa7134_tuner_callback
> +0x9/0x190
> [ 37.457582] RSP <ffff810065c65a38>
> [ 37.457584] CR2: 00000000000001c4
> [ 217.307903] loop: module loaded
> <snip>
>
> 3) upgraded ubuntu 7.10
>
> - now have /dev/video0 but tvtime no channel management
> - now have a soundcard and volume control
> dmesg
> <snip>
> [ 40.858920] Linux video capture interface: v2.00
> [ 40.885880] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 40.898374] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 40.898379] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 40.898442] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 40.966241] input: PC Speaker as /class/input/input4
> [ 40.996272] usbcore: registered new interface driver xpad
> [
> 40.996278] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
> [ 41.001747] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 41.002059] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 41.002062] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 41.002124] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 41.023093] saa7130/34: v4l2 driver version 0.2.14 loaded
> [ 41.024199] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
> [ 41.024212] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 41.024221] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 41.024228] saa7133[0]: subsystem: 1461:f936, board: UNKNOWN/GENERIC
> [card=0,autodetected]
> [ 41.024238] saa7133[0]: board init: gpio is 2fa00
> [ 41.169381] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 41.169390] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169398] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 41.169405] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169412] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169419] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169426] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169433] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.181368] saa7133[0]: i2c scan: found device @ 0x1e [???]
> [ 41.201331] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 41.207898] saa7133[0]: registered device video0 [v4l2]
> [ 41.207916] saa7133[0]: registered device vbi0
> [ 41.207634] ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 22
> [ 41.207640] ACPI: PCI Interrupt 0000:00:10.1[B] -> Link [AAZA] -> GSI
> 22 (level, low) -> IRQ 22
> [ 41.207843] PCI: Setting latency timer of device 0000:00:10.1 to 64
> [ 41.216288] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 41.216665] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 41.216668] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 41.216730] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 41.229655] saa7134 ALSA driver for DMA sound loaded
> [ 41.229687] saa7133[0]/alsa: saa7133[0] at 0xfdbff000 irq 17
> registered as card -2
> [ 42.568641] loop: module loaded
> <snip>
>
> What is this?
>
> [
> 40.996278] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
>
> I don't have a xbox, is it auto loaded module from kernel?
>
> 4) still no nvidia-glx-new
>
> - make, sudo make install v4l-dvb
>
> after cd v4l-dvb, make, sudo make install:
>
> timf@ubuntu:~/v4l-dvb$ sudo modprobe saa7134
> WARNING: Error inserting videobuf_core
> (/lib/modules/2.6.22-14-generic/kernel/drivers/media/video/videobuf-core.ko): Invalid module format
> WARNING: Error inserting videobuf_dma_sg
> (/lib/modules/2.6.22-14-generic/kernel/drivers/media/video/videobuf-dma-sg.ko): Unknown symbol in module, or unknown parameter (see dmesg)
> timf@ubuntu:~/v4l-dvb$
>
> dmesg
> <snip>
> [ 40.858920] Linux video capture interface: v2.00
> [ 40.885880] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 40.898374] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 40.898379] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 40.898442] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 40.966241] input: PC Speaker as /class/input/input4
> [ 40.996272] usbcore: registered new interface driver xpad
> [
> 40.996278] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
> [ 41.001747] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 41.002059] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 41.002062] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 41.002124] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 41.023093] saa7130/34: v4l2 driver version 0.2.14 loaded
> [ 41.024199] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
> [ 41.024212] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 41.024221] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 41.024228] saa7133[0]: subsystem: 1461:f936, board: UNKNOWN/GENERIC
> [card=0,autodetected]
> [ 41.024238] saa7133[0]: board init: gpio is 2fa00
> [ 41.169381] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 41.169390] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169398] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 41.169405] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169412] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169419] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169426] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.169433] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 41.181368] saa7133[0]: i2c scan: found device @ 0x1e [???]
> [ 41.201331] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 41.207898] saa7133[0]: registered device video0 [v4l2]
> [ 41.207916] saa7133[0]: registered device vbi0
> [ 41.207634] ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 22
> [ 41.207640] ACPI: PCI Interrupt 0000:00:10.1[B] -> Link [AAZA] -> GSI
> 22 (level, low) -> IRQ 22
> [ 41.207843] PCI: Setting latency timer of device 0000:00:10.1 to 64
> [ 41.216288] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 41.216665] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 41.216668] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 41.216730] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 41.229655] saa7134 ALSA driver for DMA sound loaded
> [ 41.229687] saa7133[0]/alsa: saa7133[0] at 0xfdbff000 irq 17
> registered as card -2
> [ 42.568641] loop: module loaded
> [ 42.591463] lp0: using parport0 (interrupt-driven).
> [ 42.683471] Adding 9767512k swap on /dev/sda3. Priority:-1 extents:1
> across:9767512k
> [ 43.018620] EXT3 FS on sda4, internal journal
> [ 43.674379] kjournald starting. Commit interval 5 seconds
> [ 43.675429] EXT3 FS on sda2, internal journal
> [ 43.675436] EXT3-fs: mounted filesystem with ordered data mode.
> [ 44.385992] No dock devices found.
> [ 44.463874] input: Power Button (FF) as /class/input/input5
> [ 44.463900] ACPI: Power Button (FF) [PWRF]
> [ 44.463943] input: Power Button (CM) as /class/input/input6
> [ 44.463956] ACPI: Power Button (CM) [PWRB]
> [ 44.726559] powernow-k8: Found 2 AMD Athlon(tm) 64 X2 Dual Core
> Processor 3600+ processors (version 2.00.00)
> [ 44.725758] powernow-k8: MP systems not supported by PSB BIOS
> structure
> [ 44.726603] powernow-k8: MP systems not supported by PSB BIOS
> structure
> [ 45.730504] ppdev: user-space parallel port driver
> [ 45.850955] audit(1205902078.360:3): type=1503
> operation="inode_permission" requested_mask="a" denied_mask="a"
> name="/dev/tty" pid=5088 profile="/usr/sbin/cupsd"
> [ 46.184234] Failure registering capabilities with primary security
> module.
> [ 46.358319] Bluetooth: Core ver 2.11
> [ 46.358438] NET: Registered protocol family 31
> [ 46.358441] Bluetooth: HCI device and connection manager initialized
> [ 46.358445] Bluetooth: HCI socket layer initialized
> [ 46.368366] Bluetooth: L2CAP ver 2.8
> [ 46.368373] Bluetooth: L2CAP socket layer initialized
> [ 46.419940] Bluetooth: RFCOMM socket layer initialized
> [ 46.420043] Bluetooth: RFCOMM TTY layer initialized
> [ 46.420046] Bluetooth: RFCOMM ver 1.8
> [ 50.527622] NET: Registered protocol family 17
> [ 53.186922] NET: Registered protocol family 10
> [ 53.187106] lo: Disabled Privacy Extensions
> [ 63.602916] eth0: no IPv6 routers present
> [ 112.219989] usb 2-2: new high speed USB device using ehci_hcd and
> address 4
> [ 112.353831] usb 2-2: configuration #1 chosen from 1 choice
> [ 112.427851] usbcore: registered new interface driver libusual
> [ 112.448957] Initializing USB Mass Storage driver...
> [ 112.449315] scsi4 : SCSI emulation for USB Mass Storage devices
> [ 112.449028] usb-storage: device found at 4
> [ 112.449035] usb-storage: waiting for device to settle before scanning
> [ 112.449716] usbcore: registered new interface driver usb-storage
> [ 112.449805] USB Mass Storage support registered.
> [ 117.444090] usb-storage: device scan complete
> [ 117.445168] scsi 4:0:0:0: Direct-Access USBDisk RunDisk
> 1.00 PQ: 0 ANSI: 2
> [ 117.450144] sd 4:0:0:0: [sdb] 4005000 512-byte hardware sectors (2051
> MB)
> [ 117.451766] sd 4:0:0:0: [sdb] Write Protect is off
> [ 117.451771] sd 4:0:0:0: [sdb] Mode Sense: 0b 00 00 08
> [ 117.451774] sd 4:0:0:0: [sdb] Assuming drive cache: write through
> [ 117.457132] sd 4:0:0:0: [sdb] 4005000 512-byte hardware sectors (2051
> MB)
> [ 117.458754] sd 4:0:0:0: [sdb] Write Protect is off
> [ 117.458758] sd 4:0:0:0: [sdb] Mode Sense: 0b 00 00 08
> [ 117.458762] sd 4:0:0:0: [sdb] Assuming drive cache: write through
> [ 117.458766] sdb: sdb1
> [ 117.511250] sd 4:0:0:0: [sdb] Attached SCSI removable disk
> [ 117.511293] sd 4:0:0:0: Attached scsi generic sg1 type 0
> [ 142.382746] usb 2-2: USB disconnect, address 4
> [ 831.554889] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 831.555406] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 831.555410] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 831.555473] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
> [ 944.319189] usb 2-2: new high speed USB device using ehci_hcd and
> address 5
> [ 944.465057] usb 2-2: configuration #1 chosen from 1 choice
> [ 944.465398] scsi5 : SCSI emulation for USB Mass Storage devices
> [ 944.465168] usb-storage: device found at 5
> [ 944.465174] usb-storage: waiting for device to settle before scanning
> [ 949.459464] usb-storage: device scan complete
> [ 949.460517] scsi 5:0:0:0: Direct-Access USBDisk RunDisk
> 1.00 PQ: 0 ANSI: 2
> [ 949.465494] sd 5:0:0:0: [sdb] 4005000 512-byte hardware sectors (2051
> MB)
> [ 949.467115] sd 5:0:0:0: [sdb] Write Protect is off
> [ 949.467119] sd 5:0:0:0: [sdb] Mode Sense: 0b 00 00 08
> [ 949.467124] sd 5:0:0:0: [sdb] Assuming drive cache: write through
> [ 949.472482] sd 5:0:0:0: [sdb] 4005000 512-byte hardware sectors (2051
> MB)
> [ 949.474103] sd 5:0:0:0: [sdb] Write Protect is off
> [ 949.474107] sd 5:0:0:0: [sdb] Mode Sense: 0b 00 00 08
> [ 949.474109] sd 5:0:0:0: [sdb] Assuming drive cache: write through
> [ 949.474113] sdb: sdb1
> [ 949.599354] sd 5:0:0:0: [sdb] Attached SCSI removable disk
> [ 949.599397] sd 5:0:0:0: Attached scsi generic sg1 type 0
>
> What's this?
> [ 41.216288] videobuf_core: exports duplicate symbol
> videobuf_mmap_mapper (owned by video_buf)
> [ 41.216665] videobuf_dma_sg: disagrees about version of symbol
> videobuf_alloc
> [ 41.216668] videobuf_dma_sg: Unknown symbol videobuf_alloc
> [ 41.216730] videobuf_dma_sg: Unknown symbol videobuf_queue_core_init
>
> still no nvidia-glx-new
>
> Reboot
> dmesg
> <snip>
> [ 38.451668] Linux video capture interface: v2.00
> [ 38.478278] usbcore: registered new interface driver xpad
> [
> 38.478284] /build/buildd/linux-source-2.6.22-2.6.22/drivers/input/joystick/xpad.c: driver for Xbox controllers v0.1.6
> [ 38.536507] saa7130/34: v4l2 driver version 0.2.14 loaded
> [ 38.537018] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
> [ 38.537030] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC2] -> GSI
> 17 (level, low) -> IRQ 17
> [ 38.537038] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17,
> latency: 32, mmio: 0xfdbff000
> [ 38.537045] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid
> TV/Radio (A16D) [card=137,autodetected]
> [ 38.537055] saa7133[0]: board init: gpio is 2fa00
> [ 38.720192] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00
> 00 00 00 00 00 00
> [ 38.720201] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720208] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff
> 00 0e ff ff ff ff
> [ 38.720216] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720223] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720230] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720237] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720245] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720252] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720259] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720267] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720274] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720281] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720289] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720297] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.720304] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
> ff ff ff ff ff ff
> [ 38.740158] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
> [ 38.752139] saa7133[0]: i2c scan: found device @ 0xc2 [???]
> [ 38.851995] tuner' 2-0061: Setting mode_mask to 0x0e
> [ 38.852000] tuner' 2-0061: chip found @ 0xc2 (saa7133[0])
> [ 38.852003] tuner' 2-0061: tuner 0x61: Tuner type absent
> [ 38.852043] tuner' 2-0061: Calling set_type_addr for type=71,
> addr=0xff, mode=0x04, config=0x00
> [ 38.852046] tuner' 2-0061: set addr for type -1
> [ 38.852048] tuner' 2-0061: defining GPIO callback
> [ 38.852051] xc2028: Xcv2028/3028 init called!
> [ 38.852055] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner
> [ 38.852058] tuner' 2-0061: type set to Xceive XC3028
> [ 38.852061] tuner' 2-0061: tv freq set to 400.00
> [ 38.852063] xc2028 2-0061: xc2028_set_analog_freq called
> [ 38.852066] xc2028 2-0061: generic_set_freq called
> [ 38.852069] xc2028 2-0061: should set frequency 400000 kHz
> [ 38.852071] xc2028 2-0061: check_firmware called
> [ 38.852073] xc2028 2-0061: xc2028/3028 firmware name not set!
> [ 38.852076] tuner' 2-0061: saa7133[0] tuner' I2C addr 0xc2 with type
> 71 used for 0x0e
> [ 38.854098] xc2028 2-0061: xc2028_set_config called
> [ 38.854103] tuner' 2-0061: switching to v4l2
> [ 38.854106] tuner' 2-0061: tv freq set to 400.00
> [ 38.854108] xc2028 2-0061: xc2028_set_analog_freq called
> [ 38.854110] xc2028 2-0061: generic_set_freq called
> [ 38.854113] xc2028 2-0061: should set frequency 400000 kHz
> [ 38.854115] xc2028 2-0061: check_firmware called
> [ 38.854117] xc2028 2-0061: load_all_firmwares called
> [ 38.854119] xc2028 2-0061: Reading firmware xc3028-v27.fw
> [ 38.887454] xc2028 2-0061: Loading 80 firmware images from
> xc3028-v27.fw, type: xc2028 firmware, ver 2.7
> [ 38.887468] xc2028 2-0061: Reading firmware type BASE F8MHZ (3), id
> 0, size=8718.
> [ 38.887481] xc2028 2-0061: Reading firmware type BASE F8MHZ MTS (7),
> id 0, size=8712.
> [ 38.887492] xc2028 2-0061: Reading firmware type BASE FM (401), id 0,
> size=8562.
> [ 38.887502] xc2028 2-0061: Reading firmware type BASE FM INPUT1
> (c01), id 0, size=8576.
> [ 38.887514] xc2028 2-0061: Reading firmware type BASE (1), id 0,
> size=8706.
> [ 38.887525] xc2028 2-0061: Reading firmware type BASE MTS (5), id 0,
> size=8682.
> [ 38.887531] xc2028 2-0061: Reading firmware type (0), id 100000007,
> size=161.
> [ 38.887534] xc2028 2-0061: Reading firmware type MTS (4), id
> 100000007, size=169.
> [ 38.887539] xc2028 2-0061: Reading firmware type (0), id 200000007,
> size=161.
> [ 38.887542] xc2028 2-0061: Reading firmware type MTS (4), id
> 200000007, size=169.
> [ 38.887546] xc2028 2-0061: Reading firmware type (0), id 400000007,
> size=161.
> [ 38.887550] xc2028 2-0061: Reading firmware type MTS (4), id
> 400000007, size=169.
> [ 38.887554] xc2028 2-0061: Reading firmware type (0), id 800000007,
> size=161.
> [ 38.887558] xc2028 2-0061: Reading firmware type MTS (4), id
> 800000007, size=169.
> [ 38.887562] xc2028 2-0061: Reading firmware type (0), id 3000000e0,
> size=161.
> [ 38.887565] xc2028 2-0061: Reading firmware type MTS (4), id
> 3000000e0, size=169.
> [ 38.887569] xc2028 2-0061: Reading firmware type (0), id c000000e0,
> size=161.
> [ 38.887572] xc2028 2-0061: Reading firmware type MTS (4), id
> c000000e0, size=169.
> [ 38.887576] xc2028 2-0061: Reading firmware type (0), id 200000,
> size=161.
> [ 38.887579] xc2028 2-0061: Reading firmware type MTS (4), id 200000,
> size=169.
> [ 38.887583] xc2028 2-0061: Reading firmware type (0), id 4000000,
> size=161.
> [ 38.887586] xc2028 2-0061: Reading firmware type MTS (4), id 4000000,
> size=169.
> [ 38.887590] xc2028 2-0061: Reading firmware type D2633 DTV6 ATSC
> (10030), id 0, size=149.
> [ 38.887594] xc2028 2-0061: Reading firmware type D2620 DTV6 QAM (68),
> id 0, size=149.
> [ 38.887598] xc2028 2-0061: Reading firmware type D2633 DTV6 QAM (70),
> id 0, size=149.
> [ 38.887604] xc2028 2-0061: Reading firmware type D2620 DTV7 (88), id
> 0, size=149.
> [ 38.887607] xc2028 2-0061: Reading firmware type D2633 DTV7 (90), id
> 0, size=149.
> [ 38.887611] xc2028 2-0061: Reading firmware type D2620 DTV78 (108),
> id 0, size=149.
> [ 38.887615] xc2028 2-0061: Reading firmware type D2633 DTV78 (110),
> id 0, size=149.
> [ 38.887619] xc2028 2-0061: Reading firmware type D2620 DTV8 (208), id
> 0, size=149.
> [ 38.887622] xc2028 2-0061: Reading firmware type D2633 DTV8 (210), id
> 0, size=149.
> [ 38.887626] xc2028 2-0061: Reading firmware type FM (400), id 0,
> size=135.
> [ 38.887630] xc2028 2-0061: Reading firmware type (0), id 10,
> size=161.
> [ 38.887633] xc2028 2-0061: Reading firmware type MTS (4), id 10,
> size=169.
> [ 38.887636] xc2028 2-0061: Reading firmware type (0), id 1000400000,
> size=169.
> [ 38.887640] xc2028 2-0061: Reading firmware type (0), id c00400000,
> size=161.
> [ 38.887643] xc2028 2-0061: Reading firmware type (0), id 800000,
> size=161.
> [ 38.887646] xc2028 2-0061: Reading firmware type (0), id 8000,
> size=161.
> [ 38.887649] xc2028 2-0061: Reading firmware type LCD (1000), id 8000,
> size=161.
> [ 38.887653] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id
> 8000, size=161.
> [ 38.887657] xc2028 2-0061: Reading firmware type MTS (4), id 8000,
> size=169.
> [ 38.887661] xc2028 2-0061: Reading firmware type (0), id b700,
> size=161.
> [ 38.887664] xc2028 2-0061: Reading firmware type LCD (1000), id b700,
> size=161.
> [ 38.887667] xc2028 2-0061: Reading firmware type LCD NOGD (3000), id
> b700, size=161.
> [ 38.887671] xc2028 2-0061: Reading firmware type (0), id 2000,
> size=161.
> [ 38.887674] xc2028 2-0061: Reading firmware type MTS (4), id b700,
> size=169.
> [ 38.887679] xc2028 2-0061: Reading firmware type MTS LCD (1004), id
> b700, size=169.
> [ 38.887682] xc2028 2-0061: Reading firmware type MTS LCD NOGD (3004),
> id b700, size=169.
> [ 38.887687] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3280
> (60000000), id 0, size=192.
> [ 38.887691] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3300
> (60000000), id 0, size=192.
> [ 38.887695] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3440
> (60000000), id 0, size=192.
> [ 38.887700] xc2028 2-0061: Reading firmware type SCODE HAS_IF_3460
> (60000000), id 0, size=192.
> [ 38.887705] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN36
> SCODE HAS_IF_3800 (60210020), id 0, size=192.
> [ 38.887710] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4000
> (60000000), id 0, size=192.
> [ 38.887715] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA388
> SCODE HAS_IF_4080 (60410020), id 0, size=192.
> [ 38.887720] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4200
> (60000000), id 0, size=192.
> [ 38.887725] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_4320 (60008000), id 8000, size=192.
> [ 38.887730] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4450
> (60000000), id 0, size=192.
> [ 38.887734] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4500
> (60000000), id 2000, size=192.
> [ 38.887739] xc2028 2-0061: Reading firmware type LCD NOGD IF SCODE
> HAS_IF_4600 (60023000), id 8000, size=192.
> [ 38.887744] xc2028 2-0061: Reading firmware type DTV78 ZARLINK456
> SCODE HAS_IF_4760 (62000100), id 0, size=192.
> [ 38.887749] xc2028 2-0061: Reading firmware type SCODE HAS_IF_4940
> (60000000), id 0, size=192.
> [ 38.887753] xc2028 2-0061: Reading firmware type DTV7 ZARLINK456
> SCODE HAS_IF_5260 (62000080), id 0, size=192.
> [ 38.887758] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_5320 (60008000), id 800000007, size=192.
> [ 38.887763] xc2028 2-0061: Reading firmware type DTV8 CHINA SCODE
> HAS_IF_5400 (64000200), id 0, size=192.
> [ 38.887768] xc2028 2-0061: Reading firmware type DTV6 ATSC OREN538
> SCODE HAS_IF_5580 (60110020), id 0, size=192.
> [ 38.887774] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5640
> (60000000), id 200000007, size=192.
> [ 38.887780] xc2028 2-0061: Reading firmware type SCODE HAS_IF_5740
> (60000000), id 800000007, size=192.
> [ 38.887785] xc2028 2-0061: Reading firmware type DTV7 DIBCOM52 SCODE
> HAS_IF_5900 (61000080), id 0, size=192.
> [ 38.887790] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6000 (60008000), id 10, size=192.
> [ 38.887795] xc2028 2-0061: Reading firmware type DTV6 QAM F6MHZ SCODE
> HAS_IF_6200 (68000060), id 0, size=192.
> [ 38.887800] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6240
> (60000000), id 10, size=192.
> [ 38.887805] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6320 (60008000), id 200000, size=192.
> [ 38.887810] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6340
> (60000000), id 200000, size=192.
> [ 38.887815] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6500 (60008000), id 4000000, size=192.
> [ 38.887820] xc2028 2-0061: Reading firmware type DTV6 ATSC ATI638
> SCODE HAS_IF_6580 (60090020), id 0, size=192.
> [ 38.887825] xc2028 2-0061: Reading firmware type SCODE HAS_IF_6600
> (60000000), id 3000000e0, size=192.
> [ 38.887830] xc2028 2-0061: Reading firmware type MONO SCODE
> HAS_IF_6680 (60008000), id 3000000e0, size=192.
> [ 38.887835] xc2028 2-0061: Reading firmware type DTV6 ATSC TOYOTA794
> SCODE HAS_IF_8140 (60810020), id 0, size=192.
> [ 38.887841] xc2028 2-0061: Reading firmware type SCODE HAS_IF_8200
> (60000000), id 0, size=192.
> [ 38.887851] xc2028 2-0061: Firmware files loaded.
> [ 38.887854] xc2028 2-0061: checking firmware, user requested
> type=F8MHZ MTS (6), id 00000000000000ff, scode_tbl (0), scode_nr 0
> [ 38.887878] Unable to handle kernel NULL pointer dereference at
> 00000000000001c4 RIP:
> [ 38.887881] [<ffffffff8826e839>] :saa7134:saa7134_tuner_callback
> +0x9/0x190
> [ 38.887903] PGD 67dc9067 PUD 67b92067 PMD 0
> [ 38.887906] Oops: 0000 [1] SMP
> [ 38.887909] CPU 1
> [ 38.887911] Modules linked in: tuner tea5767 tda8290 tda18271 tda827x
> tuner_xc2028 xc5000 tda9887 tuner_simple tuner_types mt20xx tea5761
> snd_hda_intel snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy saa7134
> snd_seq_oss xpad compat_ioctl32 videodev v4l1_compat v4l2_common
> videobuf_dma_sg videobuf_core ir_kbd_i2c ide_cd cdrom usbhid
> snd_seq_midi ir_common tveeprom hid parport_pc psmouse snd_rawmidi
> snd_seq_midi_event pcspkr parport snd_seq snd_timer snd_seq_device
> i2c_nforce2 k8temp serio_raw snd soundcore snd_page_alloc i2c_core
> shpchp pci_hotplug evdev ext3 jbd mbcache sg sd_mod amd74xx ide_core
> forcedeth ohci_hcd ata_generic ehci_hcd usbcore sata_nv libata scsi_mod
> thermal processor fan fuse apparmor commoncap
> [ 38.887952] Pid: 3934, comm: modprobe Not tainted 2.6.22-14-generic
> #1
> [ 38.887955] RIP: 0010:[<ffffffff8826e839>]
> [<ffffffff8826e839>] :saa7134:saa7134_tuner_callback+0x9/0x190
> [ 38.887967] RSP: 0018:ffff810066f93a38 EFLAGS: 00010292
> [ 38.887970] RAX: 0000000000000007 RBX: 0000000000000001 RCX:
> 0000000000000000
> [ 38.887972] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
> 0000000000000000
> [ 38.887975] RBP: ffff810066a00000 R08: 0000000000009048 R09:
> 0000000000000007
> [ 38.887978] R10: 0000000000000000 R11: 0000000000000001 R12:
> 0000000000000000
> [ 38.887981] R13: ffff810066a00078 R14: 0000000000000001 R15:
> 0000000000000001
> [ 38.887984] FS: 00002ae9a3ee16e0(0000) GS:ffff8100378e6280(0000)
> knlGS:0000000000000000
> [ 38.887988] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [ 38.887990] CR2: 00000000000001c4 CR3: 0000000068c71000 CR4:
> 00000000000006e0
> [ 38.887994] Process modprobe (pid: 3934, threadinfo ffff810066f92000,
> task ffff810066a4c6e0)
> [ 38.887996] Stack: ffff810066a00000 ffffffff8833a803
> ffff810066f93b08 ffff810000000002
> [ 38.888004] ffff810000000007 ffff810065ce8c00 ffff810065ce8e70
> 00000000000000ff
> [ 38.888009] 0000000665ce8d70 17d7840000000004 ffff810065ce8c00
> ffff810066a000a0
> [ 38.888014] Call Trace:
> [ 38.888021] [<ffffffff8833a803>] :tuner_xc2028:generic_set_freq
> +0x593/0x1830
> [ 38.888038] [<ffffffff802361fe>] printk+0x4e/0x60
> [ 38.888053] [<ffffffff88358a4e>] :tuner:set_tv_freq+0xae/0x1c0
> [ 38.888061] [<ffffffff88358bd1>] :tuner:set_freq+0x71/0x1a0
> [ 38.888067] [<ffffffff88359fe8>] :tuner:tuner_command+0x198/0x12f0
> [ 38.888081] [<ffffffff88177072>] :i2c_core:i2c_clients_command
> +0xa2/0xf0
> [ 38.888094] [<ffffffff88276fc0>] :saa7134:saa7134_video_init2
> +0x10/0x40
> [ 38.888104] [<ffffffff882707bb>] :saa7134:saa7134_initdev
> +0x3fb/0x9a0
> [ 38.888110] [<ffffffff802e8600>] sysfs_make_dirent+0x30/0x50
> [ 38.888119] [<ffffffff803353a1>] pci_device_probe+0xf1/0x170
> [ 38.888128] [<ffffffff80391133>] driver_probe_device+0xa3/0x1b0
> [ 38.888134] [<ffffffff803913f9>] __driver_attach+0xc9/0xd0
> [ 38.888139] [<ffffffff80391330>] __driver_attach+0x0/0xd0
> [ 38.888144] [<ffffffff8039030d>] bus_for_each_dev+0x4d/0x80
> [ 38.888152] [<ffffffff8039076f>] bus_add_driver+0xaf/0x1f0
> [ 38.888158] [<ffffffff80335626>] __pci_register_driver+0x66/0xb0
> [ 38.888164] [<ffffffff80256f1b>] sys_init_module+0x19b/0x19b0
> [ 38.888178] [<ffffffff80326af1>] __up_write+0x21/0x130
> [ 38.888189] [<ffffffff80209e8e>] system_call+0x7e/0x83
> [ 38.888197]
> [ 38.888198]
> [ 38.888199] Code: 8b 87 c4 01 00 00 83 f8 36 74 0f 83 f8 47 74 27 b8
> ea ff ff
> [ 38.888208] RIP [<ffffffff8826e839>] :saa7134:saa7134_tuner_callback
> +0x9/0x190
> [ 38.888219] RSP <ffff810066f93a38>
> [ 38.888221] CR2: 00000000000001c4
> [ 218.562468] loop: module loaded
> <snip>
>
> - still no nvidia-glx-new module installed yet
> - again no /dev/video#
> - again no soundcard detected??? -> no volume control
>
> Now, I will wait, and not install nvidia-glx-new - it could be that
> which destroys GDM at boot, however I will need to install it to watch
> TV, nv is just not up to it.
>
> I guess that's back to you experts!
>
> Best Regards,
> Tim
Ok. People, could you please try the enclosed patch? There were some errors at
the callback codes for cx88 and saa7134. I've already tested this with two different
cx88-based xc2028 board (one analog only, and a hybrid board).
Unfortunately, I don't have any saa7134 device that requires a callback.
Hopefully, this patch will fix analog mode, on A16D and the LNA issue for
tda827x, pointed by Hartmut.
Could you please test and give us a feedback?
Cheers,
Mauro.
--
Fixes callback codes for tuners
This patch fixes several issues with callback tuners:
- Remove the need of specifiying a video device for tuner-xc3028;
- tda827x now uses the proper parameter for tuner callback (the private
data address for i2c, at i2c_adap->algo_data);
- xc3028 reusage is check via i2c parent device (i2c_adap->dev)
- checks if callback first argument is NULL
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff -r f24051885fe9 linux/drivers/media/dvb/dvb-usb/cxusb.c
--- a/linux/drivers/media/dvb/dvb-usb/cxusb.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c Thu Mar 20 11:07:02 2008 -0300
@@ -509,7 +509,6 @@ static int cxusb_dvico_xc3028_tuner_atta
struct xc2028_config cfg = {
.i2c_adap = &adap->dev->i2c_adap,
.i2c_addr = 0x61,
- .video_dev = adap->dev,
.callback = dvico_bluebird_xc2028_callback,
};
static struct xc2028_ctrl ctl = {
diff -r f24051885fe9 linux/drivers/media/dvb/frontends/tda827x.c
--- a/linux/drivers/media/dvb/frontends/tda827x.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/dvb/frontends/tda827x.c Thu Mar 20 11:07:02 2008 -0300
@@ -579,7 +579,8 @@ static void tda827xa_lna_gain(struct dvb
else
arg = 0;
if (priv->cfg->tuner_callback)
- priv->cfg->tuner_callback(priv, 1, arg);
+ priv->cfg->tuner_callback(priv->i2c_adap->algo_data,
+ 1, arg);
buf[1] = high ? 0 : 1;
if (*priv->cfg->config == 2)
buf[1] = high ? 1 : 0;
@@ -587,7 +588,8 @@ static void tda827xa_lna_gain(struct dvb
break;
case 3: /* switch with GPIO of saa713x */
if (priv->cfg->tuner_callback)
- priv->cfg->tuner_callback(priv, 0, high);
+ priv->cfg->tuner_callback(priv->i2c_adap->algo_data,
+ 0, high);
break;
}
}
diff -r f24051885fe9 linux/drivers/media/video/cx23885/cx23885-dvb.c
--- a/linux/drivers/media/video/cx23885/cx23885-dvb.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c Thu Mar 20 11:07:02 2008 -0300
@@ -298,7 +298,6 @@ static int dvb_register(struct cx23885_t
struct xc2028_config cfg = {
.i2c_adap = &i2c_bus->i2c_adap,
.i2c_addr = 0x61,
- .video_dev = port,
.callback = cx23885_hvr1500_xc3028_callback,
};
static struct xc2028_ctrl ctl = {
diff -r f24051885fe9 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/cx88/cx88-cards.c Thu Mar 20 11:07:02 2008 -0300
@@ -2140,11 +2140,9 @@ static void gdi_eeprom(struct cx88_core
/* ------------------------------------------------------------------- */
/* some Divco specific stuff */
-static int cx88_dvico_xc2028_callback(void *priv, int command, int arg)
+static int cx88_dvico_xc2028_callback(struct cx88_core *core,
+ int command, int arg)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
-
switch (command) {
case XC2028_TUNER_RESET:
cx_write(MO_GP0_IO, 0x101000);
@@ -2162,11 +2160,9 @@ static int cx88_dvico_xc2028_callback(vo
/* ----------------------------------------------------------------------- */
/* some Geniatech specific stuff */
-static int cx88_xc3028_geniatech_tuner_callback(void *priv, int command, int mode)
+static int cx88_xc3028_geniatech_tuner_callback(struct cx88_core *core,
+ int command, int mode)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
-
switch (command) {
case XC2028_TUNER_RESET:
switch (INPUT(core->input).type) {
@@ -2193,11 +2189,9 @@ static int cx88_xc3028_geniatech_tuner_c
/* ------------------------------------------------------------------- */
/* some Divco specific stuff */
-static int cx88_pv_8000gt_callback(void *priv, int command, int arg)
+static int cx88_pv_8000gt_callback(struct cx88_core *core,
+ int command, int arg)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
-
switch (command) {
case XC2028_TUNER_RESET:
cx_write(MO_GP2_IO, 0xcf7);
@@ -2248,21 +2242,18 @@ static void dvico_fusionhdtv_hybrid_init
}
}
-static int cx88_xc2028_tuner_callback(void *priv, int command, int arg)
+static int cx88_xc2028_tuner_callback(struct cx88_core *core, int command, int arg)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
-
/* Board-specific callbacks */
switch (core->boardnr) {
case CX88_BOARD_WINFAST_TV2000_XP_GLOBAL:
case CX88_BOARD_POWERCOLOR_REAL_ANGEL:
case CX88_BOARD_GENIATECH_X8000_MT:
- return cx88_xc3028_geniatech_tuner_callback(priv, command, arg);
+ return cx88_xc3028_geniatech_tuner_callback(core, command, arg);
case CX88_BOARD_PROLINK_PV_8000GT:
- return cx88_pv_8000gt_callback(priv, command, arg);
+ return cx88_pv_8000gt_callback(core, command, arg);
case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
- return cx88_dvico_xc2028_callback(priv, command, arg);
+ return cx88_dvico_xc2028_callback(core, command, arg);
}
switch (command) {
@@ -2296,11 +2287,9 @@ static int cx88_xc2028_tuner_callback(vo
* PCTV HD 800i with an xc5000 sillicon tuner. This is used for both *
* analog tuner attach (tuner-core.c) and dvb tuner attach (cx88-dvb.c) */
-static int cx88_xc5000_tuner_callback(void *priv, int command, int arg)
+static int cx88_xc5000_tuner_callback(struct cx88_core *core,
+ int command, int arg)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
-
switch (core->boardnr) {
case CX88_BOARD_PINNACLE_PCTV_HD_800i:
if (command == 0) { /* This is the reset command from xc5000 */
@@ -2334,15 +2323,27 @@ int cx88_tuner_callback(void *priv, int
int cx88_tuner_callback(void *priv, int command, int arg)
{
struct i2c_algo_bit_data *i2c_algo = priv;
- struct cx88_core *core = i2c_algo->data;
+ struct cx88_core *core;
+
+ if (!i2c_algo) {
+ printk(KERN_ERR "cx88: Error - i2c_algo not defined.\n");
+ return -EINVAL;
+ }
+
+ core = i2c_algo->data;
+
+ if (!core) {
+ printk(KERN_ERR "cx88: Error - device pointer is NULL!\n");
+ return -EINVAL;
+ }
switch (core->board.tuner_type) {
case TUNER_XC2028:
info_printk(core, "Calling XC2028/3028 callback\n");
- return cx88_xc2028_tuner_callback(priv, command, arg);
+ return cx88_xc2028_tuner_callback(core, command, arg);
case TUNER_XC5000:
info_printk(core, "Calling XC5000 callback\n");
- return cx88_xc5000_tuner_callback(priv, command, arg);
+ return cx88_xc5000_tuner_callback(core, command, arg);
}
err_printk(core, "Error: Calling callback for tuner %d\n",
core->board.tuner_type);
diff -r f24051885fe9 linux/drivers/media/video/cx88/cx88-dvb.c
--- a/linux/drivers/media/video/cx88/cx88-dvb.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c Thu Mar 20 11:07:02 2008 -0300
@@ -465,7 +465,6 @@ static int attach_xc3028(u8 addr, struct
struct xc2028_config cfg = {
.i2c_adap = &dev->core->i2c_adap,
.i2c_addr = addr,
- .video_dev = dev->core->i2c_adap.algo_data,
};
if (!dev->dvb.frontend) {
@@ -787,7 +786,6 @@ static int dvb_register(struct cx8802_de
struct xc2028_config cfg = {
.i2c_adap = &dev->core->i2c_adap,
.i2c_addr = 0x61,
- .video_dev = dev->core,
.callback = cx88_pci_nano_callback,
};
static struct xc2028_ctrl ctl = {
diff -r f24051885fe9 linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Thu Mar 20 11:07:02 2008 -0300
@@ -5353,10 +5353,15 @@ static int saa7134_tda8290_callback(stru
return 0;
}
+/* priv retuns algo_data - on saa7134, it is equal to dev */
int saa7134_tuner_callback(void *priv, int command, int arg)
{
- struct i2c_algo_bit_data *i2c_algo = priv;
- struct saa7134_dev *dev = i2c_algo->data;
+ struct saa7134_dev *dev = priv;
+
+ if (!dev) {
+ printk(KERN_ERR "saa7134: Error: device pointer is NULL!\n");
+ return -EINVAL;
+ }
switch (dev->tuner_type) {
case TUNER_PHILIPS_TDA8290:
diff -r f24051885fe9 linux/drivers/media/video/saa7134/saa7134-dvb.c
--- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Thu Mar 20 11:07:02 2008 -0300
@@ -1173,7 +1173,6 @@ static int dvb_init(struct saa7134_dev *
struct xc2028_config cfg = {
.i2c_adap = &dev->i2c_adap,
.i2c_addr = 0x61,
- .video_dev = dev->i2c_adap.algo_data,
};
fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
if (!fe) {
diff -r f24051885fe9 linux/drivers/media/video/tuner-core.c
--- a/linux/drivers/media/video/tuner-core.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/tuner-core.c Thu Mar 20 11:07:02 2008 -0300
@@ -448,7 +448,6 @@ static void set_type(struct i2c_client *
struct xc2028_config cfg = {
.i2c_adap = t->i2c->adapter,
.i2c_addr = t->i2c->addr,
- .video_dev = c->adapter->algo_data,
.callback = t->tuner_callback,
};
if (!xc2028_attach(&t->fe, &cfg)) {
diff -r f24051885fe9 linux/drivers/media/video/tuner-xc2028.c
--- a/linux/drivers/media/video/tuner-xc2028.c Tue Mar 18 18:10:06 2008 -0300
+++ b/linux/drivers/media/video/tuner-xc2028.c Thu Mar 20 11:07:02 2008 -0300
@@ -1174,7 +1174,7 @@ struct dvb_frontend *xc2028_attach(struc
if (debug)
printk(KERN_DEBUG "xc2028: Xcv2028/3028 init called!\n");
- if (NULL == cfg || NULL == cfg->video_dev)
+ if (NULL == cfg)
return NULL;
if (!fe) {
@@ -1182,13 +1182,19 @@ struct dvb_frontend *xc2028_attach(struc
return NULL;
}
- video_dev = cfg->video_dev;
+ video_dev = cfg->i2c_adap->algo_data;
+
+ if (debug)
+ printk(KERN_DEBUG "xc2028: video_dev =%p\n", video_dev);
mutex_lock(&xc2028_list_mutex);
list_for_each_entry(priv, &xc2028_list, xc2028_list) {
- if (priv->video_dev == cfg->video_dev) {
+ if (&priv->i2c_props.adap->dev == &cfg->i2c_adap->dev) {
video_dev = NULL;
+ if (debug)
+ printk(KERN_DEBUG "xc2028: reusing device\n");
+
break;
}
}
@@ -1216,6 +1222,9 @@ struct dvb_frontend *xc2028_attach(struc
fe->tuner_priv = priv;
priv->count++;
+ if (debug)
+ printk(KERN_DEBUG "xc2028: usage count is %i\n", priv->count);
+
memcpy(&fe->ops.tuner_ops, &xc2028_dvb_tuner_ops,
sizeof(xc2028_dvb_tuner_ops));
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206030503.5997.2.camel@ubuntu>
@ 2008-03-20 17:07 ` Mauro Carvalho Chehab
[not found] ` <1206061004.6988.3.camel@ubuntu>
[not found] ` <20080322083435.2432256b@gaivota>
0 siblings, 2 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-20 17:07 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, Richard (MQ), linux-dvb
On Fri, 21 Mar 2008 01:28:23 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
>
> >
> > Could you please test and give us a feedback?
> Maybe I did something wrong:
>
> timf@ubuntu:~/v4l-dvb$ patch -p1 < mauro_patch1
> patching file linux/drivers/media/dvb/dvb-usb/cxusb.c
> Hunk #1 FAILED at 509.
> 1 out of 1 hunk FAILED -- saving rejects to file
> linux/drivers/media/dvb/dvb-usb/cxusb.c.rej
> patching file linux/drivers/media/dvb/frontends/tda827x.c
> Hunk #1 FAILED at 579.
> Hunk #2 FAILED at 588.
> 2 out of 2 hunks FAILED -- saving rejects to file
> linux/drivers/media/dvb/frontends/tda827x.c.rej
> patching file linux/drivers/media/video/cx23885/cx23885-dvb.c
> Hunk #1 FAILED at 298.
> 1 out of 1 hunk FAILED -- saving rejects to file
> linux/drivers/media/video/cx23885/cx23885-dvb.c.rej
> patching file linux/drivers/media/video/cx88/cx88-cards.c
> Hunk #1 FAILED at 2140.
> Hunk #2 FAILED at 2160.
> Hunk #3 FAILED at 2189.
> Hunk #4 FAILED at 2242.
> Hunk #5 FAILED at 2287.
> Hunk #6 FAILED at 2323.
> 6 out of 6 hunks FAILED -- saving rejects to file
> linux/drivers/media/video/cx88/cx88-cards.c.rej
> patching file linux/drivers/media/video/cx88/cx88-dvb.c
> Hunk #1 FAILED at 465.
> Hunk #2 FAILED at 786.
> 2 out of 2 hunks FAILED -- saving rejects to file
> linux/drivers/media/video/cx88/cx88-dvb.c.rej
> patching file linux/drivers/media/video/saa7134/saa7134-cards.c
> Hunk #1 FAILED at 5353.
> 1 out of 1 hunk FAILED -- saving rejects to file
> linux/drivers/media/video/saa7134/saa7134-cards.c.rej
> patching file linux/drivers/media/video/saa7134/saa7134-dvb.c
> Hunk #1 FAILED at 1173.
> 1 out of 1 hunk FAILED -- saving rejects to file
> linux/drivers/media/video/saa7134/saa7134-dvb.c.rej
> patching file linux/drivers/media/video/tuner-core.c
> Hunk #1 FAILED at 448.
> 1 out of 1 hunk FAILED -- saving rejects to file
> linux/drivers/media/video/tuner-core.c.rej
> patching file linux/drivers/media/video/tuner-xc2028.c
> Hunk #1 FAILED at 1174.
> Hunk #2 FAILED at 1182.
> Hunk #3 FAILED at 1222.
> 3 out of 3 hunks FAILED -- saving rejects to file
> linux/drivers/media/video/tuner-xc2028.c.rej
> timf@ubuntu:~/v4l-dvb$
100% of rejects??? This is really weird... Maybe your emailer did something bad
with the patches, like converting to DOS end-of-line marks. You may try to use
'-l' option on patch.
I'll also forward you in priv the patch, as an attachment.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206061004.6988.3.camel@ubuntu>
@ 2008-03-21 1:53 ` Mauro Carvalho Chehab
2008-03-21 11:31 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-21 1:53 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, Richard (MQ), linux-dvb
On Fri, 21 Mar 2008, timf wrote:
> [ 51.446308] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
Ok, xc3028 loaded the firmware. This means that reset GPIO's are correct.
> Info: - have /dev/video0
> - tvtime - no signal
> - have soundcard
There are some possibilities:
1) This board doesn't work with firmware version 2.7;
2) GPIO's are wrong;
3) vmux value is wrong.
I guess the issue is with the firmware version. Probably, it will need an
earlier version.
>
> Regards,
> Tim
>
--
Cheers,
Mauro Carvalho Chehab
http://linuxtv.org
mchehab@infradead.org
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
@ 2008-03-21 5:49 Igor Alexeiuk
0 siblings, 0 replies; 30+ messages in thread
From: Igor Alexeiuk @ 2008-03-21 5:49 UTC (permalink / raw)
To: linux-dvb
Hi,
> On Fri, 21 Mar 2008, timf wrote:
>
> > [ 51.446308] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
>
> Ok, xc3028 loaded the firmware. This means that reset GPIO's are correct.
>
> > Info: - have /dev/video0
> > - tvtime - no signal
> > - have soundcard
>
> There are some possibilities:
>
> 1) This board doesn't work with firmware version 2.7;
>
> 2) GPIO's are wrong;
>
> 3) vmux value is wrong.
>
> I guess the issue is with the firmware version. Probably, it will need an
> earlier version.
In addition to Tim's info/report:
While my dmesg looks similar to what Tim posted here
, there is more ( perhaps useful ) messages:
1) On try to tune analog radio it looks like this:
xc2028 0-0061: load_firmware called
xc2028 0-0061: seek_firmware called, want type=BASE FM (401), id 0000000000000000.
xc2028 0-0061: Found firmware for type=BASE FM (401), id 0000000000000000.
xc2028 0-0061: Loading firmware for type=BASE FM (401), id 0000000000000000.
xc2028 0-0061: i2c output error: rc = -5 (should be 64)
xc2028 0-0061: -5 returned from send
xc2028 0-0061: Error -22 while loading base firmware
2) on try to tune analog tv :
xc2028 0-0061: check_firmware called
xc2028 0-0061: checking firmware, user requested type=F8MHZ MTS (6), id 00000000000000ff, scode_tbl (0), scode_nr 0
xc2028 0-0061: load_firmware called
xc2028 0-0061: seek_firmware called, want type=BASE F8MHZ MTS (7), id 0000000000000000.
xc2028 0-0061: Found firmware for type=BASE F8MHZ MTS (7), id 0000000000000000.
xc2028 0-0061: Loading firmware for type=BASE F8MHZ MTS (7), id 0000000000000000.
xc2028 0-0061: i2c output error: rc = -5 (should be 64)
xc2028 0-0061: -5 returned from send
xc2028 0-0061: Error -22 while loading base firmware
BTW: I tried firmware v25 - unfortunately it failed with this:
xc2028 0-0061: Reading firmware xc3028-v25.fw
xc2028 0-0061: Loading 60 firmware images from xc3028-v25.fw, type: xc2028 firmware, ver 2.5
xc2028 0-0061: Reading firmware type BASE F8MHZ (3), id 0, size=6621.
xc2028 0-0061: Reading firmware type BASE F8MHZ MTS (7), id 0, size=6617.
xc2028 0-0061: Reading firmware type BASE FM (401), id 0, size=6517.
xc2028 0-0061: Reading firmware type BASE FM INPUT1 (c01), id 0, size=6531.
xc2028 0-0061: Reading firmware type BASE (1), id 0, size=6611.
xc2028 0-0061: Reading firmware type BASE MTS (5), id 0, size=6595.
xc2028 0-0061: Reading firmware type (0), id 100000007, size=161.
xc2028 0-0061: Firmware type INIT1 F8MHZ D2620 DTV7 (408a), id 2012d00022000 is corrupted (size=10946, expected 786712)
xc2028 0-0061: Error: firmware file is corrupted!
xc2028 0-0061: Releasing partially loaded firmware file.
Any suggestions ?
Igor.
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206061004.6988.3.camel@ubuntu>
2008-03-21 1:53 ` Mauro Carvalho Chehab
@ 2008-03-21 11:31 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-21 11:31 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, Richard (MQ), linux-dvb
On Fri, 21 Mar 2008 09:56:44 +0900
timf <timf@iinet.net.au> wrote:
> [ 51.657981] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
Considering that the callback code is working fine for both tda829x and xc3028,
I've applied Hartmut and my patches today. It is valuable to double check with
the cards.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47E51CBD.1000906@googlemail.com>
@ 2008-03-22 14:59 ` Mauro Carvalho Chehab
[not found] ` <1206200253.6403.11.camel@ubuntu>
[not found] ` <47E79DE5.1050404@googlemail.com>
0 siblings, 2 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-22 14:59 UTC (permalink / raw)
To: Richard (MQ); +Cc: Hackmann, Richard (MQ), linux-dvb, lucarasp
On Sat, 22 Mar 2008 14:50:37 +0000
"Richard (MQ)" <osl2008@googlemail.com> wrote:
> Hi again all,
>
> Mauro Carvalho Chehab wrote:
> ...
> > Ok, the patch that fixed the callbacks were already applied.
> >
> > For DVB to work, the demod needs to be initialized. From what I saw on
> > bttv-gallery, this board uses an mt352 demod. Hopefully, it will use the same
> > code as AV A16AR.
> >
> > I'm enclosing an experimental patch that will enable DVB support for this
> > board. Please test.
>
> Finally I have the A16D card in a working box, running OpenSuSE 10.3
> FWIW (kernel 2.6.22.17). Sorry it took so long...
>
> Starting from a virgin system (that is, current OpenSuSE rather than
> vanilla) I did an hg clone followed by make, no errors. Next I took the
> v27 firmware from your mail of 21st and then su -c "make install". Still
> no errors, but it didn't work.
>
> Next I added the patches mentioned above, one line was already present
> ("+ case SAA7134_BOARD_AVERMEDIA_A16D:" after line 5512) but they went
> in with no other errors. Again, make was successful so installed and
> re-booted.
>
> dmesg extract follows:
>
> > saa7130/34: v4l2 driver version 0.2.14 loaded
> > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
> > PCI: setting IRQ 10 as level-triggered
> > ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10
> > saa7133[0]: found at 0000:00:0a.0, rev: 209, irq: 10, latency: 32, mmio: 0xea002000
> > saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid TV/Radio (A16D) [card=137,autodetected]
> > saa7133[0]: board init: gpio is 32fa00
> > saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00 00 00 00 00 00 00
> > saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff 00 0e ff ff ff ff
> > saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> > tuner' 0-0061: chip found @ 0xc2 (saa7133[0])
> > xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
> > xc2028 0-0061: xc2028/3028 firmware name not set!
> ...
> > xc2028 0-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
> > xc2028 0-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000.
> > (0), id 00000000000000ff:
> > xc2028 0-0061: Loading firmware for type=(0), id 0000000100000007.
> > SCODE (20000000), id 0000000100000007:
> > xc2028 0-0061: Loading SCODE for type=SCODE HAS_IF_5640 (60000000), id 0000000200000007.
> > xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
> > xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
> > saa7133[0]: registered device video0 [v4l2]
> > saa7133[0]: registered device vbi0
> > saa7133[0]: registered device radio0
> > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
> > ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
>
>
> So far so good, but nothing in /dev/dvb.
>
> I read the correspondence with timf, don't think I missed anything?
>
> I'd be very interested in your comments
Hmm... I missed to add a small line at board description:
.mpeg = SAA7134_MPEG_DVB,
Ok, patch updated.
Richard,
Do you have analog channels on your area? If so, could you also test analog mode?
Cheers,
Mauro.
----
saa7134: Add DTV support for Avermedia A16D
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/drivers/media/video/saa7134/saa7134-cards.c | 13 ++++++++++---
linux/drivers/media/video/saa7134/saa7134-dvb.c | 6 ++++++
2 files changed, 16 insertions(+), 3 deletions(-)
--- master.orig/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ master/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4142,6 +4142,7 @@ struct saa7134_board saa7134_boards[] =
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
+ .mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.name = name_tv,
.vmux = 1,
@@ -5512,6 +5513,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M115:
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
+ case SAA7134_BOARD_AVERMEDIA_A16D:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
@@ -5808,9 +5810,14 @@ int saa7134_board_init2(struct saa7134_d
ctl.fname = XC2028_DEFAULT_FIRMWARE;
ctl.max_len = 64;
- /* FIXME: This should be device-dependent */
- ctl.demod = XC3028_FE_OREN538;
- ctl.mts = 1;
+ switch (dev->board) {
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ ctl.demod = XC3028_FE_ZARLINK456;
+ break;
+ default:
+ ctl.demod = XC3028_FE_OREN538;
+ ctl.mts = 1;
+ }
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
--- master.orig/linux/drivers/media/video/saa7134/saa7134-dvb.c
+++ master/linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -936,6 +936,12 @@ static int dvb_init(struct saa7134_dev *
NULL, DVB_PLL_PHILIPS_TD1316);
}
break;
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ dprintk("avertv A16D dvb setup\n");
+ dev->dvb.frontend = dvb_attach(mt352_attach, &avermedia_777,
+ &dev->i2c_adap);
+ attach_xc3028 = 1;
+ break;
case SAA7134_BOARD_MD7134:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&medion_cardbus,
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206200253.6403.11.camel@ubuntu>
@ 2008-03-22 16:13 ` Mauro Carvalho Chehab
2008-03-22 16:28 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-22 16:13 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, linux-dvb, Richard (MQ)
On Sun, 23 Mar 2008 00:37:33 +0900
timf <timf@iinet.net.au> wrote:
> Hi again,
> Something strange happening here:
>
> [ 24.528000] mt352_read_register: readreg error (reg=127, ret==-5)
> [ 24.528000] xc2028: Xcv2028/3028 init called!
> [ 24.528000] xc2028: No frontend!
> [ 24.528000] saa7133[0]/2: xc3028 attach failed
> [ 24.528000] BUG: unable to handle kernel NULL pointer dereference at
> virtual address 000000ac
> [ 24.528000] printing eip:
> [ 24.528000] f8b70074
> [ 24.528000] *pde = 00000000
> [ 24.528000] Oops: 0000 [#1]
Ok. This means that the mt352 initialization code is not Ok. So, you'll need to hack it. It also showed a bug on saa7134-dvb: if frontend is null it shouldn't register xc2028, but, instead, return with -EINVAL.
>
> Regards,
> Tim
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206200253.6403.11.camel@ubuntu>
2008-03-22 16:13 ` Mauro Carvalho Chehab
@ 2008-03-22 16:28 ` Mauro Carvalho Chehab
1 sibling, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-22 16:28 UTC (permalink / raw)
To: timf; +Cc: Hackmann, lucarasp, linux-dvb, Richard (MQ)
[-- Attachment #1: Type: text/plain, Size: 2315 bytes --]
On Sun, 23 Mar 2008 00:37:33 +0900
timf <timf@iinet.net.au> wrote:
> Hi again,
>
> Something strange happening here:
>
> [ 24.528000] mt352_read_register: readreg error (reg=127, ret==-5)
> [ 24.528000] xc2028: Xcv2028/3028 init called!
> [ 24.528000] xc2028: No frontend!
> [ 24.528000] saa7133[0]/2: xc3028 attach failed
> [ 24.528000] BUG: unable to handle kernel NULL pointer dereference at
> virtual address 000000ac
> [ 24.528000] printing eip:
> [ 24.528000] f8b70074
> [ 24.528000] *pde = 00000000
> [ 24.528000] Oops: 0000 [#1]
>
> Regards,
> Tim
Complementing my previous e-mail, the enclosed patch fixes the OOPS. It also
forks the mt352 tables.
The first point is: I don't have this board. All I know about it is what I've
seen at the net. Could you double check if this is using an mt352 chip? Maybe
it uses another demod, instead.
If the board is really based on mt352, and for DVB to work, you'll need to
figure-out the proper parameters for mt352 initialization:
+static int mt352_aver_a16d_init(struct dvb_frontend* fe)
+{
+ static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x2d };
+ static u8 reset [] = { RESET, 0x80 };
+ static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
+ static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0xa0 };
+ static u8 capt_range_cfg[] = { CAPT_RANGE, 0x33 };
+
+ mt352_write(fe, clock_config, sizeof(clock_config));
+ udelay(200);
+ mt352_write(fe, reset, sizeof(reset));
+ mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg));
+ mt352_write(fe, agc_cfg, sizeof(agc_cfg));
+ mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg));
+
+ return 0;
+}
The above routine contains mt352 initialization procedure.
...
+static struct mt352_config avermedia_16d = {
+ .demod_address = 0xf,
+ .demod_init = mt352_aver_a16d_init,
+};
The above struct contains the demod address for mt352 (address 0x1e, at 8-bit
notation - or 0x0f, at 7bit notation). The demod could be on another address.
For example, Pinnacle 300i has it at address 0x3c (8bit notation).
You'll need to make sure that mt352 address is 0x1e on your board. Modprobing
saa7134 with i2c_scan=1 will allow you to see what i2c addresses are in use.
Cheers,
Mauro
[-- Attachment #2: add_aver_a16d.patch --]
[-- Type: text/x-patch, Size: 3628 bytes --]
saa7134: Add DTV support for Avermedia A16D
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/drivers/media/video/saa7134/saa7134-cards.c | 13 ++++++--
linux/drivers/media/video/saa7134/saa7134-dvb.c | 35 ++++++++++++++++++++++
2 files changed, 45 insertions(+), 3 deletions(-)
--- master.orig/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ master/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4142,6 +4142,7 @@ struct saa7134_board saa7134_boards[] =
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
+ .mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.name = name_tv,
.vmux = 1,
@@ -5512,6 +5513,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M115:
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
+ case SAA7134_BOARD_AVERMEDIA_A16D:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
@@ -5808,9 +5810,14 @@ int saa7134_board_init2(struct saa7134_d
ctl.fname = XC2028_DEFAULT_FIRMWARE;
ctl.max_len = 64;
- /* FIXME: This should be device-dependent */
- ctl.demod = XC3028_FE_OREN538;
- ctl.mts = 1;
+ switch (dev->board) {
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ ctl.demod = XC3028_FE_ZARLINK456;
+ break;
+ default:
+ ctl.demod = XC3028_FE_OREN538;
+ ctl.mts = 1;
+ }
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
--- master.orig/linux/drivers/media/video/saa7134/saa7134-dvb.c
+++ master/linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -150,6 +150,26 @@ static int mt352_aver777_init(struct dvb
return 0;
}
+static int mt352_aver_a16d_init(struct dvb_frontend* fe)
+{
+ static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x2d };
+ static u8 reset [] = { RESET, 0x80 };
+ static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
+ static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0xa0 };
+ static u8 capt_range_cfg[] = { CAPT_RANGE, 0x33 };
+
+ mt352_write(fe, clock_config, sizeof(clock_config));
+ udelay(200);
+ mt352_write(fe, reset, sizeof(reset));
+ mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg));
+ mt352_write(fe, agc_cfg, sizeof(agc_cfg));
+ mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg));
+
+ return 0;
+}
+
+
+
static int mt352_pinnacle_tuner_set_params(struct dvb_frontend* fe,
struct dvb_frontend_parameters* params)
{
@@ -192,6 +212,11 @@ static struct mt352_config avermedia_777
.demod_init = mt352_aver777_init,
};
+static struct mt352_config avermedia_16d = {
+ .demod_address = 0xf,
+ .demod_init = mt352_aver_a16d_init,
+};
+
static struct mt352_config avermedia_e506r_mt352_dev = {
.demod_address = (0x1e >> 1),
#if 0
@@ -936,6 +961,12 @@ static int dvb_init(struct saa7134_dev *
NULL, DVB_PLL_PHILIPS_TD1316);
}
break;
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ dprintk("avertv A16D dvb setup\n");
+ dev->dvb.frontend = dvb_attach(mt352_attach, &avermedia_16d,
+ &dev->i2c_adap);
+ attach_xc3028 = 1;
+ break;
case SAA7134_BOARD_MD7134:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&medion_cardbus,
@@ -1207,6 +1238,10 @@ static int dvb_init(struct saa7134_dev *
.i2c_adap = &dev->i2c_adap,
.i2c_addr = 0x61,
};
+
+ if (!dev->dvb.frontend)
+ return -1;
+
fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
if (!fe) {
printk(KERN_ERR "%s/2: xc3028 attach failed\n",
[-- Attachment #3: 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] 30+ messages in thread
* [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
@ 2008-03-26 3:11 Cheng-Min Lien
0 siblings, 0 replies; 30+ messages in thread
From: Cheng-Min Lien @ 2008-03-26 3:11 UTC (permalink / raw)
To: linux-dvb
sorry for the wrong subject.
On Wed, Mar 26, 2008 at 11:02 AM, Cheng-Min Lien <mimic0310@gmail.com> wrote:
> Hi all,
>
> After using Mauro's patch, I try to set the gpio pin in function
> "saa7134_xc2028_callback".
> Now, I can watch analog TV.
> The GPIO pin 21 seems the reset pin for tuner.
> The mt352 demod is still no response....
>
> ===========================================================
> static int saa7134_xc2028_callback(struct saa7134_dev *dev,
> int command, int arg)
> {
>
> switch (command) {
> case XC2028_TUNER_RESET:
> saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
> saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
> saa_andorl(SAA7133_ANALOG_IO_SELECT >> 2, 0x02, 0x02);
> saa_andorl(SAA7134_ANALOG_IN_CTRL1 >> 2, 0x81, 0x81);
> saa_andorl(SAA7134_AUDIO_CLOCK0 >> 2, 0x03187de7, 0x03187de7);
> saa_andorl(SAA7134_AUDIO_PLL_CTRL >> 2, 0x03, 0x03);
> saa_andorl(SAA7134_AUDIO_CLOCKS_PER_FIELD0 >> 2,
> 0x0001e000, 0x0001e000);
>
> #if 1
> saa7134_set_gpio(dev, 21, 0);
> msleep(20);
> saa7134_set_gpio(dev, 21, 1);
> #endif
>
> return 0;
> }
> return -EINVAL;
> }
> ====================================================================
>
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <47E9A539.1050706@inwind.it>
@ 2008-03-26 16:49 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-26 16:49 UTC (permalink / raw)
To: gian luca rasponi; +Cc: linux-dvb
[-- Attachment #1: Type: text/plain, Size: 461 bytes --]
On Wed, 26 Mar 2008 02:22:01 +0100
gian luca rasponi <lucarasp@inwind.it> wrote:
> [13496.504000] saa7133[0]: i2c scan: found device @ 0x1e [???]
> [13496.520000] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom]
It didn't detect a tuner, at 0xc2. Are you using the enclosed patch? It enables
the device by using a command for the gpio port.
dvb shouldn't be working yet. It seems that this device uses some different
parameters for mt352.
Cheers,
Mauro
[-- Attachment #2: add_aver_a16d.patch --]
[-- Type: text/x-patch, Size: 3628 bytes --]
saa7134: Add DTV support for Avermedia A16D
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/drivers/media/video/saa7134/saa7134-cards.c | 13 ++++++--
linux/drivers/media/video/saa7134/saa7134-dvb.c | 35 ++++++++++++++++++++++
2 files changed, 45 insertions(+), 3 deletions(-)
--- master.orig/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ master/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4142,6 +4142,7 @@ struct saa7134_board saa7134_boards[] =
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
+ .mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.name = name_tv,
.vmux = 1,
@@ -5512,6 +5513,7 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M115:
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
+ case SAA7134_BOARD_AVERMEDIA_A16D:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
@@ -5808,9 +5810,14 @@ int saa7134_board_init2(struct saa7134_d
ctl.fname = XC2028_DEFAULT_FIRMWARE;
ctl.max_len = 64;
- /* FIXME: This should be device-dependent */
- ctl.demod = XC3028_FE_OREN538;
- ctl.mts = 1;
+ switch (dev->board) {
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ ctl.demod = XC3028_FE_ZARLINK456;
+ break;
+ default:
+ ctl.demod = XC3028_FE_OREN538;
+ ctl.mts = 1;
+ }
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
--- master.orig/linux/drivers/media/video/saa7134/saa7134-dvb.c
+++ master/linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -150,6 +150,26 @@ static int mt352_aver777_init(struct dvb
return 0;
}
+static int mt352_aver_a16d_init(struct dvb_frontend* fe)
+{
+ static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x2d };
+ static u8 reset [] = { RESET, 0x80 };
+ static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
+ static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0xa0 };
+ static u8 capt_range_cfg[] = { CAPT_RANGE, 0x33 };
+
+ mt352_write(fe, clock_config, sizeof(clock_config));
+ udelay(200);
+ mt352_write(fe, reset, sizeof(reset));
+ mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg));
+ mt352_write(fe, agc_cfg, sizeof(agc_cfg));
+ mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg));
+
+ return 0;
+}
+
+
+
static int mt352_pinnacle_tuner_set_params(struct dvb_frontend* fe,
struct dvb_frontend_parameters* params)
{
@@ -192,6 +212,11 @@ static struct mt352_config avermedia_777
.demod_init = mt352_aver777_init,
};
+static struct mt352_config avermedia_16d = {
+ .demod_address = 0xf,
+ .demod_init = mt352_aver_a16d_init,
+};
+
static struct mt352_config avermedia_e506r_mt352_dev = {
.demod_address = (0x1e >> 1),
#if 0
@@ -936,6 +961,12 @@ static int dvb_init(struct saa7134_dev *
NULL, DVB_PLL_PHILIPS_TD1316);
}
break;
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ dprintk("avertv A16D dvb setup\n");
+ dev->dvb.frontend = dvb_attach(mt352_attach, &avermedia_16d,
+ &dev->i2c_adap);
+ attach_xc3028 = 1;
+ break;
case SAA7134_BOARD_MD7134:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&medion_cardbus,
@@ -1207,6 +1238,10 @@ static int dvb_init(struct saa7134_dev *
.i2c_adap = &dev->i2c_adap,
.i2c_addr = 0x61,
};
+
+ if (!dev->dvb.frontend)
+ return -1;
+
fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
if (!fe) {
printk(KERN_ERR "%s/2: xc3028 attach failed\n",
[-- Attachment #3: 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] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] <1206604694.6098.14.camel@ubuntu>
@ 2008-03-27 16:37 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-27 16:37 UTC (permalink / raw)
To: timf; +Cc: linux-dvb
[-- Attachment #1: Type: text/plain, Size: 1274 bytes --]
On Thu, 27 Mar 2008 16:58:14 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
>
> 3) From syslog:
> These lines repeat, no matter what firmware,
>
> <snip>
> Mar 27 16:25:45 ubuntu kernel: [ 133.324808] xc2028 2-0061: Loading
> firmware for type=BASE F8MHZ (3), id 0000000000000000.
> Mar 27 16:25:45 ubuntu kernel: [ 133.324957] xc2028 2-0061: i2c output
> error: rc = -5 (should be 64)
> Mar 27 16:25:45 ubuntu kernel: [ 133.324961] xc2028 2-0061: -5 returned
> from send
> Mar 27 16:25:45 ubuntu kernel: [ 133.324965] xc2028 2-0061: Error -22
> while loading base firmware
> <snip>
>
> And it finishes loading with this line:
>
> <snip>
> Mar 27 16:25:49 ubuntu kernel: [ 137.252503] xc2028 2-0061: Error on
> line 1080: -5
> <snip>
After the first moment where tuner-xc2028 returns a negative value, it stops
receiving later commands. this explains the error on line 1080. On USB devices,
it only recovers after unplugging/replugging it. I'm not sure if just removing
saa7134 and reinserting will revive the tuner.
I did a small change on the enclosed patch. Hopefully, this way, the tuner will
reborn. Otherwise, you may need to reboot the machine.
> And by the way, many, many thanks for helping while you're
> very busy!
You're welcome.
Cheers,
Mauro
[-- Attachment #2: add_aver_a16d.patch --]
[-- Type: text/x-patch, Size: 3924 bytes --]
saa7134: Add DTV support for Avermedia A16D
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/drivers/media/video/saa7134/saa7134-cards.c | 24 ++++++++++++---
linux/drivers/media/video/saa7134/saa7134-dvb.c | 35 ++++++++++++++++++++++
2 files changed, 55 insertions(+), 4 deletions(-)
--- master.orig/linux/drivers/media/video/saa7134/saa7134-cards.c
+++ master/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4142,6 +4142,10 @@ struct saa7134_board saa7134_boards[] =
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
+#if 0
+ /* Not working yet */
+ .mpeg = SAA7134_MPEG_DVB,
+#endif
.inputs = {{
.name = name_tv,
.vmux = 1,
@@ -5512,10 +5516,17 @@ int saa7134_board_init1(struct saa7134_d
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M115:
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+#if 1
+ /* power-down tuner chip */
+ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0);
+ saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
+#endif
+ msleep(10);
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
- msleep(1);
+ msleep(10);
break;
case SAA7134_BOARD_RTD_VFG7350:
@@ -5808,9 +5819,14 @@ int saa7134_board_init2(struct saa7134_d
ctl.fname = XC2028_DEFAULT_FIRMWARE;
ctl.max_len = 64;
- /* FIXME: This should be device-dependent */
- ctl.demod = XC3028_FE_OREN538;
- ctl.mts = 1;
+ switch (dev->board) {
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ ctl.demod = XC3028_FE_ZARLINK456;
+ break;
+ default:
+ ctl.demod = XC3028_FE_OREN538;
+ ctl.mts = 1;
+ }
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
--- master.orig/linux/drivers/media/video/saa7134/saa7134-dvb.c
+++ master/linux/drivers/media/video/saa7134/saa7134-dvb.c
@@ -151,6 +151,26 @@ static int mt352_aver777_init(struct dvb
return 0;
}
+static int mt352_aver_a16d_init(struct dvb_frontend* fe)
+{
+ static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x2d };
+ static u8 reset [] = { RESET, 0x80 };
+ static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
+ static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0xa0 };
+ static u8 capt_range_cfg[] = { CAPT_RANGE, 0x33 };
+
+ mt352_write(fe, clock_config, sizeof(clock_config));
+ udelay(200);
+ mt352_write(fe, reset, sizeof(reset));
+ mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg));
+ mt352_write(fe, agc_cfg, sizeof(agc_cfg));
+ mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg));
+
+ return 0;
+}
+
+
+
static int mt352_pinnacle_tuner_set_params(struct dvb_frontend* fe,
struct dvb_frontend_parameters* params)
{
@@ -193,6 +213,11 @@ static struct mt352_config avermedia_777
.demod_init = mt352_aver777_init,
};
+static struct mt352_config avermedia_16d = {
+ .demod_address = 0xf,
+ .demod_init = mt352_aver_a16d_init,
+};
+
static struct mt352_config avermedia_e506r_mt352_dev = {
.demod_address = (0x1e >> 1),
#if 0
@@ -938,6 +963,12 @@ static int dvb_init(struct saa7134_dev *
TUNER_PHILIPS_TD1316);
}
break;
+ case SAA7134_BOARD_AVERMEDIA_A16D:
+ dprintk("avertv A16D dvb setup\n");
+ dev->dvb.frontend = dvb_attach(mt352_attach, &avermedia_16d,
+ &dev->i2c_adap);
+ attach_xc3028 = 1;
+ break;
case SAA7134_BOARD_MD7134:
dev->dvb.frontend = dvb_attach(tda10046_attach,
&medion_cardbus,
@@ -1212,6 +1243,10 @@ static int dvb_init(struct saa7134_dev *
.i2c_adap = &dev->i2c_adap,
.i2c_addr = 0x61,
};
+
+ if (!dev->dvb.frontend)
+ return -1;
+
fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
if (!fe) {
printk(KERN_ERR "%s/2: xc3028 attach failed\n",
[-- Attachment #3: 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] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] <1206635698.5965.5.camel@ubuntu>
@ 2008-03-27 17:42 ` Mauro Carvalho Chehab
[not found] ` <1206683274.5986.6.camel@ubuntu>
0 siblings, 1 reply; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-27 17:42 UTC (permalink / raw)
To: timf; +Cc: linux-dvb
On Fri, 28 Mar 2008 01:34:58 +0900
timf <timf@iinet.net.au> wrote:
> [ 53.141643] xc2028 2-0061: seek_firmware called, want type=F8MHZ SCODE (20000002), id 0000000100000007.
> [ 53.141649] xc2028 2-0061: Selecting best matching firmware (3 bits) for type=SCODE (20000000), id 0000000100000007:
> [ 53.141654] xc2028 2-0061: Found firmware for type=SCODE (20000000), id 0000000200000007.
> [ 53.141658] xc2028 2-0061: Loading SCODE for type=SCODE HAS_IF_5640 (60000000), id 0000000200000007.
> [ 53.233496] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
Unfortunately, you've suppressed the previous firmware loading lines. Up to here, everything is OK.
> [ 53.445170] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
Still OK here.
> Mar 28 00:25:41 ubuntu kernel: [ 352.902182] xc2028 2-0061: checking firmware, user requested type=F8MHZ (2), id 00000000000000ff, scode_tbl (0), scode_nr 0
Now, tvtime asked a different firmware from the previous one. tuner-xc2028 will try to load a new firmware set to match your video standard.
> Mar 28 00:25:41 ubuntu kernel: [ 352.902196] xc2028 2-0061: load_firmware called
> Mar 28 00:25:41 ubuntu kernel: [ 352.902199] xc2028 2-0061: seek_firmware called, want type=BASE F8MHZ (3), id 0000000000000000.
> Mar 28 00:25:41 ubuntu kernel: [ 352.902203] xc2028 2-0061: Found firmware for type=BASE F8MHZ (3), id 0000000000000000.
It is trying to load F8MHz base firmware. This firmware seemed to be already
loaded, but, since you've asked for a different standard, it will discard and
reload the firmwares.
> Mar 28 00:25:41 ubuntu kernel: [ 352.902207] xc2028 2-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000.
> Mar 28 00:25:41 ubuntu kernel: [ 352.903020] xc2028 2-0061: i2c output error: rc = -5 (should be 64)
> Mar 28 00:25:41 ubuntu kernel: [ 352.903022] xc2028 2-0061: -5 returned from send
> Mar 28 00:25:41 ubuntu kernel: [ 352.903026] xc2028 2-0061: Error -22 while loading base firmware
> Mar 28 00:25:42 ubuntu kernel: [ 352.955955] xc2028 2-0061: Retrying firmware load
The driver didn't like the idea of changing the firmware. Probably, the RESET
command is wrong or incomplete (i suspect the latter).
If you look on other drivers, like cx88, a reset do something like:
cx_write(MO_GP1_IO, 0x101010);
mdelay(250);
cx_write(MO_GP1_IO, 0x101000);
mdelay(250);
cx_write(MO_GP1_IO, 0x101010);
mdelay(250);
The first command is probably not needed, but the basic idea is to do something
like ON-OFF-ON. However, on saa7134 code is something like:
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
I suspect that this should be something like:
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
mdelay(250);
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
mdelay(250);
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
mdelay(250);
OR:
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
mdelay(250);
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
mdelay(250);
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
To be sure, I would need to have the regspy.exe (from Dscaler) results when a
reset occurs on your board.
Could you please try to play with those things on your board and post the results?
Another interesting test would be to not let tvtime to select a different
standard, but, instead, the same std loaded initially. This may help to see if
your tuner is ok (if you see some kind of white noise or a bad tuned channel -
this means that tuner is working - of course you'll need to disable signal detection).
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <1206683274.5986.6.camel@ubuntu>
@ 2008-03-28 17:59 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-03-28 17:59 UTC (permalink / raw)
To: timf; +Cc: linux-dvb
On Fri, 28 Mar 2008 14:47:54 +0900
timf <timf@iinet.net.au> wrote:
> Hi Mauro,
>
> I just had to quickly tell you that I built it with this, rebooted, clicked
> on tvtime, and waited anxiously watching a black screen - then WAHOO!
> A TV program I am viewing!!
Great!
I've committed the patch with what we currently have. Please test if analog
keeps working with the patch.
Now, it is time to work with the demod side.
Please, change the #if 0 to #if 1:
#if 0
/* Not working yet */
.mpeg = SAA7134_MPEG_DVB,
#endif
And test to see if analog still works fine. If ok, please test the digital side.
You may need to figure out the proper parameters for mt352, on this part of the
code(at saa7134-dvb):
static int mt352_aver_a16d_init(struct dvb_frontend *fe)
{
static u8 clock_config [] = { CLOCK_CTL, 0x38, 0x2d };
static u8 reset [] = { RESET, 0x80 };
static u8 adc_ctl_1_cfg [] = { ADC_CTL_1, 0x40 };
static u8 agc_cfg [] = { AGC_TARGET, 0x28, 0xa0 };
static u8 capt_range_cfg[] = { CAPT_RANGE, 0x33 };
mt352_write(fe, clock_config, sizeof(clock_config));
udelay(200);
mt352_write(fe, reset, sizeof(reset));
mt352_write(fe, adc_ctl_1_cfg, sizeof(adc_ctl_1_cfg));
mt352_write(fe, agc_cfg, sizeof(agc_cfg));
mt352_write(fe, capt_range_cfg, sizeof(capt_range_cfg));
return 0;
}
You may need to try to change the above code, trying other existing mt352 code,
or using some tool to get the initialization code done by your windows driver.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please?
[not found] ` <c09aacb50804250142h49fd47edia96ca3ae830c2354@mail.gmail.com>
@ 2008-04-25 10:52 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2008-04-25 10:52 UTC (permalink / raw)
To: Richard MQ; +Cc: lucarasp, linux-dvb
On Fri, 25 Apr 2008 09:42:53 +0100
"Richard MQ" <osl2008@googlemail.com> wrote:
> Sorry Mauro,
>
> Just found this in my spam box, nearly missed it. Not sure why it was
> mis-identified by Googlemail?
Weird.
>
> Will test the patch as soon as I can, maybe over the weekend though I have
> to go away..
You can just update from v4l-dvb. The patches were already applied and should work fine.
Cheers,
Mauro
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2008-04-25 10:53 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-21 5:49 [linux-dvb] Any chance of help with v4l-dvb-experimental / Avermedia A16D please? Igor Alexeiuk
[not found] <1206635698.5965.5.camel@ubuntu>
2008-03-27 17:42 ` Mauro Carvalho Chehab
[not found] ` <1206683274.5986.6.camel@ubuntu>
2008-03-28 17:59 ` Mauro Carvalho Chehab
[not found] <1206604694.6098.14.camel@ubuntu>
2008-03-27 16:37 ` Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2008-03-26 3:11 Cheng-Min Lien
[not found] <47E030C1.2000805@inwind.it>
2008-03-18 21:28 ` Mauro Carvalho Chehab
[not found] ` <47E9A539.1050706@inwind.it>
2008-03-26 16:49 ` Mauro Carvalho Chehab
2008-02-03 15:07 Richard (MQ)
2008-02-05 9:50 ` Mauro Carvalho Chehab
[not found] ` <47A8CE7E.6020908@googlemail.com>
[not found] ` <20080205222437.1397896d@gaivota>
[not found] ` <47AA014F.2090608@googlemail.com>
2008-02-07 11:26 ` Mauro Carvalho Chehab
[not found] ` <47AAF0C4.8030804@googlemail.com>
[not found] ` <47AB6A1B.5090100@googlemail.com>
2008-02-07 20:42 ` Mauro Carvalho Chehab
[not found] ` <47ACA9AA.4090702@googlemail.com>
[not found] ` <47AE20BD.7090503@googlemail.com>
2008-02-12 14:47 ` Mauro Carvalho Chehab
[not found] ` <47B1E22D.4090901@googlemail.com>
2008-03-13 14:46 ` Mauro Carvalho Chehab
[not found] ` <1205457408.6358.5.camel@ubuntu>
2008-03-14 15:14 ` Mauro Carvalho Chehab
[not found] ` <1205518856.6094.14.camel@ubuntu>
2008-03-14 18:58 ` Mauro Carvalho Chehab
[not found] ` <1205523274.6364.5.camel@ubuntu>
2008-03-14 20:21 ` Mauro Carvalho Chehab
[not found] ` <1205573636.5941.1.camel@ubuntu>
2008-03-18 13:30 ` Mauro Carvalho Chehab
[not found] ` <1205864312.11231.11.camel@ubuntu>
2008-03-18 19:17 ` Mauro Carvalho Chehab
[not found] ` <1205873332.11231.17.camel@ubuntu>
2008-03-18 21:04 ` Mauro Carvalho Chehab
[not found] ` <1205877331.11231.38.camel@ubuntu>
2008-03-18 23:25 ` Darren Salt
[not found] ` <47DEC660.3080005@googlemail.com>
2008-03-18 13:10 ` Mauro Carvalho Chehab
[not found] ` <1205875868.3385.133.camel@pc08.localdom.local>
[not found] ` <1205904196.6510.3.camel@ubuntu>
2008-03-19 8:14 ` Matthias Schwarzott
2008-03-20 14:55 ` Mauro Carvalho Chehab
[not found] ` <1206030503.5997.2.camel@ubuntu>
2008-03-20 17:07 ` Mauro Carvalho Chehab
[not found] ` <1206061004.6988.3.camel@ubuntu>
2008-03-21 1:53 ` Mauro Carvalho Chehab
2008-03-21 11:31 ` Mauro Carvalho Chehab
[not found] ` <20080322083435.2432256b@gaivota>
[not found] ` <47E51CBD.1000906@googlemail.com>
2008-03-22 14:59 ` Mauro Carvalho Chehab
[not found] ` <1206200253.6403.11.camel@ubuntu>
2008-03-22 16:13 ` Mauro Carvalho Chehab
2008-03-22 16:28 ` Mauro Carvalho Chehab
[not found] ` <47E79DE5.1050404@googlemail.com>
[not found] ` <47E7D4B0.30706@googlemail.com>
[not found] ` <20080326134500.34a245be@gaivota>
[not found] ` <47EAA833.7050507@googlemail.com>
[not found] ` <20080326171546.37b819ad@gaivota>
[not found] ` <47EABCF3.7070605@googlemail.com>
[not found] ` <20080326183336.0cbd04a4@gaivota>
[not found] ` <c09aacb50804250142h49fd47edia96ca3ae830c2354@mail.gmail.com>
2008-04-25 10:52 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox