Using BLE Sniffer - to understand Microsoft xbox One controller pairing packets

For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
KurtE
 
Posts: 46
Joined: Fri Apr 25, 2014 8:10 pm

Using BLE Sniffer - to understand Microsoft xbox One controller pairing packets

Post by KurtE »

Background: I am trying to add BLE support into our Teensy USBHost (T3.6 and T4.x) code.
Not sure yet if I will try to add it natively to our USBHost_t36 library or through other libraries.
I now have a fork/branch of the ArduinoBLE library which uses the USBHost code at the lower level and I can run most if not all of their examples.

What I would like to try next, is to be able to connect to a Microsoft XBox One Controller. We do now have support in our current (not released) library for these when they are using older firmware. However, the latest release of the firmware, now runs in LE mode.

I can use the Arduino Library on Teensy or Arduino Nano 33 IoT (or BLE) and retrieve their information.
More details up on the Arduino Forum: https://forum.arduino.cc/t/arduinoble-t ... /1054844/4

However, I have not seen any examples of using their (arduinoBLE) code to do the logical pairing, nor what would not to change to handle connections from their device after they are paired.
(Background off)

So: I purchased one of your LE Sniffers to see if I might be able to capture enough of the traffic to reverse engineer it.

I have followed the tutorials on setting it up and using it with WireShark:
https://learn.adafruit.com/introducing- ... -wireshark

Sorry I know it is probably obvious, but this first page using WireShark starts off with:
Once Wireshark has loaded, you should see the advertising packets streaming out from the selected BLE device
What selected device? The prvevious page left off with Final Check and Test capture which
does show information but mentions nothing about selecting a device.

The section talking about capture between two devices.
If you wish to sniff data being exchanged between two BLE devices, you will need to establish a connection between the original device we selected above and a second BLE device (such as an iPhone or an Android tablet with BLE capabilities).
So hopefully simple question: Do you have suggestions on on how to capture the logical Pairing operation between either the BT on my PC this WireShark is running on (or maybe to different machine like RPI) to the XBox One controller?

And likewise then what it does after this for the XBox one to connect up to the PC after this.
I am guessing (that maybe once paired) the controller maybe does a direct Advertising?

Or better yet, if you have examples for these types of connections/pairs using your own BLE library that would be great.

Thanks
Kurt

User avatar
KurtE
 
Posts: 46
Joined: Fri Apr 25, 2014 8:10 pm

Re: Using BLE Sniffer - to understand Microsoft BANNED One controller pairing packets

Post by KurtE »

It is interesting that the title had the title changed from Microsoft <the name of their game controllers starting with XB> to BANNED One?

Thought I would mention, that after I posted this, I ordered one of your: itsyBitsy nRF52840 devices:
https://www.adafruit.com/product/4481
Which I ordered from Amazon. (as you don't ship to PMB...)

Your library: https://github.com/adafruit/Adafruit_nR ... b/examples
Looks interesting as it appears to have some examples that may do pairing.

Will be fun to try it out. But looks like maybe Tuesday before I receive it... Wonder if I can use the sniffer...

User avatar
KurtE
 
Posts: 46
Joined: Fri Apr 25, 2014 8:10 pm

Re: Using BLE Sniffer - to understand Microsoft BANNED One controller pairing packets

Post by KurtE »

@adafruit_support_bill @adafruit

Wondering why the name of the Microsoft Game controller is some how banned?

If there is an issue about asking how to use BLE libraries to talk to their latest firmware versions which now use BLE, than maybe best to simply delete this thread. Otherwise maybe should rename the thread somehow to something that makes sense like The Microsoft Game <xxx> controller or ???

Otherwise maybe go ahead and delete the thread as probably very few will read it anyway.

Thanks
Kurt

User avatar
adafruit_support_carter
 
Posts: 29168
Joined: Tue Nov 29, 2016 2:45 pm

Re: Using BLE Sniffer - to understand Microsoft xbox One controller pairing packets

Post by adafruit_support_carter »

What selected device?
The capture device selected after setting everything up and launching Wireshark.
https://learn.adafruit.com/introducing- ... ep-3107682

Looks like you triggered one of the word filters. In your case, it's nothing to worry about. Sometimes the automated guards false trigger.

User avatar
KurtE
 
Posts: 46
Joined: Fri Apr 25, 2014 8:10 pm

Re: Using BLE Sniffer - to understand Microsoft xbox One controller pairing packets

Post by KurtE »

adafruit_support_carter wrote: Thu Dec 01, 2022 5:43 pm
What selected device?
The capture device selected after setting everything up and launching Wireshark.
https://learn.adafruit.com/introducing- ... ep-3107682
Thanks, I understand that part. That you choose the sniffer device to startup the WireShark capture.
But it is more with the next page, of trying to capture the communications between two devices.
Like let's say, the Game controller and a PC or IPad or RPI...

https://learn.adafruit.com/introducing- ... es-1611813

What is unclear to me is the first paragraph:
If you wish to sniff data being exchanged between two BLE devices, you will need to establish a connection between the original device we selected above and a second BLE device (such as an iPhone or an Android tablet with BLE capabilities).
But I will figure it out. But I am hoping that your itsy bitsy ... examples hopefully will give me some clues on what messages and the like that need to be exchanged between the devices to setup a connection between the two.

Thanks again

Locked
Please be positive and constructive with your questions and comments.

Return to “Wireless: WiFi and Bluetooth”