Hans Verkuil wrote:
>> Hans Verkuil wrote:
>>     
>>> On Saturday 16 June 2007 21:30, Hans Verkuil wrote:
>>>
>>>       
>>>> On Friday 15 June 2007 20:40, Cyrus A wrote:
>>>>
>>>>         
>>>>> I'm getting lots of VBI errors recently. One particular one that
>>>>> pops up frequently is in dmesg is:
>>>>>
>>>>> ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data
>>>>> transfer ivtv0 warning: Cannot obtain 1690835328 bytes for encoder
>>>>> VBI data transfer ivtv0 warning: Cannot obtain 1690835328 bytes for
>>>>> encoder VBI data transfer ivtv0 warning: Cannot obtain 1690835328
>>>>> bytes for encoder VBI data transfer ivtv0 warning: Cannot obtain
>>>>> 1690835328 bytes for encoder VBI data transfer ivtv0 warning:
>>>>> Cannot obtain 1690835328 bytes for encoder VBI data transfer ...
>>>>>
>>>>> I have not been able to discern any rhyme or reason to why it
>>>>> appears. All I can tell you is my configuration...
>>>>>
>>>>> kernel 2.6.20-1.2952.fc6
>>>>> ivtv 0.10.3
>>>>> PVR-500 and PVR-150 low profile (3 tuners total)
>>>>> AMD 64 X2
>>>>>
>>>>> ... and what I'm doing which is recording about 12 hour-long
>>>>> programs every day, usually in two simultaneous recordings (i.e. 2
>>>>> simultaneous hour long recordings 6 times a day), as well as saving
>>>>> the closed captions for those programs to files using
>>>>> lt-zvbi-ntsc-cc . It doesn't happen every time, but it's become a
>>>>> daily (or every other day) routine to see those VBI errors appear
>>>>> in the logs and have to reboot the machine.
>>>>>
>>>>> I have some machines with nearly identical configurations (2.6.18
>>>>> and 2.6.17 kernels with varying ivtv versions and a single PVR-250)
>>>>> that NEVER get these errors. They have run smoothly for months.
>>>>>
>>>>> At the very least, can someone answer this question for me: what am
>>>>> I dealing with here? Hardware problems or driver issues?
>>>>>
>>>>>           
>>>> It's almost certainly a driver issue given the impossible byte size
>>>> that is reported. I'll see if I can find out why they are happening.
>>>>
>>>> Regards,
>>>>
>>>>    Hans
>>>>
>>>>         
>>> I've taken a quick look and it is not immediately obvious what it going
>>> wrong. Can you do a few tests for me? In ivtv-queue.h change this
>>> function:
>>>
>>> static inline int ivtv_use_pio(struct ivtv_stream *s)
>>> {
>>>         struct ivtv *itv = s->itv;
>>>
>>>         return s->dma == PCI_DMA_NONE ||
>>>             (SLICED_VBI_PIO && s->type == IVTV_ENC_STREAM_TYPE_VBI &&
>>> itv->vbi.sliced_in->service_set);
>>> }
>>>
>>> to this:
>>>
>>> static inline int ivtv_use_pio(struct ivtv_stream *s)
>>> {
>>>         struct ivtv *itv = s->itv;
>>>
>>>         return s->dma == PCI_DMA_NONE ||
>>>             (SLICED_VBI_PIO && s->type == IVTV_ENC_STREAM_TYPE_VBI);
>>> }
>>>
>>> And see if that makes a difference.
>>>
>>>
>>>       
>> Ok, I've made this change. However, there were some compilation messages
>> about the variable itv being unused. Hopefully that's not a problem.
>>     
>
> That's OK.
>
>   
>>> The other one is to turn on additional debugging (ivtvctl -D 73) and
>>> wait until it happens again. Mail me the log (say from 1000 lines
>>> before it happens).
>>>
>>>
>>>       
>> I set this debug level, although I'm not sure it took. Here is the
>> command and output:
>>
>> [EMAIL PROTECTED] cyrus]#  ivtvctl -D 73
>>  set debug level: IVTV_DBGFLG_WARN | IVTV_DBGFLG_DMA | IVTV_DBGFLG_IRQ
>>
>> Think that did the trick? Or do I need to specify one of those options?
>>     
>
> Yes, that's OK too.
>
>   
>> Also, sorry for my ignorance, which log file? /var/log/messages? or is
>> there a special ivtv log file?
>>     
>
> No, it goes into /var/log/messages. It's the file where the kernel logging
> ends up. For most if not all distributions that is /var/log/messages.
>
>   
>>> Thanks,
>>>
>>>     Hans
>>>
>>>       
>> In any case, thanks a bunch for the assistance. Waking up to "X server
>> has a VBI bytes error" in my message reporting system every morning was
>> not fun.
>>
>> I'll let you know if it fails again.
>>     
>
> Please keep me posted! If making the ivtv_use_pio code change will make
> this problem go away, then I'd appreciate it if you could revert that
> change and try again so that I can have a log of what went wrong.
>
> Thanks,
>
>      Hans
>
>   
Unfortunately, the error came back. The error log is at 
http://koala1.dynalias.com/VBI_errors.txt . I'm not sure it says much. I 
can't think of anything else that would have happened at 20:00 that 
would have caused the problem. However, what can you tell me about the 
timing of VBI and recording processes. Should one start before the other 
(I remember seeing some errors about "vbi process started after 
recording (seems not to work)")? Do you think a prior recording would be 
causing this error? (A recording during the 19:00 hour finishes about 20 
seconds before the 20:00 show starts. It's not always the 20:00 show 
with errors though. There really is no pattern to it, that I can see.)

Here is some other info: ivtv0 is a PVR-150, ivtv1 and ivtv2 are both on 
a PVR-500.

[EMAIL PROTECTED] ~]$ v4l2-ctl --log-status --device=/dev/video0

Status Log:

   ivtv0: =================  START STATUS CARD #0  =================
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (14f6c0)
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 001546c0 00012000
   ivtv0 dma: DMA encoder MPEG: 0x00012000 bytes at 0x001546c0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (1546c0)
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 001666c0 00006000
   ivtv0 dma: DMA encoder MPEG: 0x00006000 bytes at 0x001666c0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (1666c0)
   tveeprom 2-0050: Hauppauge model 25012, rev C568, serial# 9935441
   tveeprom 2-0050: tuner model is LG TAPE H001F MK3 (idx 68, type 47)
   tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
   tveeprom 2-0050: audio processor is CX25843 (idx 37)
   tveeprom 2-0050: decoder processor is CX25843 (idx 30)
   tveeprom 2-0050: has radio, has no IR receiver, has no IR transmitter
   tda9887 2-0043: Data bytes: b=0x14 c=0x30 e=0x44
   tuner 2-0061: Tuner mode:      analog TV
   tuner 2-0061: Frequency:       391.25 MHz
   tuner 2-0061: Standard:        0x00001000
   cx25840 2-0044: Video signal:              present
   cx25840 2-0044: Detected format:           NTSC-M
   cx25840 2-0044: Specified standard:        NTSC-M
   cx25840 2-0044: Specified video input:     Composite 7
   cx25840 2-0044: Specified audioclock freq: 48000 Hz
   cx25840 2-0044: Detected audio mode:       stereo
   cx25840 2-0044: Detected audio standard:   BTSC
   cx25840 2-0044: Audio muted:               no
   cx25840 2-0044: Audio microcontroller:     running
   cx25840 2-0044: Configured audio standard: automatic detection
   cx25840 2-0044: Configured audio system:   BTSC
   cx25840 2-0044: Specified audio input:     Tuner (In8)
   cx25840 2-0044: Preferred audio mode:      stereo
   wm8775 2-001b: Input: 2
   ivtv0: Video Input: Tuner 1
   ivtv0: Audio Input: Tuner 1
   ivtv0: Tuner: TV
   ivtv0: Stream: MPEG-2 Program Stream
   ivtv0: VBI Format: No VBI
   ivtv0: Video:  720x480, 30 fps
   ivtv0: Video:  MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
   ivtv0: Video:  GOP Size 15, 2 B-Frames, GOP Closure, No 3:2 Pulldown
   ivtv0: Audio:  48 kHz, Layer II, 224 kbps, Stereo, No Emphasis, No CRC
   ivtv0: Spatial Filter:  Manual, Luma 1D Horizontal, Chroma 1D 
Horizontal, 0
   ivtv0: Temporal Filter: Manual, 8
   ivtv0: Median Filter:   Off, Luma [0, 255], Chroma [0, 255]
   ivtv0: Status flags: 0x00000000
   ivtv0: Stream encoder MPEG: status 0x0118, 3% of 4096 KiB (128 
buffers) in use
   ivtv0: Stream encoder YUV: status 0x0000, 0% of 2046 KiB (194 
buffers) in use
   ivtv0: Stream encoder VBI: status 0x0118, 0% of 1023 KiB (60 buffers) 
in use
   ivtv0: Stream encoder PCM audio: status 0x0000, 0% of 1021 KiB (227 
buffers) in use
   ivtv0: Read MPEG/VBI: 90275840/0 bytes
   ivtv0: ==================  END STATUS CARD #0  ==================

[EMAIL PROTECTED] ~]$ v4l2-ctl --log-status --device=/dev/video1

Status Log:

   ivtv1: =================  START STATUS CARD #1  =================
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 0017c6c0 00001040
   ivtv0 dma: DMA encoder MPEG: 0x00001040 bytes at 0x0017c6c0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (17c6c0)
   ivtv0 irq: ENC START CAP 0: 000dd700 000167c0
   ivtv0 dma: DMA encoder MPEG: 0x000167c0 bytes at 0x000dd700
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (dd700)
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 000f3ec0 00006000
   ivtv0 dma: DMA encoder MPEG: 0x00006000 bytes at 0x000f3ec0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (f3ec0)
   tveeprom 3-0050: Hauppauge model 23552, rev E492, serial# 10239304
   tveeprom 3-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
   tveeprom 3-0050: TV standards NTSC(M) (eeprom 0x08)
   tveeprom 3-0050: second tuner model is Philips TEA5768HL FM Radio 
(idx 101, type 62)
   tveeprom 3-0050: audio processor is CX25843 (idx 37)
   tveeprom 3-0050: decoder processor is CX25843 (idx 30)
   tveeprom 3-0050: has radio, has no IR receiver, has no IR transmitter
   tda9887 3-0043: Data bytes: b=0xd4 c=0x30 e=0x44
   tuner 3-0060: Tuner mode:      undefined
   tuner 3-0060: Frequency:       0.00 MHz
   tuner 3-0060: Standard:        0x00000000
   tuner 3-0061: Tuner mode:      analog TV
   tuner 3-0061: Frequency:       211.25 MHz
   tuner 3-0061: Standard:        0x00001000
   cx25840 3-0044: Video signal:              present
   cx25840 3-0044: Detected format:           NTSC-M
   cx25840 3-0044: Specified standard:        NTSC-M
   cx25840 3-0044: Specified video input:     Composite 7
   cx25840 3-0044: Specified audioclock freq: 48000 Hz
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   cx25840 3-0044: Detected audio mode:       stereo
   cx25840 3-0044: Detected audio standard:   BTSC
   cx25840 3-0044: Audio muted:               no
   cx25840 3-0044: Audio microcontroller:     running
   cx25840 3-0044: Configured audio standard: automatic detection
   cx25840 3-0044: Configured audio system:   BTSC
   cx25840 3-0044: Specified audio input:     Tuner (In8)
   cx25840 3-0044: Preferred audio mode:      stereo
   wm8775 3-001b: Input: 2
   ivtv1: Video Input: Tuner 1
   ivtv1: Audio Input: Tuner 1
   ivtv1: Tuner: TV
   ivtv1: Stream: MPEG-2 Program Stream
   ivtv1: VBI Format: No VBI
   ivtv1: Video:  720x480, 30 fps
   ivtv1: Video:  MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
   ivtv1: Video:  GOP Size 15, 2 B-Frames, GOP Closure, No 3:2 Pulldown
   ivtv1: Audio:  48 kHz, Layer II, 224 kbps, Stereo, No Emphasis, No CRC
   ivtv1: Spatial Filter:  Manual, Luma 1D Horizontal, Chroma 1D 
Horizontal, 0
   ivtv1: Temporal Filter: Manual, 8
   ivtv1: Median Filter:   Off, Luma [0, 255], Chroma [0, 255]
   ivtv1: Status flags: 0x00000000
   ivtv1: Stream encoder MPEG: status 0x0000, 0% of 4096 KiB (128 
buffers) in use
   ivtv1: Stream encoder YUV: status 0x0000, 0% of 2046 KiB (194 
buffers) in use
   ivtv1: Stream encoder VBI: status 0x0000, 0% of 1023 KiB (60 buffers) 
in use
   ivtv1: Stream encoder PCM audio: status 0x0000, 0% of 1021 KiB (227 
buffers) in use
   ivtv1: Read MPEG/VBI: 2928443392/0 bytes
   ivtv1: ==================  END STATUS CARD #1  ==================

[EMAIL PROTECTED] ~]$ v4l2-ctl --log-status --device=/dev/video2

Status Log:

   ivtv2: =================  START STATUS CARD #2  =================
   ivtv0 irq: ENC START CAP 0: 0017aec0 00002840
   ivtv0 dma: DMA encoder MPEG: 0x00002840 bytes at 0x0017aec0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (17aec0)
   ivtv0 irq: ENC START CAP 0: 000dd700 00001fc0
   ivtv0 dma: DMA encoder MPEG: 0x00001fc0 bytes at 0x000dd700
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (dd700)
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 000df6c0 00004800
   ivtv0 dma: DMA encoder MPEG: 0x00004800 bytes at 0x000df6c0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (df6c0)
   ivtv0 irq: ENC START VBI CAP
   ivtv0 dma: PIO encoder VBI: 0x64c81980 bytes at 0x00000db3
   ivtv0 warning: Cannot obtain 1690835328 bytes for encoder VBI data 
transfer
   ivtv0 irq: ENC START CAP 0: 000e3ec0 00014800
   ivtv0 dma: DMA encoder MPEG: 0x00014800 bytes at 0x000e3ec0
   ivtv0 dma: start DMA for encoder MPEG
   ivtv0 irq: ENC DMA COMPLETE 3 0
   ivtv0 dma: DMA encoder MPEG completed (e3ec0)
   tveeprom 4-0050: Hauppauge model 23552, rev E492, serial# 10239304
   tveeprom 4-0050: tuner model is Philips FQ1236A MK4 (idx 92, type 57)
   tveeprom 4-0050: TV standards NTSC(M) (eeprom 0x08)
   tveeprom 4-0050: second tuner model is Philips TEA5768HL FM Radio 
(idx 101, type 62)
   tveeprom 4-0050: audio processor is CX25843 (idx 37)
   tveeprom 4-0050: decoder processor is CX25843 (idx 30)
   tveeprom 4-0050: has radio, has no IR receiver, has no IR transmitter
   tda9887 4-0043: Data bytes: b=0xd4 c=0x30 e=0x44
   tuner 4-0061: Tuner mode:      analog TV
   tuner 4-0061: Frequency:       83.25 MHz
   tuner 4-0061: Standard:        0x00001000
   cx25840 4-0044: Video signal:              present
   cx25840 4-0044: Detected format:           NTSC-M
   cx25840 4-0044: Specified standard:        NTSC-M
   cx25840 4-0044: Specified video input:     Composite 7
   cx25840 4-0044: Specified audioclock freq: 48000 Hz
   cx25840 4-0044: Detected audio mode:       stereo
   cx25840 4-0044: Detected audio standard:   BTSC
   cx25840 4-0044: Audio muted:               no
   cx25840 4-0044: Audio microcontroller:     running
   cx25840 4-0044: Configured audio standard: automatic detection
   cx25840 4-0044: Configured audio system:   BTSC
   cx25840 4-0044: Specified audio input:     Tuner (In8)
   cx25840 4-0044: Preferred audio mode:      stereo
   wm8775 4-001b: Input: 2
   ivtv2: Video Input: Tuner 1
   ivtv2: Audio Input: Tuner 1
   ivtv2: Tuner: TV
   ivtv2: Stream: MPEG-2 Program Stream
   ivtv2: VBI Format: No VBI
   ivtv2: Video:  720x480, 30 fps
   ivtv2: Video:  MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
   ivtv2: Video:  GOP Size 15, 2 B-Frames, GOP Closure, No 3:2 Pulldown
   ivtv2: Audio:  48 kHz, Layer II, 224 kbps, Stereo, No Emphasis, No CRC
   ivtv2: Spatial Filter:  Manual, Luma 1D Horizontal, Chroma 1D 
Horizontal, 0
   ivtv2: Temporal Filter: Manual, 8
   ivtv2: Median Filter:   Off, Luma [0, 255], Chroma [0, 255]
   ivtv2: Status flags: 0x00000000
   ivtv2: Stream encoder MPEG: status 0x0000, 0% of 4096 KiB (128 
buffers) in use
   ivtv2: Stream encoder YUV: status 0x0000, 0% of 2046 KiB (194 
buffers) in use
   ivtv2: Stream encoder VBI: status 0x0000, 0% of 1023 KiB (60 buffers) 
in use
   ivtv2: Stream encoder PCM audio: status 0x0000, 0% of 1021 KiB (227 
buffers) in use
   ivtv2: Read MPEG/VBI: 1456701440/0 bytes
   ivtv2: ==================  END STATUS CARD #2  ==================

Just to verify: here is what I did in ivtv-queue.h:

 >>>
/*static inline int ivtv_use_pio(struct ivtv_stream *s)
{
        struct ivtv *itv = s->itv;

        return s->dma == PCI_DMA_NONE ||
            (SLICED_VBI_PIO && s->type == IVTV_ENC_STREAM_TYPE_VBI && 
itv->vbi.sliced_in->service_set);
}*/

static inline int ivtv_use_pio(struct ivtv_stream *s)
{
        struct ivtv *itv = s->itv;

        return s->dma == PCI_DMA_NONE ||
            (SLICED_VBI_PIO && s->type == IVTV_ENC_STREAM_TYPE_VBI);
}
<<<

Then did make clean, make, make install and rebooted. I think that 
should have done it.

Please let me know if there is any further information I can provide.

Cyrus


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

Reply via email to