Re: Terratec Cinergy Hybrid XE (TM6010 Mediachip)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 27.01.2010 21:47, schrieb Mauro Carvalho Chehab:
> Stefan Ringel wrote:
>   
>> Hi,
>>
>> I have a problem with usb bulk transfer. After a while, as I scan digital channel (it found a few channel), it wrote this in the log:
>>
>> Jan 26 21:58:35 linux-v5dy kernel: [  548.756585] tm6000: status != 0
>>
>> I updated the tm6000_urb_received function so that I can read the Error code and it logged:
>>
>> Jan 27 17:41:28 linux-v5dy kernel: [ 3121.892793] tm6000: status = 0xffffffb5
>>     
> Probablt it is this error:
> #define EOVERFLOW       75      /* Value too large for defined data type */
>
> It would be good to make it display the error as a signed int.
>
> the tm6000-video error handler has some common causes for those status.
> In this particular case:
>
>         case -EOVERFLOW:
>                 errmsg = "Babble (bad cable?)";
>                 break;
>
> This looks the same kind of errors I was receiving during the development of the driver:
> a large amount of frames are got broken, even if the device is programmed with the exact
> values used on the original driver. On my tests, changing the URB size were changing
> the position where such errors were occurring.
>
>   
>> Can you help me? Who I can calculate urb size?
>>     
> Take a look on tm6000-video:
>
>         size = usb_maxpacket(dev->udev, pipe, usb_pipeout(pipe));
>
>         if (size > dev->max_isoc_in)
>                 size = dev->max_isoc_in;
>
> It depends on the alternate interface used. The driver should select an alternate
> interface that is capable of receiving the entire size of a message. Maybe the tm6000
> driver is missing the code that selects this size. Take a look on em28xx-core, at
> em28xx_set_alternate() code for an example on how this should work.
>
> The calculated size there assumes that each pixel has 16 bits, and has some magic that
> were experimentally tested on that device.
>
> Cheers,
> Mauro.
>
>   
I know why it's going to overflow. It's not usb pipe calculating, it's
numbers of feeds that it's used. But then I cannot use more than one
filter! It's bad!!

Cheers

Stefan Ringel

-- 
Stefan Ringel <stefan.ringel@xxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux