Cant share Raspberry pi 2 USB keyboard and mouse

hello i dont manage to share the usb mouse and keyboard of my pi2 (server) from a linux client station on the LAN:

server side I did

sudo ./vhusbdarmpi2 -b

and client side in one terminal

sudo ./vhclientx86_64

then in another terminal

./vhclientx86_64 -t "USE,raspberrypi.114"

more /var/log/syslog | grep vh client side says :

Jan 23 18:48:00 localhost VirtualHere: Using config at /root/.vhui
Jan 23 18:48:00 localhost VirtualHere: IPC available at /tmp/vhclient
Jan 23 18:53:30 localhost : ValidateParameters: Note: InterfaceID 0000000002C50FC0 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (SRV) not currently found in active interface list
Jan 23 18:53:30 localhost : ValidateParameters: Note: InterfaceID 0000000002C50FC0 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (TXT) not currently found in active interface list
Jan 23 18:53:31 localhost : SendQueries: No active interface 0000000002C50FC0 to send old question: 0000000002C50FC0 VirtualHere\032USB\032Sharing._vhusb._tcp.local. (SRV)
Jan 23 18:53:31 localhost : SendQueries: No active interface 0000000002C50FC0 to send old question: 0000000002C50FC0 VirtualHere\032USB\032Sharing._vhusb._tcp.local. (TXT)
Jan 23 18:54:30 localhost : ValidateParameters: Note: InterfaceID 0000000002C511E0 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (SRV) not currently found in active interface list
Jan 23 18:54:30 localhost : ValidateParameters: Note: InterfaceID 0000000002C511E0 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (TXT) not currently found in active interface list
Jan 23 19:10:01 localhost : ValidateParameters: Note: InterfaceID 0000000002C58900 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (SRV) not currently found in active interface list
Jan 23 19:10:01 localhost : ValidateParameters: Note: InterfaceID 0000000002C58900 for question VirtualHere\032USB\032Sharing._vhusb._tcp.local. (TXT) not currently found in active interface list

more /var/log/syslog | grep vh server side says :

Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2658]: >>> Starting VirtualHere USB Server v2.6.8 (Built: Jan 13 2016, 20:39:43)<<<
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2658]: Using configuration /home/pi/Downloads/config.ini
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2659]: Server licensed to=unlicensed max_devices=1
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2659]: Using large URB's
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2659]: TCPServer starting...
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2659]: Listening on all network interfaces at port 7575
Jan 23 18:49:29 raspberrypi vhusbdarmpi2[2659]: Found Full speed device [046d:c534] "Logitech, USB Receiver" at address 114
Jan 23 18:49:31 raspberrypi vhusbdarmpi2[2659]: Callback: #027VirtualHere USB Sharing#006_vhusb#004_tcp#005local Name Registered
Jan 23 18:50:02 raspberrypi vhusbdarmpi2[2659]: 192.168.1.10 connected

thank you for support, it's very strange because
- i successfully checked the same client with another linux (laptop ubuntu) as server
- i successfully checked the same server with another linux (laptop ubuntu) as client (only difference in that case is that i can use the gui version)

#2

For the free version of the server, you can only use the GUI client.

#4

Yes GUI is only Ubuntu. Or run the console client in a shell with & disown the run it again with -t to communicate with the process

#5

I eventually managed to figure out that the problem is server side: vhusbdarmpi2 does'nt want to share, sharing only works with vhusbdarm , ... at least when using a console client, is that normal? I have to mention that on my pi2 512 Mega is allocated to the GPU

#6

Yeah you cannot use vhusbdarmpi unless you purchase it, however you can use vhusbdarm for free for one device

If you type readelf -A ./vhusbdarm and readelf -A ./vhusbdarmpi2 you will see the different CPU features that are used. Its mainly hardware floating point instructions and special register optimizations. ARM instruction sets are backwards compatible so the general build of VirtualHere uses a common reasonably recent instruction set which i decided was armv5te. Anything newer than that would work quite a bit better with the optimized version. The pi2 uses armv7 instruction set and the pi uses the armv6 instruction set . Also most new arm instructions sets support floating point in hardware but there are different float-point for different arm processors, and some e.g router chips dont have hardware floating point at all but extra cpu optimizations e.g cortex-a9

In reply to by Michael

#9

So far, i only need to share keyboard and mouse of my pi2 and i already noticed slow reaction and lag of the mouse , with vhusbdarm. there are two quite CPU and GPU consumming tasks taking place in parallel (image and sound through gstreamer) so i had to split my memory in 50% GPU, 50% CPU. yet the overall CPU load is not more than 30% , that's why i'm wondering what could explain a drop in performance with vhusbdarm and if it could be a priority issue that could be solved by increasing the priority of virtualhere process (for either access to memory or cpu cycles) ... but i need to retest to confirm because in at least another trial (with another client) the mouse motion was fluid... (?!)

Mouse usb data is very small and periodic (interrupt type transfer) so im surprised the normal build is slow. vhusbdarm the non optimized build should easily be able to handle it. So i think its a network bus issue, i think your gstreamer etc is taking most of the network bandwidth and that virtualhere is not getting much time to send its data. I dont think its a cpu problem, i think its an I/O bottleneck