BalenaOS on seeed's reTerminal

Happy to test Balena OS on seed reTerminal CM4108032.

Booting it on Raspberry Pi CM4 Balena OS worked well however I lost connection to the screen.
I will be on the lookout for an OS that will support most/ all features that native reTerminal OS ships with with add on of Remote support on Balena Cloud.

1 Like

Hello @Job_Mathenge first of all, welcome to the balena community.

I just asked to Seeed Studio if there is any dtoverlay and configurations that we might need to add on the balenaOS to enable the display of this device.

Could you please confirm the use case you are running with this reTerminal?

Thanks

Hello @mpous, It’s a process controller deployed for customers, using the screen for the user UI. Over-air update is key, shopping for such solutions.

1 Like

Thanks for confirming the use case @Job_Mathenge let’s wait until Seeed Studio replies the message!

1 Like

Hello, we are also interested in getting reTerminal’s internal touchscreen to work with BalenaOS. Looking at seeed’s instructions here it seems like we need to run a script to install the necessarily drivers that are from this repo.

Do we have any updates from seeed or does BalenaOS will have support for the device soon?
Thanks!

Hello @harrytung let me ask internally the situation of the compatibility of this device.

We will keep you posted!

Thanks @mpous,

In the meantime, do you have any supported industrial devices that comes with a touchscreen?

1 Like

Hello @harrytung we have been checking internally

Did you have a look at seeed-linux-dtoverlays/scripts/reTerminal.sh at master · Seeed-Studio/seeed-linux-dtoverlays · GitHub to see what dtbo you should copy over your OS image?

List what other config.txt changes you might need and check if the kernel module highlighted in the above install function are present.

Let us know if that works. And we are happy to give you support!

do you have any supported industrial devices that comes with a touchscreen?

Usually the ones that we know that work are x86. Some examples:

Let us know what is the next step!

If you choose to go with the ReTerminal DM, you may find these helpful:

If an x86 device looks interesting, please let us know which one and we can take a closer look at the components to judge compatibility.

1 Like

Thanks for the links! I tried to modify BalenaOS to add the .dtbo file that I compiled from another container to /mnt/boot/overlays so that it gets loaded in. However, I was getting error messages when running dmesg

[    8.337877] Goodix-TS 10-005d: supply AVDD28 not found, using dummy regulator
[    8.340634] Goodix-TS 10-005d: supply VDDIO not found, using dummy regulator
[    8.404065] imx219 0-0010: failed to read chip id 219
[    8.443024] Goodix-TS 10-005d: ID 9271, version: 1070
[    8.443226] Goodix-TS 10-005d: Direct firmware load for goodix_9271_cfg.bin failed with error -2
[    8.451468] imx219: probe of 0-0010 failed with error -5
[    8.469504] usb 1-1.3: new full-speed USB device number 3 using dwc2
[    8.488208] input: Goodix Capacitive TouchScreen as /devices/platform/soc/fe205000.i2c/i2c-22/i2c-10/10-005d/input/input0

I believe Goodix-TS is the touch screen on the reTerminal DM. Do you have any ideas on how to fix it? From the error message it sounds like the kernel does not have the firmware.

Thanks!

1 Like

So after some more digging, it seems like those errors can be ignored because it is just a configuration file.
https://forums.raspberrypi.com/viewtopic.php?t=267434

However, the screen still does not light up, even after loading custom modules using the kernel-module-build repo.

 load  OS Version is 6.0.23
 load  Loading module from /opt/lib/modules/6.0.23/als_ltr30x.ko
 load  insmod: can't insert '/opt/lib/modules/6.0.23/als_ltr30x.ko': unknown symbol in module, or unknown parameter
 load  Loading module from /opt/lib/modules/6.0.23/ch34x.ko
 load  Loading module from /opt/lib/modules/6.0.23/ili9881d.ko
1 Like

So I was able to get the screen to work. Posting here for anyone that is also interested in getting the touchscreen to work on this device.

I have to compile the .dts file from the SeeedStudio’s repo here from a container and transfer the file with scp (you can run the install script in their wiki page, it will fail at the later stages but you can get the compiled .dtbo file). I then copied the file to the BalenaOS image (into the /overlays folder) that I downloaded from the dashboard. I also added some DToverlays parameters (refer to the install script) to the config.txt.

After that, you need to build and load custom kernel modules onto the device when it boots up. You can follow the steps in the repo from Balena. Note that I modified the code so that it builds all four modules (ltr30x, ili9881d, ch34x, and rtc-pcf8563w) for reTerminal DM (smaller reTerminal have different modules) and loads them all in.

Finally, I use the Balena provided browser container so I need to move the display settings file from SeeedStudio’s repo into the browser container. You can modify the start.sh as follows:

# Setting display settings for X11
if ! [-d "/usr/share/X11/xorg.conf.d/"];
  then
    mkdir -p /usr/share/X11/xorg.conf.d/
fi
cp -fv ./resources/10-disp.conf /usr/share/X11/xorg.conf.d/ || exit 1;
cp -fv ./resources/10-evdev.conf /usr/share/X11/xorg.conf.d/ || exit 1;
cp -fv ./resources/99-calibration.conf /usr/share/X11/xorg.conf.d/ || exit 1;

Note the other two files are for setting the touchscreen and its calibration (you may need or may not need).

Given that the device works now, is it possible that you guys can release a new version of the BalenaOS image that includes the configs and the device tree file so that the process can be easier?

Thanks!

HI @harrytung,

Glad to hear that you got it working! We’ll check on the possibility of integrating the configs and new files in the CM4 IO Board image. We’ll respond again.

Hi, the overlay can be added as did here for example: linux-raspberrypi_5.15.bbappend: Add device tree overlays for Seeed r… · balena-os/balena-raspberrypi@395ddfa · GitHub
Can you PR this to balena-raspberrypi?
Also, the config.txt can be added from the dashboard at the fleet level for example so there’s no need to include these into the balenaOS build

1 Like