Troubleshooting

Error codes

Error codes

Error Code

Value

Description

VmbErrorSuccess

0

No error

VmbErrorInternalFault

-1

Unexpected fault in VmbC or driver

VmbErrorApiNotStarted

-2

VmbStartup() was not called before the current command

VmbErrorNotFound

-3

The designated instance (camera, feature, etc.)
cannot be found

VmbErrorBadHandle

-4

The given handle is not valid

VmbErrorDeviceNotOpen

-5

Device was not opened for usage

VmbErrorInvalidAccess

-6

Operation is invalid with the current access mode

VmbErrorBadParameter

-7

One of the parameters is invalid (usually an illegal pointer)

VmbErrorStructSize

-8

Given struct size is not valid for this API version

VmbErrorMoreData

-9

More data available in a string/list than space is provided

VmbErrorWrongType

-10

Wrong feature type for this access function

VmbErrorInvalidValue

-11

The value is not valid; either out of bounds or not an
increment of the minimum

VmbErrorTimeout

-12

Timeout during wait

VmbErrorOther

-13

Other error

VmbErrorResources

-14

Resources not available (e.g. memory)

VmbErrorInvalidCall

-15

Call is invalid in the current context (e.g. callback)

VmbErrorNoTL

-16

No transport layers are found

VmbErrorNotImplemented

-17

API feature is not implemented

VmbErrorNotSupported

-18

API feature is not supported

VmbErrorIncomplete

-19

The current operation was not completed (e.g. a multiple
registers read or write)

VmbErrorIO

-20

Low level IO error in transport layer

VmbErrorValid
ValueSetNotPresent

-21

The valid value set could not be retrieved,
since the feature does not provide this property

VmbError
GenTLUnspecified

-22

Unspecified GenTL runtime error

VmbErrorUnspecified

-23

Unspecified runtime error

VmbErrorBusy

-24

The responsible module/entity is busy executing actions

VmbErrorNoData

-25

The function has no data to work on

VmbErrorParsing
ChunkData

-26

Unspecified GenTL runtime error
An error occurred parsing a buffer containing chunk data

VmbErrorInUse

-27

Something is already in use

VmbErrorUnknown

-28

Error condition unknown

VmbErrorXml

-29

Error parsing XML

VmbErrorNotAvailable

-30

Something is not available

VmbErrorNotInitialized

-31

Something is not initialized

VmbErrorInvalidAddress

-32

Given address is out of range or invalid for internal reasons

VmbErrorAlready

-33

Something has already been done

VmbErrorNoChunkData

-34

A frame expected to contain chunk data does not contain it

VmbErrorUser
CallbackException

-35

A callback provided by the user threw an exception

VmbError
FeaturesUnavailable

-36

The XML for the module is currently not loaded; the module
could be in the wrong state or the XML could not
be retrieved or could not be parsed properly

VmbErrorTLNotFound

-37

A required transport layer could not be found or loaded

VmbErrorAmbiguous

-38

An entity cannot be uniquely identified based on
the information provided

VmbErrorRetriesExceeded

-39

Something could not be accomplished
with a given number of retries

VmbError
InsufficientBufferCount

-40

The operation requires more buffers

VmbErrorCustom

1

The minimum error code to use for user defined error codes
to avoid conflict with existing error codes

General issues

Transport layer not found

If the transport layer cannot be found:

Feature not usable

  • Install the latest camera firmware.

  • Vimba X only supports GenICam-compliant features, see About Vimba X.

Payloadsize issue

Stream features may contain additional Payloadsize information. For proper handling, use convenience function VmbPayloadSizeGet().

Vimba system functions

Vimba - Vimba X migration: To ensure GenICam compliance of Vimba X, most system functions of the Vimba SDK (such as GEV discovery, ForceIP, and Action Commands) are now TL (system) functions in Vimba X.

DeviceReset

Some cameras provide the DeviceReset feature. After each Device Reset, a device discovery is necessary.

After executing the DeviceReset command feature, the Camera handle and the related stream and local device handles become invalid. To reopen the camera and get a new valid handle, call VmbCameraClose() for this camera and call VmbCameraOpen().

All APIs:

  • It may take a few seconds until the device reset is completed and the camera can be discovered again.

  • The Extended ID of a camera remains the same, no matter how many times the camera has been reopened with VmbCameraClose and VmbCameraOpen.

  • GigE: The corresponding interface handle (or object) may become invalid. If you work with the Interface GenTL module, you need to query the current handle (or object) from the API.

  • MIPI CSI-2: In some cases, rebooting the board is necessary.

Issues by camera interface

GigE cameras

If the camera is not listed: See Camera not detected.

To use your GigE camera with best possible performance, follow the instructions in the User Guide of your camera.

We recommend using the Filter Driver of Vimba X. To check if the correct Filter driver is in use:

  1. Open your camera with Vimba X Viewer.

  2. Open the All tab and expand Stream 0.

  3. In the Settings, check that GVSP Driver Selector uses Filter.

  4. Expand Info and check that GVSP Filter Compatibility is “Matching”. If it is not Matching, use Vimba Driver Installer in the Vimba X install directory to install the latest Fiter Driver.

5 GigE Vision cameras

To get your 5 GigE Vision camera up and running, see the user guide/manual for your camera.

PacketSize

Make sure to set the PacketSize feature of GigE cameras to a value supported by your network card. If you use more than one camera on one interface, the available bandwidth has to be shared between the cameras.

  • GVSPAdjustPacketSize configures GigE cameras to use the largest possible packets.

  • DeviceThroughputLimit enables to configure the individual bandwidth if multiple cameras are used.

  • The maximum packet size might not be available on all connected cameras. Try to reduce the packet size.

Other issues

  • Access Mode “Config” is not available in this SDK. Please use IP Config instead.

  • By default, the Allied Vision GigE TL is set to Broadcast (instead of Discovery Once), which constantly consumes bandwidth. For a higher bandwidth, use Discovery Once every time you connect a GigE camera.

  • If the GigE Filter Driver installation via Driver Installer is not possible, please install it manually to your NIC.

USB cameras

Under Windows, make sure the correct driver is applied.

MIPI CSI-2 cameras

Compatible boards and driver

The camera driver must be installed before using Vimba. It is available for selected ARM boards and SOMS at https://github.com/alliedvision

Camera list

MIPI CSI-2 is not a plug and play interface. To update the cameras list, reboot the board.

Image acquisition

Make sure you use the latest firmware version. If you already have installed Vimba, you can use the included Firmware Updater. Or download it from https://www.alliedvision.com/en/support/software-downloads/

Typical Linux issues

Installation

Installation instructions are listed in doc:about. Note that the script for installing the transport layers has changed.

To install Vimba X for Linux, you need tar and the C runtime library glibc6 (version 2.27 or higher).

Transport layers not found

Note that the script for installing the transport layers has changed. Read the installation instructions in doc:about.

In most cases, Install.sh automatically registers the GENICAM_GENTL64_PATH environment variables in /etc/profile.d, so that every GenICam GenTL consumer can access the Vimba transport layers. If the transport layers are not found:

  • If multiple users work with the system, make sure all users can access /etc/profile.d.

  • If your display manager doesn’t support the install script (for example, lightdm and wdm): Please add the required environment variables to the /etc/environment file.

  • If login shell is not supported, Install.sh in /etc/profile.d will not be loaded for X-Session. In this case, please copy the following line into the ~/.bashrc file and reboot. export GENICAM_GENTL64_PATH=$GENICAM_GENTL64_PATH: "/PATH_TO_VIMBAXFOLDER/cti/Set_GenTL_Path.sh"

Compiling

To compile the examples and the C++ API, you need:

  • CMake (>= 3.21)

  • make

  • g++ (>= 8.4.0)

  • Qt (5.15.x)

Typical macOS issues

Installation

Vimba X comes as a .dmg file. Do not drag & drop it into the Applications folder.

To install Vimba X:

  1. Double-click the .dmg file to mount it.

  2. Open Vimba X installer.pkg and follow the instructions. If you get an error message, go to Settings → Privacy & Security, select “App Store and identified developers” and click “Open Anyway” for “Vimba X Installer.pkg”.

  3. Please log out and then log in again. Please make sure to quit the Terminal app if it is still open, so that it can find the new environment variable when you open it again. Opening a new Terminal window without quitting the application is not sufficient.

TL not found

Before rebooting, please close all Vimba X related applications and Terminal windows.

Safari

Safari has built-in security policies that prevent using the “back” button from external URLs. As a workaround, click “back” twice or open links in a separate tab. Or use another browser (for example, Chrome or Firefox).

Technical support

Allied Vision provides technical support if you use Allied Vision cameras. We don’t offer technical support if a non-Allied Vision camera or a non-Allied Vision TL is used.

To get technical support for your Allied Vision camera, please go to:

https://www.alliedvision.com/en/about-us/contact-us/technical-support-repair-/-rma/

To get technical support for cameras from other manufacturers, please address the camera manufacturer.