Composite HID/Serial device not fully recognised

Hi there,

I've been trying to use an EDTracker (http://www.edtracker.org.uk) with VirtualHere. Server is MacOS High Sierra, client is Windows.

It's a composite device offering a virtual serial port and a HID (3 axis joystick). The serial port connection worked well under the trial version, but the HID side of it never showed up.

I though this was because the trial only allowed one connection, and this must count as two, but on upgrading to a licensed version I see the same behaviour. This is upsetting as, to be honest, this HID component is the only reason I need VirtualHere!

Is there anything I'm doing wrong, or have missed?

I've attached the server log below.

Thanks for your help,

BW.


Nov 13 21:05:50 bishop vhusbdosx[590] : >>> Starting VirtualHere USB Server v3.7.8 (Built: Oct 14 2018, 16:06:35)<<<
Nov 13 21:05:50 bishop vhusbdosx[590] : Warning, cannot lookup the exe path, 22 (Invalid argument) (defaulting to HOME)
Nov 13 21:05:50 bishop vhusbdosx[590] : Using configuration /Users/dh219/config.ini
Nov 13 21:05:50 bishop vhusbdosx[590] : Server licensed to=W801541SATN max_devices=unlimited
Nov 13 21:05:50 bishop vhusbdosx[590] : Listening on all network interfaces at TCP port 7575 (IPv6 dual-stack)
Nov 13 21:05:50 bishop vhusbdosx[590] : Found Full speed device [05ac:8213] "Apple Inc., Bluetooth USB Host Controller" at address 107020288
Nov 13 21:05:50 bishop vhusbdosx[590] : Found Low speed device [05ac:0221] "Apple, Inc, Apple Keyboard" at address 641859584
Nov 13 21:05:50 bishop vhusbdosx[590] : Found Low speed device [05ac:8242] "Apple Computer, Inc., IR Receiver" at address 105906176
Nov 13 21:05:50 bishop vhusbdosx[590] : Found Full speed device [05ac:0237] "Apple Inc., Apple Internal Keyboard / Trackpad" at address 103809024
Nov 13 21:05:50 bishop vhusbdosx[590] : Found High speed device [05ac:8403] "Apple, Internal Memory Card Reader" at address 638582784
Nov 13 21:05:50 bishop vhusbdosx[590] : Found High speed device [05ac:8507] "Apple Inc., Built-in iSight" at address 610271232
Nov 13 21:05:54 bishop vhusbdosx[590] : Found Full speed device [2341:8036] "Arduino LLC, EDTracker EDTracker2" at address 68157440
Nov 13 21:06:44 bishop vhusbdosx[590] : 192.168.0.69 connected as connection 1
Nov 13 21:06:44 bishop vhusbdosx[590] : Device 68157440 [2341:8036] BOUND to connection 1

#2

OK, try this, right click on the device in the virtualhere client before you use it and select Custom Event Handler... and enter

onReset.$VENDOR_ID$.$PRODUCT_ID$=

then press ok. Now right click on the device and select Use and see if it works then. It might not like a USB RESET sent to it which occurs when virtualhere grabs the device.

I assume you are using win10 as the client?

#3

Thanks for coming back.

Yes, sorry, Win10 client.

I've tried that Event Handler -- no difference. The COM port still shows up, but not the 'joystick'.

Any other thoughts? Is there some further debugging info I can send you?

Thanks again,

BW.

#4

I took a look at their website. As best as i can tell they use an ardino (which uses a serial usb interface) to write to the flash on the arduino which then becomes an HID device for the joystick. Something i think is resetting the firmware when you capture it via virtualhere. Do you have a linux pc or raspberry pi etc? If so it might be worth trying virtualhere on that server because linux has more control over the usb port than windows or osx does. For example in linux you can control exactly what commands are sent to the device and certain commands that might mess up the firmware loading can be skipped in linux (like the reset and the setConfiguration).

#5

I'll give it a try with a Raspi over the weekend. Thanks.

The way it normally works is to expose both the virtual serial port (for calibration) and the HID simultaneously. The Mac sees the HID natively, as does the windows box when connected direct, so there's definitely something either confusing Virtualhere or, as you suggest, Virtualhere is confusing it.

Is there any additional debug functionality I can enable to help track it down?

Regards,

BW.

#6

OK in the pi before you run the vhusbdarm file can you create the config.ini file in the same directory then add this to the config.ini file

ClaimPorts=1
onReset.2341.8036=

then save the config.ini file then start the vhusbdarm

#7

Right, I set that up on the raspi and it worked a treat, thanks. I actually removed that config file and tried again and it worked with vanilla configuration too?

From what you were saying, is this something, therefore, that's likely a limit with Macos as host?

Cheers,

BW.

#8

OK thats great and quite surprising. I thought it would requires those settings in the config.ini. Anyway if it works ok without them thats fine too.

I dont know why the mac doesnt work. My best guess is there is some firmware inside the arduino that runs the HID (and serial) and that boots and somehow gets lost when the port is captured by virtualhere.

#9

Is there anywhere else we can go with this?

Failing that, if I were to build up a raspi zero to act as a mini host hub, would it be possible to transfer my licence to it?

Thanks,

BW.

#10

No you will need to use linux for this. If you want to setup a pi0 thats fine, i transfer your license. When you are ready just email me your serial number by right clicking USB Hubs->License...->Copy to clipboard and paste into an email.

#11

OK, that's a shame, but thanks for offering to transfer the licence.

I'll order the parts and build one up and drop you an email when it's ready.

Many thanks again for the quick support,

BW.

#12

Hi Micheal,

I've built this up and sent over the new details to your mail@ address.

Many thanks,

BW.

#13

Did you get the code ok? Im not sure i received your email?

#14

Hi,

No, no response yet. I'll resend my mail. Is mail@ the correct address?

Regards,

BW.