733 lines
38 KiB
Text
733 lines
38 KiB
Text
===========================
|
||
[[ Protocol Descriptions ]]
|
||
===========================
|
||
|
||
General:
|
||
========
|
||
|
||
The following was learned through a combination of guessing and
|
||
looking at the Windows, MacOSX and Linux Kernel drivers. No gurantee
|
||
for correctness.
|
||
|
||
Use usb_interrupt_read() not usb_bulk_read(), the later one fails with
|
||
the Xbox360 guitar.
|
||
|
||
Xbox:
|
||
=====
|
||
|
||
The A, B, X, Y, black, white, LT and RT buttons on the Xbox pad are 8bit
|
||
pressure sensitive.
|
||
|
||
The two memory ports of the controller aren't discussed here.
|
||
|
||
LED: the controller doesn't have LEDs
|
||
+----------- small weight (right side), 0-255
|
||
v v-- large weight (left side), 0-255
|
||
Rumble: { 0x00, 0x06, 0x00, s, 0x00, large };
|
||
^-- length of the message
|
||
|
||
struct XboxMsg
|
||
{
|
||
// --------------------------
|
||
unsigned int type :8;
|
||
unsigned int length :8;
|
||
|
||
// data[2] ------------------
|
||
unsigned int dpad_up :1;
|
||
unsigned int dpad_down :1;
|
||
unsigned int dpad_left :1;
|
||
unsigned int dpad_right :1;
|
||
|
||
unsigned int start :1;
|
||
unsigned int back :1;
|
||
|
||
unsigned int thumb_l :1;
|
||
unsigned int thumb_r :1;
|
||
|
||
// data[3] ------------------
|
||
unsigned int dummy :8;
|
||
unsigned int a :8;
|
||
unsigned int b :8;
|
||
unsigned int x :8;
|
||
unsigned int y :8;
|
||
unsigned int black :8;
|
||
unsigned int white :8;
|
||
unsigned int lt :8;
|
||
unsigned int rt :8;
|
||
|
||
// data[6] ------------------
|
||
int x1 :16;
|
||
int y1 :16;
|
||
|
||
// data[10] -----------------
|
||
int x2 :16;
|
||
int y2 :16;
|
||
} __attribute__((__packed__));
|
||
|
||
|
||
Xbox360 Controller
|
||
==================
|
||
|
||
The Xbox360 controller doesn't have pressure sensitive A,B,X,Y,LB,RB
|
||
buttons like the Xbox controller, only LT and RT are analog. Black and
|
||
white are replaced by LB and RB. And in addition to that it has a
|
||
guide button (big fat X).
|
||
|
||
Interface 0:
|
||
Endpoint 1(in): Controller events
|
||
Endpoint 2(out): Messages to the controller
|
||
Interface 1:
|
||
Endpoint 3(in): Headset mic
|
||
Endpoint 4(out): Headset phone
|
||
Endpoint 5(in): Headset status information
|
||
Endpoint 5(out): Headset configuration information
|
||
Interface 2:
|
||
Endpoint 6(in): Chatpad
|
||
Interface 3:
|
||
None:
|
||
|
||
On first connect the controller sends:
|
||
|
||
len: 3 data: 0x01 0x03 0x0e // current LED status
|
||
len: 3 data: 0x02 0x03 0x00 // UNKNOWN: maybe headset connection status or volume
|
||
len: 3 data: 0x03 0x03 0x03 // Rumble Status (0x00 in the last pos means rumble is disabled, 0x03 is default)
|
||
len: 3 data: 0x08 0x03 0x00 // Headset connection status (0x00 no headset, 0x02 headset)
|
||
// also chatpad status, but requires sending 0x1f before its reported
|
||
len: 20 data: 0x00 0x14 0x00 0x00 0x00 0x00 0x69 0xed 0x23 0xff 0x6b 0x00 0x15 0x03 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 20 data: 0x00 0x14 0x00 0x00 0x00 0x00 0xfc 0xec 0x23 0xff 0x6b 0x00 0x15 0x03 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
The first four lines are unknown, but seem to be always the same, the
|
||
"len: 20" ones are event data of the following form. The controller
|
||
sends them two times on each button press and also two times on first
|
||
connect.
|
||
|
||
send 2 2 0 0
|
||
-> Sending to endpoint 2: [3] { 0x02, 0x00, 0x00 }Ep1: [3] { 0x03, 0x03, 0x00 }
|
||
|
||
|
||
Commands send to the controller:
|
||
--------------------------------
|
||
,--------- type of message
|
||
v v-- length of message
|
||
LED: { 0x01, 0x03, LED_STATUS };
|
||
|
||
LED Status Update Message, send out after one has changed the led status:
|
||
|
||
{ 0x01 0x03 LED_STATUS } (blinking states are reported as non-blinking)
|
||
|
||
+-------- large weight (left side), 0-255
|
||
v v-- small weight (right side), 0-255
|
||
Rumble: { 0x00, 0x08, 0x00, large, small, 0x00, 0x00, 0x00 };
|
||
^ ^-- length of the message
|
||
`--------- type of message
|
||
|
||
Unknown:
|
||
sending { 0x02, 0x03, INT } causes a reply of { 0x03, 0x03, INT } (values of 0-3 are supported)
|
||
sending { 0x02, 0x03, 0x00 } causes future rumble update messages to be ignored, this seems to be permanent, even disconnecting the controller doesn't reset it
|
||
|
||
Event Messages:
|
||
|
||
struct Xbox360Msg
|
||
{
|
||
// -------------------------
|
||
unsigned int type :8; // always 0
|
||
unsigned int length :8; // always 0x14
|
||
|
||
// data[2] ------------------
|
||
unsigned int dpad_up :1;
|
||
unsigned int dpad_down :1;
|
||
unsigned int dpad_left :1;
|
||
unsigned int dpad_right :1;
|
||
|
||
unsigned int start :1;
|
||
unsigned int back :1;
|
||
|
||
unsigned int thumb_l :1;
|
||
unsigned int thumb_r :1;
|
||
|
||
// data[3] ------------------
|
||
unsigned int lb :1;
|
||
unsigned int rb :1;
|
||
unsigned int guide :1;
|
||
unsigned int dummy1 :1; // always 0
|
||
|
||
unsigned int a :1; // green
|
||
unsigned int b :1; // red
|
||
unsigned int x :1; // blue
|
||
unsigned int y :1; // yellow
|
||
|
||
// data[4] ------------------
|
||
unsigned int lt :8;
|
||
unsigned int rt :8;
|
||
|
||
// data[6] ------------------
|
||
int x1 :16;
|
||
int y1 :16;
|
||
|
||
// data[10] -----------------
|
||
int x2 :16;
|
||
int y2 :16;
|
||
|
||
// data[14]; ----------------
|
||
unsigned int dummy2 :32; // always 0
|
||
unsigned int dummy3 :16; // always 0
|
||
} __attribute__((__packed__));
|
||
|
||
|
||
|
||
Plugging in a headset (interface 1, endpoint 5):
|
||
____ When chatpad is plugged this is 0x01, but only if no headphone is plugged into the headset?!
|
||
len: 4 data: 0x00 0x04 0x01 0x00
|
||
len: 3 data: 0x01 0x03 0x00
|
||
len: 3 data: 0x02 0x03 0x0f
|
||
len: 5 data: 0x03 0x05 0xff 0x00 0x00
|
||
len: 3 data: 0x04 0x03 0xff
|
||
len: 3 data: 0x05 0x03 0x00
|
||
|
||
Pulling out a headset (interface 1, endpoint 5):
|
||
len: 4 data: 0x00 0x04 0x00 0x00
|
||
---------
|
||
Sending to interface 1, endpoint 5:
|
||
|
||
This only works with the headset plugged in, these settings seem to be
|
||
permanent, so handle with care:
|
||
|
||
0x00 0x03 0x0N -> { 0x05, 0x03, 0x0N } - sets something to N, with N [0, 1]
|
||
0x01 0x03 0x0N -> { 0x01, 0x03, 0x0N } - sets something to N, with N [0, 1]
|
||
0x02 0x03 0x0N -> { 0x02, 0x03, 0x0N } - sets something to N, with N [0, f] (seems to be volume control)
|
||
0x03 0x05 ???? -> { 0x03, 0x05, 0xff, 0x00, 0x00 } - doesn't seem to set anything, just reply
|
||
0x04 ???? ????-> { 0x04, 0x03, 0xff } - doesn't seem to set anything, just reply
|
||
|
||
$ ./usbdebug 0x045e:0x028e
|
||
listen 5
|
||
send 5 0x00 0x03 0x01
|
||
send 5 0x01 0x03 0x01
|
||
send 5 0x02 0x03 0x0f
|
||
|
||
0x04 0x04 0x00 0x00 seems to cause status reply
|
||
---------
|
||
Plugging in a headset (interface 0, endpoint 1): len: 3 data: 0x08 0x03 0x00
|
||
Pulling out a headset (interface 0, endpoint 1): len: 3 data: 0x08 0x03 0x02
|
||
|
||
|
||
Headset sends with 8192 bytes per second
|
||
The headset might be using isochronous transfer, neither bulk nor interrupt, libusb doesn't support that yet I think
|
||
|
||
Chatpad on Xbox360 wired USB controller
|
||
=======================================
|
||
|
||
usb_control_msg()'s
|
||
,----------------- requesttype
|
||
| '------------ request
|
||
| | ,-------- value
|
||
v v v v-- index
|
||
0x41 0x0 0x00 0x02 # clear capslock
|
||
0x41 0x0 0x01 0x02 # clear square
|
||
0x41 0x0 0x02 0x02 # clear circle
|
||
0x41 0x0 0x03 0x02 # clear people
|
||
0x41 0x0 0x04 0x02 # clear backlight (not perfectly reproducible, timing matters)
|
||
0x41 0x0 0x05 0x02 #
|
||
0x41 0x0 0x06 0x02 #
|
||
0x41 0x0 0x07 0x02 #
|
||
0x41 0x0 0x08 0x02 # light capslock
|
||
0x41 0x0 0x09 0x02 # light square
|
||
0x41 0x0 0x0a 0x02 # light circle
|
||
0x41 0x0 0x0b 0x02 # light people
|
||
0x41 0x0 0x0c 0x02 # light backlight leds
|
||
0x41 0x0 0x0d 0x02 #
|
||
0x41 0x0 0x0e 0x02 #
|
||
0x41 0x0 0x0f 0x02 #
|
||
0x41 0x0 0x10 0x02 # send at start
|
||
0x41 0x0 0x11 0x02 # light capslock
|
||
0x41 0x0 0x12 0x02 # light square
|
||
0x41 0x0 0x13 0x02 # light square and capslock
|
||
0x41 0x0 0x14 0x02 # light circle
|
||
0x41 0x0 0x15 0x02 # light capslock and circle
|
||
0x41 0x0 0x16 0x02 # light circle and square
|
||
0x41 0x0 0x17 0x02 # light circle, square and capslock
|
||
0x41 0x0 0x18 0x02 # send at start
|
||
0x41 0x0 0x19 0x02 #
|
||
0x41 0x0 0x1a 0x02 #
|
||
0x41 0x0 0x1b 0x02 # makes led go on on a keypress
|
||
0x41 0x0 0x1e 0x02 # Init part 2, not needed but log shows it
|
||
0x41 0x0 0x1f 0x02 # Init (without this, no led will work, so send before anything else)
|
||
|
||
|
||
Sending "0x41 0x0 0x1f 0x02" gives a reply of "0x08, 0x03, 0x01"
|
||
(chatpad) or "0x08, 0x03, 0x03" (chatpad + headset)
|
||
|
||
Data from Chatpad
|
||
=================
|
||
|
||
0xf0 0x04
|
||
0x00 MODIFIER SCAN1 SCAN2 0x00
|
||
|
||
,- active LEDs
|
||
/ ,----,---- clock, counts up to 0x0f then rolls to zero
|
||
0xf0 0x04 LEDSTATUS 0x0e 0x0e
|
||
0x00 0x00 0x34 0x00 0x00 <- always zero
|
||
| | `- scan1 `scan2
|
||
\ `--- modifier bit field
|
||
`--- input event
|
||
|
||
LED:
|
||
10111001
|
||
|
||
<backlight> <zero> <shift> <orange> <green> 0 0 <people>
|
||
|
||
LED_STATUS_PEOPLE = (1<<0)
|
||
LED_STATUS_SHIFT = (1<<5)
|
||
LED_STATUS_ORANGE = (1<<4)
|
||
LED_STATUS_GREEN = (1<<3)
|
||
LED_STATUS_BACKLIGHT = (1<<7)
|
||
|
||
0xa0 - shift
|
||
0x88 - green
|
||
0x81 - people
|
||
0x90 - orange
|
||
0x91 - people+orange
|
||
0x98 - orange+green
|
||
0xb0 - shift+orange
|
||
0xb9 - shift+orange+green+shift
|
||
|
||
|
||
Chatpad init:
|
||
|
||
Hardware version 1.10, uses 0x01 0x02 for init.
|
||
Hardware version 1.14, uses 0x09 0x00 for init.
|
||
0x0114
|
||
0x0110
|
||
|
||
|
||
Xbox360 Guitar
|
||
==============
|
||
|
||
The Xbox360 Guitar behaves the same as a regular Xbox360 controller
|
||
and talks the same protocol just with the meaning of a few buttons and
|
||
axis changed. The guitar doesn't have rumble support.
|
||
|
||
struct Xbox360GuitarMsg
|
||
{
|
||
// -------------------------
|
||
unsigned int type :8;
|
||
unsigned int length :8;
|
||
|
||
// data[2] ------------------
|
||
unsigned int dpad_up :1; // also strum-up
|
||
unsigned int dpad_down :1; // also strum-down
|
||
unsigned int dpad_left :1;
|
||
unsigned int dpad_right :1;
|
||
|
||
unsigned int start :1;
|
||
unsigned int back :1;
|
||
|
||
unsigned int thumb_l :1; // unused
|
||
unsigned int thumb_r :1; // unused
|
||
|
||
// data[3] ------------------
|
||
unsigned int orange :1; // 5
|
||
unsigned int rb :1; // unused
|
||
unsigned int guide :1;
|
||
unsigned int dummy1 :1; // unused
|
||
|
||
unsigned int green :1; // 1, A
|
||
unsigned int red :1; // 2, B
|
||
unsigned int blue :1; // 4, X
|
||
unsigned int yellow :1; // 3, Y
|
||
|
||
// data[4] ------------------
|
||
unsigned int lt :8; // unknown
|
||
unsigned int rt :8; // unknown
|
||
|
||
// data[6] ------------------
|
||
int x1 :16; // unused
|
||
int y1 :16; // unused
|
||
|
||
// data[10] -----------------
|
||
int whammy :16;
|
||
int tilt :16;
|
||
|
||
// data[14]; ----------------
|
||
unsigned int dummy2 :32; // unused
|
||
unsigned int dummy3 :16; // unused
|
||
} __attribute__((__packed__));
|
||
|
||
|
||
Xbox360 Wireless
|
||
================
|
||
|
||
Bottom of the controller has three holes:
|
||
|
||
[_ _] () [_ _]
|
||
|
||
the two on the left and right are for the chatpat, the middle one is for the headphone.
|
||
|
||
Top of the controller has a port for the Play&Charge cable
|
||
|
||
On the top of the controller there is a sync button to connect the controller.
|
||
|
||
The wireless reciever acts as a single USB device, each of the four
|
||
controller is on a seperate Interface together with the headset port:
|
||
|
||
Interface 0:
|
||
Endpoint 1(in/out): Controller 1
|
||
Interface 1:
|
||
Endpoint 2(in/out): Headset 1
|
||
|
||
Interface 2:
|
||
Endpoint 3(in/out): Controller 2
|
||
Interface 3:
|
||
Endpoint 4(in/out): Headset 2
|
||
|
||
Interface 4:
|
||
Endpoint 5(in/out): Controller 3
|
||
Interface 5:
|
||
Endpoint 6(in/out): Headset 3
|
||
|
||
Interface 6:
|
||
Endpoint 7(in/out): Controller 4
|
||
Interface 7:
|
||
Endpoint 8(in/out): Headset 4
|
||
|
||
v-- typo? might be 0x0c, i.e. length
|
||
Rumble: { 0x00, 0x01, 0x0f, 0xc0, 0x00, large, small, 0x00, 0x00, 0x00, 0x00, 0x00 }
|
||
^ ^--- ???
|
||
+--------- seems the same as in Event Data
|
||
LED: { 0x00, 0x00, 0x08, 0x40 + (mode % 0x0e), 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
|
||
|
||
To turn device 1 off, send: { 00 00 08 C0 00 00 00 00 00 00 00 00 } to endpoint 1
|
||
To enable wireless controller chatpad events, send: 00 00 0C 1B 00 00 00 00 00 00 00 00
|
||
You will have to send alternating 1E/1F keep-alive packets (every second or so, I guess) to keep the chatpad events flowing:
|
||
|
||
send 1 00 00 0C 1B 00 00 00 00 00 00 00 00
|
||
send 1 00 00 08 C0 00 00 00 00 00 00 00 00
|
||
send 1 00 00 0C 1F 00 00 00 00 00 00 00 00
|
||
send 1 00 00 0C 1E 00 00 00 00 00 00 00 00
|
||
send 1 00 00 0C 0c 00 00 00 00 00 00 00 00
|
||
send 1 00 00 0C 17 00 00 00 00 00 00 00 00
|
||
|
||
00 00 0C 8 00 00 00 00 00 00 00 00 capslock
|
||
00 00 0C 9 00 00 00 00 00 00 00 00 square
|
||
00 00 0C a 00 00 00 00 00 00 00 00 circle
|
||
00 00 0C b 00 00 00 00 00 00 00 00 people
|
||
00 00 0C c 00 00 00 00 00 00 00 00 backlight
|
||
00 00 0C 11 00 00 00 00 00 00 00 00 capslock
|
||
00 00 0C 12 00 00 00 00 00 00 00 00 square
|
||
00 00 0C 13 00 00 00 00 00 00 00 00 square and capslock
|
||
00 00 0C 14 00 00 00 00 00 00 00 00 circle
|
||
00 00 0C 15 00 00 00 00 00 00 00 00 capslock and circle
|
||
00 00 0C 16 00 00 00 00 00 00 00 00 circle, square
|
||
00 00 0C 17 00 00 00 00 00 00 00 00 circle, square, capslock
|
||
00 00 0C 1b 00 00 00 00 00 00 00 00 makes backlight led go on on keypress
|
||
|
||
Wireless Headset LED: ???
|
||
|
||
// Start (LED Status Messages)
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
// Shutdown (LED Status Messages)
|
||
len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
Connection Status Messages:
|
||
|
||
0x08 0x00 - Nothing
|
||
0x08 0x40 - Headset
|
||
0x08 0x80 - Controller
|
||
0x08 0xc0 - Controller and Headset
|
||
|
||
On connection:
|
||
--------------
|
||
|
||
len: 2 data: 0x08 0x80
|
||
len: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Connecting Chatpad:
|
||
-------------------
|
||
len: 2 data: 0x08 0xc0 -- headset
|
||
len: 29 data: 0x00 0x00 0x00 0x17 0xaa 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x11 0xe2 0xb0 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0xdd 0xd2 0x11 0xe2 0xb0 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xa2 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 -- battery
|
||
len: 2 data: 0x08 0x80
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Chatpad vs Headphone:
|
||
---------------------
|
||
|
||
____ ???
|
||
len: 29 data: 0x00 0x00 0x00 0x17 0xe0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x17 0xaa 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
_____ ____ ____ ____ ____ ____ ____ ____ ____
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x26 0x4d 0x00 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0x01 0x50 0x01 0xff 0xff 0xff
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x11 0xe2 0xb0 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0xdd 0xd2 0x11 0xe2 0xb0 0x00
|
||
^- Chatpad
|
||
|
||
http://www.mp3car.com/vbulletin/input-devices/108554-xbox360-chatpad-awsome-backlit-mini-keyboard-10.html
|
||
http://www.youtube.com/watch?v=qWWIuh1vsoM
|
||
|
||
Pluggin in a headphone without chatpat:
|
||
---------------------------------------
|
||
|
||
(instantly)
|
||
len: 2 data: 0x08 0xc0 ____
|
||
len: 29 data: 0x00 0x00 0x00 0x17 0xe0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x26 0x4d 0x00 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0x01 0x50 0x01 0xff 0xff 0xff
|
||
^^^^ ^^^^ ^^^^
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
(repeatatly afterwards, every 5-10 seconds, changing volume, mute or talking into mic don't change anything, when they come, then multiple at once)
|
||
len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf8 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf9 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
...
|
||
|
||
On Endpoint 2 the headphone data is coming in, a constant stream, not split into packets.
|
||
|
||
Pulling out the headphone without chatpat:
|
||
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xe0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Connecting the wireless headset:
|
||
--------------------------------
|
||
|
||
The wireless headset reports its battery status to the Xbox360 somewhere
|
||
____ ____ ____ ____ ____ ?
|
||
len: 28 data: 0x01 0x01 0x60 0x01 0x01 0x00 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 2 data: 0x08 0x40 ____ ___ _____
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xf7 0x5a 0x0c 0xc0 0x00 0x18 0x08 0x34 0x05 0x01 0x44 0x01 0xdd 0xdd 0xdd 0x05 0x05 0x01 0x02
|
||
len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
... (last line gets repeated 2-4 times a second)
|
||
|
||
When switching ports:
|
||
serial? ____ ____ ____ ____ ____ ____
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
____ connection status (0x60 connected, 0x00 gone ____ portid
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x19 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x60 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x1a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x1b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Randomly:
|
||
____ battery status?!
|
||
len: 28 data: 0x01 0xff 0x00 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
____ ____ Muted?
|
||
len: 28 data: 0x01 0xff 0x02 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
len: 28 data: 0x01 0xff 0x02 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (turn off)
|
||
len: 28 data: 0x01 0xff 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (turn on)
|
||
|
||
Connecting the wireless and pressing sync button multiple times:
|
||
----------------------------------------------------------------
|
||
|
||
len: 2 data: 0x08 0x40
|
||
len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xf7 0x5a 0x0c 0xc0 0x00 0x18 0x08 0x34 0x02 0x04 0xdd 0xdd 0xdd 0x03 0x00 0x05 0x05 0x01 0x02
|
||
____ (portid & 3)
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x60 0x01 0x01 0x00 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x01 0x01 0x00 0x01 0x01 0x01 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 2 data: 0x08 0x00
|
||
|
||
|
||
Different connection:
|
||
---------------------
|
||
|||| |||| |||| |||| |||| |||| |||| _________________ Serial?_________ |||| |||| |||| _____ Battery?
|
||
29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd[0x55 0x40 0xf0 0x48 0xe4 0x5d 0x10]0x00 0x05 0x13[0x67]0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
len: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xe7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
len: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
|
||
When the controller connects it sends { 0x08 0x80 } -> 0000'1000 1000'0000
|
||
When the headset connects it sends: { 0x08 0xc0 } -> 0000'1000 1100'0000
|
||
When nothing is connected: { 0x08 0x00 } -> 0000'1000 0000'0000
|
||
|
||
Event data:
|
||
===========
|
||
+-------- always 0
|
||
| +---- 0x01 when a event message, 0x00 otherwise (battery status?), also 0xf8 and 0x0f (both on new connection)
|
||
| | +--- always 0xf0 (1111'0000)
|
||
| | |
|
||
| | | +-- length
|
||
v v v v v---- normal xbox event message, but one byte shorter + 5x 0x00 padding
|
||
len: 29 data: 0x00 0x01 0x00 0xf0 0x00 0x13 0x20 0x00 0x00 0x00 0xc1 0x08 0xc9 0xfc 0x67 0xf4 0xe5 0xfe 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x01 0x00 0xf0 0x00 0x13 0x00 0x00 0x00 0x00 0xc1 0x08 0xc9 0xfc 0x67 0xf4 0xe5 0xfe 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
Battery Status Msg (maybe):
|
||
------------------------
|
||
|
||
len: 29 data: 0x00 0xf8 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Battery Full(?):
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Controller without doing anything
|
||
2 data: 0x08 0x80
|
||
29 data: 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
____ battery ?
|
||
29 data: 0x00 0x00 0x00 0x13 0xe2 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0x13 0xe6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
29 data: 0x00 0x00 0x00 0x20 0x1d 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0x40 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xe7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Unknown Messages:
|
||
29 data: 0x00 0x00 0x00 0x20 0x1d 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0x40 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0xf8 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
---------------
|
||
len: 29 data: 0x00 0x01 0x00 0xf0 0x00 0x13 0x00 0x00 0x00 0x00 0x94 0xff 0xc0 0x02 0xa6 0x02 0xf0 0xf6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x01 0x00 0xf0 0x00 0x13 0x00 0x00 0x00 0x00 0x14 0xfd 0xc0 0x02 0xa6 0x02 0xf0 0xf6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
|
||
|
||
|
||
len: 29 data: 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Battery Message?:
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xa2 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xe2 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xe6 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
// Charging?
|
||
len: 29 data: 0x00 0x00 0x00 0x13 0xe0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Unknown:
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x20 0x1d 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0x40 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
len: 29 data: 0x00 0x01 0x00 0x13 0xa6 0x13 0x00 0x00 0x00 0x00 0xa9 0xfc 0x60 0x01 0x9d 0x00 0x61 0xf7 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - similar to normal event message
|
||
|
||
Init message
|
||
__________________________________ ____
|
||
len: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
len: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x1f 0x9f 0x70 0xc9 0x00 0x63 0xb0 0x00 0x05 0x13 0xe7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
C1n: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x55 0x40 0xf0 0x47 0xee 0x1a 0xb0 0x00 0x05 0x13 0xe1 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
C2n: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x55 0x40 0xf0 0x48 0xe4 0x5d 0x10 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
C3n: 29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x55 0x40 0xf0 0x47 0x06 0x87 0xc0 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
|
||
len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 28 data: 0x00 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
# Request power-off?
|
||
len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
29 data: 0x00 0x0f 0x00 0xf0 0xf0 0xcc 0xfd 0x55 0x40 0xf0 0x48 0xe4 0x5d 0x10 0x00 0x05 0x13 0xa7 0x20 0x1d 0x30 0x03 0x40 0x01 0x50 0x01 0xff 0xff 0xff
|
||
29 data: 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0x40 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
29 data: 0x00 0x00 0x00 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
Unknown stuff from Jaymes:
|
||
|
||
Connection status: controller connected
|
||
Serial: d:f6:10:d2:41:48:60
|
||
Battery Status: 161
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
**I'll hook up the normal wired headset now. Here is the appended data:
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x17 0xa0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Connection status: controller and headset connected
|
||
Unknown: len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x41 0x48 0x60 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0xdd 0x50 0x01 0xff 0xff 0xff
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
**Disconnecting:
|
||
Battery Status: 160
|
||
Connection status: controller connected
|
||
|
||
**Connecting the messenger headset:
|
||
Connection status: controller and headset connected
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x41 0x48 0x60 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0xdd 0x50 0x01 0xff 0xff 0xff
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
(No change when switching on/off the mic or adjusting volume.. as expected I guess :))
|
||
|
||
**Disconnecting the headset:
|
||
Battery Status: 160
|
||
Connection status: controller connected
|
||
|
||
*** After this, I got a couple random lines: ***
|
||
Unknown: len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
(Don't know if this is important... it happened 5 seconds or so after disconnect)
|
||
|
||
**Connecting chatpad:
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Connection status: controller and headset connected
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x17 0xa8 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x41 0x48 0x60 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0xdd 0x50 0x01 0xff 0xff 0xff
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
**I tried connecting this a second time just in case:
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf8 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
(These pair 0x01 and 0x02 repeat)
|
||
|
||
**Third time I tried after disconnecting the controller and reconnecting and syncing again (just for the heck of it)
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x60 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0x00 0x00 0x17 0xa8 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Connection status: controller and headset connected
|
||
Unknown: len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xd2 0x41 0x48 0x60 0x00 0x18 0x01 0x34 0x85 0x00 0xdd 0xdd 0xdd 0x01 0x50 0x01 0xff 0xff 0xff
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 29 data: 0x00 0xf9 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
**Disconnect chatpad:
|
||
No change ?
|
||
|
||
|
||
**Connecting the wireless headset:
|
||
Repeats this:
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
|
||
**Let me try and get the start of this:
|
||
Unknown: len: 28 data: 0x01 0x01 0x60 0x01 0x01 0x00 0x00 0x03 0x03 0x00 0xf7 0x5a 0x0c 0xc0 0x16 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Connection status: controller and headset connected
|
||
Unknown: len: 28 data: 0x01 0x00 0x67 0x00 0x0c 0xfd 0x0d 0xf6 0x10 0xf7 0x5a 0x0c 0xc0 0x00 0x18 0x08 0x34 0x05 0x01 0x44 0x01 0xdd 0xdd 0xdd 0x05 0x05 0x01 0x02
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
Unknown: len: 28 data: 0x01 0xff 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
||
(I had to CTRL-C this as it just keep repeating)
|
||
|
||
|
||
|
||
# EOF #
|