# Troubleshooting

In some cases you will encounter issues that may be difficult to resolve.
In this section we will cover some of the issues that can be easily avoided.

## CODESYS log

CrossControl's CODESYS runtime creates and saves a CODESYS log **"codesys.log"** every time the display boots and CODESYS runtime is enabled on bootup.

This log file is stored in the **/tmp** directory on the display and can be accessed easily:

    $ cat /tmp/codesys.log

If you can't access the display then you can look into this log through CODESYS IDE by heading to **Device** and then tab **Log**:

![log](screenshots/log.png)

## CODESYS runtime status

Using the **"systemctl"** command, the status of the CODESYS runtime can be monitored easily:

$ sudo systemctl status codesys

![CODESYS status](screenshots/codesys-status.png)

With this command you can also start or stop the runtime/application:

    $ sudo systemctl start/stop codesys

Or enable and disable the CODESYS runtime's startup on the displays boot up:

    $ sudo systemctl enable/disable codesys

## Issues

Issues that may occur during development:

### CCAux not loaded

This issue usually occurs when the CCAux library version does not match the CCAux version on the display or it is missing.

    **** ERROR: *** Error: Component <cmp>CCAux</cmp> NOT loaded

Ensure that the versions are corresponding on both CODESYS runtime and the display itself!

The image below demonstrates a mismatched version of CCAux leading to it not loading on the runtime, this results in **Unresolved reference** on the CCAux functions:

![missmatched CCAux](screenshots/mismatched-CCAux.png)

If there are no **libCCAux.so** files in **/opt/CODESYS** directory, then you are missing the libraries and need to reinstall the CODESYS runtime.

### CCSap not loaded

This is a similar issue where CCSap libraries are missing.

    **** ERROR: *** Error: Component <cmp>CCSap</cmp> NOT loaded

Contanct support@crosscontrol.com to get access to the CCSap files.

The errors above can be seen both in the **codesys.log** file and in the **Log** tab on **CODESYS IDE** as show in the image in the previous section.

### Mismatched versions

Make sure the PLC **Device** and the CODESYS runtime installed on the display have the same version, otherwise the followng issue will present:

![Version mismatched](screenshots/version-mismatch.png)

Or lead to more **unresolved** issues:

![Unresolved issues](screenshots/unresolved-mismatch.png)

### Can not log into the device through CODESYS IDE

There are also some cases when you already created a **User name** and **Password** but despite entering the correct username and password, it will still fail to login!

![Login](screenshots/login.png)

![Invalid user](screenshots/invalid-user.png)

If you experience this issue then a simple solution is to delete the current installation of the CODESYS runtime and reinstall it!

Delete installation files from **/opt** directory:

    $ sudo rm -r /opt/CODESYS

Delete the **opkg** installation package:

    $ sudo opkg remove | grep codesys

Proceed to download and install the CODESYS runtime as demonstrated in the [Setup](setup.md) section!

![Observe](screenshots/observe-icon.png)
**Note!**
Do not hesitate in contacting CrossControl's [Technical support team](https://crosscontrol.com/support/) in case of unresolved issues!
