Page 1 of 3

Fully working FingerWorks software in a virtual machine

PostPosted: 09 Mar 2011, 21:13
by TorbenGB
As an alternative to installing The FingerWorks software on Linux (which can be very difficult), I've come up with this fully working alternative. It requires any working operating system in which to install virtualization software (free!), and your own copy of MS Windows XP. I'd love to distribute a ready-made virtual machine but it would essentially be piracy--sorry! I hope this description will help:

  1. Download and install Sun VirtualBox. Make sure you get the PUEL version and not the OSI version, or else USB will not be supported!
  2. Download the extension pack to get USB support.
  3. Create a new virtual machine for Windows XP.
  4. Go to VirtualBox settings. In USB settings, create a new device filter that has only the Vendor ID "0e97" set. All other fields (except the filter's name) should be blank!
  5. Any and all FW devices will now be enabled in the session, because the virtual machine now has it's USB filter set to match only the Vendor ID and not any Product ID or product name -- including FW devices in DFU mode, which is very important. The price we pay for this is that we must plug in another set of mouse/keyboard while we run this virtual machine.
  6. Plug in a normal mouse&keyboard (to actually control your computer!).
  7. Boot the virtual machine.
  8. Install Windows XP in VirtualBox.
  9. Install the Windows version of the FingerWorks software.
  10. Plug in the FW device you want to configure.
  11. Right-click the USB icon in the virtual machine window's footer and make sure the FW device has a check mark.
  12. Windows XP will detect your USB devices including the FingerWorks device. Select "Let Windows find drivers automatically" (they're installed along with the FW software so this will work out fine).
  13. Start the FW software, it will now find the FW device.
  14. Do whatever configuration you like, then upload to the FW device.
  15. When you're done, don't shut down Windows but instead close the virtualbox session window. You now have the option to save the machine state which is faster than booting Windows again next time you need it.
  16. You can now disconnect the normal mouse/keyboard again.

When you need to change your FW settings, plug in a normal mouse/keyboard again and begin at step 14 above.
Done!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 11 Mar 2011, 14:42
by ivanw
That's some job! Virtualization is not an easy step for no-geek-user but it's not quite out of reach and it will keep those fw antiques working for years to come. Survival requires some doing and this solution seems to be the smart one.

Thanks Torben, Again!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 15 Apr 2011, 02:39
by dongadoy
I've been configuring my TouchStream using VirtualBox for some time. But I did not know about the tweak to the USB settings. The automatic handling of the USB connection is wonderful. It used to be a pain because I don't use it enough to remember the idiosyncrasies; now I don't have go worry about it - except that it can sometimes take 30 seconds to transfer the Touchstream from the main computer to the virtual machine.

Thank you very much, Torben!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 15 Apr 2011, 21:53
by ShawnMcCool
Torben, I have gotten the VM configured and my touchstream passes sensor tests. However, when I launch the gesture editor there are no gestures on the left at all. When I try to make configurations on the right then TRANSFER TO DEVICE it says, "The configuration you've been editing is for another product."

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 16 Apr 2011, 19:22
by TorbenGB
@Shawn, it does sound like the software is offering you the configuration for an iGesture, which is only the right-hand side.

When you start the configurator, check what's loaded, or even better start from scratch to create an all-new configuration file for your TouchStream.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 18 Apr 2011, 10:55
by The00Dustin
Shawn,
Pop up the diagnostics utility and see what device it says is attached. I'm not sure what you'd do if it says iGesture, but I'm guessing it wouldn't be manage to reconfigure the left side as well. This almost sounds familiar, as in it might have happened to someone once before back when FingerWorks still existed and could fix it under warranty. If so, a skilled person might be able to look at a repair thread, replace a certain device on your thread with a new, reprogrammed one, assuming the appropriate programming is available (obviously they couldn't copy the wrong information off of yours). Incidentally, Torben, do you know if anyone ever backed up and provided each device's programming to this site? That would be good to have too, even if there is only one person who has ever reprogrammed one, the information could allow another person to figure it out in a bind.
Dustin
Dustin

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 18 Apr 2011, 19:04
by TorbenGB
The00Dustin wrote:Torben, do you know if anyone ever backed up and provided each device's programming to this site? That would be good to have too, even if there is only one person who has ever reprogrammed one, the information could allow another person to figure it out in a bind.


Well, I've corresponded with one person who says he has the ".jed files for the FPGAs used in the keyboards -- one needs them in order to program a new FPGA." but he can't place them on a public page because of copyright considerations. I'm not hardware-y enough to understand your question or this answer, but it might be what you mean? I also don't know where to put such files, but it's at least good to know that we have archive copies backed up.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 18 Aug 2011, 03:29
by ahales
Hi!

I got two fpga files from a magic hand around here.
However, they are named xilinx1.jed and xilinx2.jed.

i dont know which one should be loaded on the right hand side fpga and which oneonthe lwft one.

I am afraid on trying them, since a wrong config file could potentially damage the hardware.

None of the two files verifies what is in the current (non working) fpga s. I hope this means they got de-programmed somehow. Although this could also mean the files could correspond to an older version of the files ? My keyboard was possiboy one of the last ones made by fingerworks. I bought it new in england back in 2005.

any help ?

thanks !
a

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 18 Aug 2011, 08:12
by TorbenGB
I sent you an e-mail response.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 12 Oct 2011, 13:25
by ken gray
oh, boy...I guess I'll have to 'buy' a non-oem version of Windows XP! geeeez....I mean....geeez!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Dec 2011, 11:46
by TorbenGB
A person named "Peter" sent me a direct message but did not leave any contact information. Peter, if you read this please post your question here. Thank you!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 26 Dec 2011, 15:42
by cradle
Virtutal machine solution not working, yet almost?
Sorry Torben: I am "Peter"and not familiar with posts. Will put my question again and this time as it should be done:

Installed Oracle Virtualbox with XP, followed your instructions as written earlier. Went very good, started the VM with just one usb = LP board. Board is recognised until I start the transfer: connection with the board is lost and nothing happens.

Have you got any suggestion how to proceed??

Many thanks!!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 28 Dec 2011, 21:43
by TorbenGB
Hi Peter alias cradle!
I *think* that the problem is that when the FW software starts to configure the TSLP, the first thing it does is set it into "DFU mode". That's a technicality, but the result is that your computer now no longer sees the device as your trusty old TSLP but rather as a *different* device that is now in DFU mode. So you would have to tell your VM software to route not only your TSLP but also this DFU device to the virtual XP machine. When you do that, XP should recognize the device ("ah, there you are, I've been looking for you") and carry on with the configuration, then put it back into normal operating mode.

You could also set up your VM software to route *all* USB devices to the VM machine, but if you do that then first make sure that you have a non-USB mouse and keyboard connected, or else you won't be able to control the host computer anymore!

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 07 Feb 2012, 20:31
by ken gray
Odd thing for me to get this to work. I have to unplug it first start up the VM session then plug it into a port ON the computer box then use another USB mouse to make the changes and load them.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 10 Feb 2012, 22:51
by nomaded
Man, this is such a pain to even get to the point where I could attempt to try to see if FingerWorks software will even see the keyboard. I couldn't figure out how to get VMware Fusion to grab the USB device for the keyboard.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 13 Feb 2012, 19:25
by nomaded
So, as an update to this, I had no real luck getting an XP VM under Oracle VirtualBox to update my MacNTouch I have at work. The biggest hurdle I had was trying to get XP to correctly load the DFU driver. I don't know why it wasn't loading on its own.

I was eventually able to get the DFU driver to load by starting up a 2nd XP VM and attempting to load a new gesture config. This caused the first VM to load the driver. Even then, I couldn't get the Utility to fully load a new gesture config. I was able to somehow toggle the keyboard, in DFU mode, to detach/attach at the right time via the little USB toggle, to load the new config. But the last (?) step, where the keyboard needs to load the last piece of the config, didn't happen, so I ended up with a partially programmed MacNTouch - aka dead weight.

I ended up bringing it home with me over the weekend, where I still had an old laptop that had XP running, and was able to reload the 1.6.0 firmware, and then upload my custom gestures. Of course, now that I'm back at work, I find that I need to tweak the config (I didn't have a copy of the original config that I had loaded onto the MacNTouch years ago), and needing to wait til I bring the keyboard home (or more likely, bring the old laptop back to work with me tomorrow).

I'd be much happier if I could get the Utilities to work correctly in a VM at work, or even in W7. *sigh*

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 13 Feb 2012, 19:54
by dongadoy
A few months ago my work computer migrated from WinXP to Win7. I installed VirtualBox and copied the Win2000 virtual machine I am using at home with my Vista computer. I was successfully in configuring my Touchstream with the Fingerworks MultiTouch Utilities. It's certainly not easy; but it's better than the alternative - not that there is really any alternative.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 22 Feb 2012, 01:54
by nomaded
nomaded wrote:I'd be much happier if I could get the Utilities to work correctly in a VM at work, or even in W7. *sigh*


Since I had a little free time this afternoon, I decided to give the VirtualBox VM another try. This time I installed VirtualBox on my work MacBook Pro (that already has VMware Fusion installed). And instead of using XP, I happened to find the install media for a copy of Windows 2000 at home. Based on dongadoy's comment (and the fact that I think I was originally running my first TouchStream with W2k), I figured it wouldn't hurt, and the resources needed by W2k would be much less than XP.

Following Torben's instructions, everything went smoothly. I was able to plug my MacNTouch into my MBP and the diags saw it correctly. Since I disconnected networking from the W2k VM, I just mounted by Dropbox directory from the MBP so that I could reload the same config that I had used previously. I'm glad I have a working VM. Hopefully, this solution will continue to work in the future.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 21 Apr 2012, 16:55
by David.P
Hi guys,

I was wondering whether there has been any success installing and using the MultiTouch Utilities in Windows Virtual PC (by Microsoft)?

(Actually installing and running the FingerWorks software is no problem -- it just does not recognize the Fingerworks hardware)

Thanks for any help!

Regards
David

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 21 Apr 2012, 20:57
by TorbenGB
I'm not familiar with 'Windows Virtual PC' but it's great to hear that you got the software to run -- that is the most difficult part, usually.

As for connecting the hardware, the virtual pc software should have some settings where you can choose or configure which of the host's USB devices will be routed through to the virtual machine. This is fairly straightforward on VirtualBox as discussed above, so I would expect it to be similar in 'Windows Virtual PC' too. Remember that when the virtual machine starts configuring your FW device it will no longer be usable to the host system, so be sure to have another set of keyboard&mouse connected.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Apr 2012, 10:47
by David.P
Thanks for your reply, Thorben.

You're correct, Windows Virtual PC also has a setting for choosing which USB devices are routed to the virtual machine. However, this doesn't seem to include mice (these are connected to both the host and client automatically, but only as standard PS2 mouse).

In below screenshot of the XP virtual machine it can be seen that there are only two other devices (a scanner and a USB sound card) that could be routed to the virtual machine, but no Fingerworks device). Thus, the Multi Touch Utilities can't find the iGesture Pad (which however is connected and working in the virtual machine as a standard mouse).

Image

Amazingly, after installing the Multi Touch Utilities in the virtual machine, they even can be launched directly in the host system (Windows 7) like shown in below screenshot:

Image

(here, Multi Touch Utilities runs two times, one via the virtual XP machine (see the XP titlebar design!), and another instance running directly in the Windows 7 host). Both however don't recognize the iGesture Pad :(

Anyway, for the time being it looks like I will keep a real Windows XP installed on a hard drive somewhere, just in case.

Thanks
David.P

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Apr 2012, 14:36
by The00Dustin
David, I think you are running in XP Mode, which means the utilities are still run in the XP machine, the display of the app is just redirected to the Win7 desktop where Win7 controls the window format. However, because it is still technically running in the VM, teh same limitations apply as running while the VM is booted. Unfortunately, I haven't messed around with making this work in a VM myself, so I can't help more than to explain what you are seeing.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Apr 2012, 14:56
by David.P
The00Dustin wrote:I think you are running in XP Mode, which means the utilities are still run in the XP machine, the display of the app is just redirected to the Win7 desktop where Win7 controls the window format.


Yes, Dustin, that is of course correct.

What I also tried with no success: Extracted all files in the Fingerworks software package, and then directed Windows Hardware recognition to the driver *.inf file (\setupfw160\Resource1\C_\dk\jusb\bin\wxp\inf\fingerworks.inf)

But Windows 7 complained that this is not a 64-bit driver....

It seems that it is generally impossible to install 32bit drivers into 64bit Windows (there seems to be not even a compatibility mode for drivers, only for programs).

Regards David

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Apr 2012, 22:15
by nomaded
I have tried to get the Multitouch Utilities to work in both VMware Fusion and Windows XP Mode/VirtualPC, but neither worked correctly. It works with VirtualBox because you can explicitly go into the USB config with VirtualBox to tell it to match the Vendor ID used by the FingerWorks device.

Note, the FingerWorks devices will show itself as 2 different devices - 1 when in keyboard/mouse mode (HID), and 1 in DFU mode when it's being programmed. My initial problem was that Windows was not correctly loading the DFU USB driver when the Multitouch Utilities would put the Touchstream into DFU mode.

Re: Fully working FingerWorks software in a virtual machine

PostPosted: 23 Apr 2012, 22:19
by nomaded
David.P wrote:What I also tried with no success: Extracted all files in the Fingerworks software package, and then directed Windows Hardware recognition to the driver *.inf file (\setupfw160\Resource1\C_\dk\jusb\bin\wxp\inf\fingerworks.inf)

But Windows 7 complained that this is not a 64-bit driver....

It seems that it is generally impossible to install 32bit drivers into 64bit Windows (there seems to be not even a compatibility mode for drivers, only for programs).


The real problem is that the Multitouch Utilities was written with a specific version of Java in mind. At this point, that version of Java is no longer supported by Windows 7 (and OS X 10.6 and later). Specifically, the problem is the Java USB driver from what I remember when this problem initially came up a few years ago. Your best bet is to get XP or 2000 working in VirtualBox.