-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding multiple admins fails with CASE error on TE6 branch #10337
Comments
It works for me, however I used our own BLE/Thread device instead of Lighting app. It looks like an mdns/routing problem, can you try with both controllers on same raspi as a test? |
It doesn't seem like an mdns problem to me - if you look at line 370/371 on the 2ndController.txt, you can see that avahi resolves the address, and I confirmed with Chaitanya that it's as expected. However, there is an error on line 386 that's concerning - have you seen |
I see a lot of flakyness on our platform too with multi-admin (EFR32) on both TE6 branch and ToT. The commissionning flow fails for the 2nd admin |
controller1 resolves ipv6 address fd7b:a81b:9770:0:dea6:32ff:fe8d:7072 but controller2 gets given ipv4 address 192.168.4.223. Then avahi resolves ipv4 address 192.168.6.222 which is again different. My setup uses ipv6 exclusively and it works. |
So it looks like controller2 correctly resolves the device. It sends a Sigma1 (line 383 of 2ndController.txt). The device receives it (line 2358 of accessory_log.txt) and sends a Sigma2 (line 2394). The commissioner receives the Sigma2 but (starting line 384 in 2ndController.txt):
So most pressingly, the exchange delegate is null, so the Sigma2 message is not delivered to the CASE state machine and then the handshake fails. I am also not sure what the deal is with the "invalid message type" message there. That means this check tested true:
which is pretty odd in this case. Anyway, after this the commissioner retransmits Sigma1 a few times, and the other side retransmits Sigma2 a few times, but they all get dropped as duplicates. And in any case, on the server side we had, 5 seconds after sending Sigma2 (line 2396 in the accessory log):
which happens before the retransmits. But the big question is what closed the CASE establishment exchange on 2ndController after sending Sigma1, so that the delegate ended up null. @pan-apple any ideas? |
Here is what closed the CASE exchange: |
5 seconds is definitely no enough! CASE can take longer than that on very constrained CPUs |
K, so let's bump that up and see if it resolves things - that was set pre-case. |
That's on the server, though. But the exchange is already closed on the client (commissioner) when we get the Sigma2.... |
That said, @cjandhyala could you try the change in #10357 and see if that helps? |
Hi, I cherry-picked #10357 on the test_event_6 branch (82bcd4e) for the two controllers. Multi-admin still often fails on my end for the second admin. I mostly see two different errors when it fails
Sigma3_TO_Controller#1.txt
OTBR fails to update the last SRP service after receiving SigmaR3. I am not sure if it is related.
SSL_ERR_Controller#1.txt I am attaching all 3 logs for both scenario. (Ctrl 1, Ctrl 2, EFR32_Light_app) Can you make any sense of either of those failures? |
I think I'm running into the same issue now, and I'm noticing some logs that suggest we may be adding opcerts twice. It's hard to tell because the device attestation code re-uses some of the same stuff, but I'm seeing two entries in the fabric table for one commissioning. |
#12821 will contribute to this. |
@cjandhyala Is this still an issue? |
Issue Review: Closing issues prior to TE8. Please re-file if this is still an issue on newer SDKs |
Adding 2nd admin(2nd python control) fails On TE6 branch (82bcd4e).
Steps to reproduce :
(This setup uses 3 different raspis , one for accessory, one for 1st controller , one 2nd controller)
Attached logs,
1st_controller.txt
2ndController.txt
accessory_log.txt
The text was updated successfully, but these errors were encountered: