Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> General pcHDTV topics -> Stream corruption without messages in /var/log/messages
Post new topic  This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic 
Stream corruption without messages in /var/log/messages
PostPosted: Fri Feb 03, 2006 12:32 am Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




I've found evidence that something I've been saying over and over here may be wrong. I've always thought that if the system is not able to get the data out of the HD-3000's buffer in time, there would always be "buffer overrun" message in /var/log/messages. Well tonight I was saving a half hour program from the HD-2000 and an hour program from the HD-3000. The first half hour of the HD-3000 program had a corrupt packet about once a minute. Once the half-hour program coming from the HD-2000 was finished, the HD-3000 started saving a perfect stream.

I'm running the 1.6 version of the non-DVB driver which probably isn't supported much any more so I may have missed a recent fix. I'll have to check into this over the weekend.
View user's profile Send private message
Re: Stream corruption without messages in /var/log/messages
PostPosted: Fri Feb 03, 2006 10:13 am Reply with quote
dieter
 
Joined: 20 Jan 2005
Posts: 43
Location: US




Scott Larson wrote:
I've always thought that if the system is not able to get the data out of the HD-3000's buffer in time, there would always be "buffer overrun" message in /var/log/messages. Well tonight I was saving a half hour program from the HD-2000 and an hour program from the HD-3000. The first half hour of the HD-3000 program had a corrupt packet about once a minute. Once the half-hour program coming from the HD-2000 was finished, the HD-3000 started saving a perfect stream.


This brings to mind a couple of questions I've been wondering about.
How large is the buffer on the boards? (HD-2000 buffer the same as HD-3000 or different?) How can you tell if the saved file is correct or not?
View user's profile Send private message
Re: Stream corruption without messages in /var/log/messages
PostPosted: Fri Feb 03, 2006 4:09 pm Reply with quote
inkling
 
Joined: 05 Feb 2004
Posts: 342




Scott Larson wrote:
I've always thought that if the system is not able to get the data out of the HD-3000's buffer in time, there would always be "buffer overrun" message in /var/log/messages. Well tonight I was saving a half hour program from the HD-2000 and an hour program from the HD-3000. The first half hour of the HD-3000 program had a corrupt packet about once a minute. Once the half-hour program coming from the HD-2000 was finished, the HD-3000 started saving a perfect stream.


Are you using the O_STREAMING patch on your 2.4.x kernel? Does each card write to a different physical volume or do both write to the same?

-ink
View user's profile Send private message
PostPosted: Sat Feb 04, 2006 3:12 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




I'm not using O_STREAMING patch because I'm not having any disk cache performance problems. All my HDTV gets saved onto a RAID array.

But this glosses over the real problem: if data isn't getting saved to disk, something somewhere should be complaining about it. The file system can't sliently throw away data. It has to be getting lost on the card.

The HD-3000 shares an interrupt with the network card but everything else on the system has its own interrupt. The corruption happens on both cards.
View user's profile Send private message
something to try
PostPosted: Mon Feb 06, 2006 11:27 pm Reply with quote
inkling
 
Joined: 05 Feb 2004
Posts: 342




Scott Larson wrote:
I'm not using O_STREAMING patch because I'm not having any disk cache performance problems. All my HDTV gets saved onto a RAID array.

But this glosses over the real problem: if data isn't getting saved to disk, something somewhere should be complaining about it. The file system can't sliently throw away data. It has to be getting lost on the card.

The HD-3000 shares an interrupt with the network card but everything else on the system has its own interrupt. The corruption happens on both cards.



OK so you didn't try O_STREAMING at all, and you discard all of the data I have collected that proves it to help on kernel 2.4.x

Good luck with that,

-ink
View user's profile Send private message
PostPosted: Tue Feb 07, 2006 1:38 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




If I remember right, O_STREAMING simply tells the kernel not to cache the buffers associated with the file and only improves performance which is not an issue here.
View user's profile Send private message
PostPosted: Tue Feb 07, 2006 11:26 pm Reply with quote
kmj0577
 
Joined: 03 Jan 2006
Posts: 57




Well, looking at the source code, it should put an error in the logs it's trying to get more than the buffer can hold. I'll have to look at the dvb drivers to see if they have a similar error.

Edit: Looking with a grep for printk and buffer, doesn't seem to be any message that would indicate it logs a buffer overrun in the dvb drivers.
View user's profile Send private message
PostPosted: Wed Feb 08, 2006 4:02 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




One easy way to prove that buffer overruns are being logged is to cat the device to /dev/null then suspend the process. You should see the messages in a few seconds since cat isn't emptying the buffers.
View user's profile Send private message
PostPosted: Wed Feb 08, 2006 9:04 pm Reply with quote
kmj0577
 
Joined: 03 Jan 2006
Posts: 57




Scott Larson wrote:
One easy way to prove that buffer overruns are being logged is to cat the device to /dev/null then suspend the process. You should see the messages in a few seconds since cat isn't emptying the buffers.

I haven't tried it with cat yet since I'd need to setup my azap stuff again to do that, but using dvbstream and suspending that shows nothing in /var/log/messages. I don't think the dvb drivers print out when there is a buffer overrun, or they handle the buffering quite differently. I'm not sure which because I haven't looked at the source comparatively too much, but it seems like the dvb drivers have a buffer queue. Whether the v4l drivers have that or not, I don't know.
View user's profile Send private message
PostPosted: Thu Feb 09, 2006 2:59 pm Reply with quote
dieter
 
Joined: 20 Jan 2005
Posts: 43
Location: US




With kernel 2.6.15-AS23-default, I suspended dd and then brought it back. I got:

fg
/bin/dd of=/dev/null if=/dev/dvb/adapter0/dvr0 bs=64k
/bin/dd: reading `/dev/dvb/adapter0/dvr0': Value too large for defined data type

No messages on the console.
View user's profile Send private message
Stream corruption without messages in /var/log/messages
  pcHDTV Forum Index -> General pcHDTV topics
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 7 Hours  
Page 1 of 1  

  
  
 Post new topic  This topic is locked: you cannot edit posts or make replies.  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin