Troubleshooting Lost Packets or Frames While Using GigE Cameras
(Also related to error 0xE1000014 / 3774873620: The buffer was incompletely grabbed)
You may happen to find out that you are losing packets/ frames while running your Basler GigE camera.
You may also notice packets/frames being dropped when simultaneously grabbing images from multiple cameras (ie: a hardware trigger run to cameras in parallel). Typically this is due to some hardware caches/buffers on a network switch/nic becoming temporarily overfilled due to the sudden burst of incoming network packets.
A handy way to check for lost packets/frames is to observe the statistics for you camera in pylon viewer:
(set Guru mode first), then <camera name> --> Stream Parameters --> Statistics.
If you found out that you are losing packets/ frames while running your GigE camera, you may try to optimize the configuration of your network adapter.
To optimize your network adapter you can do the following:
1. In the Network Connections window, right click on the name of the connection for your network adapter, and select Properties from the drop down menu.
2. Click the Configure... button.
A controller properties window will open.
3. Click on the Advanced tab. Select the following parameters in the Properties group and set their values in the Value group:
Note: Depending on the network adapter model, the parameter names of your network adapter may differ from the ones shown below. Also, the ways of setting the parameters may differ, and some parameters may not be available.
a. Select the Jumbo Frames (or Jumbo Packets) parameter and set its size to the maximum value.
b. If no Jumbo Frames parameter is present, select the parameter which relates to frame size and set its size to the maximum value, which typically is 1.5 kB (1500).
c. Selet the parameter which relates to the number of receive descriptors (e.g. Receive Descriptors) and set it to its maximum value.
d. Selet the parameter which relates to the number of CPU interrupts (e.g. Interrupt Moderation Rate) and turn this feature off (or set it to it's lowest value).
For your network adapter, the way of setting the number of CPU interrupts may differ. You may, e.g., have to use a parameter to set a low number for the interrupt moderation and then use a different parameter to enable the interrupt moderation.
In addition to that, you should optimize the configuration of your GigE camera yet:
1. If your network adapter supports Jumbo Frames, set a Packet Size (in the Transport Layer of a camera in Pylon Viewer) to a value <= Jumbo Frames value from your NIC (e.g. 3000, 6000, 9000 [KB]).
Note: for troubleshooting purposes, it is wise to start with both the NIC and the camera at a packet size of 1500. As this is the supported packet size of even older 100BaseT networks, it is a very reliable starting point.
2. Increase the Inter- Packet Delay (in the Transport Layer of a camera in Pylon Viewer) to a value that lets you still reach the desired frame rate.
Note: In some cases you may need to increase the Inter- Packet Delay to its maximum in order to solve the problem of losing packets/frames, which will cause reduction of the maximal camera's frame rate.
3. Optionally, you can Increase the Frame Transmission Delay to delay the start of the frame's transmission. On systems with multiple cameras, this can also lower the load on the switch / NIC
PS. In order to automatically configure your camera(s) for the optimal Packet Size and Inter-Packet Delay you may also use the so-called "OptimizeGigE"-Tool provided by the Basler support.