This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

"bad MIC" when sniffing?

I want to sniff the connection between a Bluetooth Low Energy mouse (Logitech MX Master) and my smartphone (Samsung Galaxy Alpha). To do this I have tried to use the nRF-Sniffer in combination with an nRF51-DK as well as an nRF52-preview-DK board (compatible hex file was provided by Aryan here). My operating system is Windows 7 Enterprise (64 bit), Wireshark version is 1.12.6.

Sniffing the initial connection is working as expected, but after a couple of seconds all packets are marked with an error: "Encrypted packet decrypted incorrectly (bad MIC)". I'm not a Bluetooth expert (yet), but I think that the sniffer should be able to decrypt all packets as he is listening to the connection from the very beginning. Traces are attached to this post. What am I doing wrong? Isn't it possible to sniff the communication for a longer time?

Trace with nRF51-DK: Logitech_MX_Samsung_Alpha_nrf51.pcapng

Trace with nRF52-preview-DK: Logitech_MX_Samsung_Alpha_nrf52.pcapng

Update (August 17): In the meantime I have reproduced this observation on a Linux system using the Python API. The effect is probably related to the board itself (or the software it is running), not the host computer.

Parents Reply Children
  • Hi alecazaux! Thanks for asking, but I was not able to find a solution to this problem. Haven't used the sniffer for quite some time, but I see there is now an nRF-Sniffer-v2 available. Maybe I'll try this and see if this particular issue is fixed.

  • Wow that was fast !! I was not expecting an answer so early. Thanks ! I'm trying to use this one indeed, the nRF-Sniffer-v2 but to no avail until now. Like you 3 years ago, I'm not a bluetooth expert yet (well still far from it; just a newbie ;-) ), but from my understanding if the initial connection was sniffed well, it should be able to follow and decrypt the following frames... Well actually some times, I am able to sniff more frames, doing some actions but at one point the error will happen and after there nothing to do...This is what I got :

Related