[dvblast-devel] error: couldn't read from DVR device (Value too large for defined data type)
Georgi Chorbadzhiyski
gf at unixsol.org
Wed Jul 3 18:35:26 CEST 2013
Around 07/03/2013 03:26 PM, Honza Petrouš scribbled:
> 2013/7/3 Georgi Chorbadzhiyski <gf at unixsol.org>:
>> I'm using digital devices S2 card with these drivers on linux 3.7.1
>>
>> [ 5.384924] Latest git patches (needed if you report a bug to linux-media at vger.kernel.org):
>> [ 5.384924] 8b2aea7878f64814544d0527c659011949d52358 [media] em28xx: prefer bulk mode on webcams
>> [ 5.384924] a3efa1cc0e067675ffa2d2c357cbe1da0db4653b [media] em28xx: make the logs reflect the specific chip name
>> [ 5.384924] aa51496b21542855e779a78bf33384002f01acb6 [media] em28xx: display the isoc/bulk mode
>> [ 5.384924] experimental: 9b79c0d0acf1607158e1bdb70fe913059894bfd5 experimental: Add workaround for CAM write errors.
>> [ 5.384924] ngene-octopus-test: a8742d5952072f2237cdf28ae4cbb78fa6039f80 ddbridge: Add Digital Devices Cine S2 V6.5
>> [ 5.414058] Digital Devices PCIE bridge driver, Copyright (C) 2010-11 Digital Devices GmbH
>> [ 5.414546] DDBridge driver detected: Digital Devices Cine S2 V6 DVB adapter
>>
>> Couple of days ago one of the transponders that I'm using began to log these errors from
>> time to time:
>>
>> Jul 3 00:26:19 live4 dvblast/00_39_12524_H_30000_bulsat: error: couldn't read from DVR device (Value too large for defined data type)
>> Jul 3 00:53:18 live4 dvblast/00_39_12524_H_30000_bulsat: error: couldn't read from DVR device (Value too large for defined data type)
>> Jul 3 04:52:18 live4 dvblast/00_39_12524_H_30000_bulsat: error: couldn't read from DVR device (Value too large for defined data type)
>> Jul 3 05:31:17 live4 dvblast/00_39_12524_H_30000_bulsat: error: couldn't read from DVR device (Value too large for defined data type)
>> Jul 3 05:32:19 live4 dvblast/00_39_12524_H_30000_bulsat: error: couldn't read from DVR device (Value too large for defined data type)
>>
>> It is happening only on this transponder [1] (the machine reads 12 others as well but
>> they are fine). What could possibly be the reason? Is it too much data coming and the
>> driver can't handle it? If I lower down MAX_READ_ONCE could this help?
>
> Yes, it happens when kernel's dvb ringbuffer gets overwritten by too
> much incomming data.
> Try to change a buffer size by ioctl DMX_SET_BUFFER_SIZE.
I don't think that would help. It is already set to:
#define DVR_BUFFER_SIZE 40*188*1024 /* bytes */
which is far bigger than the length of data that we try to read.
We use readv() on 50 (MAX_READ_ONCE), 188 byte packets.
>From dvb.c:
245 if ( (i_len = readv(i_dvr, p_iov, MAX_READ_ONCE)) < 0 )
246 {
247 msg_Err( NULL, "couldn't read from DVR device (%s)",
248 strerror(errno) );
249 i_len = 0;
250 }
--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
http://github.com/gfto/
More information about the dvblast-devel
mailing list