Document toolboxDocument toolbox

Revolution Pi Software FAQ

Can I/What can I do…?

Would it be possible to configure a Revolution Pi device to continuously run a PHP program, and is there documentation regarding the installation of PHP in RevPi?

Yes, take a look here:

(661) PHP in RevPi - The Industrial Raspberry Pi Forum (revolutionpi.com)

I would like to access the built-in RS485 interface of the RevPi Connect - which interface is the right one?

  • The correct interface is "/dev/ttyUSB0"

  • The "/dev/ttyAMA0" transmits the PiBridge data

I want to work with a touchscreen, but the pre-installed epiphany browser does not work accurately, what can I do?

  • Install and use Google Chrome.

https://revolutionpi.com/forum/viewtopic.php?t=4168#p15054

How do I get Python3 to appear in the graphical user interface?

You can use the Thonny IDE, which is available under the menu “Programming”:

Would it be possible to run ROS on the RevPi?

Take a look at this conversation

dtoverlay=dwc-otg no longer working on the RevPi Core S, what can I do?

The dwc_otgdoes not work there because the fiqsupport is missing.

On a CM4S-based device, the XHCI controller mode (USB 2.0) can be used with otg_mode=1 in /boot/config.txt.
dwc_otg, can only be used on older CM/CM3/CM3+-based devices.

How can I find which application consumes hidden RAM?

Does any other application run in the background, and which is not getting captured from TOP command, How can I find which application consumes these hidden RAM?

What to do if RevPi PLC Commander does not start?

Error message:

Traceback (most recent call last): File "/usr/share/revpicommander/revpicommander.py", line 18, in <module> from avahisearch import AvahiSearch File "/usr/share/revpicommander/avahisearch.py", line 11, in <module> from zeroconf import IPVersion, ServiceBrowser, Zeroconf ImportError: cannot import name 'IPVersion' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf.py)

This seems to be related to an outdated version of the zeroconf library, which is available in Buster. We once created a backport package, which you can please test.

Download: http://revpimodio.org/dnl/python3-zeroconf_0.26.1-1~bpo10+1_all.deb

Download and installation via CLI on your RevPi

# Download package wget http://revpimodio.org/dnl/python3-zeroconf_0.26.1-1~bpo10+1_all.deb # Install package sudo dpkg -i python3-zeroconf_0.26.1-1~bpo10+1_all.deb

 

The RevPi Connect has an idle CPU load of 25%. What can I do?

Have a look at the forum entry in the link below:

https://revolutionpi.com/forum/viewtopic.php?t=3767

Can I start a PROFINET master?

Yes, this works for example like this https://revolutionpi.com/forum/viewtopic.php?t=3935#p14039

Debian Buster supports Python in version 3.7. The security support for Python 3.7 ends on 06/27/2023. Would it be possible to upgrade Python?

Since we unfortunately don't have a Bullseye release yet, I can show you the following ways:

  • Every major release of Debian comes with a certain Python version. If you need a different Python version, you can either try to compile the newer Python version (but there might be problems because other system components depend on /usr/bin/python3 and expect a certain version)

I would like to run my Revolution Pi 64 bit. Is there any experience?

  • Currently, there is no official 64 bit image support, but there are discussions – search or start your own:

Can I modify the kernel module “PiControl” in my Revolution Pi Module?

  • Yes, take a look here

Can I install Java runtime and start my program on this device? Has it X server and access to GPIO from the box?

We have many customers who work with Java on the system.

I cannot update via “apt update” what can I do?

Check your network configuration. If you have configured a static IP address, you probably need to add the nameserver to /etc/resolv.conf.

What can I do when getting “too many communication errors, RevPiStatus= 1” due to PiControl

Error: too many communication errors, RevPiStatus = 1) means: At least one I/O module is connected that has not been configured by PiCtory.

Recommendation:

  • Rebuild your PiCtory configuration. From your SOS Report, I see 9 unknown module type, and I wonder about that because it is supposed to be 11 Modules and I see 20 modules.

  • Are the PiBridge connectors connected stable?

  • Update your system

sudo apt update; sudo apt upgrade

  • Check if you can do a firmware update of the I/O. Just connect one I/O Module at a time.

Module Firmware Update – Industrial Raspberry Pi (revolutionpi.com)

What can I do if I can no longer log in remotely on the RevPi?

If you can no longer access your device remotely, you can connect directly to the RevPi.

Simply connect a mouse, keyboard, and a monitor. Then you can log in and remove or modify the firewall settings.

If you still have trouble logging in, the easiest option may be to reinstall the image. Please refer to the following link.

Revolution Pi Checklist

Can I convert Modbus TCP messages to MQTT messages addressed to a MQTT Broker?

Yes, but you have to go the way and disable the Modbus services, i.e., in the Web Status. Then you have to adapt the libModbusMaster yourself according to your needs. Take a look at

Can I debug the boot process of a Revolution Pi module?

In general, there are different possibilities to output the messages on serial interfaces during boot:

Can I use the Raspberry Pi Lite image on the Revolution Pi?

Not by default, but you have the following options to make that possible:

  • You customize the image, e.g., via GitHub repository ⁣ – much effort

  • You can use one of our images – no hassle.

Can I use Docker and is there a tutorial available?

Yes, take a look here:

Can I declare a variable that is larger than 16 bits?

Take a look at the following video Tutorial which explains How to create your own rap file:

The command “piTest -d” gives the failure message “cannot receive device list”. What Can I do?

Take a look here:

Can I use the Revolution Pi image on a Raspberry Pi device?

No, because the image was adapted to the RevPi hardware.

I want to access GPIOs of the CM. But the watchdog prevents the access. Can the watchdog be configured someway to prevent this issue and if so, how can this be done, please?

No, That watchdog feature is implemented in hardware. It cannot be disabled.

When writing with win32diskimager the flash aborts at the most different progress (2%, 15%, 63%,…)

If you use virtual machines switching to USB 3.1, all flashes run cleanly.

What can I do if I get the message “Error 5 Aenaccess Denied” from win32diskimager?

Use the software balenaEtcher instead of win32diskimager

I can't log in after using the Buster image, what can I do?

  • Check the keyboard layout. Since Buster, it is set to English by default.

Can I switch the language of PiCtory?

Yes, see here

Can I use PiCtory and CODESYS at the same time?

When downloading the CODESYS application, a config.rsc is automatically created by CODESYS, which is saved on the CODESYS project devices that are configured in CODESYS.
This configuration is created every time the CODESYS application is started and replaces the PiCtory configuration.
This means that any default PiCtory configuration saved or configured by PiCtory will be overwritten by the RevPi CODESYS application.

PiCtory should not be used to configure devices (read only) if the RevPi CODESYS application is to run.

I unfortunately can't find the MD5 checksum of the image, what can I do?

Here is the checksum:

Download the image from the download area under the following link.

In the zip file you can find the image, MD5 and documentation files. Here is an example:

I tried to assign an IP address 169.254.60.100 via DHCP server, but it is not set on the RevPi. What can I do?

This does not work either. No IP address can be assigned from the range managed by the APIPA protocol.

Please consider using another network which is outside the address range.

I get errors in the kern.log “cdc_acm failed to set dtr/rts” what can I do?

  • The most common causes seem to be

    • USB extension

    • Insufficient power supply to the USB port

    • Error in the libusb (that's why it's so important to install the latest software …)

Original discussion

Perform the steps

I sometimes get the error message “getSerNum() failed -3” when I call piSerial, what can I do? Also in the Web Status I see this error message.

Please update your system and do an error handling because the error can sometimes occur because the chip goes to sleep. See discussion here:

I want to port the image, e.g., to Yocto and I have problems, what can I do?

You can look up how we did it for porting an image. So to build your own image, use the code and instructions on GitHub:

I have configured modules in PiCtory and after reading with piTest -d I don't see any other modules except the main RevPi module. What can I do?

You have to save the configuration and reset the driver. See the Link below:


| Tutorial 09 – PiCtory.

I can't log into PiCtory, but I can log in with SSH. What can I do?

The default username for logging in over SSH is default: pi
The default username for logging in over PiCtory is : admin

To this issue, we have a possible solution in our forum.

RPiBoot.exe does not connect to my RevPi module. What can I do?

  • Occasionally, the Linux equivalent tool can still connect to the device. Take a look here:

  • Building RPiBoot.exe on your host system (Cygwin/Linux)

I want to use my HTTP interface, but it is used by PiCtory – can I change it?

Yes, you just have to change the Apache Webserver configuration. Take a look here:

How to …?

How to program using RevPiModIO the right way?

If you use autorefresh=True, then you MUST call a [name_of_modio_instance].exit() before program end. This ensures that set exits are written again safely. If you work with the debugger, then everything runs so "slowly" that it still manages to write the outputs to the process image.

How can I build or use BalenaOS?

Please, a look here:

How to view live IO values from PiCtory?

  • No, it is not possible to view the live values in PiCtory. You could use piTest or the PLC watch mode of instead.

  • You can use RevPi Commander to view live values.

I want to work with Modbus and Python, how do I proceed?

There is an interesting discussion in the forum

How can I create a screenshot with a USB camera?

Yes, see here:

How can I set Autostart program without login?

Have a look at this Forum Entry:
https://revolutionpi.com/forum/viewtopic.php?p=14243#p14243

How can I upgrade from Stretch to Buster?

There are 2 ways:

Back up your image before upgrading to avoid possible data loss!!!

  1. Installing a new image

    1. Download Image from one of these links

    2. Transfer data to a new image and possibly reinstall the respective software.

  2. Install the current system via “apt”

    1. changing the “stretch” to “buster” keywords in the following files:

      • /etc/apt/sources.list.d/raspi.list

      • /etc/apt/sources.list

      • sudo sed -i 's/stretch/buster/' /etc/apt/sources.list.d/raspi.list sudo sed -i 's/stretch/buster/' /etc/apt/sources.list sudo apt update sudo apt upgrade sudo reboot

Please be sure to read the current release note, additional scripts may have to be executed!

How can I compile and install the driver or the kernel module piControl myself?

To install PiControl you have to use the Kernelbakery GitHub repository

How many variables can I create in PiCtory?

The process image can hold 4K of memory. But there are experimental ways to extend it:

How can I build a KERNEL locally on the RevPi Core 3 with Stretch version?

See forum entry:

I would like to upload an image to a RevPi device under Linux. How does this work?

  • Step to the point “Building RPiBoot on your host system (Cygwin/Linux)”

Is there …?


Is there any way to cyclically reconnect the RevPi using a script?

Is there any experience in the Debian 10 area?

I installed Ubuntu 22.04 Server on a Revolution Pi module, but I am having troubles with the networking device, is there something that I can do?

The Ubuntu kernel lacks the device tree overlay for the CM4s → so it can't work without customization. We have forwarded a message to the development team. Possibly, the problem will resolve itself.

Is there an easy solution to mount any USB stick automatic after plugging in?

Is there any step by step description on how to make my own image?

There is no such tutorial yet. You could use our image bakery as a starting point to learn which parts of us have been modified (mainly our kernel and some tools).

Is there a 64-bit OS in the list of images that KUNBUS provides for the RevPi Core 3+?

  • No, we don’t provide a 64-bit OS

  • Please note that with other kernels than ours, there might be some work necessary regarding the support of piControl / our extension modules.

  • A good starting point would be our kernel repository () and the piControl repository ().

  • Forum discussion:

Would it be possible to change the configuration of a module during running operation?

No, this change must be done via PiCtory and requires a restart of the piControl driver.

Would it be possible to just copy the image of RevPi Core 3 and write it into RevPi Core + 8 GB?

Yes, this will work. But the full 8Gb eMMC memory is only available when the partition is expanded to full size. Run this command - you should run it anyway on cloned images to set the defaults - it will also expand the file system:

Is there a list of the used open-source licenses of a system image like Buster available?

There is a list that we have generated here for Buster:

You can create your own image and thus your list of licenses, see here:

Is it possible to make a wrong PiCtory hardware configuration?

  • Yes, there is a known bug together with RevPi Core and Con Modules. Have a look here:

Would it be possible to reduce the memory size of the image because the 4 GB eMMC is almost exhausted with the standard image?

Yes, create a minimal image with the Image Bakery.

Would it be possible to change the static values of PiCtory dynamically?

Yes, but only with a workaround.

Please keep in mind that the driver has to be restarted.

See Forum:

Is there another way to rest the driver programmatically, i.e., via C language?

Yes, with piControlReset();

 

I need to find a number inside the KUNBUS with buster distro that is not copied copying the system image.

You can use the unique serial number from the Revolution Pi for this. This can be read out with piSerial. This number is unique because it is read from the crypto chip as well as from the TMP module.

Is a Rust library planned, like the library for Python?

No, this is not planned for the near future.

Others Questions…?

Do I have to format the RevPi when I connect the RevPi to a Windows device?

If you get this message below, you can ignore it.

Windows cannot integrate the EXT4 partition because there are no built-in drivers for this format.

I need kernel XY and have already seen code on the official GitHub Revolution Pi repository here. When will this be available?

Kernel and image updates are communicated through the official channels, e.g., the news board in the forum. Please subscribe to this. See video tutorial:

I want to change 2 variables at the same time in the process image, does that work?

The piControl kernel module will read the process image in a loop. You will have a race condition with the piControl reading the values and your application writing the values. It might work most of the time, but it cannot be guaranteed that the first value is written in one cycle and the 2nd value is written in the next. I'm currently not sure how long the cycle times are and if it might work out for your use case, even if the intercommunicates will be split up in two cycles.

Click here for the discussion in the forum:

Where can I find images (Buster, Stretch, Jessie, etc.) to download?

Will the Buster release include the standard Debian buster source list repository? The first one I tested had just the RevPi specific repository in the source list.

We currently only provide Raspberry Pi OS (former Raspbian) based images. So, even with Buster, it will be based on the Raspberry Pi OS and not directly on Debian. We are currently checking if we can also provide images based on Debian or another distribution. But we have no timeline if and when this will be ready.

When I flash an image, the transfer rate is quite low.

  • Use the tool “SD Memory Card Formatter” and quick format your eMMC

I wonder if the Compute Module 3+ you're using in the Compact series can support displaying a Node-RED dashboard via the HDMI port on a touchscreen, for example.

We're planning to release RevPi 4 Modules within this year. I can just say that it is possible to display Node-RED Dashboards on an HDMI touch screen. But the performance depends on your application. If it comes to performance, I recommend you to build yourself a custom image (Image-Bakery) in case you don't need to control IO data you can disable piControl, etc.

Revolution Pi Connect; PiControl process communication errors after opening /dev/ttyAMA0 with pySerial

/dev/ttyAMA0 is the RS485 bus of the piBridge and should not be used by any application (as long you're using modules). The other /dev/ttyUSB devices are FTDI serial interfaces (one for the RS485 front interface and one for the con bridge).