Skip to content
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

E (2843) chip[SVR]: Error when trying to join Group 257 of fabric index 1 : 10e (Group communication does not work on WiFi devices) #18984

Closed
nykh2010 opened this issue May 31, 2022 · 13 comments
Assignees
Labels
esp32 lwip needs more info spec Mismatch between spec and implementation V1.0

Comments

@nykh2010
Copy link

when I use "./chip-tool groups add group 257 "grp" 1 0" to add esp32 to one group. it is fail when join the group. the error log is "E (2843) chip[SVR]: Error when trying to join Group 257 of fabric index 1 : 10e".
I use the lighting-app example.
multicastAddress.log

@mrjerryjohns
Copy link
Contributor

10e is an INET_ERROR_UNKNOWN_INTERFACE.

@mrjerryjohns
Copy link
Contributor

The above error is being emitted from Server::RejoinExistingMulticastGroups, when trying to call mTransports.MulticastGroupJoinLeave. Someone versed in group comms should help take a look at this...

@bzbarsky-apple
Copy link
Contributor

@dhrishi @mkardous-silabs @turon

I expect that UDPEndPointImplLwIP::IPv6JoinLeaveMulticastGroupImpl or UDPEndPointImplLwIP::IPv4JoinLeaveMulticastGroupImpl is what's returning INET_ERROR_UNKNOWN_INTERFACE, when FindNetifFromInterfaceId returns null.

Looks like UDP::MulticastGroupJoinLeave does:

    return mUDPEndPoint->LeaveMulticastGroup(mUDPEndPoint->GetBoundInterface(), address.GetIPAddress());

and I am wondering whether mUDPEndPoint->GetBoundInterface() is the "wildcard" interface id, in that the UDP endpoint is not bound to a specific interface at all.... I am willing to bet it is.

If that's what's going on, then that's also the thing that breaks group comms on Mac...

@bzbarsky-apple bzbarsky-apple added V1.0 spec Mismatch between spec and implementation labels Jun 2, 2022
@jepenven-silabs
Copy link
Contributor

No work was done on our side for LwIP support of Multicast. There was a compatibility issue between the OpenThread Stack and the LwIP stack fro groups on top of code duplication hence we move aside from using LwIP and that context.

@dtodor
Copy link

dtodor commented Jun 13, 2022

We are having the same issue. Is group messaging supposed to work on EFR32 and ESP32? On the EFR32 side, the log says that the multicast group has been joined, but no messages are received.

@woody-apple
Copy link
Contributor

woody-apple commented Jun 15, 2022

Spec Issue Review: @rcasallas-silabs Are you able to take a look at this group issue in the Core SDK? @bzbarsky-apple can supply context if needed. @turon possibly as well.

@woody-apple woody-apple changed the title E (2843) chip[SVR]: Error when trying to join Group 257 of fabric index 1 : 10e E (2843) chip[SVR]: Error when trying to join Group 257 of fabric index 1 : 10e (Group communication does not work on WiFi devices) Jun 15, 2022
@jepenven-silabs
Copy link
Contributor

This is platform specific to LwIP, issue is not present on Native Openthread platform nor on Zephyr platform. @Damian-Nordic can you confirm that it indeed works on Zephyr?

De-assigning Ricardo from this issue since its platform specific

@jepenven-silabs
Copy link
Contributor

More over if the device is using IPV4 this is expected behavior at that point since multicast doesn't support IPV4

@Damian-Nordic
Copy link
Contributor

@jepenven-silabs Yes, it definitely worked the last time I tried it on Zephyr platform and I believe we have automated tests for this functionality.

@andy31415
Copy link
Contributor

Looked a bit at 20136 - I believe our current code only uses mld6_joingroup_netif and never mld6_joingroup
For wildcard inet interface, we probably need to use mld6_joingroup

What I am unclear about is socket implementation ... there interface index 0 means default interface and I am unclear what default is. However if sockets work now, maybe we only need to fix lwip.

@andy31415
Copy link
Contributor

If group comms is also broken on mac, we may need group communication to use a separate endpoint for every interface (minmdns does this currently, but it also needed this to be able to send and receive unicast packets I believe).

@andy31415
Copy link
Contributor

@nykh2010 could you retest now that #20136 was merged? I believe that should address this issue.

@woody-apple
Copy link
Contributor

Cert Blocker Review: Closing this, given we believe this is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
esp32 lwip needs more info spec Mismatch between spec and implementation V1.0
Projects
None yet
Development

No branches or pull requests

9 participants