Hi list,
Problem Description:
The card is auto-detected, however I am unable to change channels. More precisely, the last channel that I have viewed in Windows is the one that appears in linux (and no other channels are detected).
Details: 1) Redhat 8.0, kernel: 2-4-18.14 2) Selected card = 39 in the bttv CARDLIST file. 3) using xawtv as tv-viewer. 4) dmesg says 'frequency out of range'.(when I try to change channels in xawtv) 5) According to Pinnacle, this is a special indian edition card. I wonder if being "special" is causing problems... :-)
I have a sneaky feeling that this version of the bttv driver doesn't come with PAL-BG support (which PCTV PLUS uses).
I have no idea whether PAL-BG is supported in the newer versions of the bttv driver. I went to bytesex.org/bttv and checked the CHANGELOG. No luck, no PAL-BG mentioned anywhere.
And Yes I have RTFM and done _tons_ of searching on the web. I searched the archives and I found that "Abhir Joshi" of this list had asked this same question in October last year, but got no responses.
I will be grateful for _any_ help/tips/pointers. I am desperate, since I am running only Linux on my box now.
Thank you, Tarun
On Sun, Feb 02, 2003 at 01:34:03AM +0530, Tarun Ramakrishna Elankath wrote:
I have a sneaky feeling that this version of the bttv driver doesn't come with PAL-BG support (which PCTV PLUS uses).
IMHO, PAL-BG or PAL-D or PAL-B or ..... are the standards of the incoming "composite video signal". If a specific composite video signal type is not supported by the driver then it won't be able to set the card to play audio and video for any channel. But with the case of PCTV-plus, it is perfectly able to play a particular channel but is not able to change it. So it seems that the problem is with the tuner.o and not the bttv.o. The tuner module is unable to change the frequency by giving commands, possibly because of slight difference in the tuner control hardware design that is not programmed in it.
I even tried changing the tuner parameter to the bttv module. I tried all the available tuner numbers without success.
'tuner.c', in the kernel source, has a function 'set_tv_freq'. In this function, you can see a printk statement -
printk("tuner: TV freq (%d.%02d) out of range (%d-%d)\n", freq/16,freq%16*100/16,tv_range[0],tv_range[1]);
I think it is this function that has logged the 'freq out of range' error. In tuner.c, just above the printk statement, you can see a FIXME comment indicating that the condition check must be chip-specific, which is currently not.
'tuner.c', in the kernel source, has a function 'set_tv_freq'. In this function, you can see a printk statement -
printk("tuner: TV freq (%d.%02d) out of range (%d-%d)\n", freq/16,freq%16*100/16,tv_range[0],tv_range[1]);
I think it is this function that has logged the 'freq out of range' error. In tuner.c, just above the printk statement, you can see a FIXME comment indicating that the condition check must be chip-specific, which is currently not.
Thanks for the 'insider' information, Abhir. I had a look at tuner.c, and noticed the kernel print statement that you mention.
I'll check the CVS Head for this file, and see whether they have incorporated a chip-specific check in the latest bttv.
If not, then I guess I am stuck with no TV, until somebody in bytesex notices 'fixme'. :-(
And the World Cup is coming soon...
You are quite knowledgeable. Could you suggest some way by which I could try fixing this ? Would commenting this condition-check help in any manner ?
Any other ideas that you have in mind ?
Thank you, Tarun
On Sun, Feb 02, 2003 at 06:46:45PM +0530, Tarun Ramakrishna Elankath wrote:
I'll check the CVS Head for this file, and see whether they have incorporated a chip-specific check in the latest bttv.
Let me know if you find that out.
If not, then I guess I am stuck with no TV, until somebody in bytesex notices 'fixme'. :-(
I have temporarily exchanged my Pinnacle PCTV Plus card with one of my friend's PixelView card. He uses Windows and has no problems with PCTV Plus. But the picture quality due PCTV Plus is definitely better than that of PixelView.
try fixing this ? Would commenting this condition-check help in any manner ?
This condition check just prints the error and doesn't change any variables or doesn't output and bytes to any IO port, nor does it return the function prematurely. So commenting this would just avoid logging the error; the problem will still persist. What it needs is some added functionality. This might be as simple as setting a bit in a register in the card, or might involve a number of read-write operations to the card.
I tried to analyze tuner.c and related files. But it will take a couple of days to get the picture if I work consistently.
Thank you for your inputs Abhir.
Its always nice to know that there are some real 'heavyweights' on this list that one can ask when one is in trouble. :-)
On Mon, 2003-02-03 at 19:41, Abhir Joshi wrote:
On Sun, Feb 02, 2003 at 06:46:45PM +0530, Tarun Ramakrishna Elankath wrote:
I'll check the CVS Head for this file, and see whether they have incorporated a chip-specific check in the latest bttv.
Let me know if you find that out.
If not, then I guess I am stuck with no TV, until somebody in bytesex notices 'fixme'. :-(
I have temporarily exchanged my Pinnacle PCTV Plus card with one of my friend's PixelView card. He uses Windows and has no problems with PCTV Plus. But the picture quality due PCTV Plus is definitely better than that of PixelView.
try fixing this ? Would commenting this condition-check help in any manner ?
This condition check just prints the error and doesn't change any variables or doesn't output and bytes to any IO port, nor does it return the function prematurely. So commenting this would just avoid logging the error; the problem will still persist. What it needs is some added functionality. This might be as simple as setting a bit in a register in the card, or might involve a number of read-write operations to the card.
I tried to analyze tuner.c and related files. But it will take a couple of days to get the picture if I work consistently.
-- Abhir Joshi http://education.vsnl.com/abhir/
Complex system: One with real problems and imaginary profits.
Quoting Tarun Ramakrishna Elankath tarun@webkadai.com:
On Mon, 2003-02-03 at 19:41, Abhir Joshi wrote:
On Sun, Feb 02, 2003 at 06:46:45PM +0530, Tarun Ramakrishna Elankath
wrote:
I'll check the CVS Head for this file, and see whether they have incorporated a chip-specific check in the latest bttv.
Let me know if you find that out.
While I haven't followed this thread from the start, let me tell you what I have done for my Pinnacle PCTV+ card to work in Linux. These are the contents of my modules.conf - ............................................... #i2c alias char-major-89 i2c-dev options i2c-core i2c_debug=1 options i2c-algo-bit bit_test=1
#bttv alias char-major-81 bttv alias char-major-81-0 bttv options bttv card=39 pll=1 radio=0 bttv_gpio=1 options tuner type=33 debug=1 pal=b ...............................................
These have worked for me. The Linux modules are definitely faster than the poorly coded Windows drivers which take up about 10% of processor load. Also, MPEG-1 encoding is less resource-hungry in Linux. And mainly, this card gives better picture quality than the Pixelview card.
On Wed, Feb 05, 2003 at 09:07:11AM +0518, Nilesh Chaudhari wrote:
alias char-major-89 i2c-dev options i2c-core i2c_debug=1 options i2c-algo-bit bit_test=1
#bttv alias char-major-81 bttv alias char-major-81-0 bttv options bttv card=39 pll=1 radio=0 bttv_gpio=1 options tuner type=33 debug=1 pal=b
What kernel are you using?
kernel 2.4.7 that comes with RHL7.2 does not have tuner type above 30. I tested it with kernel 2.4.18 that comes with RHL8.0 but no success.