I found this post in the forum about issues with scan response packages:
I'm also using the CYBT-343026-01 but with newer firmware: 1.2.29
Complete response from module on /qfv: @R,002C,/QFV,0000,E=01021D1D,S=05020016,P=0103,H=D1
Now when my peripheral advertises exactly 7 bytes (flags + incomplete service list) and my scan response does not exceed 24 bytes (<=31 bytes in total) I will see a scan response event with Type = 4 and the complete local name data.
But if the advertising has more then 7 bytes (flags + incomplete service list + tx power level) and the scan response stays at 24 bytes (complete local name) I will receive a scan response event with type 4 but it does not contain the complete local name.
I will add a wireshark log to show you, that the advertisement and scan response of the peripheral is correct.
Has the issue in the above linked thread been fixed in version 1.2.29?
When will the fix be available?
WICED Studio Bluetooth
Here some more information to reproduce the issue:
My peripheral (that I try to find via scan) has the following advertisement settings:
Advertisement Package is set to:
- Flags + IncompleteServiceList + TxPowerLevel
- Flags: 020106
- IncompleteServiceList: 0302FBFE
- TxPowerLevel: 020A08
- Complete advertisement package (Hex): 0201060302FBFE020A08
Scan Response is set to:
- Hex data: 17094F425F334339385B335D5F534E323031393232393838
You will see in the attached Wireshark log that this is actually transmitted over the air.
Now in a terminal using the CYBT-343026-01 peripheral UART:
- Factory Reset
- Scan for 10 seconds , active, with duplicate filtering (I also tried it without duplicate filtering, it will not change)
- My peripheral has the macaddress 008025D15FA3
- I highlighted the issue BOLD
(15:57:35.683) (0.000) /rfac
(15:57:35.726) (0.043) /rfac
(15:57:35.956) (0.230) @R,000B,/RFAC,0000
(15:57:35.956) (0.000) @E,0005,RFAC
(15:57:38.522) (2.565) @E,003B,BOOT,E=01021D1D,S=05020016,P=0103,H=D1,C=00,A=F6BC01C7FD20
(15:57:38.543) (0.020) @E,000E,ASC,S=01,R=03
(15:57:44.294) (5.750) /S, O=10, A=1, D=1
(15:57:44.339) (0.045) /S, O=10, A=1, D=1
(15:57:44.446) (0.106) @R,0008,/S,0000
(15:57:44.485) (0.039) @E,0066,S,R=03,A=5584EAFFB0BB,T=01,S=CB,B=00,D=1EFF0600010920029C567DD6F6607C95B513F4E9BB48EB1060DAD086034264
(15:57:44.565) (0.080) @E,0062,S,R=00,A=7A311B739E43,T=01,S=CA,B=00,D=02011A07030F180A18FFFE11094A616272612045766F6C766532203835
(15:57:44.591) (0.025) @E,0062,S,R=04,A=7A311B739E43,T=01,S=CB,B=00,D=02011A07030F180A18FFFE11094A616272612045766F6C766532203835
(15:57:44.892) (0.301) @E,004A,S,R=00,A=6E5BEBFB9966,T=01,S=B5,B=00,D=02011A020A070AFF4C0010051F1CF0BDAC
(15:57:45.174) (0.282) @E,004A,S,R=04,A=6E5BEBFB9966,T=01,S=C5,B=00,D=02011A020A070AFF4C0010051F1CF0BDAC
(15:57:45.367) (0.193) @E,003C,S,R=00,A=008025D15FA3,T=00,S=CF,B=00,D=0201060302FBFE020A08
(15:57:45.367) (0.000) @E,003C,S,R=04,A=008025D15FA3,T=00,S=CF,B=00,D=0201060302FBFE020A08
(15:57:45.505) (0.137) @E,0038,S,R=03,A=CEE6E9326154,T=01,S=C3,B=00,D=07FF4C0012020000
(15:58:00.141) (14.636) @E,000E,SSC,S=00,R=00
I confirmed that the problem exists and you have to wait for the fix to roll out.
What you actually saw, is that the R=04 (SCAN_RSP) packet's data was only copying the previous R=00 (ADV_IND) packet's data. The issue happens on all the scan results of every peripheral enabling SCAN_RSP, not specific to the settings in your case.
You happened to find the device name in the R=04 packet under some circumstances because the local name was advertised within the R=00 packet in your case.
and thank you for your confirmation.
Can you give a rough estimation when the fix will be rolled out?
- I also tried this with an CYBT-413055-EVAL 01
- I can see no Scan Response at all when scanning.
- No matter if I set active scanning in the /S command or via SSP command.
- I never receive any Scan result event with R=04
Can you please confirm this behavior also for this module?
1. The issue is reported. I can't offer an ETA when the fix will be rolled out. Enjoy the waiting and hope for a better tomorrow.
2. Some EZ-Serial firmware hasn't implemented the "/S" command yet. In fact, the feature to scan and work as a central device didn't fall in the original concerns of EZ-Serial.