How to install VirtualHere on VOXL
We want to attach a USB 2.0 sensor to the VOXL, and send the data over Wi-Fi. Via lsusb we see the USB device working properly, but now we need to send the data over. We are currently working on a driver for Linux. But for now we use VirtualHere on a Raspberry pi to get it connected via Wi-Fi to a windows computer.
But ofcourse we want everything to run on the VOXL. How can I install VirtualHere on the VOXL?
https://virtualhere.com/usb_server_software -> "VirtualHere USB Server for Linux (ARM64)"
This isn’t something we’ve used but that article links to the source on GitHub
So you can try to build it on VOXL and see what happens
@tom thank you for replying, and for the link. Last couple of hours I'm trying to find a start on how to build it for the VOXL, but my knowledge on linux is still very small. Could you maybe give me some information or links on something similar on how to build the virtualhere for the VOXL? Thanks!
@Sem-Andeweg I would just try the commands listed on the github page for virtualhere on VOXL and see if you have any success. We've never used it so I can't offer any support there other than helping debug any build issues you run into.
Installing did work! I connected it with internet, and via adb just runned the script from GitHub. Everything worked along the way, but only starting the code didn't work.
Everything up to "systemctl start virtualhere.service" worked perfectly. But now this...
systemctl start virtualhere.service
Job for virtualhere.service failed because the control process exited with error code. See "systemctl status virtualhere.service" and "journalctl -xe" for details.
/ # systemctl status virtualhere.service -l
● virtualhere.service - VirtualHere Server
Loaded: loaded (/etc/systemd/system/virtualhere.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-01-27 20:59:44 UTC; 7s ago
Process: 3541 ExecStart=/usr/local/sbin/vhusbdarm64 -b -c /usr/local/etc/virtualhere/config.ini (code=exited, status=203/EXEC)
Jan 27 20:59:44 apq8096 systemd: Starting VirtualHere Server...
Jan 27 20:59:44 apq8096 systemd: virtualhere.service: Failed at step EXEC spawning /usr/local/sbin/vhusbdarm64: Not a directory
Jan 27 20:59:44 apq8096 systemd: virtualhere.service: Control process exited, code=exited status=203
Jan 27 20:59:44 apq8096 systemd: Failed to start VirtualHere Server.
Jan 27 20:59:44 apq8096 systemd: virtualhere.service: Unit entered failed state.
Jan 27 20:59:44 apq8096 systemd: virtualhere.service: Failed with result 'exit-code'.
I would try rebooting and letting it autostart in the background to see if you have any success.
Today I also tried to do the install multiple times, but with only the same results. Rebooting didn't work. I don't really know what you mean with letting it autostart in the background? But if that only means rebooting, it didn't work yet.
How can we let it autostart n the background? Or do you have any other idea on how to solve this?
It is already set up as a daemon using
systemctltherefore if you run
systemctl status -l virtualhereyou are looking at the status of it running in the background.
If the service file is enabled:
systemctl enable virtualherethen you don't have to manually run
systemctl start virtualhereafter a reboot. It'll just automatically start.
service files are located in
/etc/systemd/systemif you want to look at
virtualhere.serviceto see what it is doing in the background.
I recommend doing some reading about systemctl to get a better understanding of what is going on. https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units
Systemctl is extremely common and is a basic Linux utility so it is not VOXL specific.
We haven't had any experience with virtualhere so you will have to reach out to them for any help on the application level.
I'm super thankful for this information tom, I will go and take a look at it. I hope it will work! Thank you also for the link, I will go and study it.
Oke, so it worked! The issue was this in the installation script it is described that there must be create a directory not the file in the /usr/local path which is called sbin ... but every time it will create a file instead of creating a directory. I manually created the directory as per script and then the script will easily install and copy its required files and the services will works properly.
We have tested the function with Virtualhere, and they work perfectly!
Now we encountered one extra problem, but I will go and start a new topic for this.