porech/roborock-oucher

apt-get: not found

Closed this issue · 16 comments

I just installed veletudo to my s5 and this might be obvious, but apt does not seem to exist on the device.
I used dustbuilder with standard settings to compile the firmware.
I only get the "not-found" error when trying to use apt to install packages.

Yeah you can't install apt-get, apt, dpkg, etc on the roborock. I tried to do dpkg over ssh from local machine to ssh roborock but didn't work. :/

Hi there,
sorry for my delay. The guys at dustcloud did an awesome job and prepared a tar package with all the needed dependencies: https://builder.dontvacuum.me/stuff/oucher-deps.tar.gz

Unpack it with tar -xzvf into /

Let me know how it works :)

Yeah you can't install apt-get, apt, dpkg, etc on the roborock. I tried to do dpkg over ssh from local machine to ssh roborock but didn't work. :/

Yeah, it's really xiaomi who crippled the firmware. Apt is no longer included.

Hi there,
sorry for my delay. The guys at dustcloud did an awesome job and prepared a tar package with all the needed dependencies: https://builder.dontvacuum.me/stuff/oucher-deps.tar.gz

Unpack it with tar -xzvf into /

Let me know how it works :)

Great news! I'd gladly give this a try. But the link seems to be down.

Ops, should have checked it before copy-pasting it, sorry.

The file is still there on https://github.com/zvldz/vacuum/tree/master/custom-script/files/oucher

@ale-rinaldi:

I did install oucher and the oucher-dept.tar.gz, but I am not sure it's running, start service oucher only gives an error: command not found.

If I start oucher manually with
root@rockrobo:/usr/local/bin# exec /usr/local/bin/oucher

I get the following output:

WARN[0000] Volume is less than 100 but sox is not installed, WAV files will play at full volume!
ERRO[0114] open /run/shm/NAV_normal.log: no such file or directory
ERRO[0118] open /run/shm/NAV_TRAP_normal.log: no such file or directory

the above logfiles do exist, so I don't know where this error comes from.

Uhm, that's weird. It's really difficult to understand what the problem could be without having a look at it directly.

For the first issue, the right command is service oucher start and it should just work.

For the second one, are you sure the files are named exactly like that in your case? Try to post a ls -l /run/shm command result, just as a first attempt.

Thanks!

Even am facing the same issue. Basically like "apt" it seems the "service" command is also stripped out. With out service command how can we make the oucher start?!
If this is not easy, will you know which version of firmware has both apt & service commands probably I can try that firmware.

Hello @sharuuu ,

yep, I got informed of this problem just today. Someone told me that, even if the command is missing, if its config file is in place the service starts on boot. So you can try a reboot and see if it works. I didn't confirm this however.

In the next days I'll be preparing an alternate startup script that should fit this case, I'll update the issue when ready :)

Hello @sharuuu ,

I can confirm that you actually need another startup script. I added the S12oucher file to the repository, can you please try copying it in /etc/init on your robot and reboot? It should just work.

If you can, please confirm me since I don't have this model so I can't directly test. Thanks!

@ale-rinaldi the S12oucher worked. I see oucher started up after reboot, but I do not see it working. I have confirmed the LOG_LEVEL is set to 8. I also confirmed the Bump events logged in /run/shm/NAV_normal.log but Robo would not make any sound. Anyway to debug this?!

Hello, yep of course. Try to:

  • stop the oucher service
  • edit the oucher.yml file and add logLevel: debug at the end
  • launch oucher (should be quite verbose)
  • start the clean and make it bump

It should print a log entry everytime it bumps. Let's start with this, let me know if it does or not so we can better understand what to debug.

Just copy here all of the output.

Thanks

Here is the logs..

image

Was able to run the espeak without --stdout option and robo was able to make sound.
Am guessing the intention of stdout is to pass the sound bytes to aplay. But running aplay gave me the below error

[root@rockrobo oucher]# /usr/bin/aplay -
/usr/bin/aplay: line 3: play: not found

I further debugged this. It seems 'play' command which is referenced in 'aplay' command is missing in the robo.
Am wondering why would we need aplay when the espeak can make sound with out that?!
How can I install play command if its needed?!

i got the exact same problem. neither "service" nor "apt" are recognized, none of the two start scripts (copied them both) seeming to work, if i retrive pid of "oucher" it comes with an empty result. ofc i rebooted several times. is there a way to add the service-command back on the roborock? im a beginner with almost no expierience, i just did everything exactly as in the tutorial and it ended up not starting the service.

my workouround is to add oucher in crontab

simply EDITOR=nano crontab -e

* 6 * * * killall oucher ; /usr/local/bin/oucher

so every morning at 6 all oucher processes are terminated and started again

@reboot /usr/local/bin/oucher did not work for me, then you could save the killall

Hello @dethr0ne ,

I'm really sorry but it's difficult for me to help on this since I don't have this specific device and I can't test it. I hope the cron trick suggested by @badsmoke worked for you; if not, I recommend you ask on the dustcloud Telegram group for help from people owning the same device.

Thank you!