diff --git a/docs/acceptance-sacn.md b/docs/acceptance-sacn.md index 5304601..3df34d6 100644 --- a/docs/acceptance-sacn.md +++ b/docs/acceptance-sacn.md @@ -145,3 +145,45 @@ Lampen tragen noch die alte Firmware und damit nur die Dimmer-Belegung. Nicht auf Hardware geprueft: das `rgb`-Layout auf einem Board OHNE Farbkanaele (groesster der drei Werte auf beide Weisskanaele). Abgedeckt durch `test_dmx.c`. + +## Nachtrag 2026-09-21 - Multicast GEFUNDEN und behoben + +Die Ursache lag die ganze Zeit bei uns, nicht im Netz: Die Lampe trat der **falschen Gruppe** +bei. Aus Universe 1 wurde `239.255.239.255` statt `239.255.0.1`. + +Schuld ist ein nicht geklammertes Makro im SDK +(`sdk/Include/Net/wm_sockets2.0.3.h`): + +```c +#define htonl(n) (((n & 0xff) << 24) | ((n & 0xff00) << 8) | ...) +``` + +Stand die Adressrechnung direkt im Aufruf, traf die Maske nach der Textersetzung nur den +letzten Term, weil `&` staerker bindet als `|`. Fuer Universe 1 ergibt das exakt `0xefffefff` - +genau der Wert, der am EVK auf der seriellen Konsole stand. + +Damit erklaert sich alles, was vorher widerspruechlich aussah: Der Beitritt gelang (deshalb +`multicast: true`), die Lampe meldete ihn auch brav per IGMP - nur eben fuer eine Gruppe, auf +die niemand sendete. Unicast war davon nicht betroffen, mDNS auch nicht (das joint das SDK +selbst mit einer festen Adresse). + +**Gefunden am EVK ueber die serielle Konsole**, nachdem vier Netz-Konfigurationen und fuenf +andere Theorien nichts ergeben hatten. LwIPs `igmp.c` liegt als Quelltext im Baum und laesst +sich instrumentieren - das war der Hebel, der zwei Naechte lang fehlte. + +### Abnahme des Fixes + +| Pruefpunkt | Ergebnis | +|---|---| +| EVK, Gruppe laut Konsole | `join efff0001`, MAC-Filter `01:00:5e:7f:00:01`, Report `type=0x16` | +| EVK, Multicast-Uebernahme | bestanden | +| EVK, Universe-Wechsel ueber Multicast | bestanden: Sender auf 1 wirkungslos, Sender auf 12 uebernimmt | +| E27 RGB (Produktivlampe), Multicast im `rgb`-Layout | bestanden | +| Farbzuordnung: `255,0,255` | lila (Sichtpruefung) - R und B an, G aus | +| Farbzuordnung: `0,255,0` | gruen (Sichtpruefung) - nur der mittlere Kanal | + +### Fuer die Netzseite + +Die vier UniFi-Umstellungen vom Vortag (Multicast-zu-Unicast, IGMP-Snooping, Querier) waren +fuer dieses Problem nicht noetig. Der Querier auf "Primaer/Failover" gehoert trotzdem so - +Snooping ohne Querier ist unabhaengig davon eine schlechte Kombination.