Installation of server to start on boot (Ubuntu, Odroid)

I want the VH server to start automatically after boot on Odroid running Ubuntu.
I followed the Linux OEM_FAQ https://www.virtualhere.com/oem_faq "How to i start VirtualHere when my device boots?", For init.d based systems (Raspberry pi, Ubuntu...)
except that I use the optimized server version vhusbdarm64a53 which runs on Odroid. In the file vhusbdpin I have edited the NAME to match the server's filename.
It worked when I started the server manually but not after the above changes - client finds no server.
License is ok.
I see that there is no /boot/config.ini file.
I tried the command dmesg | grep vhusb in the hope that there were error messages in the syslog - but there is nothing.

What can be wrong?
How can I debug this?

#2

try this command

sudo systemctl status virtualhere

and see what is says

#3

Command and reply is
sudo systemctl status virtualhere
Unit virtualhere.service could not be found.

So something is completely wrong. Could it be that Ubuntu 18.04 LTS (GNU/Linux 3.16.57-20 aarch64) is not "init.d based" as it says in Linux OEM_FAQ https://www.virtualhere.com/oem_faq ?

Because on this page: https://wiki.ubuntu.com/SystemdForUpstartUsers there seems to be a note:
System Init Daemon
This has changed as part of the Ubuntu 15.04 devel cycle.
Ubuntu 15.04 (using Systemd by default):
Systemd runs with PID 1 as /sbin/init.

So that VirtualHere must be installed according to systemd method?
Ok - I could try systemd approach but would rather ask advice first to avoid messing up too much. Such Linux details are bit new to me
Thanks

#4

Actually sorry use this version

"For systemd based systems (e.g Beaglebone)" on that page but change vhusbdarm to vhusbdarm64a53

Also your kernel is quite old, i think you should install the latest kernel you can on that board.

#5

I followed the instructions https://www.virtualhere.com/oem_faq for systemd with vhusbdarm to vhusbdarm64a53. But now the client on win7 cannot start. This client is installed as a service and the service is started, but the USB devices are not being mapped from server to client - window is not visible, device manager confirms lack of remote devices. It used to work when server was manually stated.

By the way are'nt there missing a set of commands though in the guide at https://www.virtualhere.com/oem_faq? Such as...

  1. ssh to your raspberry pi
  2. wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
  3. sudo chmod +x ./vhusbdarm
  4. sudo mv vhusbdarm /usr/bin
  5. in 2,3 4 and 4 replace vhusbdarm with correct version for your architecture

Anyway thats what I did and with vhusbdarm64a53 instead. Then after creation of the virtualhere.service and the systemctl commands for activating the service i made a reboot and then the following status was taken
odroid@odroid:~$ sudo systemctl status virtualhere
● virtualhere.service - VirtualHere USB Sharing
Loaded: loaded (/etc/systemd/system/virtualhere.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-01-28 15:58:22 UTC; 7 months 11 days ago
Process: 626 ExecStartPre=/bin/sh -c logger VirtualHere settling...;sleep 1s;logger VirtualHere settled (code=exited, status=0/SUCCESS)
Main PID: 969 (vhusbdarm64a53)
CGroup: /system.slice/virtualhere.service
└─969 /usr/bin/vhusbdarm64a53

Sep 10 08:38:18 odroid vhusbdarm64a53[969]: Found Full speed device [413c:2002] "Dell, Dell USB Keyboard Hub" at address 1131
Sep 10 08:38:31 odroid vhusbdarm64a53[969]: Unmanaging device 1131 [413c:2002]
Sep 10 08:40:48 odroid vhusbdarm64a53[969]: Connection 1 remotely disconnected gracefully (rx msg size)
Sep 10 08:40:58 odroid vhusbdarm64a53[969]: Connection 1 successfully removed (reason:timeout)
Sep 10 08:42:35 odroid vhusbdarm64a53[969]: Unmanaging device 111 [09cb:4007]
Sep 10 08:42:37 odroid vhusbdarm64a53[969]: Unmanaging device 112 [09cb:4007]
Sep 10 08:42:45 odroid vhusbdarm64a53[969]: Found High speed device [09cb:4007] "FLIR, Boson" at address 112
Sep 10 08:42:49 odroid vhusbdarm64a53[969]: Found High speed device [09cb:4007] "FLIR, Boson" at address 111
Sep 10 08:42:57 odroid vhusbdarm64a53[969]: Unmanaging device 114 [3923:717b]
Sep 10 08:42:59 odroid vhusbdarm64a53[969]: Found Full speed device [3923:717b] "National Instruments, NI USB-6009" at address 114

It seems that the server sees the devices in the USB ports.
As mentioned - the client does not see the server.
The client service has started status.
The client's window displaying remote devices does not appear neither when started from the taskbar tools nor when executing the vitual_here_vhui64.exe
I failed to update the kernel from 3.16.57 to 4.18.7 despite following the instructions at https://www.tecmint.com/upgrade-kernel-in-ubuntu/ - installation runs but kernel does not change. This problem I will have to deal with elsewhere of course, but is it a kernel problem because it runs in manual start mode with kernel 3.16.57?
By the way when starting server manually it creates config.ini next to the vhusbdarm64a53. When changed to start as a service this file is obviously no more visible so it is creating a new copy or what?

Sorry for the lengthy text. And thanks for any hints.

#6

The server will say the location of the config file it is using at the top of the log. Try

sudo journalctl -u virtualhere.service

Regarding the client.

The first thing to try is uninstall the client service

virtual_here_vhui64.exe -u

then just run virtual_here_vhui64.exe and see if it shows the server ok

#7

hi michael,
thanks. it works now. Not sure exactly what made it. But here is about what I did:

@server: Confirmed that the /usr/bin/config.ini was present - next to the vhusbdarm64a53
@server: Noted that there were no License="" in the file. Probly because client had newer been run succefully.
@client: Remove VH: virtual_here_vhui64.exe -u
@client: Run: virtual_here_vhui64.exe --> the gui starts and crash immediately with an offer to debug. Cancel
@client: Rerun the virtual_here_vhui64.exe a couple of times and finally it works and sees the server. Enter license.
@server: Checked that the server config.ini has now got its License = ""
@client: Remove VH: virtual_here_vhui64.exe -u
@client: Install VH as service on client: virtual_here_vhui64.exe -b
@client: Open gui from taskbar to setup server's handling of the connected USB to auto use.
@server: Reboot server.
@client: Client finds USB devices as it should

this list is not 100% but mostly like this.
This crash of VH client I have seen previously.
Thanks - /henning

#8

I was a bit hasty.
The client service does not start upon reboot.
The server starts ok it seems.
The service is in started state after reboot, but there is no connection established.
Restart of service does not help anything.
There is no icon in the taskbar with which to manipulate the client.
I stop the service
Run the virtual_here_vhui64.exe without option and the dialog comes up.
The connection is established as expected to the auto-use devices. So it seems to be a problem related to the service.

Should'nt the client service start and establish connection to the USB devices after a reboot all automatically?
It is important for our application that the connection is established after boot without user intervention.
We could maybe solve the same problem by running a script (win10) if service is giving problems.

any suggestions?
/henning

#9

Ok it sounds like the client is crashing. It should definitely not do that. Are you using the latest client on this website 4.5.7? Make sure to use that. Secondly yes windows 10 will be better. Its more compatible with USB devices than windows 7