Remote connection not working anymore after update

BarryV
BarryV Posts: 2
edited December 20 in Linux only

After updating Teamviewer on my raspberry pi to version 15.61.3, I can't use the remote connection anymore.

After connecting to my remote raspberry pi I only see this image but noy my remote desktop of the raspberry pi. Does anybody know a fix for this? My Raspberry Pi is only remote available for me because it is in an other country.

Comments

  • derherrkaiser
    derherrkaiser Posts: 4
    edited December 20

    Hi! I can confirm this and have found the root cause, which seems to be a TeamViewer bug with the new release. Kindly asking the TeamViewer team to confirm this.

    TL;TD: This is a TeamViewer bug introduced in v15.61.3. To fix it, you must be able to login to the device without a desktop environment and swap out a shared library called /opt/teamviewer/tv_bin/RTlib/libicudata.so.63 with a previous version.

    Issue report

    Version affected: [Linux] v15.61.3

    OS: Kerne 6.1.21-v8+ aarch64 GNU/Linux (e.g. RPI)

    Description

    When launching the Desktop, TeamViewer crashes. From /var/user.log:

    com.teamviewer.TeamViewer [<PID>]: /opt/teamviewer/tv_bin/TeamViewer: error while loading shared libraries: libicudata.so.63: cannot open shared object file: No such file or directory
    

    Checking the linked libraries seems to confirm this (libicudata.so.63 => not found):

    sudo ldd  /opt/teamviewer/tv_bin/TeamViewer
    /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so (0xf7d16000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xf7cec000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xf7cd8000)
    libQt5Core.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Core.so.5 (0xf77fe000)
    libQt5Widgets.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Widgets.so.5 (0xf739a000)
    libQt5Gui.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Gui.so.5 (0xf6f9e000)
    libQt5Qml.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Qml.so.5 (0xf6c6b000)
    libQt5Quick.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Quick.so.5 (0xf68eb000)
    libQt5WebEngineCore.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebEngineCore.so.5 (0xf2774000)
    libQt5X11Extras.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5X11Extras.so.5 (0xf2754000)
    libQt5WebEngine.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebEngine.so.5 (0xf26e6000)
    libQt5DBus.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5DBus.so.5 (0xf266d000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xf2641000)
    libminizip.so.1 => /lib/arm-linux-gnueabihf/libminizip.so.1 (0xf2627000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xf25b8000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xf2465000)
    /lib/ld-linux-armhf.so.3 (0xf7d2b000)
    libicui18n.so.63 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libicui18n.so.63 (0xf2196000)
    libicuuc.so.63 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libicuuc.so.63 (0xf1fd9000)
    libicudata.so.63 => not found
    libgthread-2.0.so.0 => /lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0xf1fc7000)
    libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xf1ea3000)
    libGL.so.1 => /lib/arm-linux-gnueabihf/libGL.so.1 (0xf1e12000)
    libQt5Network.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Network.so.5 (0xf19ce000)
    libQt5QmlModels.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5QmlModels.so.5 (0xf1962000)
    libQt5WebChannel.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebChannel.so.5 (0xf192d000)
    libnss3.so => /lib/arm-linux-gnueabihf/libnss3.so (0xf17fd000)
    libnssutil3.so => /lib/arm-linux-gnueabihf/libnssutil3.so (0xf17c9000)
    libsmime3.so => /lib/arm-linux-gnueabihf/libsmime3.so (0xf1797000)
    libsoftokn3.so => /usr/lib/arm-linux-gnueabihf/nss/libsoftokn3.so (0xf1745000)
    libnspr4.so => /lib/arm-linux-gnueabihf/libnspr4.so (0xf1704000)
    libplc4.so => /lib/arm-linux-gnueabihf/libplc4.so (0xf16f0000)
    libplds4.so => /lib/arm-linux-gnueabihf/libplds4.so (0xf16dd000)
    libX11.so.6 => /lib/arm-linux-gnueabihf/libX11.so.6 (0xf15b6000)
    libX11-xcb.so.1 => /lib/arm-linux-gnueabihf/libX11-xcb.so.1 (0xf15a4000)
    libxcb.so.1 => /lib/arm-linux-gnueabihf/libxcb.so.1 (0xf1573000)
    libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xf154e000)
    libuuid.so.1 => /lib/arm-linux-gnueabihf/libuuid.so.1 (0xf1537000)
    libxkbcommon.so.0 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libxkbcommon.so.0 (0xf14ec000)
    libdbus-1.so.3 => /lib/arm-linux-gnueabihf/libdbus-1.so.3 (0xf1498000)
    libssp.so.0 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libssp.so.0 (0xf1485000)
    libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xf145d000)
    libicudata.so.63 => not found
    libicudata.so.63 => not found
    libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xf13e6000)
    libGLdispatch.so.0 => /lib/arm-linux-gnueabihf/libGLdispatch.so.0 (0xf1364000)
    libGLX.so.0 => /lib/arm-linux-gnueabihf/libGLX.so.0 (0xf1345000)
    libsqlite3.so.0 => /lib/arm-linux-gnueabihf/libsqlite3.so.0 (0xf1219000)
    libXau.so.6 => /lib/arm-linux-gnueabihf/libXau.so.6 (0xf1206000)
    libXdmcp.so.6 => /lib/arm-linux-gnueabihf/libXdmcp.so.6 (0xf11f1000)
    libsystemd.so.0 => /lib/arm-linux-gnueabihf/libsystemd.so.0 (0xf113a000)
    libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0xf1118000)
    liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0xf10e7000)
    libzstd.so.1 => /lib/arm-linux-gnueabihf/libzstd.so.1 (0xf101a000)
    liblz4.so.1 => /lib/arm-linux-gnueabihf/liblz4.so.1 (0xf0fed000)
    libgcrypt.so.20 => /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0xf0f10000)
    libmd.so.0 => /lib/arm-linux-gnueabihf/libmd.so.0 (0xf0ef5000)
    libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0xf0ec8000)

    However, the shared library in question exists and is available for dynamic library resolution in /opt/teamviewer/tv_bin/RTlib.

    It is also picked up by ldconfig. Now, looking at the library headers reveals:

    sudo objdump -p libicudata.so.63
    
    libicudata.so.63:     file format elf32-littlearm
    Program Header:
    LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 216
    filesz 0x019ebc90 memsz 0x019ebc90 flags r--
    STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2
    4
    filesz 0x00000000 memsz 0x00000000 flags rw-
    LOAD off 0x019ebf90 vaddr 0x019fbf90 paddr 0x019fbf90 align 216
    filesz 0x0000007c memsz 0x0000007c flags rw-
    RELRO off 0x019ebf90 vaddr 0x019fbf90 paddr 0x019fbf90 align 2
    0
    filesz 0x00000070 memsz 0x00000070 flags r--
    DYNAMIC off 0x019ed000 vaddr 0x019fd000 paddr 0x019fd000 align 22
    filesz 0x00000078 memsz 0x00000078 flags rw-
    LOAD off 0x019ed000 vaddr 0x019fd000 paddr 0x019fd000 align 2
    12
    filesz 0x000000d4 memsz 0x000000d4 flags rw- Dynamic Section:
    RUNPATH $ORIGIN
    SONAME libicudata.so.63
    SYMBOLIC 0x00000000
    HASH 0x019fd0c0
    GNU_HASH 0x019fd0a0
    STRTAB 0x019fd078
    SYMTAB 0x00000108
    STRSZ 0x00000026
    SYMENT 0x00000010
    private flags = 5000200: [Version5 EABI] [soft-float ABI]

    I am confident the [soft-float ABI] is the culprit - IMO, it must be hard-float ABI, as is the case with the other shipped libraries and the libicudata format of previous TeamViewer versions. Replacing the library with the same library from an older TeamViewer version with hard-float ABI fixes the issue.

  • @BarryV

    Is TeamViewer the only way to connect to the device? If you are connected to the PI, do you see anything at first, e.g. the pi's login screen? If so, you could enable "Send key combinations", like so:

    And than use ctrl+alt+f1 to access the pi via console.

  • ….Reposting my comment, as vanished after an error message on this forum….

    Hi! I can confirm this and have found the root cause, which seems to be a TeamViewer bug with the new release. Kindly asking the TeamViewer team to confirm this.

    TL;TD: This is a TeamViewer bug introduced in v15.61.3. To fix it, you must be able to login to the device without a desktop environment and swap out a shared library called /opt/teamviewer/tv_bin/RTlib/libicudata.so.63 with a previous version.

    Issue report

    Version affected: [Linux] v15.61.3

    OS: Kernel 6.1.21-v8+ aarch64 GNU/Linux (e.g. RPI)

    Description

    When launching the Desktop, The TeamViewer crashes. from /var/user.log:

    com.teamviewer.TeamViewer [<PID>]: /opt/teamviewer/tv_bin/TeamViewer: error while loading shared libraries: libicudata.so.63: cannot open shared object file: No such file or directory
    

    Checking the linked libraries seems to confirm this:

    sudo ldd  /opt/teamviewer/tv_bin/TeamViewer
    /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so (0xf7d16000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xf7cec000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xf7cd8000) libQt5Core.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Core.so.5 (0xf77fe000) libQt5Widgets.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Widgets.so.5 (0xf739a000) libQt5Gui.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Gui.so.5 (0xf6f9e000) libQt5Qml.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Qml.so.5 (0xf6c6b000) libQt5Quick.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Quick.so.5 (0xf68eb000) libQt5WebEngineCore.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebEngineCore.so.5 (0xf2774000) libQt5X11Extras.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5X11Extras.so.5 (0xf2754000) libQt5WebEngine.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebEngine.so.5 (0xf26e6000) libQt5DBus.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5DBus.so.5 (0xf266d000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xf2641000) libminizip.so.1 => /lib/arm-linux-gnueabihf/libminizip.so.1 (0xf2627000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xf25b8000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xf2465000) /lib/ld-linux-armhf.so.3 (0xf7d2b000) libicui18n.so.63 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libicui18n.so.63 (0xf2196000) libicuuc.so.63 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libicuuc.so.63 (0xf1fd9000) libicudata.so.63 => not found libgthread-2.0.so.0 => /lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0xf1fc7000) libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xf1ea3000) libGL.so.1 => /lib/arm-linux-gnueabihf/libGL.so.1 (0xf1e12000) libQt5Network.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5Network.so.5 (0xf19ce000) libQt5QmlModels.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5QmlModels.so.5 (0xf1962000) libQt5WebChannel.so.5 => /opt/teamviewer/tv_bin/RTlib/qt/lib/libQt5WebChannel.so.5 (0xf192d000) libnss3.so => /lib/arm-linux-gnueabihf/libnss3.so (0xf17fd000) libnssutil3.so => /lib/arm-linux-gnueabihf/libnssutil3.so (0xf17c9000) libsmime3.so => /lib/arm-linux-gnueabihf/libsmime3.so (0xf1797000) libsoftokn3.so => /usr/lib/arm-linux-gnueabihf/nss/libsoftokn3.so (0xf1745000) libnspr4.so => /lib/arm-linux-gnueabihf/libnspr4.so (0xf1704000) libplc4.so => /lib/arm-linux-gnueabihf/libplc4.so (0xf16f0000) libplds4.so => /lib/arm-linux-gnueabihf/libplds4.so (0xf16dd000) libX11.so.6 => /lib/arm-linux-gnueabihf/libX11.so.6 (0xf15b6000) libX11-xcb.so.1 => /lib/arm-linux-gnueabihf/libX11-xcb.so.1 (0xf15a4000) libxcb.so.1 => /lib/arm-linux-gnueabihf/libxcb.so.1 (0xf1573000) libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xf154e000) libuuid.so.1 => /lib/arm-linux-gnueabihf/libuuid.so.1 (0xf1537000) libxkbcommon.so.0 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libxkbcommon.so.0 (0xf14ec000) libdbus-1.so.3 => /lib/arm-linux-gnueabihf/libdbus-1.so.3 (0xf1498000) libssp.so.0 => /opt/teamviewer/tv_bin/RTlib/qt/lib/../../libssp.so.0 (0xf1485000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xf145d000) libicudata.so.63 => not found libicudata.so.63 => not found libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xf13e6000) libGLdispatch.so.0 => /lib/arm-linux-gnueabihf/libGLdispatch.so.0 (0xf1364000) libGLX.so.0 => /lib/arm-linux-gnueabihf/libGLX.so.0 (0xf1345000) libsqlite3.so.0 => /lib/arm-linux-gnueabihf/libsqlite3.so.0 (0xf1219000) libXau.so.6 => /lib/arm-linux-gnueabihf/libXau.so.6 (0xf1206000) libXdmcp.so.6 => /lib/arm-linux-gnueabihf/libXdmcp.so.6 (0xf11f1000) libsystemd.so.0 => /lib/arm-linux-gnueabihf/libsystemd.so.0 (0xf113a000) libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0xf1118000) liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0xf10e7000) libzstd.so.1 => /lib/arm-linux-gnueabihf/libzstd.so.1 (0xf101a000) liblz4.so.1 => /lib/arm-linux-gnueabihf/liblz4.so.1 (0xf0fed000) libgcrypt.so.20 => /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0xf0f10000) libmd.so.0 => /lib/arm-linux-gnueabihf/libmd.so.0 (0xf0ef5000) libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0xf0ec8000)

    However, the shared library in question exists and is available for dynamic library resolution in /opt/teamviewer/tv_bin/RTlib. it is also picked up by ldconfig. Now, looking at the library headers reveals:

    sudo objdump -p libicudata.so.63
    

    libicudata.so.63: file format elf32-littlearm

    Program Header:

    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 216
    filesz 0x019ebc90 memsz 0x019ebc90 flags r--
    STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 24
    filesz 0x00000000 memsz 0x00000000 flags rw-
    LOAD off    0x019ebf90 vaddr 0x019fbf90 paddr 0x019fbf90 align 216
    filesz 0x0000007c memsz 0x0000007c flags rw-
    RELRO off    0x019ebf90 vaddr 0x019fbf90 paddr 0x019fbf90 align 20
    filesz 0x00000070 memsz 0x00000070 flags r--
    DYNAMIC off    0x019ed000 vaddr 0x019fd000 paddr 0x019fd000 align 22
    filesz 0x00000078 memsz 0x00000078 flags rw-
    LOAD off    0x019ed000 vaddr 0x019fd000 paddr 0x019fd000 align 212
    filesz 0x000000d4 memsz 0x000000d4 flags rw-
    Dynamic Section:
    
    RUNPATH              $ORIGIN
    SONAME               libicudata.so.63
    SYMBOLIC             0x00000000
    HASH                 0x019fd0c0
    GNU_HASH             0x019fd0a0
    STRTAB               0x019fd078
    SYMTAB               0x00000108
    STRSZ                0x00000026
    SYMENT               0x00000010
    private flags = 5000200: [Version5 EABI] [soft-float ABI]
    

    I am pretty confident the [soft-float ABI] is the culprit - IMO, it should be hard-float ABI, as is the case with the other shipped libraries and previous team viewer versions. Replacing the library with the same library from an older teamviewer version with hard-float ABI fixes the issue.

  • BarryV
    BarryV Posts: 2

    Thank you derherrkaiser but teamviewer is my only way in from a distance :-( So I guess I can only wait until my next holiday on the other side of the world. When the connection is build I only see a black screen for a few seconds and after that the posted screen.