rumpeltux/viomi-rooting

error: no devices/emulators found

tom2199 opened this issue · 14 comments

If I try to root my Viomi V8 (3.5.3_0017) with this script, it doesn't seem to work, here is the output:

We'll now try to connect to the ADB shell. Please connect the USB cable to your computer.
If you hear the Robot voice ('kaichi'), wait another two seconds and unplug and reconnect the cable.

[100%] /bin/adb_shell
adb_shell: 1 file pushed. 0.0 MB/s (54 bytes in 0.025s)



BusyBox v1.24.1 () built-in shell (ash)

 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (Neptune, 57513AA3)
 ----------------------------------------------
root@TinaLinux:/# 
root@TinaLinux:/# 
Please replug the USB cable one more time. Do not unplug once you hear the sound.
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found

This message loops indefinitely, even if I try to replug the cable. What could be the problem? Is it on my end or does the script need a fix applied to it?

The script was written for viomi-v7, so there may be subtle differences, but there may also be bugs in the script.

Just to confirm: the battery is disconnected and the robot is not on the charger, right?

Your output is unexpected:

  • fix_adb_shell seems to work since the file is pushed.
  • persist_adb_shell seems to spawn a shell instead of executing the supplied command, which would indicate that the updated /bin/adb_shell is being ignored.
  • wait_for_adb_shell seems to loop forever in your case (which makes sense given the previous problem), but the no devices/emulators found is unexpected, as it should be filtered by the script

Can you retry with this version of the script? https://github.com/rumpeltux/viomi-rooting/raw/experiment/viomi-root.sh

The battery was indeed connected, but that doesn't seem to make too much of a difference. I tried it without the battery and with the new script, the output is a little bit different now:

/tmp/viomi-root ~/viomi-rooting


We'll now try to connect to the ADB shell. Please connect the USB cable to your computer.
If you hear the Robot voice ('kaichi'), wait another two seconds and unplug and reconnect the cable.
* daemon not running; starting now at tcp:5037
* daemon started successfully
[100%] /bin/adb_shell
adb_shell: 1 file pushed. 0.0 MB/s (56 bytes in 0.022s)
Shell fixed...
/bin/sh: can't open ''
Please replug the USB cable one more time. Do not unplug once you hear the sound.
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found
error: device offline
error: no devices/emulators found
error: no devices/emulators found
error: no devices/emulators found

Hmm looks like the shell isn’t working as intended, but "why" is unclear to me.
It’s a little hard to debug remotely. I pushed another update to collect even more debug output during shell invocation.

Please try again with: https://github.com/rumpeltux/viomi-rooting/raw/experiment/viomi-root.sh

Here is the output:

/tmp/viomi-root ~/viomi-rooting


We'll now try to connect to the ADB shell. Please connect the USB cable to your computer.
If you hear the Robot voice ('kaichi'), wait another two seconds and unplug and reconnect the cable.
* daemon not running; starting now at tcp:5037
* daemon started successfully
[100%] /bin/adb_shell
adb_shell: 1 file pushed. 0.0 MB/s (88 bytes in 0.023s)
Shell fixed...
+ echo Shell arguments: 
Shell arguments: 
+ exec /bin/sh


BusyBox v1.24.1 () built-in shell (ash)

 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (Neptune, 57513AA3)
 ----------------------------------------------
root@TinaLinux:/# 
Please replug the USB cable one more time. Do not unplug once you hear the sound.
error: no devices/emulators found

I hope this sheds some light into the "why". Thank you for your time to debug this problem with me.

So the script is doing the adb shell rm /etc/rc.d/S90robotManager command. The vacuum is supposed to see the arguments, so output should look like:

+ echo Shell arguments: -c "rm /etc/rc.d/S90robotManager"
Shell arguments:  -c "rm /etc/rc.d/S90robotManager"
+ exec /bin/sh -c "rm /etc/rc.d/S90robotManager"

As you can see in your case it's empty. Let’s see what’s going on. Can you pull these files?
/rom/bin/adb_shell:

while true; do adb pull /rom/bin/adb_shell | grep -v "no devices/emulators found" && break; done

and /bin/adbd (this might fail cause it's quite big with 100kb)

while true; do adb pull /bin/adbd | grep -v "no devices/emulators found" && break; done

Here are the two requested files (I had to zip them because github just support certain file types, i hope that's okay):
Viomi_V8_adbfiles.zip

Thanks. These are equivalent to the viomi-v7 ones. Next theory: your adb is behaving weirdly.
Can you run

$ adb --version
Android Debug Bridge version 1.0.39
Version 1:8.1.0+r23-5~18.04
Installed as /usr/lib/android-sdk/platform-tools/adb

I installed adb on Ubuntu 18.04 with apt-get install adb

That looks reasonably new, so I’m out of ideas (at least ideas that I can reasonably instruct remotely).

To debug the root cause I’d try to find out where the arguments are being lost. E.g. by doing an strace on the adb shell echo test command. So if you want to help find the root cause, it would be cool if you can try stuff.

Anyways, you can work around the underlying issue, by putting the commands into the adb_shell script itself, which will be executed the next time you try to run the shell.

So replace:

echo "Shell arguments:" "$@"

with

rm /etc/rc.d/S90robotManager

And run the script again.
After it fails again, you should have at least a persistent shell that you can enter using adb shell and perform the rest of the rooting process manually from there.

Anyways, you can work around the underlying issue, by putting the commands into the adb_shell script itself, which will be executed the next time you try to run the shell.

So replace:

echo "Shell arguments:" "$@"

with

rm /etc/rc.d/S90robotManager

And run the script again.
After it fails again, you should have at least a persistent shell that you can enter using adb shell and perform the rest of the rooting process manually from there.

I tried that and the shell still isn't persistent, could it be that it is killed by something other then S90robotManager? Or is the command not send correctly? I tried to debug a little bit and I discovered that while true; do adb shell echo test | grep -v "no devices/emulators found" && break; done does yield the no devices/emulators found error, while your commands with adb pull work as intended. Could that be part of the problem?

Btw, here is the output of strace adb shell echo test (though the command is not reaching the robot because i don't have a persistent shell as you know):

execve("/usr/bin/adb", ["adb", "shell", "echo", "test"], 0x7fec136078 /* 57 vars */) = 0
brk(NULL)                               = 0x556954e000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/aarch64/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/aarch64", 0x7fd24f1150, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls", 0x7fd24f1150, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/aarch64/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/aarch64", 0x7fd24f1150, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=137884, ...}) = 0
mmap(NULL, 137884, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb5967000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|S_ISUID|0644, st_size=26464, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb59b1000
mmap(NULL, 91120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5950000
mprotect(0x7fb5956000, 61440, PROT_NONE) = 0
mmap(0x7fb5965000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7fb5965000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\330\\\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=137848, ...}) = 0
mmap(NULL, 177104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5924000
mprotect(0x7fb593b000, 61440, PROT_NONE) = 0
mmap(0x7fb594a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fb594a000
mmap(0x7fb594c000, 13264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb594c000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libadb.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \345\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=323648, ...}) = 0
mmap(NULL, 387672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb58c5000
mprotect(0x7fb5912000, 65536, PROT_NONE) = 0
mmap(0x7fb5922000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4d000) = 0x7fb5922000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libbase.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320G\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51888, ...}) = 0
mmap(NULL, 115512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb58a8000
mprotect(0x7fb58b4000, 61440, PROT_NONE) = 0
mmap(0x7fb58c3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fb58c3000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\317\10\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1578656, ...}) = 0
mmap(NULL, 1654416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5714000
mprotect(0x7fb5889000, 65536, PROT_NONE) = 0
mmap(0x7fb5899000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x175000) = 0x7fb5899000
mmap(0x7fb58a5000, 11920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb58a5000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20)\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=80168, ...}) = 0
mmap(NULL, 144440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb56f0000
mprotect(0x7fb5703000, 61440, PROT_NONE) = 0
mmap(0x7fb5712000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7fb5712000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1341080, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb59af000
mmap(NULL, 1409880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5597000
mprotect(0x7fb56d7000, 61440, PROT_NONE) = 0
mmap(0x7fb56e6000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13f000) = 0x7fb56e6000
mmap(0x7fb56ec000, 13144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb56ec000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18544, ...}) = 0
mmap(NULL, 82176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5582000
mprotect(0x7fb5585000, 65536, PROT_NONE) = 0
mmap(0x7fb5595000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fb5595000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcrypto.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0M\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=953296, ...}) = 0
mmap(NULL, 1021096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5488000
mprotect(0x7fb5561000, 61440, PROT_NONE) = 0
mmap(0x7fb5570000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd8000) = 0x7fb5570000
mmap(0x7fb5581000, 1192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb5581000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcutils.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360?\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51784, ...}) = 0
mmap(NULL, 115400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb546b000
mprotect(0x7fb5476000, 65536, PROT_NONE) = 0
mmap(0x7fb5486000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fb5486000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcrypto_utils.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0000\f\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=10096, ...}) = 0
mmap(NULL, 73904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5458000
mprotect(0x7fb545a000, 61440, PROT_NONE) = 0
mmap(0x7fb5469000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fb5469000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libusb-1.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libusb-1.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=88736, ...}) = 0
mmap(NULL, 152640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5432000
mprotect(0x7fb5446000, 65536, PROT_NONE) = 0
mmap(0x7fb5456000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7fb5456000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb59ad000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\257\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=695640, ...}) = 0
mmap(NULL, 757880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5378000
mprotect(0x7fb5421000, 61440, PROT_NONE) = 0
mmap(0x7fb5430000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa8000) = 0x7fb5430000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/liblog.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0pG\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=73088, ...}) = 0
mmap(NULL, 139672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5355000
mprotect(0x7fb5366000, 61440, PROT_NONE) = 0
mmap(0x7fb5375000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7fb5375000
mmap(0x7fb5377000, 408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb5377000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libudev.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0p8\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=104504, ...}) = 0
mmap(NULL, 170200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb532b000
mprotect(0x7fb5344000, 61440, PROT_NONE) = 0
mmap(0x7fb5353000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fb5353000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb59ab000
mprotect(0x7fb56e6000, 16384, PROT_READ) = 0
mprotect(0x7fb594a000, 4096, PROT_READ) = 0
mprotect(0x7fb5353000, 4096, PROT_READ) = 0
mprotect(0x7fb5712000, 4096, PROT_READ) = 0
mprotect(0x7fb5430000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb59a9000
mprotect(0x7fb5899000, 40960, PROT_READ) = 0
mprotect(0x7fb5375000, 4096, PROT_READ) = 0
mprotect(0x7fb5456000, 4096, PROT_READ) = 0
mprotect(0x7fb5570000, 65536, PROT_READ) = 0
mprotect(0x7fb5469000, 4096, PROT_READ) = 0
mprotect(0x7fb5486000, 4096, PROT_READ) = 0
mprotect(0x7fb5595000, 4096, PROT_READ) = 0
mprotect(0x7fb58c3000, 4096, PROT_READ) = 0
mprotect(0x7fb5922000, 4096, PROT_READ) = 0
mprotect(0x7fb5965000, 4096, PROT_READ) = 0
mprotect(0x5566cb4000, 4096, PROT_READ) = 0
mprotect(0x7fb59b5000, 4096, PROT_READ) = 0
munmap(0x7fb5967000, 137884)            = 0
set_tid_address(0x7fb59abe20)           = 554
set_robust_list(0x7fb59abe30, 24)       = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fb5929760, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fb5929828, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x556954e000
brk(0x556956f000)                       = 0x556956f000
futex(0x7fb58a6060, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fb58a6064, FUTEX_WAKE_PRIVATE, 2147483647) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "000chost:version", 16)        = 16
read(3, "OKAY", 4)                      = 4
read(3, "0004", 4)                      = 4
read(3, "0027", 4)                      = 4
read(3, "", 16)                         = 0
close(3)                                = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "000dhost:features", 17)       = 17
read(3, "FAIL", 4)                      = 4
read(3, "001a", 4)                      = 4
read(3, "no devices/emulators found", 26) = 26
close(3)                                = 0
write(2, "error: no devices/emulators foun"..., 34error: no devices/emulators found
) = 34
exit_group(1)                           = ?
+++ exited with 1 +++

I have a persistent shell now, sorry for the false alarm I tried it multiple times and eventually it worked! Thanks a lot! Here is the strace you asked for:

execve("/usr/bin/adb", ["adb", "shell", "echo", "test"], 0x7fd2a8b0e8 /* 56 vars */) = 0
brk(NULL)                               = 0x557527d000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/aarch64/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/aarch64", 0x7fdc7e86f0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/tls", 0x7fdc7e86f0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/aarch64/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/aarch64", 0x7fdc7e86f0, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=137884, ...}) = 0
mmap(NULL, 137884, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa0479000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libgtk3-nocsd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|S_ISUID|0644, st_size=26464, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa04c3000
mmap(NULL, 91120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0462000
mprotect(0x7fa0468000, 61440, PROT_NONE) = 0
mmap(0x7fa0477000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7fa0477000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\330\\\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=137848, ...}) = 0
mmap(NULL, 177104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0436000
mprotect(0x7fa044d000, 61440, PROT_NONE) = 0
mmap(0x7fa045c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fa045c000
mmap(0x7fa045e000, 13264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa045e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libadb.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \345\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=323648, ...}) = 0
mmap(NULL, 387672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa03d7000
mprotect(0x7fa0424000, 65536, PROT_NONE) = 0
mmap(0x7fa0434000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4d000) = 0x7fa0434000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libbase.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320G\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51888, ...}) = 0
mmap(NULL, 115512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa03ba000
mprotect(0x7fa03c6000, 61440, PROT_NONE) = 0
mmap(0x7fa03d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7fa03d5000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\317\10\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1578656, ...}) = 0
mmap(NULL, 1654416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0226000
mprotect(0x7fa039b000, 65536, PROT_NONE) = 0
mmap(0x7fa03ab000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x175000) = 0x7fa03ab000
mmap(0x7fa03b7000, 11920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa03b7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20)\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=80168, ...}) = 0
mmap(NULL, 144440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0202000
mprotect(0x7fa0215000, 61440, PROT_NONE) = 0
mmap(0x7fa0224000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7fa0224000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 \10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1341080, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa04c1000
mmap(NULL, 1409880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa00a9000
mprotect(0x7fa01e9000, 61440, PROT_NONE) = 0
mmap(0x7fa01f8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13f000) = 0x7fa01f8000
mmap(0x7fa01fe000, 13144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa01fe000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18544, ...}) = 0
mmap(NULL, 82176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0094000
mprotect(0x7fa0097000, 65536, PROT_NONE) = 0
mmap(0x7fa00a7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fa00a7000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcrypto.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0M\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=953296, ...}) = 0
mmap(NULL, 1021096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9ff9a000
mprotect(0x7fa0073000, 61440, PROT_NONE) = 0
mmap(0x7fa0082000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd8000) = 0x7fa0082000
mmap(0x7fa0093000, 1192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa0093000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcutils.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360?\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51784, ...}) = 0
mmap(NULL, 115400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9ff7d000
mprotect(0x7f9ff88000, 65536, PROT_NONE) = 0
mmap(0x7f9ff98000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f9ff98000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libcrypto_utils.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0000\f\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=10096, ...}) = 0
mmap(NULL, 73904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9ff6a000
mprotect(0x7f9ff6c000, 61440, PROT_NONE) = 0
mmap(0x7f9ff7b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f9ff7b000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/libusb-1.0.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libusb-1.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0 @\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=88736, ...}) = 0
mmap(NULL, 152640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9ff44000
mprotect(0x7f9ff58000, 65536, PROT_NONE) = 0
mmap(0x7f9ff68000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f9ff68000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa04bf000
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\257\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=695640, ...}) = 0
mmap(NULL, 757880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9fe8a000
mprotect(0x7f9ff33000, 61440, PROT_NONE) = 0
mmap(0x7f9ff42000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa8000) = 0x7f9ff42000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/android/liblog.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0pG\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=73088, ...}) = 0
mmap(NULL, 139672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9fe67000
mprotect(0x7f9fe78000, 61440, PROT_NONE) = 0
mmap(0x7f9fe87000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f9fe87000
mmap(0x7f9fe89000, 408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9fe89000
close(3)                                = 0
faccessat(AT_FDCWD, "/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libudev.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0p8\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=104504, ...}) = 0
mmap(NULL, 170200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9fe3d000
mprotect(0x7f9fe56000, 61440, PROT_NONE) = 0
mmap(0x7f9fe65000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f9fe65000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa04bd000
mprotect(0x7fa01f8000, 16384, PROT_READ) = 0
mprotect(0x7fa045c000, 4096, PROT_READ) = 0
mprotect(0x7f9fe65000, 4096, PROT_READ) = 0
mprotect(0x7fa0224000, 4096, PROT_READ) = 0
mprotect(0x7f9ff42000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa04bb000
mprotect(0x7fa03ab000, 40960, PROT_READ) = 0
mprotect(0x7f9fe87000, 4096, PROT_READ) = 0
mprotect(0x7f9ff68000, 4096, PROT_READ) = 0
mprotect(0x7fa0082000, 65536, PROT_READ) = 0
mprotect(0x7f9ff7b000, 4096, PROT_READ) = 0
mprotect(0x7f9ff98000, 4096, PROT_READ) = 0
mprotect(0x7fa00a7000, 4096, PROT_READ) = 0
mprotect(0x7fa03d5000, 4096, PROT_READ) = 0
mprotect(0x7fa0434000, 4096, PROT_READ) = 0
mprotect(0x7fa0477000, 4096, PROT_READ) = 0
mprotect(0x5559f2a000, 4096, PROT_READ) = 0
mprotect(0x7fa04c7000, 4096, PROT_READ) = 0
munmap(0x7fa0479000, 137884)            = 0
set_tid_address(0x7fa04bde20)           = 15624
set_robust_list(0x7fa04bde30, 24)       = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fa043b760, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fa043b828, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x557527d000
brk(0x557529e000)                       = 0x557529e000
futex(0x7fa03b8060, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fa03b8064, FUTEX_WAKE_PRIVATE, 2147483647) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "000chost:version", 16)        = 16
read(3, "OKAY", 4)                      = 4
read(3, "0004", 4)                      = 4
read(3, "0027", 4)                      = 4
read(3, "", 16)                         = 0
close(3)                                = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "000dhost:features", 17)       = 17
read(3, "OKAY", 4)                      = 4
read(3, "0000", 4)                      = 4
read(3, "", 16)                         = 0
close(3)                                = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "000chost:version", 16)        = 16
read(3, "OKAY", 4)                      = 4
read(3, "0004", 4)                      = 4
read(3, "0027", 4)                      = 4
read(3, "", 16)                         = 0
close(3)                                = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
write(3, "0012host:transport-any", 22)  = 22
read(3, "OKAY", 4)                      = 4
write(3, "000fshell:echo test", 19)     = 19
read(3, "OKAY", 4)                      = 4
rt_sigaction(SIGWINCH, {sa_handler=0x5559efe9e8, sa_mask=[], sa_flags=0}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [WINCH], NULL, 8) = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f9f63c000
mprotect(0x7f9f63d000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7f9fe3bad0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f9fe3c290, tls=0x7f9fe3c8b0, child_tidptr=0x7f9fe3c290) = 15625
read(3, "+ rm /etc/rc.d/S90robotManager\r\n"..., 8192) = 121
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "+ rm /etc/rc.d/S90robotManager\r\n", 32+ rm /etc/rc.d/S90robotManager
) = 32
write(1, "rm: can't remove '/etc/rc.d/S90r"..., 73rm: can't remove '/etc/rc.d/S90robotManager': No such file or directory
) = 73
write(1, "+ exec /bin/sh\r\n", 16+ exec /bin/sh
)      = 16
read(3, "\r\n\r\nBusyBox v1.24.1 () built-in "..., 8192) = 47
write(1, "\r\n\r\nBusyBox v1.24.1 () built-in "..., 47

BusyBox v1.24.1 () built-in shell (ash)

) = 47
read(3, " _____  _              __     _\r"..., 8192) = 359
write(1, " _____  _              __     _\r"..., 359 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (Neptune, 57513AA3)
 ----------------------------------------------
) = 359
read(3, "root@TinaLinux:/# ", 8192)     = 18
write(1, "root@TinaLinux:/# ", 18root@TinaLinux:/# )      = 18
read(3, ^C0x7fdc7e6218, 8192)             = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
strace: Process 15624 detached

I exited the process because it was waiting for input. Thanks again for your help!

The rest of the tutorial worked without a problem, though i had to type adb shell and then paste the command because else the arguments are being lost. Btw, tinyplayer /usr/share/audio/english/sound_test_ready.mp3 didn't work with adb, it returned: sh: can't create /sys/class/gpio/gpio233/value: nonexistent directory. I guess that has something to do with disableing the S90robotManager service, because after a reboot it worked with ssh. Thanks again!

Glad this eventually worked for you Tom! I think @nygellyndley found the root-cause of this which was fixed with 6bdd71b.