[aravis] Re: Dropped packets on dual link GigE camera

  • From: <tom.cobb@xxxxxxxxxxxxx>
  • To: <aravis@xxxxxxxxxxxxx>
  • Date: Thu, 16 Aug 2012 10:07:29 +0000

> The NIC was showing low 10's of rx errors per day so we replaced it -
> all problems were solved.

Is that errors that show up in ifconfig? If so then mine looks OK. I put some 
printf's in arv_gv_stream_thread and I've commented on what I think is 
happening below:

Frame_id: 700, Packet id: 0
[GvStream::_find_frame_data] Start frame 700
Frame_id: 700, Packet id: 1
Frame_id: 700, Packet id: 3
[GvStream::_missing_packet_check] Resend request at dt = 249, packet id = 3/16
[GvStream::send_packet_request] frame_id = 700 (2 - 2)
*** Camera sends packet 2 and 3 on different links, server delivers 3 before 2 
so aravis requests resend of 2
Frame_id: 700, Packet id: 2
[GvStream::_process_data_block] Received resent packet 2 for frame 700
*** Server gets original packet 2, thinks it's the resent packet 2
Frame_id: 699, Packet id: 12
[GvStream::_find_frame_data] Discard late frame 699 (last: 700)
Frame_id: 700, Packet id: 4
Frame_id: 700, Packet id: 5
Frame_id: 700, Packet id: 2
[GvStream::_process_data_block] Received resent packet 2 for frame 700
*** Now server receives the resent packet 2, I assume this doesn't cause any 
issues?
Frame_id: 700, Packet id: 6
Frame_id: 700, Packet id: 7
Frame_id: 700, Packet id: 9
[GvStream::_missing_packet_check] Resend request at dt = 1008, packet id = 9/16
[GvStream::send_packet_request] frame_id = 700 (8 - 8)
Frame_id: 700, Packet id: 8
[GvStream::_process_data_block] Received resent packet 8 for frame 700
*** Same thing happens with packets 8 and 9
Frame_id: 700, Packet id: 10
Frame_id: 700, Packet id: 11
Frame_id: 700, Packet id: 8
[GvStream::_process_data_block] Received resent packet 8 for frame 700
Frame_id: 700, Packet id: 12
Frame_id: 700, Packet id: 14
[GvStream::_missing_packet_check] Resend request at dt = 1496, packet id = 14/16
[GvStream::send_packet_request] frame_id = 700 (13 - 13)
Frame_id: 700, Packet id: 15
Frame_id: 701, Packet id: 0
[GvStream::_find_frame_data] Start frame 701
Frame_id: 700, Packet id: 13
*** Same thing happens with packets 13 and 14
[GvStream::_process_data_block] Received resent packet 13 for frame 700
[GvStream::_check_frame_completion] Completed frame 700
[GvStream::_close_frame] Close frame 700
Frame_id: 701, Packet id: 1
Frame_id: 700, Packet id: 13
[GvStream::_find_frame_data] Discard late frame 700 (last: 701)
*** Resent packet 13 discarded

I'll try a simple packet reordering filter and see if that helps...

Thanks,
Tom

--
This e-mail and any attachments may contain confidential, copyright and or 
privileged material, and are for the use of the intended addressee only. If you 
are not the intended addressee or an authorised recipient of the addressee 
please notify us of receipt by returning the e-mail and do not use, copy, 
retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not 
necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments 
are free from viruses and we cannot accept liability for any damage which you 
may sustain as a result of software viruses which may be transmitted in or with 
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and 
Wales with its registered office at Diamond House, Harwell Science and 
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom





Other related posts: