Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation: BlackWeb AYA USB Protocol #2

Open
Jigoku opened this issue Apr 3, 2017 · 0 comments
Open

Documentation: BlackWeb AYA USB Protocol #2

Jigoku opened this issue Apr 3, 2017 · 0 comments
Assignees

Comments

@Jigoku
Copy link
Owner

Jigoku commented Apr 3, 2017

BlackWeb AYA mouse USB protocol

Bytes indicated by an (*) are relevant to setting the active
profile (01-05). Bytes marked by a (^^) are configurable options.

The mouse features two input devices, one which is a generic HID
device, being the standard mouse input, and the other features a
keyboard interface which is used to change the settings of the hardware.

VENDOR ID
0x3938
PRODUCT ID
0x1101

Interface 0

This is the HID device (mouse input, clicks, movement)

Interface 1

This is a keyboard interface. Commonly used to set data on USB devices.
This interface controls everything we want to configure below.

USB WRITE

0x21     = bmRequestType
0x09     = bRequest
0x0307   = wValue 
0x0001   = wIndex

USB READ

0xa1     = bmRequestType
0x1      = bRequest 
0x0307   = wValue
0x0001   = wIndex

SET PROFILE

07 03 00 00 00 00 00 00
      ^^
	00 = factory reset
	01 = profile 1
	02 = profile 2
	03 = profile 3
	04 = profile 4
	05 = profile 5   

GET PROFILE

07 83 00 00 00 00 00 00

SET PERSISTENT SETTING CHANGES

07 44 01 00 00 00 00 00
       *

SET LED COLOR (to RR GG BB)

07 0a 01 00 00 00 00 00
       *    ^^ ^^ ^^
	    RR GG BB

GET LED COLOR

07 8a 01 00 00 00 00 00
       * 

SET LED MODE

07 0b 01 00 08 00 00 00
       *    ^^ ^^

        The first byte is the breathe speed [0x00-0xFF]
        (unconfigurable with driver software on windows!)

        The second byte is either:
	ff = breathe cycle
	00 =  breath single color
        (any other value turns off the breathe effect)

GET LED MODE

07 8c 01 00 00 00 00 00
       *    ^^ ^^

LED OFF

07 0c 01 00 00 00 00 00
       * 

SET MOUSE POLLING

07 01 00 00 00 00 00 00
    * ^^
	00 = 125hz
	01 = 250hz
	02 = 500hz
	03 = 1000hz

GET MOUSE POLLING

07 81 01 00 00 00 00 00
      *

SMART KEY (not relevant to a profile)

07 19 01 00 00 00 00 00
      ^^
	01 = 20ms
	02 = 40ms
	03 = 60ms
	04 = 80ms
	05 = 100ms
	06 = 120ms
	07 = 140ms
	08 = 160ms
	09 = 180ms
	0a = 200ms
	0b = 220ms
	0c = 240ms

GET SMARTKEY

! TODO !

UNKNOWN

07 09 01 00 00 00 00 00
       *

FACTORY RESET

07 03 00 00 00 00 00 00
@Jigoku Jigoku self-assigned this Apr 3, 2017
@Jigoku Jigoku changed the title Discussion: Reversing BlackWeb AYA USB Protocol Documentation: BlackWeb AYA USB Protocol Jul 25, 2017
@Jigoku Jigoku pinned this issue Jan 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant