Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

70 lines (50 sloc) 4.479 kb

Razer Hydra HID Protocol Investigation

Goal

Understand how the Razer Hydra communicates over USB HID to allow drivers/applications to interact with it on any platform, including those not supported by the Sixense SDK. One particular concrete goal is the creation of a tracker driver for VRPN to make use of the Hydra.

Constraint

Gain this knowledge only by interacting with the device and recording data, not through disassembly of Sixense code. A proprietary, Windows-only SDK is available through Steam but we will not be using that in this project, so that we can create "clean" information.

Subject

The Razer Hydra is a 6DoF wired magnetic tracker with two sensors, each with gamepad-type controls, designed for use with computer games. The motion sensing technology was developed by Sixense (forum), and was formerly referred to as Sixense TrueMotion.

Known so far

  • Vendor ID: 0x1532 hex aka 5426 decimal
  • Product ID: 0x0300 hex aka 768 decimal

  • Appears as a composite USB device with two interfaces:

    • Interface 0 appears as a generic USB HID device - this is the one with the motion data.
    • Interface 1 appears as a standard HID gamepad, allowing access to the buttons.
  • Seems to have two "modes" - gamepad mode and motion control mode. They are set by the Hydra Configurator on Windows, and enables/disabled the "gamepad" device.

    • When in gamepad mode, smaller input reports are sent. (12 bytes?)
    • When in motion mode, input reports of 52 bytes are sent.
    • Seems to default to gamepad mode when plugged into a machine without the Hydra software.
    • There are some 90-byte feature reports being exchanged (set/get) that are not yet understood.
  • Connecting the Hydra to a Windows virtual machine running the Hydra software, then disconnecting it from the VM (leaving it connected to the Linux host) leaves it in the "52-byte report" mode.

Other links

Tools and Resources

About

This GitHub project, with its canonical homepage at https://github.com/rpavlik/razer-hydra-hid-protocol , is intended to collect materials to study and the findings that result from them. You are welcome and encouraged to fork this repository, add your findings, and send pull requests.

Investigation started by:

Ryan Pavlik
rpavlik@iastate.edu and abiryan@ryand.net
http://academic.cleardefinition.com/
Iowa State University Virtual Reality Applications Center
Human-Computer Interaction Graduate Program

Jump to Line
Something went wrong with that request. Please try again.