SPOTs on 64-bit Windows 7

This is an edited copy of a post I made to the Sun SPOT hardware forum.

SPOTs had not been working with 64-bit Windows and I decided to investigate why. I installed 64-bit Windows 7 on my home computer and found issues with the USB driver and rxtx. 

First install the 64-bit java SDK and Apache ant 1.8. Setup the environment variable and path as you would before. You can now run SPOT Manager jnlp from a browser to install the SPOT SDK. I didn't install Net Beans and so I'm no help there. UAC (User Account Control) did get in the way and since there are very few executables in the SPOT SDK, I stuck it elsewhere. Other than a few cosmetic issues, the Spot SDK install worked fine. 

We have used the standard CDC/ACM virtual COM port driver usbser.sys and it does exist for 64-bit Windows. The setup file needs instructions for 64 bit systems to work and the old SPOT setup file predated 64 bit Windows. I rewrote the setup file and it can be downloaded here. Right click on the link and select save link as... I would create a folder 'driver' in you SPOT SDK and copy the new SunSPOT.inf file into that folder. 

Plug in a SPOT and let it enumerate. You should get a popup which says no driver found or new hardware found. If you have new hardware popup, follow the wizard and browse to your driver directory.

If you get no driver found, install it manually. Go into the control panel and select System and then, Device Manager. Under "Other Devices" should be "Sun SPOT". Right click on "Sun SPOT" and select Update Driver Software... It should launch a wizard which will ask Search or Browse for driver software - select browse. Next browse for the driver directory and hit apply. It will come up with a warning about not being signed, select install this driver software anyway. After a few seconds it should say, "Windows has successfully updated your driver software". The device manager should show Sun SPOT in the Ports category with the virtual COM number assigned. It should now show up in SPOT Manager or test it through command line by running spotfinder in the SDK bin directory. You can also launch a terminal emulator and set baudrate to 115200, 8 bit, no parity, one stop. Push the power button on the SPOT and it should print the bootloader message. Close the terminal emulator to free up the port. 

I tested this driver on Windows XP 32-bit and Windows 7 64-bit. It should work for other versions of Windows including Vista but I haven't tested it. I ran the chkinf script from the Windows Driver Kit and it only complained about not being signed. We are looking into getting that resolved but shouldn't affect installation on non-server Windows systems.

Next thing needed is to fix rxtx. We install a 32 bit rxtx and there are problems with it on 64 bit system. Cloudhopper Opensource Lab (http://www.cloudhopper.com/opensource/rxtx) has a site with precompiled 64-bit binaries for rxtx. Go there and download the Windows-x64.zip file. Unzip this file and copythe  rxtxserial.dll and RXTXcomm.jar files into your SDK lib directory then reboot Windows.

You should now be able to use ant to talk to the SPOTs. Try ant info from the command line (or SPOT Info in the SPOT Manager). 

My next test was to upgrade which worked ok. I have been using it for a few weeks with no issues yet. If you encounter bugs or problems with this specifically, please post to the hardware forum.
Thanks,

Bob

Comments:

i tailored your .inf file and it works perfect on 32bit xp, 64bit win7 and 64bit vista. not managed to launch it on 64bit xp. possibly due to Microsoft own fault, because on 32bit xp i had to make patches (KB918365 and KB935892 for SP2), and cant i find something similar on 64bit system. but it already covers 99% of windows based systems :)

Posted by karpis on August 23, 2010 at 04:46 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

user12611170

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today