Summary
Some users may report image corruption, missing packets, or TOO_MANY_CONSECUTIVE_RESENDS when using JAI GigE Vision cameras with:
- Jumbo frames (for example GevSCPSPacketSize = 8228)
- PTP (IEEE 1588) hardware timestamping enabled
- Intel I350 or I210 network adapters
- Linux systems using the igb network driver
The issue is not caused by the camera, firmware, or eBUS SDK.
Symptoms
The problem is typically seen when the camera captures very dark images. For example:
- Lens covered
- Very low light conditions
- Low BlackLevel settings (such as -133)
In these cases, the image data contains mostly 0x00 bytes. On affected Linux systems, some received jumbo UDP packets become truncated, resulting in packet resend requests and eventually stream errors.
Typical errors include:
- TOO_MANY_CONSECUTIVE_RESENDS
- Missing packets
- Corrupted images
Root Cause
The root cause is a bug in the Linux igb network driver for Intel I350 and I210 Ethernet controllers.
The bug is triggered only when all of the following are true:
- Jumbo frames are used.
- PTP hardware timestamping is enabled on the receiving network interface.
- UDP packets contain mostly zero-value payload data.
This is a host-side networking issue and is independent of the JAI camera.
Resolution
The customer investigated the issue and submitted a fix to the Linux kernel.
It can be found here: patch
- The bug was introduced in the in-tree igb driver in Linux 5.12.
- The fix has been accepted into the Linux netdev tree after review by Intel and Linux networking maintainers.
- The fix will be included in future mainline and stable Linux kernel releases.
Workarounds
Until the kernel fix is available, one of the following can be used:
- Install Intel's standalone igb 5.19.10 driver (not affected by this bug).
- Disable PTP hardware timestamping if it is not required.
- Use standard Ethernet MTU (1500-byte packets) instead of jumbo frames.
- Avoid camera settings that produce almost entirely zero-value image data, if practical.
Comments
0 comments
Please sign in to leave a comment.