-
Notifications
You must be signed in to change notification settings - Fork 7.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
[TW#27190] Multicast Example Does not work on Ethernet #2657
Comments
@benpeoples Yes, by default the mac will filter the multicast address if they could not match the address by Perfect Filter. Since we haven't configured any supported multicast address, so the emac will filter all received multicast frames. |
Thank you! To be clear, this is an issue with only EMACADDR0 being selected for Perfect Filter, and I could adjust registers to workaround the issue directly? That is, it's a driver issue not a silicon issue? |
@benpeoples Yes, it's a driver issue. |
It can be a working workaround if I set the Frame Filter Register PAM bit (Pass All Multicast) to 1? |
That should work in theory (that's the first thing I'm going to try), and it should generally work if you have well-behaved switches on the network. I would look at |
I insterted this code into my main.c:
and the UDP multicast receiving starts to operate! |
I found the problem. My UDP task uses select(). If I eliminate select() the tcp server accept() works. So the select() is not a thread safe function? |
@vtamas00 We have fixed the multicast issue by add |
Environment
git describe --tags
to find it):// v3.2-dev-1429-g7efbe8178
xtensa-esp32-elf-gcc --version
to find it):// xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0
Problem Description
example/udp_multicast
works via WiFi but does not work via Ethernet.config.tcpip_input
function, so they may be being filtered by the emac? My digging stopped there.Expected Behavior
Actual Behavior
Steps to repropduce
Code to reproduce this issue
https://pastebin.com/S2J8BehK
Debug Logs
Other items if possible
The text was updated successfully, but these errors were encountered: