pylon 3.2.0 for Linux Release for Use with Basler Gigabit Ethernet

pylon 3.2.0 for Linux Release for Use with Basler Gigabit Ethernet
pylon 3.2.0 for Linux Release for Use with Basler Gigabit Ethernet (GigE) Cameras
System Requirements
A GigE network adapter that supports jumbo frames is recommended. For best performance, we
recommend using an adapter from the Intel PRO 1000 series. Although the pylon software will work
with any GigE network adapter, we observed a significantly higher CPU load when grabbing image
data with network adapters other than from the recommended Intel PRO 1000 series.
The installation of pylon 3.2 for Linux is described in the INSTALL text document.
Performance Optimization
To increase performance and to minimize CPU usage when grabbing images, the following settings
should be considered:
* Enable Jumbo Frames
Many GigE network adapters support so-called jumbo frames, i.e., network packets larger than the
usual 1500 bytes. To enable jumbo frames, the maximum transfer unit (MTU) size of the PC's
network adapter must be set to a high value (see the the decription in the INSTALL document). We
recommend using a value of 8192.
* Increase the packet size
When jumbo frames are enabled, the camera's packet size must be increased to benefit from the
larger packets. The 'Optimizing Packet Size' section of the INSTALL document describes how to
set the packet size.
* Real-time Priority
The GigE Vision implementation of Basler pylon software uses a thread for receiving image data.
Basler pylon tries to set the thread priority for the receive thread to real-time thread priority. This
requires certain permissions. The 'Permissions for Real-time Thread Priorities' section of the
INSTALL document describes how to grant the required permissions.
The installation archive includes an doc subfolder containing the Pylon Programmer's Guide and
API reference documentation. Open the index.html file with an internet browser.
Sample Programs
The installation archive includes a set of sample programs. These sample programs are simple
command line programs demonstrating the basic pylon use cases.
They are located in the 'Samples' folder. The folder contains a top-level Makefile that can be used
to build the different sample programs.
Camera Emulator
In addition to the GigE Vision transport layer, this release contains a transport layer able to create
simple camera emulator devices that allow you to develop applications without having a physical
camera device attached. The emulator has very limited functionalty, but is able to create test
images for different bitdepths.
The number of availble emulator devices can be controlled by exporting the PYLON_CAMEMU
environment variable. For example,
will provide two emulator devices. These devices are accessible both by using the pylon API and
the pylon Viewer program.
When PYLON_CAMEMU is not set, no emulator devices are provided.
* Problem: I cannot see my camera in the pylon Viewer, even after waiting for more than one
(Note: Depending on the camera's and adapter's IP configuration it can take up to one minute until
a valid IP address is assigned to the camera.)
Solution: Start the Basler IP Configuration Tool (/opt/pylon/bin/IpConfigurator). Is the camera
shown by the IP Configuration Tool?
If "yes", the camera's IP address is in a different subnet than the network adapter's IP address.
Both the camera and the network adapter must use IP addresses within the same subnet. Refer to
the INSTALL document for IP address setup.
If "no", the most likeley reason is an enabled firewall. As described in the INSTALL document,
disable the firewall for those network adapters to which cameras will be connected. If you don't
have a firewall enabled reverse path filterering in the kernel may prevent detection of the camera.
Refer to the next problem description for further details.
* Problem: The IP Configuration Tool cannot see my camera. I'm not able to reconfigure the
camera to make it visible again.
Solution: First make sure you don't have a firewall enabled on your network interface the camera is
connected to.
If you still cannot see the camera reverse path filtering in the kernel may prevent the IP
Configuration Tool to detect the camera.
On some Linux distributions reverse path filtering may prevent the discovery of GigE Vision
cameras. This can happen if the camera's IP is not within the same subnet as the network adapter
the camera is attached to. Normally the IP Configuration Tool can handle this by using broadcast to
discover the camera on any subnet. Reverse Path Filtering may prevent the IP Configuration Tool
to receive the answer from the broadcast which in turn prevents the IP Configuration Tool from
detecting the camera. To check whether filtering is turned on run the following command:
sysctl -a 2>/dev/null | grep '\.rp_filter'
in the output look for the following lines:
where "eth1" is the network adapter the camera is connected to.
The "net.ipv4.conf.all.rp_filter" is a global switch which must be turned off. The
"net.ipv4.conf.eth1.rp_filter" tells whether filtering for the specified network adapter is activated. To
disable filtering you must first turn off filtering for "all" and the specific network interface (in this
sample "eth1"). Use the following commands to change the filtering behavior at runtime:
sudo sysctl net.ipv4.conf.all.rp_filter=0
sudo sysctl net.ipv4.conf.eth1.rp_filter=0
Restart the IP Configuration Tool and check whether the camera(s) are detected. Reconfigure the
camera(s) and use "Write Configuration" to make your changes persistent. You can reenable
filtering by executing the same commands but set a value of 1. If you want to turn off filtering
permanently you can edit the same values in /etc/sysctl.conf.
* Problem: When grabbing images, the CPU load is higher than expected.
Solution: Ensure that jumbo frames are enabled and large network packets are used as desribed
above in the 'Performance Optimization' section.
* Problem: Grabbing images leads to errors with error code 0x81010014.
This error code indicates that the PC received incomplete images, i.e., network packets have been
Solution 1: Ensure that jumbo frames are enabled as desribed above in the 'Performance
Optimization' section. Also make sure that the camera's packet size is set to a high value if possible
Solution 2: Ensure that the maximum UDP receive buffer size is is set increased, e.g. by issuing
sudo sysctl net.core.rmem_max = 2097152
command. This allows pylon to increase the socket buffer size to 2 MByte to ensure a stable image
To make this setting persistent, you can add the net.core.rmem_max setting to the /etc/sysctl.conf
Solution 3: Ensure that the application has the required permissions to set the pylon receive
thread's priority to real-time thread priority as described in the INSTALL document.
Solution 4: Check the cable. For GigE, Cat 5e cables are recommended. Poor cable quality or
damaged cables can lead to unrecoverable transmission errors.
Solution 5: The amount of data produced by the camera(s) exceeds the amount of bandwidth the
network adapter(s) or the PC can provide. Reduce the camera frame rate by increasing the
camera's 'Inter Packet Delay' parameter. When using the pylon API, the inter packet delay is
controlled with the GevSCPD parameter.
* Problem: The pylon viewer seems to acquire images but no images are displayed.
Solution: Start the pylon Viewer from the command line to see if the viewer prints out any
Solution 1: The viewer only receives incomplete frames. In that case error messages such as
'Failed to grab image: GX status 0x81010014' are displayed. Please refer to the previous problem
for tips about how to solve this issue.
Solution 2: No error messages are printed out. All data packets transmitted from the camera seem
to be discarded. Make sure that the camera's current packet size doesn't exceed the network
adapter's MTU size.
If the packet size is less than or equal to the MTU size, but greater than 1500, stop image
acquisition and set the camera's packet size to 1500. Restart image acquisition. If an image is
displayed using this packet size, either jumbo frames are not enabled on the network adapter or the
adapter doesn't support jumbo frames.
Solution 3: Grabbing images is failing for other reasons. Please report the error messages printed
out by the viewer to Basler technical support.
Known Issues
* Same IP address for camera and network interface.
If the camera has been assigned a permanent IP address that equals the address assigned to the
network adapter, the camera will not be accessible, even when using the IP configurator.
Either change the network adapter's address or use a different PC to assign a different IP address
to the camera.
* Error messages printed by the pylon Viewer when image acquisistion is stopped.
When the pylon Viewer is started from a command line and image acquisition is stopped, the
Viewer prints out error messages such as "Failed to grab image: GX status 0x81010017". This
diagnostic output indicates that image buffers have been cancelled by the pylon GigE vision library
on user request instead of being filled with image data. This is expected behavior.
Version Infos
The pylon libraries have been built using the following tools.
Linux x86 32bit:
g++ (GCC) 4.0.2 20050901
GNU ld (GNU Binutils) 2.19.1
libstdc++ 4.0.2_20050901-3
glibc 2.3.5-40
Linux x86 64bit:
OpenSuse 10.0 64-bit
g++ (GCC) 4.0.2 20050901
GNU ld (GNU Binutils) 2.19.1
libstdc++ 4.0.2_20050901
glibc 2.3.5 (20050802)
Linux ARM (cross compiler):
arm-none-linux-gnueabi-g++ (Sourcery G++ Lite 2009q1-203) 4.3.3
GNU ld (GNU Binutils for Ubuntu) 2.20.1-system.20100303
libstdc++ 4.4.3-4ubuntu5.1
glibc 2.11.1-0ubuntu7.10
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF