Hello.

I have a WinTV card with a Philips FM1236 tuner and a bt878 chip. It
supports TV and FM radio. The TV works wonderfully under Linux (kernel
2.3.99-pre8), however the radio is having problems. The devices
/dev/radio* and /dev/winradio* don't work with any radio tuner
application that I've tried; in all cases it says something like "No
such device". However, I noticed that kWinTV allows you to manually
enter the frequency, so I modified my kernel's set_tv_freq() function in
drivers/char/tuner.c so that it could switch to FM radio using the TV
device. After the if-else block that sets config based on the frequency
range, I added this block:

         if (freq >= (76 * 16) && freq <= (108 * 16))
         {
           //If FM radio band (76MHz to 108MHz)

           freq -= (33.3 * 16); //Adjust by 33.3MHz

           config = 0xA5; //Make tuner switch to FM band
         }

As you can see, I modified it so that if you enter a frequency between
76Mhz and 108MHz, it lowers freq by 33.3MHz and switches to the FM band.
I'm not so sure if that's a good idea to do, but it makes testing with
kWinTV easier. The only real change is the config = 0xA5, which looks
like the only difference in set_radio_freq() too; I wish I would have
seen the set_radio_freq() function before I went to the trouble of
finding and reading the FM1236 pdf :) The pdf says that the FM band
starts at 76MHz, but I know it really starts at 88MHz here; I'm assuming
the 76MHz is for other countries??? Also, I noticed that the pdf says
that CP mode should be on for TV, but off for FM, and in tuner.c it's
always off. I didn't notice any difference under either TV or FM when I
set it to always on; does it really matter?

My tuner.c modification above works, however the reception under Linux
is very poor compared to under Windows. Luckily, my favorite station,
93.3MHz, comes in pretty strong on both, but others are pretty weak
under Linux. It seems to get weaker as the freqency increases: 97.3 is a
bit weaker under Linux; 103.5 and 105.1 are very weak under Linux but
strong under Windows; 105.9, 106.7, and 107.5 are just static under
Linux and strong under Windows. I've noticed that Windows uses .05 MHz
stepping, where Linux uses .0625MHz stepping, could that somehow be the
problem?

Ideally, I'd like to get one of the /dev/radio* or /dev/winradio*
entries to work, as kWinTV's support for manually entered frequencies is
a bit flaky. It's probably something simple that I'm forgetting, but I
can't seem to find it. Any ideas???

Thanks!

-Weston Pawlowski




-- 
         To unsubscribe: mail [EMAIL PROTECTED] with 
                       "unsubscribe" as the Subject.

Reply via email to