Client on Raspberry Pi 3B+

Hi there,

I'm running the Windows x64 server application (seems to work well), the USB device I need to share is here.

I'm having trouble running the Linux client on my RPi3B+ however (running the latest Raspbian OS, all updates done). I've tried vhuitarm7 - I get a segmentation fault here, it does not run. I've also tried vhclientarmhf - this appears to run, but there is nothing printed to console. As a test, I've tried the lsusb command, but this still just lists the devices connected locally on the RPi only.

Am I doing something wrong? I was really hoping to be able to use the GUI binary on the RPi, but am happy to use the CLI one, as long as it works.

It is worth noting I have no licenses yet, as I am just testing whether this will work for me.

#2

I just tested the arm GUI client then on my pi0w and it didn't work for some reason. It segfaulted

I tested a few weeks ago and it was fine, so im not sure of the issue. Ill debug this now...

#3

Thanks, do you perhaps have have and older build available in the meantime?

#4

Thats the thing, i havent changed anything since then so it should still work. It will take a day or so for me to figure this out..

#5

OK there is some bug in raspbian.

Try this:

1. Download and run the raspberry pi imager and install Raspbian OS 32-bit desktop
2. Put the sdcard in your pi and wget the vhuitarm7 chmod +x and then sudo ./vhuitarm7 and it will work.

sudo apt update upgrade etc breaks something in raspbian so dont run that for the time being

#6

Thanks, in other words, flash a clean image onto the SD card?

Frustrating, I have a bunch of other stuff running on there I'd have to set up again.

#7

Yes, but try on another sd card if you have one to double check its all ok

#8

Thanks, doing so now. Is there a guide for the console client, as that does run but I can't get it to actually do anything. I've looked at this post but it's not very clear how to actually set it up to connect back to the server, bind to a device, etc. https://www.virtualhere.com/linux_console

#9

Found it: ./vhclientarmhf -h "HELP"

#10

You cant use the console client with the free virtualhere server. You can only use the console client with a licensed virtualhere server. So give it a try with the GUI version first. If that works, then you can purchase virtualhere and use the console client.

#11

Just tried a fresh raspbian image on a spare SD card. Nothing configured except for wifi, no updates applied. Still get a segmentation fault.

#12

OK i dont know. i havent had any other reports of this and it works for me as long as i dont do sudo apt update. I dont think its going to work on your pi for some reason

#13

What version is your OS image?

#14

root@J-Pi3:/home/pi/Downloads# valgrind --leak-check=yes ./vhuitarm7
==939== Memcheck, a memory error detector
==939== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==939== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==939== Command: ./vhuitarm7
==939==
--939-- WARNING: Serious error when reading debug info
--939-- When reading debug info from /lib/arm-linux-gnueabihf/ld-2.28.so:
--939-- Ignoring non-Dwarf2/3/4 block in .debug_info
--939-- WARNING: Serious error when reading debug info
--939-- When reading debug info from /lib/arm-linux-gnueabihf/ld-2.28.so:
--939-- Last block truncated in .debug_info; ignoring
==939== Conditional jump or move depends on uninitialised value(s)
==939== at 0x1108EA0: ???
==939==
==939== Use of uninitialised value of size 4
==939== at 0x1108E94: ???
==939==
==939== Use of uninitialised value of size 4
==939== at 0x1108EA0: ???
==939==
==939== Invalid read of size 4
==939== at 0x1108EA0: ???
==939== Address 0xbde84004 is not stack'd, malloc'd or (recently) free'd
==939==
==939==
==939== Process terminating with default action of signal 11 (SIGSEGV)
==939== Access not within mapped region at address 0xBDE84004
==939== at 0x1108EA0: ???
==939== If you believe this happened as a result of a stack
==939== overflow in your program's main thread (unlikely but
==939== possible), you can try to increase the size of the
==939== main thread stack using the --main-stacksize= flag.
==939== The main thread stack size used in this run was 8388608.
==939==
==939== HEAP SUMMARY:
==939== in use at exit: 0 bytes in 0 blocks
==939== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==939==
==939== All heap blocks were freed -- no leaks are possible
==939==
==939== For counts of detected and suppressed errors, rerun with: -v
==939== Use --track-origins=yes to see where uninitialised values come from
==939== ERROR SUMMARY: 949 errors from 4 contexts (suppressed: 0 from 0)
Segmentation fault

#15

I found my test pi3b and installed it on there and i notice that if i dont set the resolution using raspi-config it crashes. So it looks like its something to do with the resolution. Try changing the resolution to e.g 1280x1024 and see if it works for you.

Note my kernel is Linux raspberrypi 4.19.118+ #1311 Mon Apr 27 14:16:15 BST 2020 armv6l GNU/Linux

#16

Did a sudo apt update;sudo apt upgrade -y;sync;reboot and it still works fine. Now my kernel is:

Linux raspberrypi 5.4.51-v7+ #1327 SMP Thu Jul 23 10:58:46 BST 2020 armv7l GNU/Linux

So i think it is a resolution issue. You need to set it first

#17

I tried all available resolutions, and updated my kernel to the same, using your command. Sadly still segfaulting. Maybe it's something weird about the Pi3B+, I have heard it has different hardware. I guess I give up.

#18

I just noticed my 3B+ is an ARM v6 board:
Linux J-Pi3 5.4.51+ #1327 Thu Jul 23 10:53:06 BST 2020 armv6l GNU/Linux


processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2835
Revision : 0010
Serial : 0000000079c02fa2
Model : Raspberry Pi Model B Plus Rev 1.

Could that be the cause?

#19

Silly me, this is a Pi model 1 B+. Sure this must be the reason. Guessing your software will not run on this?

#20

I dont know :) Im confused. I ran sudo apt upgrade and it switched from arm6l where it was working to arm7l where it is also working (post #15/#16 above) but i was running on a pi3b (and a pi0w) so i dont know. I think the pi0w and the pi1b have the same cpu looking at raspberry pi on wikipedia

But basically just get a decent recent pi like the pi4 and it will work. they are pretty cheap now

#21

Yes, my Pi is definitely the ARM v6 processor. Thanks for your help so far anyway.

And there's no way for me to test my remote USB device with the console client? The client does list the remote USB devices (there is only one 1 want to test/use, device 1), but I cannot get the OS to see any as a port. It only shows devices on AUTO USE ALL. Specifying USE, 1, for example, says failed.


VirtualHere Client IPC, below are the available devices:
(Value in brackets = address, * = Auto-Use)

Windows Hub (JORDAN-W10:7575)
*--> MEC0003 (JORDAN-W10.1)
*--> Integrated Camera (JORDAN-W10.3)
*--> 0x07da (JORDAN-W10.2)

Auto-Find currently on
Auto-Use All currently on
Reverse Lookup currently off
Reverse SSL Lookup currently off
VirtualHere Client is running as a service

Sorry for all the questions, it's just that I don;t want to buy a license without being able to test/confirm if it will work.

If there is a manual haven're read somewhere, apologies - my understanding is I should be able to see the devices with "lsusb", just like local ports, once this works correctly?

#22

Yeah the console client wont work with the free server