<DONE> SpaceNavigator Driver - Mouse Joystick Keyboard

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Locked
voodoofox
Posts: 5
Joined: Thu Sep 11, 2008 12:50 pm

Post by voodoofox »

I really hope this driver can soon work for x64...
Is there any way that I can make it work as joystick driver only?

Thanx in advance!
jwick
Moderator
Moderator
Posts: 3417
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

Could any of you who would like to participate, do as this kind fellow did and use this other thread to mention what joystick apps you are using.

Many thanks.
Jim
3Dx Software Development
Last edited by jwick on Wed Jan 07, 2009 10:24 am, edited 2 times in total.
ulao
Posts: 1
Joined: Wed Jan 07, 2009 10:03 am

hope this will work

Post by ulao »

I'm not sure this will work for me but I sure hope so..

I dont not have any space devices. I need my joystick to a pear the my os as a mouse. I know there are mouse cursor control apps out there but they wont do. I need a drive thats will show up as a mouse device but allow movement via a joystick, can I get that to work with this somehow?
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

RBC9 x64 driver

Post by Omniflux »

pi3573 or anyone else working on a 64 bit driver...

I can compile RBC9's unmodified driver for x64 and with a modified INF file install it in Windows XP 64 SP2, however it still does not work correctly....

The USB Human Interface Device becomes RBC9 SpaceNavigator MouJoyKey v2
I get a new keyboard device (HID Keyboard Device)
I get a new mouse device (HID-compliant mouse)

In the game controllers control panel I get a new controller (RBC9 SpaceNavigator MouJoyKey v2) with a status of OK

When I use the control panels game controllers test utility, I have a working Z Axis, Z Rotation, Button 5/Slider, and Button 1/2 (The buttons are not working correctly, but that may be because my keyboard software has linked them to my volume control keys...)

So far so good.

I do not have X and Y axis or rotation, and RBC9's UserMode tool does not recognize the SN.

Have you been able to get this far or farther? If so, an update would be appreciated, if not, or if I do not get any positive responses, I will continue to work on this alone as time permits, but that could mean months from now, if ever. I would rather work with someone who has some time and ambition, however.

--
Omni Flux
EquiGym
Posts: 9
Joined: Fri Dec 26, 2008 9:49 am
Location: Lexington, Kentucky
Contact:

Post by EquiGym »

Hello Omniflux and welcome to the forum.
I have not been able to compile the RBC9 code as yet.
At this point I'm getting the following:
Error 1 error PRJ0019: A tool returned an error code from "Performing Makefile project actions" RBC9-SpaceNav.WLH
Warning 2 Windows Installer is not included in any selected prerequisite D:\~Proj~\Dev\RBC9 - SpaceNavigator Source\RBC9 - Install\RBC9 - Install.vdproj RBC9 - Install

My environment as follows:
Win Vista x64 Enterprise
VisualStudios2005
Microsoft Windows SDK v6.1
WDK 6001.18002

I would like to continue this effort with your assistance.
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

Post by Omniflux »

My environment is:
Win XP Pro x64 SP2
Visual Studio 2008
Windows SDK for VS2008 (6.1.5288.17011)
Windows Driver Kit 6.1.6001.18002
ddkbuild.cmd 7.3/r27 from http://ddkwizard.assarbad.net/

I put ddkbuild.cmd in a directory in my path and added

Code: Select all

@set WLHBASE=C:\WinDDK\6001.18002
near the beginning.

In the RBC9-SpaceNav Solution in Properties -> Configuration Properties I changed the Platform to x64.

In the RBC9-SpaceNav.WLH Project in Properties -> Configuration Properties -> NMake I changed the Build Command Line and Rebuild All Command Line parameter from WLH to WLHNETX64.

For Vista, you may need to use WLHX64 instead. I am not sure...

In the directory RBC9 - SpaceNavigator Source\RBC9-SpaceNav I replaced usbd.lib and hidclass.lib with the appropriate 64bit versions from C:\WinDDK\6001.18002\lib\wlh\amd64

At this point I am able to rebuild the entire solution.

To manually install the driver for testing, instead of using the installer, I had to make some modifications to the INF file.

Code: Select all

[Version]
Signature="$CHICAGO$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%prov%
DriverVer=12/25/2006, 2.0.1

; Driver information
; ------------------
[Manufacturer]
%Mfg%=DeviceList,NTamd64

[DeviceList.NTamd64]

%RBC9_BAL.DeviceDesc%	=Install, USB\VID_046D&PID_C621		; SpaceBall
%RBC9_NAV.DeviceDesc%	=Install, USB\VID_046D&PID_C626		; SpaceNav
%RBC9_PIL.DeviceDesc%	=Install, USB\VID_046D&PID_C625		; SpacePilot
%RBC9_TRA.DeviceDesc%	=Install, USB\VID_046D&PID_C623		; SpaceTraveler


; Installation section
; --------------------
[DestinationDirs]
DefaultDestDir = 12

[Install.NTamd64]  ; Installation script for Windows 2000/XP
[email protected]
AddReg=UpDateRegistry

[UpDateRegistry]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,RBC9-SpaceNav.sys

; Defining Service
; ---------------------------
[Install.NTamd64.Services]
Addservice=RBC9SpaceNavigator, 0x00000002, Service_Info

[Service_Info]
DisplayName    = %Service_Description%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\RBC9-SpaceNav.sys


; Strings
;-------------------
[Strings]
prov="RBC9"
Service_Description="RBC9 SpaceDevice Driver MouJoyKey"
Mfg="RBC9"


RBC9_NAV.DeviceDesc="RBC9 SpaceNavigator MouJoyKey v2"
RBC9_PIL.DeviceDesc="RBC9 SpacePilot MouJoyKey v2"
RBC9_TRA.DeviceDesc="RBC9 SpaceTraveler MouJoyKey v2"
RBC9_BAL.DeviceDesc="RBC9 SpaceBall MouJoyKey v2"
I think this will take care of the Error you are seeing, however I am not sure what to do about the Warning...

--
Omni Flux
EquiGym
Posts: 9
Joined: Fri Dec 26, 2008 9:49 am
Location: Lexington, Kentucky
Contact:

Post by EquiGym »

Excelent Omniflux
I'll be implementing your methods in the next day or so. I need to finish some prints to fab, then I'll be reopening my dev. env. and get right into this.

I understand everything including the INF (x64 tends to force that), except ddkbuild.cmd. If you don't mind a little info on the following:
ddkbuild.cmd 7.3/r27 from http://ddkwizard.assarbad.net/
I put ddkbuild.cmd in a directory in my path and added
Code:
@set WLHBASE=C:\WinDDK\6001.18002
near the beginning.


If I understand right, DDKBUILD.cmd is to be somewhere in the system path & a new system env variable WLHBASE created & pointed to the location of DDK.
Is there more that need be done with DDKBUILD?

Thank you again for your efforts. I and alot of other people have be highly anticipating an x64 port of RBC9. I hope we can deliver.
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

Post by Omniflux »

If I understand right, DDKBUILD.cmd is to be somewhere in the system path & a new system env variable WLHBASE created & pointed to the location of DDK.
This is correct. DDKBUILD.cmd is necessary for Visual Studio to build drivers using WinDDK unless you want to put a lot of work into changing the VS settings yourself. I think it is supposed to auto detect the location of your DDK, but it did not work for me, so I added the WLHBASE variable to the beginning of the cmd file. You could also set it in your system or user environment.
Is there more that need be done with DDKBUILD?
Not that I know of.

--
Omni Flux
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

Post by Omniflux »

Are you a daring x64 user? Willing to risk a blue screen of death or worse for the chance to get a working RBC9 SpaceNavigator driver?

It may be your lucky day! (And it may not be...who knows?)

I have an unmodified RBC9 driver built against the x64 DDK.
I have a modified INF file to install the driver.
I have a modified user space application to correctly identify HID devices on x64.

These appear to be working correctly on my XP64 SP2 system, however they have had very limited testing. If they crash your system, I cannot help you. If you let me know they crashed your system, I may be able to fix the driver or user space application. Probably not though as I don't have any experience with windows drivers.

Either way, if you try these, please post your results here to help others decide whether or not to try them as well.

I am using the code RBC9 posted at viewtopic.php?p=4997#4997 as my starting point. Although there have been several 32bit builds posted with modifications, those modifications are not included in my build as I do not have the source code containing those changes.

You can download the files at http://www.omniflux.com/devel/, although if I were you, I'd wait for someone else to do so and post their results first. Clearly, I am not you. Good luck.

--
Omni Flux
Rodger
Posts: 16
Joined: Sat Jan 03, 2009 7:49 am

Post by Rodger »

Rodger wrote:Hello,
I am very interesting in using this software.
I can install it correct and it works correct.

But sometimes I get a bluescreen before the start of windows.
Sometimes there is no bluescreen.
The bluescreen call: IRQL_NOTLESS_OR_EQUAL

Wenn I install XP new, the bluescreen is away.
But it comes again, whenn I have installed your software.

Can you help me, please?

Me hardware
Mainboard: Asus P5Q Deluxe
SpaceNavigator
Nobody an idea?
BobbyTheLee
Posts: 1
Joined: Tue Jan 13, 2009 4:10 pm

Post by BobbyTheLee »

Has anyone got a SpacePilot to work? On the bottom of my SpacePilot it says SP1. I don't know if it is a new software revision or what. The PID is correct in the INF file. When I plug it up and install the driver it seems to go fine but as soon as I touch the control stick on the device, it dies. It still shows up in device manager but it says "This device cannot start." It works fine with the 3D Connexion drivers and I have have a SpaceNavigator that works correctly with the RBC9 software on the same machine. I have been trying to get this to work for quite a while and any help would be greatly appreciated. I can provide any additional detail that you need. Thanks.
Keithlostracco
Posts: 51
Joined: Tue Jan 06, 2009 2:25 pm

Post by Keithlostracco »

Thanks Omniflux I'm stoked you've taken on the mission for the x64 driver.

I've attempted to install the RBC9 v2 driver on both WinXP64 SP2 and Vista64 Ulitmate. It won't install on either.

the XP64 OS installs the driver but fails to load the device.

the Vista OS fails to install the driver stating "Cannot find the specified file - RBC9 MouJoyKey V2"

i then renamed the inf. The driver installed but then failed to load the device.

my hardware is:

- SpacePilot SP1 with hardware ids -

USB\VID_046D&PID_C625&REV_0404
USB\VID_046D&PID_C625

- Tyan mobo with Xeon processors

To install I put the .sys file in c:/windows/system32 (also put it in /system32/drivers)
I put the .inf file in windows/inf

Hopefully this info helps

thanks

keith
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

Post by Omniflux »

Keithlostracco wrote:the XP64 OS installs the driver but fails to load the device.
Does this mean you get the black exclamation mark on a yellow triangle next to the device in the Device Manager?
Keithlostracco wrote:the Vista OS fails to install the driver stating "Cannot find the specified file - RBC9 MouJoyKey V2"

i then renamed the inf. The driver installed but then failed to load the device.
I don't have Vista and so cannot debug the installation issue, however it sounds like you were able to get it to the same point as on your XP system?
Keithlostracco wrote:my hardware is:

- SpacePilot SP1 with hardware ids -

USB\VID_046D&PID_C625&REV_0404
USB\VID_046D&PID_C625
This is in the INF file, however I do not have a SpacePilot to test with, just a SpaceNavigator.
Keithlostracco wrote:To install I put the .sys file in c:/windows/system32 (also put it in /system32/drivers)
I put the .inf file in windows/inf
I'm sure there are several ways to do this. The way I did it is very similar to the instructions in the first post of this thread.

Skip installing the msi file.

When you get to 'Select the device driver you want to install for this hardware.' only the 'USB Human Interface Device' should show up, unlike in the original instructions. Choose 'Have Disk' and select the location you unzipped the driver and inf file to.

The rest should continue as in the original instructions.

At this point, if the driver is loaded correctly, it should be using the default layout/profile.

You should be able to run the user space tool at this point and see changing values when you use your device. If so, setup your layout.

Anyway, let me know about my question at the beginning and I'll try to come up with a plan to continue.

--
Omni Flux
Keithlostracco
Posts: 51
Joined: Tue Jan 06, 2009 2:25 pm

Post by Keithlostracco »

Does this mean you get the black exclamation mark on a yellow triangle next to the device in the Device Manager?
Yes I do get the exclamation mark next to the device in the device manager.
In vista it would just keep using the previous driver.

When I install the driver I get an error in the device manager stating:

"
There was a problem installing this hardware:

RBC9 SpacePilot MouJoyKey v2

This Device cannot start. (Code 10)

"


Soon a friend of mine that has more experience programming than I do is going to be living here, he may be able to help with the code for the driver. I started to attempt to write a driver last week. I tried loading the 3dConnexion SDK examples, then found that I need more libraries that don't come with Visual C++ Express. Are you using Visual C++?

keith
Omniflux
Posts: 26
Joined: Wed Jan 07, 2009 9:49 pm
Location: Utah
Contact:

Post by Omniflux »

I am using Visual Studio, but it is only necessary for the user space tool. The driver itself uses the compiler and libraries from WinDDK, although DDKBUILD.cmd lets you compile it from within VS.

I have a post above on how to setup VS to compile RBC9's project once you have WinDDK installed.

There have been ten downloads of my build of the driver so far; hopefully we will get some more posts here letting us know if it works for them and what devices they are using so we can figure out if it is the SpacePilot that the driver is not liking, or something more generic.

If it is not the SpacePilot, I don't have any ideas at the moment as to what the problem might be; I will have to make a debug build so we can see where it is dying, but I'm not sure when I will have time to figure out how to do that...

I'm really disappointed that it is not working for you since it is working so well for me, so far. :(

When you installed the driver, you installed it for the 'USB Human Interface Device' and not the 'HID-compliant device', right? There should be one of each for your device.

--
Omni Flux
Locked