cancel
Showing results for 
Search instead for 
Did you mean: 

Nucleo-WB55 as BLE sniffer only capture advertise packets

linchenji
Associate

When I followed the link https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32_Sniffer_for_BLE_Setup_guide,I successfully make Neclueo-WB55 be sniffer device while STM32WB sniffer displayed in the wireshark startup page,meanswhile I really capture the BLE advertise packets like this screenshot 1,

sniffer端口.PNG

But come problems,it only capture advertise packet as title said,connection packet like GAP parameters update or CONN_REQ all cannot be captured,how I should do to solve this problem like screenshot 2,

只能抓广播.PNG

1 ACCEPTED SOLUTION

Accepted Solutions
grohmano
ST Employee

Hello,

I apologize for misunderstanding, let me correct myself. By default, advertising is commonly set to all of these three channels (37, 38, 39) but you should be able to manually limit the channel in your application for the testing. It is not recommended to have limited advertising in production.

STM32WB55 BLE sniffer should automatically follow the communication which is not encrypted and of which it captures connection request. Your problem then may be that the connection process is performed on channel 37 or 38 while you are listening 39.

You can either try to be lucky or use more than one sniffer or set the specific channel in your app.

 

Hope this helps

Best Regards

grohmano

 

View solution in original post

3 REPLIES 3
grohmano
ST Employee

Hello @linchenji,

as it is seen in your second screenshot, you were capturing packets from BLE Channel 39. 

The reason why you see only advertising packets is, as it is said in Bluetooth Low Energy specification, Volume 6, Part B, that channels 37, 38 and 39 are used only for advertising and any other communication should be handled in remaining "general-purpose" channels.

So if you want to listen to a specific application, you have to tune your sniffer to according channel.

 

Hope this helps, if you have any further question, do not hesitate to ask

Best Regards,

grohmano

 

Thanks for your reply.I very similar with the common sense about 37,38,39 are advertise channels,others are connection channels.Then another question comes,that is how should I do to know connection is established on which channel so I can capture pdu smothly

grohmano
ST Employee

Hello,

I apologize for misunderstanding, let me correct myself. By default, advertising is commonly set to all of these three channels (37, 38, 39) but you should be able to manually limit the channel in your application for the testing. It is not recommended to have limited advertising in production.

STM32WB55 BLE sniffer should automatically follow the communication which is not encrypted and of which it captures connection request. Your problem then may be that the connection process is performed on channel 37 or 38 while you are listening 39.

You can either try to be lucky or use more than one sniffer or set the specific channel in your app.

 

Hope this helps

Best Regards

grohmano