Technical Application Note 0013

The Carrida discovery protocol

Revision: 4.6.1
Date: 2021-08-16
Contact: support@carrida-technologies.com
Copyright: 1996-2021 Carrida Technologies GmbH, Ettlingen, Germany
Author: Carrida Support

Home page

Table of Contents

1   Introduction

Sometimes a Carrida camera has been configured with an unknown IP address and you do not know how to access it easily. There is a chance that the camera is in its default configuration, which is factory default 192.168.3.15, but in any other configuration the network setup may be completely unknown.

In order to allow the camera to be discovered, even over network boundaries, the camera runs a discovery protocol server which answers to specific external requests.

The CameraClient Tool from Carrida (available for Windows) implements the client side of this protocol so that you can use it to discover any Carrida camera which is part of your local network. You can either use the discovery tool to find and reset the camera's IP address, or you can build your own tool based on the protocol description below.

In addition to the basic camera discovery, the server on the camera allows you also to update the camera with new firmware-packages provided by Carrida.

1.1   Server side protocol

This is the server side protocol which is implemented on the Carrida camera. Every embedded system as well as the Carrida cameras run this protocol.


Discovery:
  • The discovery server listens on port 4800 for UDP connections.

  • It is a member of multicast group 239.192.13.230 on IPv4 and ff68::CADA on IPv6.

  • When a multicast message is received, two replies containing a camera info package are sent back

    1. A UDP packet back to the IP address of the sender.
    2. A multicast message for the group 239.192.13.231 for IPv4 resp. ff68::57A7 for IPv6 on port 4900.

1.2   Client side protocol

Discovery:
  • The client sends a multicast UDP packet (contents irrelevant) in the group 239.192.13.230 on IPv4 or ff68::CADA on IPv6 and port 4800

  • A reply can come via two ways

    1. The socket that was used to sent the packet, can wait and listen for replies
    2. A socket that listens on port 4900 for multicasts in the group 239.192.13.231, resp. ff68::57A7 if IPv6 is used.

The message which is sent back as reply contains information about the system on which Carrida is running. The message is composed as long string with new lines to separate message parts.

On Carrida cameras, Carrida Cam Basic+ and Carrida Cam Dragon+, the first part of message contains the full output of the vcver command.

- BEGIN VC SIGNED MESSAGE -
SN: 400341
MAC: 2C:54:91:88:C9:E3
Signature: 738cd672fabe6
...
- END VC SIGNATURE -

On any other system, the content of the first message part is

S/N: N/A

The second part of the message is the output of the uname -a command.

For example,on a generic Linux embedded board system, the content of the full return message would be

SN: N/A
uname: Linux 5.8.0-59-generic #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC
       2021 arm64 GNU/Linux