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

Some controllers send 0x20 command with 29 byte length #2

Open
perillamint opened this issue Oct 15, 2019 · 4 comments
Open

Some controllers send 0x20 command with 29 byte length #2

perillamint opened this issue Oct 15, 2019 · 4 comments

Comments

@perillamint
Copy link

perillamint commented Oct 15, 2019

Hi, I own the Xbox Elite controller. I ran this driver and got an interesting result.

At first, it pairs successfully but it does not spit out data. So I inspected packets and I found my controller sends 0x20 command with 29byte length instead of 14byte.

Here is my packet dump

----------BEGIN DUMP----------
0x0000000000405120  10 00 00 00 00 00 9F FA 6A F9 67 00 C5 F2 00 00   ........j.g.....
0x0000000000405130  00 00 A6 2A 03 00 00 00 26 4B FA 39 1A            ...*....&K.9.
---------- END DUMP ----------

It looks like additional data contains replicated button data(16bit), replicated left trigger data(16bit), nonce(16bit or 32bit, I did not run my experiment long) and more which I don't know what it is.

@alfredkrohmer
Copy link
Owner

alfredkrohmer commented Oct 15, 2019

Interesting. I don't see any obvious replication in the dump you posted, though, can you explain what you mean? Besides the 15 extra bytes, do the first 14 bytes map to what's in the code? If so, we could just alter the check to accept any packet >= 14 bytes.

@alfredkrohmer
Copy link
Owner

Also, can you share the USB vendor and device ID? Would be interesting to see if it's different for the elite version. Besides that, it also seems possible to get the device identifier from the controller itself, so we could also use this to differentiate different versions.

@perillamint
Copy link
Author

perillamint commented Oct 16, 2019

Yes, it shares the same structure during the first 14 bytes. I'll post USB VID PID after I get home. (About 13:00 KST)

@perillamint
Copy link
Author

Sorry, I forgot about this issue being 2 weeks.

Here is my controller's VID/PID.

Bus 003 Device 035: ID 045e:02e3 Microsoft Corp. Xbox One Elite Controller

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

2 participants