Hi,

Just to let you know, I tried this fix but still have the tinny audio problem.

System is
kernel 2.6.16-1.2133_FC5
ivtv-0.6.2-110.rhfc5.at
mythtv-0.19-129.rhfc5.at
audio firmware HcwMakoC.ROM with md5sum of 99836e41ccb28c7b373e87686f93712a

output of ivtvctl --log-status:

ioctl VIDIOC_LOG_STATUS ok
   ivtv0: =================  START STATUS CARD #0  =================
   tveeprom 1-0050: Hauppauge model 26559, rev C260, serial# 7618654
   tveeprom 1-0050: tuner model is LG S001D MK3 (idx 60, type 38)
   tveeprom 1-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) (eeprom 0x74)
   tveeprom 1-0050: audio processor is CX25843 (idx 37)
   tveeprom 1-0050: decoder processor is CX25843 (idx 30)
   tveeprom 1-0050: has radio, has no IR remote
   tuner 1-0061: Tuner mode:      analog TV
   tuner 1-0061: Frequency:       400.00 MHz
   tuner 1-0061: Standard:        0x000000ff
   tda9887 1-0043: Data bytes: b=0x14 c=0x74 e=0x49
   cx25840 1-0044: Video signal:              present
   cx25840 1-0044: Detected format:           PAL-BDGHI
   cx25840 1-0044: Detected audio mode:       forced mode
   cx25840 1-0044: Detected audio standard:   no detected audio standard
   cx25840 1-0044: Audio muted:               no
   cx25840 1-0044: Audio microcontroller:     stopped
   cx25840 1-0044: Configured audio standard: automatic detection
   cx25840 1-0044: Configured audio system:   automatic standard and mode detection
   cx25840 1-0044: Specified standard:        PAL-BDGHI
   cx25840 1-0044: Specified video input:     Composite 3
   cx25840 1-0044: Specified audio input:     External
   cx25840 1-0044: Specified audioclock freq: 48000 Hz
   cx25840 1-0044: Preferred audio mode:      stereo
   cx25840 1-0044: Selected 65 MHz format:    autodetect
   cx25840 1-0044: Selected 45 MHz format:    chroma
   wm8775 1-001b: Input: 2
   ivtv0: ==================  END STATUS CARD #0  ==================



Recording from composite input and watching Live TV the audio is still tinny sounding. The only way I have found to rectify it is to stop and start Live TV between 3-8 times and it will come right. This is, of course, useless when recording. W/GAF now at an all-time low, so any further ideas or help much appreciated...

- Rick Stewart

On 5/28/06, Eric McIntyre <[EMAIL PROTECTED]> wrote:
My PVR-150 card had the tinny audio problem particularly bad, and while some users reported a 50-60% success rate for clean-audio MythTV recordings, mine was closer to 2-3%. After this fix, all of my MythTV recordings sounded good.

This idea was posted on the ivtv-dev list on Sunday 16 April 2006, by Jim Pulokas. I've added the steps necessary to implement it on my FC5. Jim calls it a very crude hack, and it is in some ways, but it didn't break anything on my system and was a very welcome solution. Also, there are svn commits of similar solutions on ivtv now (I think).

I'm posting this as a guide for those others looking (like myself) to try Jim's solution.

My environment:
2.6.16-1.2111_FC5
i686 GNU/Linux
mythtv-0.19-128
ivtv-0.6.2-110

Idea from Jim Pulokas:
Quoting from http://www.gossamer-threads.com/lists/ivtv/devel/29909?page=last
> I am trying a very crude hack that seems to fix my
> problem (may break other stuff though)
> In cx25840-audio.c, I added a reset of cx25840
> register 0x803 at the end of the set_audclk_freq
> function.
> In other words, before returning from set_audclk_freq,
> add the following lines:
> cx25840_and_or(client, 0x803, ~0x10, 0x00);
> cx25840_and_or(client, 0x803, ~0x10, 0x10);

Here's the step by step:

Forewarning: You'll need working kernel sources installed.

1) Make sure Mercurial is installed:
1a) "rpm -q mercurial"
1b) If you have mercurial installed, goto 2
1c) Else, yum install mercurial

2) The cx25840-audio.c is a file in v4l. First, download the v4l source
2a) From http://www.linuxtv.org/v4lwiki/index.php/How_to_build_from_CVS
2b) "hg clone http://linuxtv.org/hg/v4l-dvb "

3) From the source code directory, edit cx25840-audio.c
3a) "vi ./linux/drivers/media/video/cx25840/cx25840-audio.c"

4) Find the set_audclk_freq and add the two lines from Jim
4a) hint: it is the first function in the file, at this time anyway
4b) end of the function should look like:
        state->audclk_freq = freq; //original code
        cx25840_and_or(client, 0x803, ~0x10, 0x00); //added line to fix PVR
        cx25840_and_or(client, 0x803, ~0x10, 0x10); //added line to fix PVR
    return 0; //original code

5) You can try returning to the root directory and doing a make, then make install.

6) If the make fails because your build environment doesn't include the right headers, or for some other reason (like mine did), then continue. If the make works then you're done and skip to 11. Otherwise...

7) "make menuconfig"

8) Navigate the menus to only select the drivers you need for your system.
8a) I unselected everything but
"<M> Video for Linux",
"[*] Video for Linux API Layer 1 (DEPRECATED)",
"[*] Enable Debug Functionality",
"[*] Conexant CX2584x audio/video decoders"

9) Exit, save, and "make"

10) "make install"

11) I did a reboot; you might be able to reload some modules w/o doing so.

12) The audio from the PVR-150 is un-tinny-fied.

Thanks to Jim for this excellent idea.

-Eric McIntyre

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to