On Thu, Oct 19, 2006 at 07:03:49PM +0600, Rumjantsev Egor wrote:
> Alan Stern ?????:
> >> But all urb returned with right value of data that i wanted to read.
> >>     
> >
> > I think you mean that the URBs returned the right _amount_ of data?
> >   
> yes....amount :)
> >   
> >> The situation that i described appears when i call 1-2 times per second 
> >> usb_control_msg to ask camera about it internal state. If i don't call 
> >> this function all works fine and the frame marker is placed in right 
> >> position.
> >> So i don't understand where is mistake is taken place. If we see from 
> >> point of view of urb - all urb returned right value of size and we 
> >> shouldn't raise any claims. The most interesting thing for me how the 
> >> data can disappear completely but i use the bulk mode so this mode 
> >> promise guarantee of delivery all data.
> >>     
> >
> > That's right.  The only reason the data could disappear is because the 
> > camera didn't send it.
> >   
> I checked with oscilloscope this camera and found out  that data 
> disappeared exactly because camera didn't send them. An USB controller 
> has flag which shows that fifo buffers of endpoint were overflowed but 
> hardware circuits serviced this signal not correctly and tried send data 
> to buffers. So this is the place were data leaks. But this situation 
> appeared only when i send control messages to camera.
> Seems that it happened in the moments when usb bandwidth  was exceed and 
> chip trys to send  data or something else. USB chip has 2 kBytes 
> internal FIFO buffer and hence 32 microsecond delay possibly until this  
> buffer overflows. Is it possible that low level drivers can make the 
> same delay between getting data from device ?
> 
> >   
> >>>> I receive data with 4 urb in queue. I tried to change the size of urb 
> >>>> (4096...61440 bytes) but it didn't help - the data is lost
> >>>> So i'd like to know why this happened. I understand that usb_control_msg 
> >>>> isn't finished until its callback function not called or timeout is not 
> >>>> finished but i though that data receive process not freeze in that 
> >>>> moment.
> >>>> I use Mandriva 2006; Kernel version 2.6.13.5
> >>>>     
> >>>>         
> >>> Maybe the camera doesn't like to handle control messages while it is 
> >>> transferring video data.
> >>>       
> I try to check this
> >>>   
> >>>       
> > Have you tried doing this with Linux 2.6.18?
> >   
> No i haven't, i have to make a driver which must work on 2.4 and 2.6 
> versions of kernel

Why 2.4?  No distros ship this version anymore.

And the same driver will not work with both versions, it would be easier
to just have two different drivers due to all of the different api
changes involved.

good luck,

greg k-h

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to