GigE Vision Hardware

Troubleshooting GigE Vision Devices on Windows

If you are having trouble using the Image Acquisition Toolbox™ software with a GigE Vision camera on a Windows® machine, using the toolbox's gige adaptor, follow these troubleshooting steps:

  1. With previous versions of the Image Acquisition Toolbox, the files for all of the adaptors were included in your installation. Starting with version R2014a, each adaptor is available separately through the Support Package Installer. In order to use the Image Acquisition Toolbox, you must install the adaptor that your camera uses, in this case, the GigE Vision Hardware support package. See Image Acquisition Support Packages for Hardware Adaptors for information about installing the adaptors.

  2. Verify that the adaptor loads. You can use the imaqhwinfo command to list installed adaptors. The gige adaptor should be included on the list.

    If it does not load, make sure that GenICam™ is configured correctly using the imaqsupport function.

    If your camera requires a GenICam XML file on a local drive (most cameras do not), and the adaptor loads but no devices are shown, check the MWIMAQ_GENICAM_XML_FILES environment variable, and make sure it contains the directory where your camera's XML file is located.

    For information on installing GenICam and checking your environment variables, see Software Configuration.

  3. Make sure you did not install your camera vendor's filtering or performance networking driver. If you did, you must uninstall it.

  4. Make sure that anti-virus program drivers are unchecked in the Ethernet card Properties.

    For more information on this, see Step 3 in Installation of GigE Vision Cameras and Drivers on Windows.

  5. Make sure the Ethernet card is configured properly.

    For more information on this, see Network Hardware Configuration Notes and Network Adaptor Configuration Notes.

    Also, if you have multiple cameras connected to multiple Ethernet cards, you cannot have them all set to automatic IP configuration. You must specify the IP address for each card and each card must be on a different subnet.

  6. Test the connectivity of your device separate from using the Image Acquisition Toolbox. Use the vendor program included with your device to see if you can detect and acquire images from the camera.

  7. If you receive an error message such as:

    "Block 23 is being dropped because packets are unavailable for resend."

    and it does not mention buffer size, it is likely that packets are being dropped due to overload of the CPU. To lower the CPU load, raise the value of the PacketSize device-specific (source) property. In order to do this, you must be using hardware that supports jumbo frames.

    You might also want to calculate and set the PacketDelay device-specific (source) property.

    Also, if you are using a CPU that is older than an Intel® Core™ 2 Quad or equivalent AMD®, you may experience this type of error.

    If you have a slower computer and experience packet loss using the GigE Vision adaptor, you can set a packet delay to avoid overloading the computer. This is useful in solving the performance issue if you cannot achieve your camera's frame rate. The PacketDelay property will initially be set to use the value that is your camera's default value. You can then adjust the value if needed. The TimeStampTickFrequency property is read-only but is available for calculating the actual packet delay value is being used.

    For more information on the new PacketDelay property and how to calculate packet delay, see this solution:

    http://www.mathworks.com/support/solutions/en/data/1-F36R0R/index.html

  8. If you are able to start acquisition without error but do not receive any frames, and if you are using a larger PacketSize, make sure that your hardware and the network between the computer and the camera support jumbo frames, and also that your Ethernet card driver is set to allow them at the size that you are attempting to use.

  9. The toolbox attaches the block ID (frame ID) as metadata to the frame. If your camera does not start a new acquisition at block 1, if you want to know if you lost initial frames, you can check the metadata. If the first frame's block ID is not 1, you may have some missing frames. For example, use this command in MATLAB®:

    [d t m]=getdata(vid,2);
    m(1)

    The answer will include the Block ID and the FrameNumber.

  10. Run the imaqsupport function for further troubleshooting information.

Troubleshooting GigE Vision Devices on Linux

If you are having trouble using the Image Acquisition Toolbox software with a GigE Vision camera on a Linux® machine, using the toolbox's gige adaptor, follow these troubleshooting steps:

  1. With previous versions of the Image Acquisition Toolbox, the files for all of the adaptors were included in your installation. Starting with version R2014a, each adaptor is available separately through the Support Package Installer. In order to use the Image Acquisition Toolbox, you must install the adaptor that your camera uses, in this case, the GigE Vision Hardware support package. See Image Acquisition Support Packages for Hardware Adaptors for information about installing the adaptors.

  2. Verify that the adaptor loads. You can use the imaqhwinfo command to list installed adaptors. The gige adaptor should be included on the list.

    If it does not load, make sure that GenICam is configured correctly using the imaqsupport function.

    If your camera requires a GenICam XML file on a local drive (most do not), and the adaptor loads but no devices are shown, check the MWIMAQ_GENICAM_XML_FILES environment variable, and make sure it contains the directory where your camera's XML file is located.

    For information on installing GenICam and checking your environment variables, see Software Configuration.

  3. Make sure you did not install your camera vendor's filtering or performance networking driver. If you did, you should uninstall it.

  4. Make sure the Ethernet card is configured properly.

    For more information on this, see Network Hardware Configuration Notes and Network Adaptor Configuration Notes.

    Also, if you have multiple cameras connected to multiple Ethernet cards, you cannot have them all set to automatic IP configuration. You must specify the IP address for each card and each card must be on a different subnet.

  5. Examine the connectivity of your device separate from using the Image Acquisition Toolbox. You may find using ping -b, arp, route, and ifconfig helpful with this.

  6. If you receive an error message such as:

    "Block 23 is being dropped because packets are unavailable for resend"

    and it does not mention buffer size, it is likely that packets are being dropped due to overload of the CPU. To lower the CPU load, raise the value of the PacketSize device-specific (source) property. In order to do this, you must be using hardware that supports jumbo frames.

    You might also want to calculate and set the PacketDelay device-specific (source) property.

    Also, if you are using a CPU that is older than an Intel Core 2 Quad or equivalent AMD, you may experience this type of error.

    If you have a slower computer and experience packet loss using the GigE Vision adaptor, you can set a packet delay to avoid overloading the computer. This is useful in solving the performance issue if you cannot achieve your camera's frame rate. The PacketDelay property will initially be set to use the value that is your camera's default value. You can then adjust the value if needed. The TimeStampTickFrequency property is read-only but is available for calculating the actual packet delay value is being used.

    For more information on the new PacketDelay property and how to calculate packet delay, see this solution:

    http://www.mathworks.com/support/solutions/en/data/1-F36R0R/index.html

  7. If you are able to start acquisition without error but do not receive any frames, and if you are using a larger PacketSize, make sure that your hardware and the network between the computer and the camera support jumbo frames, and also that your Ethernet interface is set to allow them at the size that you are attempting to use.

  8. If you receive an error that says a block or frame is being dropped because a packet is unavailable for resend, one likely cause is that the buffer size of the socket could not be set to the reported value, for example 1000000.

    See your system administrator about using sysctl for net.core.rmem_max. For example, the system administrator could try:

    sysctl -w net.inet.udp.recvspace=1000000
  9. If your camera does not start a new acquisition at block 1, the toolbox will attach the block ID (frame ID) as metadata to the frame. If you want to know if you lost initial frames, you can check the metadata – if the first frame's block ID is not 1, you may have some missing frames. For example, use this command in MATLAB:

    [d t m]=getdata(vid,2);
    m(1)

    The answer will include the Block ID and the FrameNumber.

  10. Run the imaqsupport function for further troubleshooting information.

Troubleshooting GigE Vision Devices on Mac

If you are having trouble using the Image Acquisition Toolbox software with a GigE Vision camera on a Mac machine, using the toolbox's gige adaptor, follow these troubleshooting steps:

  1. With previous versions of the Image Acquisition Toolbox, the files for all of the adaptors were included in your installation. Starting with version R2014a, each adaptor is available separately through the Support Package Installer. In order to use the Image Acquisition Toolbox, you must install the adaptor that your camera uses, in this case, the GigE Vision Hardware support package. See Image Acquisition Support Packages for Hardware Adaptors for information about installing the adaptors.

  2. Verify that the adaptor loads. You can use the imaqhwinfo command to list installed adaptors. The gige adaptor should be included on the list.

    If it does not load, make sure that GenICam is installed and the environment variables exist. You can check this using the imaqsupport function.

    If your camera requires a GenICam XML file on a local drive (most do not), and the adaptor loads but no devices are shown, check the MWIMAQ_GENICAM_XML_FILES environment variable, and make sure it contains the directory where your camera's XML file is located.

    For information on installing GenICam and checking your environment variables, see Software Configuration.

  3. Make sure you did not install your camera vendor's filtering or performance networking driver. If you did, you should uninstall it.

  4. Make sure the Ethernet card is configured properly.

    For more information on this, see Network Hardware Configuration Notes and Network Adaptor Configuration Notes.

    Also, if you have multiple cameras connected to multiple Ethernet cards, you cannot have them all set to automatic IP configuration. You must specify the IP address for each card and each card must be on a different subnet.

  5. Examine the connectivity of your device separate from using the Image Acquisition Toolbox. You may find using ping -b, arp, route, and ifconfig helpful with this.

  6. If you receive an error message such as:

    "Block 23 is being dropped because packets are unavailable for resend"

    and it does not mention buffer size, it is likely that packets are being dropped due to overload of the CPU. To lower the CPU load, raise the value of the PacketSize device-specific (source) property. In order to do this, you must be using hardware that supports jumbo frames.

    You might also want to calculate and set the PacketDelay device-specific (source) property.

    Also, if you are using a CPU that is older than an Intel Core 2 Quad or equivalent AMD, you may experience this type of error.

    If you have a slower computer and experience packet loss using the GigE Vision adaptor, you can set a packet delay to avoid overloading the computer. This is useful in solving the performance issue if you cannot achieve your camera's frame rate. The PacketDelay property will initially be set to use the value that is your camera's default value. You can then adjust the value if needed. The TimeStampTickFrequency property is read-only but is available for calculating the actual packet delay value is being used.

    For more information on the new PacketDelay property and how to calculate packet delay, see this solution:

    http://www.mathworks.com/support/solutions/en/data/1-F36R0R/index.html

  7. If you are able to start acquisition without error but do not receive any frames, and if you are using a larger PacketSize, make sure that your hardware and the network between the computer and the camera support jumbo frames, and also that your Ethernet interface is set to allow them at the size that you are attempting to use.

  8. If you receive an error that says a block or frame is being dropped because a packet is unavailable for resend, one likely cause is that the buffer size of the socket could not be set to the reported value, for example 1000000.

    See your system administrator about using sysctl for net.core.rmem_max. For example, the system administrator could try:

    sysctl -w net.inet.udp.recvspace=1000000
  9. If your camera does not start a new acquisition at block 1, the toolbox will attach the block ID (frame ID) as metadata to the frame. If you want to know if you lost initial frames, you can check the metadata – if the first frame's block ID is not 1, you may have some missing frames. For example, use this command in MATLAB:

    [d t m]=getdata(vid,2);
    m(1)

    The answer will include the Block ID and the FrameNumber.

  10. Run the imaqsupport function for further troubleshooting information.

Was this topic helpful?