I'm reversing a USB protocol of a device. It's based on USB HID reads, and writes. The protocol always has an 0xAA after the header, and every occurrence of 0xAA in the payload is doubled. After some time I figured out that this could be a synchronisation symbol. The company who built this device also has similar devices that support Bluetooth LE. The protocol is incompatible, but clearly shares similarities, especially it also has those 0xAAs.

Is it necessary to have synchronisation symbols inside of USB, or BLE packets? This looks very weird to me.

  • Perhaps a little more information could help? Such as the vendor who created said device, the sort of data it supposedly transmits and samples of that data?! ... for example years ago I owned a sports watch with built-in GPS (I actually still do, but by now the vendor doesn't support it anymore). It also used HID to communicate with a PC. The advantage of HID is that you need no extra drivers and it's perfectly suitable for low-bandwidth communication. However, the data contained is still something one needs to figure out one by one (e.g. by performing an action, looking at the data ...) – 0xC0000022L Nov 11 '20 at 8:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.