Reterminal Drivers 'break' Pi-OS / Huge problems setting up Reterminal

Hello,

im having a large amount of trouble with setting up the Reterminal the way i want. At the moment specificly the drivers are breaking PI-OS.

What is happening: After installing the default 64-bit (!) PI-OS via raspberry pi imager, the system boots normally, but the lcd-display doesnt work. When installing the drivers in the way it is proposed by seeedstudios "Install reTerminal drivers after flashing new Raspberry Pi OS/ Ubuntu OS or Other OS" guide, the device boots, but the lcd doesnt work, everything is very laggy, the desktop symbols move underneath the taskbar and the resolution is wrong. When trying to open arandr/screen configuration i get the error from xrandr that ā€œRandrā€ extension is missing.
When i comment out the ā€œdtoverlay=reTerminalā€ line in /boot/config.txt, arandr works after the reboot. If i comment it in i get the error again. So it probably has to do with the drivers.

For some reason when booting, the raspberry shows that its booting the ā€œ32-bitā€ version of Pi-OS. If i install the ā€œshipped with reterminalā€ image, downloaded from the seeedstudio site, it also says 32bit.
DoesnĀ“t seem to make any problems related to that tho.

Ive tried Ubuntu OS from the pi imager software, but there the drivers dont even install properly. Im getting multiple errors which i can reproduce, but i dont have the logs on me right now.

Ive tried the 32bit version of pi-os / reterminal pi-os and have the same problems.

Ive tried also installing ubuntu the way descripted in " Q10: How can I install Ubuntu on reTerminal?", but the scripts provided do not make the lcd-screen work.

All these problems appeared after a regular ive had a regular ā€œPi-OS Reterminalā€ installed, which i accidently bricked while trying to fix the rotation of the screen. Starting with the next image installation i cant get the reterminal LCD to work.

This is my second problem: The rotation of the LCD-Screen seems impossible to fix and using a second display often does not work or works poorly. No matter what i do, at some point it reverts to its default orientation.
At first i disabled the iio-sensor-proxy service, specifically the acceleromotor, which caused the screen to rotate when the device was physicly rotated. Then i set the rotation in arandr to right, so the screen is rotated in the right way. So far so good. Worked fine until i connected a screen to the hdmi port. The screen instantly reverted to its original ā€œportraitā€ orientation. Manually setting the orientation back to ā€œrightā€ worked, but after the next boot it reverted back to the portrait orientation. Setting lcd_rotate or display_lcd_rotate in the /boot/config.txt doesn`t work either.
But, for some reason, the Pi-OS/Ubuntu OS/Gnome login screen is always in the right orientation.
Even though even the console is always wrongly rotated when booting into terminal instead of the GUI in PI-OS.

Another weird behavior, ive tested 3 displays:

  • An LG with 2560x1080, which is stuck at 640x480 in arandr for some reason (HDMI)
  • A Waveshare touch display (HDMI) which doesn`t work at all (works with ubuntu (not ARM) normally)
  • An old AOC 1920x1080 (HDMI) which works 100% correct with arandr

This was a lot, i hope someone can help me with all my confusion.

Have a nice day!

Unfortunately I also have problems with the LCD when upgrading to Raspbian 64-bit. I need to run 64-bit for my applications. When I boot up, it seems to be rebooting infinite times, I do however quickly see the ā€œRaspbianā€ logo every time it reboots.

I have had problems that are similar. The best success I have had is with a 64-bit Raspberry Pi OS image available from seeedstudio on this page:
reTerminal FAQ page

this is a copy of their 64-bit download link from that page:
64-bit 2022-07-21-Raspbian-reTerminal

However, I did try doing sudo apt full-upgrade, donā€™t do that, it will break the OS and installing the drivers will not fix it : (

After a while i figured that`s what broke it. I did a sudo apt full-upgrade at some point and after that it broke. Atleast i think so, this was quite a while ago :sweat_smile: I think it has something to do with the firmware on the board the CM4 sits on which does not like the ā€œapt upgradeā€. If i remember correctly it was somewhat broken after that.

Im not sure, but is there any fix to when someone did that mistake with ā€œsudo apt-upgradeā€ or does it mean that the device now is permanently broken?

it might be corrected by burning in the 32-bit image or 64-bit image downloadable from seeedstudio for the reTerminal. Just donā€™t try to install a generic OS, even the Raspberry Pi OS from the official pages. Start with one from seeedstudio. I guess one problem could be if the LCD driver is broken then it will be difficult to do the initial setup. Maybe you can use a console session over the gpio pins and the serial terminal but I donā€™t know if that is selected on in those images.

Tried using the 32-bit/64-bit image from seeedstudio another time but it didn`t work. Just how i described in my original post the screen does not work after the install, but i can connect a secondary display and it shows the same behavior as before: Extremely laggy, desktop symbols are under the taskbar. I tried this because i thought installing the drivers might help:

But i get the following erro (from the log file):

DKMS make.log for mipi_dsi-0.1 for kernel 6.1.19-v7l+ (armv7l)
Di 4. Apr 08:08:21 CEST 2023
make -C /lib/modules/6.1.19-v7l+/build M=/var/lib/dkms/mipi_dsi/0.1/build modules
make[1]: Directory ā€œ/usr/src/linux-headers-6.1.19-v7l+ā€ is entered
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.o
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/touch_panel.o
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/panel-ili9881d.o
/var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.c:436:12: error: initialization of ā€˜void (*)(struct i2c_client )ā€™ from incompatible pointer type ā€˜int ()(struct i2c_client *)ā€™ [-Werror=incompatible-pointer-types]
436 | .remove = i2c_md_remove,
| ^~~~~~~~~~~~~
/var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.c:436:12: note: (near initialization for ā€˜i2c_md_driver.removeā€™)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.o] Error 1
make[2]: *** Waiting for processes that have not yet been completedā€¦
make[1]: *** [Makefile:2012: /var/lib/dkms/mipi_dsi/0.1/build] Error 2
make[1]: directory ā€œ/usr/src/linux-headers-6.1.19-v7l+ā€ is exited
make: *** [Makefile:15: all] Error 2

(Original was partly in german i translated some stuff)

I think this indicates that there is something wrong with the i2c driver/connection. But this is too deep for my limited understanding. Maybe someone from here can use this information to figure out whats wrong.

Hi,

I realize this is an older post but I like everyone else are still experiencing the same issues in 2024 with a device delivered recently from Mouser. Same issue. Unit arrives, works, updates. Screen Dead. Instead of returning it like I should of, I spent a week trying things. I did finally manage to get a fully working reliable solution

  1. None of the OS from Seeed worked. Issues with either touchscreen, rotation, or blank screen.
  2. Bookworm wasnā€™t reliable for me
  3. 64 bit wasnā€™t reliable of bullseye or bookworm
  4. The golden ticket. 32 bit stable release with security updates from the Pi imager. Zero faults after following this process

Install the latest firmware.

[FAQs for reTerminal Usage | Seeed Studio Wiki] (FAQs for reTerminal Usage | Seeed Studio Wiki)

Set Reterminal to boot loader. At one point I was going to drill a hole in the heat sink because I did this so many times.

Use Pi imager to install the official raspberry pi 32bit bullseye. Set up the custom parameters for user, wifi and SSH (Very, Very, Very important. The device will not boot with a working screen without all the drivers and you cant install them with installing the OS.

Install the OS.
Reboot Reterminal

It will boot to a black screen but it will be connected to wifi and available with SSH.
If you can access your network and get the device IP then great if not use ARP scan.

Use PUTTY to connect to the reterminal, log in.

Run Sudo apt update and sudo apt full-upgrade.

Then install the Seeed drivers

sudo apt install git -ygit clone --depth 1 https://github.com/Seeed-Studio/seeed-linux-dtoverlays

cd seeed-linux-dtoverlays
``
echo arm_64bit=0 | sudo tee -a /boot/config.txtsudo reboot

sudo reboot

sudo ./scripts/reTerminal.sh

reboot the device.

it will boot and the auto rotate will work. However. The next reboot or next update will lock the screen in portrait.

The final piece of the puzzle is to connect either with keyboard or SSH and edit the config file

sudo nano /boot/config.txt

The last line of this file

dtoverlay=reTerminal,tp_rotate=1

set to 0 landscape set to 1 portrait. Autorotate doesnā€™t work on any OS Iā€™ve tried other than the one it shipped with. But that cannot be updated.

The device is actually pretty good. But Iā€™m still going probably going to return it because there is no way to prepare hundreds of these without taking them apart to access the boot loader or the SD card. Its a shame because booting direct into chromium with node red works really well and there are nodes for the re-terminal available. But no-one should have to go through all this on a device that has been around for a couple of years.

Hope this helps someone