vhclientarmhf can see devices but using them results in a FAILED error

I must be doing something wrong.. Any help greatly appreciated.

Using two Raspberry Pi2 devices. Right now I can see remote USB devices on one Pi from the other:


# ./vhclientarmhf -t list
VirtualHere Client IPC, below are the available devices:
(Value in brackets = address, * = Auto-Use)
USB Hub (007bb91:7575)
*--> USB Flash Disk (007bb91.114)
*--> 0xec00 (007bb91.111)
Auto-Find currently on
Auto-Use All currently on
Reverse Lookup currently on
VirtualHere Client is running as a service

Great.

Remote USB devices don't show up under lssub however:

# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Trying to manually add a device results in FAILED?:

# ./vhclientarmhf -t "USE,007bb91.114"
FAILED

Looking for logs in this case to help debug but not having much luck.

#2

If the server has not been purchased, you cannot use the linux console client and it will return "FAILED" when you try to use a device

#4

Playing around .. if I install the license, the usb connection goes up and down; eventually crashing (I guess) the network interface logging me out from ssh.

If I remove the license, all is stable again.

Any ideas?

#5

Ok , the reason it is dropping out is because you are auto-using the device:

*--> 0xec00 (007bb91.111)

that is the usb device that provides the network interface to the pi. You must not use that device.

To remove the auto-use:

1. Exit the virtualhere console client by typing ./vhclientarmhf -t EXIT
2. Edit the .vhui file in your home directory and remove the auto-use lines then save
3. Start the daemon again like this
sudo ./vhclientarmhf -n
4. Run ./vhclientarmhf -t LIST
5. Now just auto-use the device you want e.g

./vhclientarmhf -t "USE,007bb91.114"

(When you have an unlicensed server the client wont use any device in console mode. However once you license the server you will use those devices so you lose the ethernet link as its connected to ec00)

#6

Yep, that was it. Adding manually seems to do it. Last question then.

We're trying to access Fadecandy devices (https://www.adafruit.com/product/1689) on other Raspberry Pi units in the local network. This will allow us to create a distributed LED light show across a large number of devices.

VirtualHere between Linux devices works!

# lsusb
Bus 002 Device 023: ID 1d50:607a OpenMoko, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

(OpenMoko is the Fadecandy controller.)

And it's the only solution I've found that works.

However the Fadecandy server (https://github.com/scanlime/fadecandy/tree/master/server) doesn't seem to recognize the USB device on Windows:

[1517872243:2974] NOTICE: Server listening on 127.0.0.1:7890
USB device Fadecandy (Serial# TJEPSIPBPPXLNFYP, Version 1.07) attached.
Waiting for Windows to install Fadecandy driver. This may take a moment...
Waiting for Windows to install Fadecandy driver. This may take a moment...

Which would be nice for testing.

Any suggestions?

#7

OK im pretty sure the windows client is not detecting the device remoted via virtualhere because its using a very old version of libusbx. That seems to just assume that Host Controller (HCD) are PCI based. The VirtualHere USB 3.0 eXtensible Host Controller actually is "ROOT" based so it doesnt have a PCI parent. I think you would need to patch libusbx in the github repository to make sure it can accept HCD's without being PCI based.

#8

Apologies, having trouble with this again. I have a license for one Raspberry device for which I have reinstalled the OS.

Serial number as per /proc/cpuinfo is the same. I install the RPI3 server from https://www.virtualhere.com/usb_server_software and then register it via vhui64.exe, which seems to work.

Connecting from my other RPI however results in FAILED:

# ./vhclientarmhf -t use,931bee1.114
FAILED

Are there any logs that will allow me to determine if the registration was really successful?

Thanks

#9

Actually, I can confirm that the license is not taking. Rebooting my Window box and trying to access a USB drive plugged into the RPI results in:

"This server trial has expired, please purchase a license to continue using."