Revolution Pi Software FAQ
- 1 Can I/What can I do…?
- 1.1 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?
- 1.2 I would like to access the built-in RS485 interface of the RevPi Connect - which interface is the right one?
- 1.3 I want to work with a touchscreen, but the pre-installed epiphany browser does not work accurately, what can I do?
- 1.4 How do I get Python3 to appear in the graphical user interface?
- 1.5 Would it be possible to run ROS on the RevPi?
- 1.6 dtoverlay=dwc-otg no longer working on the RevPi Core S, what can I do?
- 1.7 How can I find which application consumes hidden RAM?
- 1.8 What to do if RevPi PLC Commander does not start?
- 1.9 The RevPi Connect has an idle CPU load of 25%. What can I do?
- 1.10 Can I start a PROFINET master?
- 1.11 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?
- 1.12 I would like to run my Revolution Pi 64 bit. Is there any experience?
- 1.13 Can I modify the kernel module “PiControl” in my Revolution Pi Module?
- 1.14 Can I install Java runtime and start my program on this device? Has it X server and access to GPIO from the box?
- 1.15 I cannot update via “apt update” what can I do?
- 1.16 What can I do when getting “too many communication errors, RevPiStatus= 1” due to PiControl
- 1.17 What can I do if I can no longer log in remotely on the RevPi?
- 1.18 Can I convert Modbus TCP messages to MQTT messages addressed to a MQTT Broker?
- 1.19 Can I debug the boot process of a Revolution Pi module?
- 1.20 Can I use the Raspberry Pi Lite image on the Revolution Pi?
- 1.21 Can I use Docker and is there a tutorial available?
- 1.22 Can I declare a variable that is larger than 16 bits?
- 1.23 The command “piTest -d” gives the failure message “cannot receive device list”. What Can I do?
- 1.24 Can I use the Revolution Pi image on a Raspberry Pi device?
- 1.25 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?
- 1.26 When writing with win32diskimager the flash aborts at the most different progress (2%, 15%, 63%,…)
- 1.27 What can I do if I get the message “Error 5 Aenaccess Denied” from win32diskimager?
- 1.28 I can't log in after using the Buster image, what can I do?
- 1.29 Can I switch the language of PiCtory?
- 1.30 Can I use PiCtory and CODESYS at the same time?
- 1.31 I unfortunately can't find the MD5 checksum of the image, what can I do?
- 1.32 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?
- 1.33 I get errors in the kern.log “cdc_acm failed to set dtr/rts” what can I do?
- 1.34 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.
- 1.35 I want to port the image, e.g., to Yocto and I have problems, what can I do?
- 1.36 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?
- 1.37 I can't log into PiCtory, but I can log in with SSH. What can I do?
- 1.38 RPiBoot.exe does not connect to my RevPi module. What can I do?
- 1.39 I want to use my HTTP interface, but it is used by PiCtory – can I change it?
- 2 How to …?
- 2.1 How to program using RevPiModIO the right way?
- 2.2 How can I build or use BalenaOS?
- 2.3 How to view live IO values from PiCtory?
- 2.4 I want to work with Modbus and Python, how do I proceed?
- 2.5 How can I create a screenshot with a USB camera?
- 2.6 How can I set Autostart program without login?
- 2.7 How can I upgrade from Stretch to Buster?
- 2.8 How can I compile and install the driver or the kernel module piControl myself?
- 2.9 How many variables can I create in PiCtory?
- 2.10 How can I build a KERNEL locally on the RevPi Core 3 with Stretch version?
- 2.11 I would like to upload an image to a RevPi device under Linux. How does this work?
- 3 Is there …?
- 3.1 Is there any way to cyclically reconnect the RevPi using a script?
- 3.2 Is there any experience in the Debian 10 area?
- 3.3 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?
- 3.4 Is there an easy solution to mount any USB stick automatic after plugging in?
- 3.5 Is there any step by step description on how to make my own image?
- 3.6 Is there a 64-bit OS in the list of images that KUNBUS provides for the RevPi Core 3+?
- 3.7 Would it be possible to just copy the image of RevPi Core 3 and write it into RevPi Core + 8 GB?
- 3.8 Is there a list of the used open-source licenses of a system image like Buster available?
- 3.9 Is it possible to make a wrong PiCtory hardware configuration?
- 3.10 Would it be possible to reduce the memory size of the image because the 4 GB eMMC is almost exhausted with the standard image?
- 3.11 Would it be possible to change the static values of PiCtory dynamically?
- 3.12 Is there another way to rest the driver programmatically, i.e., via C language?
- 3.13 I need to find a number inside the KUNBUS with buster distro that is not copied copying the system image.
- 3.14 Is a Rust library planned, like the library for Python?
- 4 Others Questions…?
- 4.1 Now and then, the service crashes with the error "Main process exited, code=killed, status=11/SEGV". The crash appears to be random and is not related to any event happening in the application, nor the controller.
- 4.2 Do I have to format the RevPi when I connect the RevPi to a Windows device?
- 4.3 I need kernel XY and have already seen code on the official GitHub Revolution Pi repository here. When will this be available?
- 4.4 I want to change 2 variables at the same time in the process image, does that work?
- 4.5 Where can I find images (Buster, Stretch, Jessie, etc.) to download?
- 4.6 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.
- 4.7 When I flash an image, the transfer rate is quite low.
- 4.8 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.
- 4.9 Revolution Pi Connect; PiControl process communication errors after opening /dev/ttyAMA0 with pySerial
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.
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_otg
does not work there because the fiq
support 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?
There is an explanation see here RAM Creeping | Top Command info contradictory - The Industrial Raspberry Pi Forum
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:
RevPi Connect fresh install, 25% of CPU already loaded at idle - The Industrial Raspberry Pi Forum
Can I start a PROFINET master?
Yes, this works for example like this Retrieve data from profinet - The Industrial Raspberry Pi Forum
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)
Python 3.7 Security Support endet am 27.06.2023 - The Industrial Raspberry Pi Forum
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 piControl folder - The Industrial Raspberry Pi Forum
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.
sudo apt update - The Industrial Raspberry Pi Forum
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.
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 libmodbus
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 Revolution Pi – much effort
You can use one of our images – no hassle. https://revolutionpi.com/tutorials/downloads/#revpiimages
Can I use Docker and is there a tutorial available?
Yes, take a look here:
https://revolutionpi.com/tutorials/docker-auf-revpi-geraeten-verwenden-2/?noredirect=en_US
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:
https://revolutionpi.com/tutorials/video-tutorials/#VT25
The command “piTest -d” gives the failure message “cannot receive device list”. What Can I do?
Take a look here:
https://revolutionpi.de/forum/viewtopic.php?t=3517
Can I use the Revolution Pi image on a Raspberry Pi device?
No, because the image was adapted to the RevPi hardware.
https://revolutionpi.de/forum/viewtopic.php?f=6&t=2715#p9876
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.
https://revolution.kunbus.de/forum/viewtopic.php?f=6&t=2866#p10381
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.
https://revolutionpi.com/tutorials/downloads/?noredirect=en_US
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.
https://datatracker.ietf.org/doc/html/rfc3330
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 https://revolutionpi.de/forum/viewtopic.php?f=6&t=3304
Perform the steps https://kunbus-gmbh.atlassian.net/servicedesk/customer/portal/1/article/836468748?src=-1973867200
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:
https://revolutionpi.de/forum/viewtopic.php?f=6&t=2466&hilit=piSerial#p9669
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:
https://github.com/RevolutionPi/imagebakery
https://revolutionpi.de/forum/viewtopic.php?f=8&t=1409#p5488
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:
https://revolutionpi.de/forum/viewtopic.php?t=3372
https://revolutionpi.de/tutorials/was-ist-pictory-2/
https://revolutionpi.de/tutorials/video-tutorials/ | 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.
https://revolutionpi.de/forum/viewtopic.php?t=3376
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)https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md
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 https://revpimodio.org/revpipyplc/ instead.
You can use RevPi Commander to view live values.
https://revpimodio.org/quellen/revpicommander/
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:
https://www.raspberrypi.com/documentation/accessories/camera.html
https://revolutionpi.de/forum/viewtopic.php?f=8&t=2738
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!!!
Installing a new image
Download Image from one of these links https://revolutionpi.com/tutorials/downloads/?noredirect=en_US#revpiimages
Transfer data to a new image and possibly reinstall the respective software.
Install the current system via “apt”
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: https://revolutionpi.de/forum/viewtopic.php?t=3367
I would like to upload an image to a RevPi device under Linux. How does this work?
https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md
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?
Yes, this works with an entry in the “fstab”, have a look here: https://www.raspberrypi.org/forums/view ... p?t=205016
https://revolutionpi.de/forum/viewtopic.php?f=6&t=2624#p9597
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).
https://github.com/RevolutionPi/imagebakery
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 (https://github.com/RevolutionPi/linux) and the piControl repository (https://github.com/RevolutionPi/piControl).
Forum discussion: https://revolutionpi.de/forum/viewtopic.php?f=6&t=3353#p12104
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.
https://revolutionpi.de/forum/viewtopic.php?f=6&t=1403
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:
https://revolutionpi.de/forum/viewtopic.php?f=18&t=2531&p=9137
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:
https://revolutionpi.de/forum/viewtopic.php?f=6&t=3032#p10872
You can create your own image and thus your list of licenses, see here:
https://kunbus-gmbh.atlassian.net/wiki/spaces/KLS/pages/281116742
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.
https://github.com/RevolutionPi/imagebakery
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:
https://revolutionpi.de/forum/viewtopic.php?f=6&t=3038#p10879
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…?
Now and then, the service crashes with the error "Main process exited, code=killed, status=11/SEGV". The crash appears to be random and is not related to any event happening in the application, nor the controller.
Take a look here:
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:
https://revolutionpi.com/tutorials/video-tutorials/?noredirect=en_US#VT19
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:
https://revolutionpi.de/forum/viewtopic.php?f=6&t=3149
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.
https://revolutionpi.de/forum/viewtopic.php?f=3&t=2628#p9589
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).
https://revolutionpi.de/forum/viewtopic.php?t=3483