docs(sacn): Netzseite durchprobiert - Multicast bleibt aus, Verdacht liegt bei der Lampe
Vier UniFi-Varianten getestet (Multicast-zu-Unicast, IGMP-Snooping, Querier), in jeder kam Multicast nicht an und Unicast sofort. Dazu die Einschraenkung, die beim ersten Freispruch der Firmware unterging: sacn.multicast meldet nur den Rueckgabewert von IP_ADD_MEMBERSHIP, und die SDK-Funktion fuer den Hardware-Filter kann ERR_OK liefern, ohne den Filter gesetzt zu haben.
This commit is contained in:
+33
-7
@@ -46,14 +46,40 @@ Dass mDNS funktioniert, widerspricht dem nicht: `224.0.0.251` liegt im link-loka
|
|||||||
`224.0.0.0/24`, den Switches und Access Points per Norm von der IGMP-Filterung ausnehmen und
|
`224.0.0.0/24`, den Switches und Access Points per Norm von der IGMP-Filterung ausnehmen und
|
||||||
immer fluten. `239.255.0.1` unterliegt dagegen der Filterung.
|
immer fluten. `239.255.0.1` unterliegt dagegen der Filterung.
|
||||||
|
|
||||||
Anzusehen waeren im UniFi-Setup fuer das IoT-Netz:
|
**Netzseite in derselben Nacht durchprobiert - ohne Erfolg:**
|
||||||
|
|
||||||
- WLAN-Einstellungen: "Multicast and Broadcast Control" bzw. "Block LAN to WLAN Multicast
|
| Zustand im UniFi | Multicast kommt an? |
|
||||||
and Broadcast" - ist das aktiv, faellt die Gruppe weg, solange sie nicht ausdruecklich
|
|---|---|
|
||||||
erlaubt ist.
|
| Snooping aus, Multicast-zu-Unicast aus, kein Blocker (Ausgangslage) | nein |
|
||||||
- Netzwerk-Einstellungen: IGMP Snooping - entweder auf diesem VLAN abschalten (dann wird
|
| Multicast-zu-Unicast an | nein |
|
||||||
geflutet) oder sicherstellen, dass ein Querier laeuft. Snooping ohne Querier ist der
|
| zusaetzlich IGMP-Snooping an, Querier "Aus (Drittanbieter)" | nein |
|
||||||
klassische Weg, Multicast unbemerkt verschwinden zu lassen.
|
| zusaetzlich Querier "Primaer/Failover" | nein |
|
||||||
|
| dasselbe, danach frischer Beitritt der Lampe erzwungen | nein (`multicast: true` gemeldet) |
|
||||||
|
|
||||||
|
Unicast funktionierte in jeder dieser Varianten sofort. Der Multicast- und Broadcast-Blocker
|
||||||
|
war durchgehend aus, Geraete- und L3-Isolierung ebenfalls.
|
||||||
|
|
||||||
|
**Damit zeigt der Verdacht auf die Lampe.** Wichtig fuer den naechsten Versuch: Das Feld
|
||||||
|
`sacn.multicast` ist NICHT so aussagekraeftig, wie es aussieht. Es meldet nur, dass
|
||||||
|
`IP_ADD_MEMBERSHIP` erfolgreich zurueckkam. Die SDK-Funktion, die den Hardware-Filter des
|
||||||
|
W600 programmiert (`ethernetif_igmp_mac_filter` in
|
||||||
|
`sdk/Src/Network/lwip2.0.3/netif/ethernetif.c`), steigt jedoch ganz oben mit
|
||||||
|
|
||||||
|
```c
|
||||||
|
if (netif != tls_get_netif())
|
||||||
|
return ERR_OK;
|
||||||
|
```
|
||||||
|
|
||||||
|
aus - sie meldet also Erfolg, OHNE den Filter gesetzt zu haben, wenn die Schnittstelle nicht
|
||||||
|
die vom SDK als aktuell gefuehrte ist. Dann nimmt der Chip die Frames nie an.
|
||||||
|
|
||||||
|
Naechste Schritte, wenn es weitergeht:
|
||||||
|
|
||||||
|
1. Serielle Konsole an eine Lampe haengen und mitlesen, was beim Beitritt passiert.
|
||||||
|
2. `imr_interface` einmal mit `INADDR_ANY` statt der STA-IP versuchen - das aendert, welches
|
||||||
|
netif lwIP waehlt, und koennte den Ausstieg oben umgehen.
|
||||||
|
3. `sacn.multicast` ehrlicher machen: aktuell behauptet es einen Erfolg, den das SDK nur
|
||||||
|
zurueckmeldet, aber nicht garantiert.
|
||||||
|
|
||||||
Zwei Fehlversuche auf dem Weg dorthin, damit sie niemand wiederholt:
|
Zwei Fehlversuche auf dem Weg dorthin, damit sie niemand wiederholt:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user