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
|
||||
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
|
||||
and Broadcast" - ist das aktiv, faellt die Gruppe weg, solange sie nicht ausdruecklich
|
||||
erlaubt ist.
|
||||
- Netzwerk-Einstellungen: IGMP Snooping - entweder auf diesem VLAN abschalten (dann wird
|
||||
geflutet) oder sicherstellen, dass ein Querier laeuft. Snooping ohne Querier ist der
|
||||
klassische Weg, Multicast unbemerkt verschwinden zu lassen.
|
||||
| Zustand im UniFi | Multicast kommt an? |
|
||||
|---|---|
|
||||
| Snooping aus, Multicast-zu-Unicast aus, kein Blocker (Ausgangslage) | nein |
|
||||
| Multicast-zu-Unicast an | nein |
|
||||
| zusaetzlich IGMP-Snooping an, Querier "Aus (Drittanbieter)" | nein |
|
||||
| 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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user