natcl / Artnet

An Art-Net library for Teensy, Arduino and ESP boards
Other
342 stars 93 forks source link

Doesn't work Broadcast #45

Open JLightMedia opened 5 years ago

JLightMedia commented 5 years ago

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

natcl commented 5 years ago

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 12:44, Roman Vakulyuk notifications@github.com a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

JLightMedia commented 5 years ago

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé notifications@github.com wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 12:44, Roman Vakulyuk notifications@github.com a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487396271, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA.

natcl commented 5 years ago

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 13:35, Roman Vakulyuk notifications@github.com a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé notifications@github.com wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 12:44, Roman Vakulyuk notifications@github.com a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487396271, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

JLightMedia commented 5 years ago

But if call Ethernet.begin method before Artnet method will the same Ethernet method in Artnet library not redefine settings for Ethernet?

On 28 Apr 2019, at 20:42, Nathanaël Lécaudé notifications@github.com wrote:

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 13:35, Roman Vakulyuk notifications@github.com a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé notifications@github.com wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 12:44, Roman Vakulyuk notifications@github.com a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487396271, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487400522, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM6LTXRMYFT2BK3B2MTPSXOX5ANCNFSM4HI64UEA.

JLightMedia commented 5 years ago

I tried your advice unfortunately it doesn’t work.

On 28 Apr 2019, at 20:42, Nathanaël Lécaudé notifications@github.com wrote:

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 13:35, Roman Vakulyuk notifications@github.com a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé notifications@github.com wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 12:44, Roman Vakulyuk notifications@github.com a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487396271, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487400522, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM6LTXRMYFT2BK3B2MTPSXOX5ANCNFSM4HI64UEA.

JLightMedia commented 5 years ago

Thank you for your help, I think something bed with my Ethernet library.

On 28 Apr 2019, at 20:51, Roman Vakulyuk JLightMedia@gmail.com wrote:

I tried your advice unfortunately it doesn’t work.

On 28 Apr 2019, at 20:42, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 13:35, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 12:44, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/natcl/Artnet/issues/45#issuecomment-487396271 https://github.com/natcl/Artnet/issues/45#issuecomment-487396271>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA>.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487400522, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM6LTXRMYFT2BK3B2MTPSXOX5ANCNFSM4HI64UEA.

natcl commented 5 years ago

Artnet.begin can be called both without arguments and with Mac and ip as arguments. If you do not call it with arguments you need to initialize the ethernet library before. You could test an example ethernet UDP sketch in Arduino's example folder to test out if you can receive broadcast messages.

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 14:03, Roman Vakulyuk notifications@github.com a écrit :

Thank you for your help, I think something bed with my Ethernet library.

On 28 Apr 2019, at 20:51, Roman Vakulyuk JLightMedia@gmail.com wrote:

I tried your advice unfortunately it doesn’t work.

On 28 Apr 2019, at 20:42, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 13:35, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 12:44, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/natcl/Artnet/issues/45#issuecomment-487396271 https://github.com/natcl/Artnet/issues/45#issuecomment-487396271>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA>.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487400522, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM6LTXRMYFT2BK3B2MTPSXOX5ANCNFSM4HI64UEA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

JLightMedia commented 5 years ago

Thank you so much! I’ll try it.

On 28 Apr 2019, at 21:36, Nathanaël Lécaudé notifications@github.com wrote:

Artnet.begin can be called both without arguments and with Mac and ip as arguments. If you do not call it with arguments you need to initialize the ethernet library before. You could test an example ethernet UDP sketch in Arduino's example folder to test out if you can receive broadcast messages.

-- lecaude.com studioimaginaire.com

Le 28 avr. 2019 à 14:03, Roman Vakulyuk notifications@github.com a écrit :

Thank you for your help, I think something bed with my Ethernet library.

On 28 Apr 2019, at 20:51, Roman Vakulyuk JLightMedia@gmail.com wrote:

I tried your advice unfortunately it doesn’t work.

On 28 Apr 2019, at 20:42, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

You can call the regular Ethernet methods before artnet.begin() The artnet library is only a parser, the network code is dependant on the Arduino Ethernet library.

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 13:35, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

artnet.begin functions has only two variables IP and MAC. And 2.255.255.255 broadcast address enough open to cover even subnet 255.255.255.0. I do not think that the reason in subnet mask.

On 28 Apr 2019, at 19:51, Nathanaël Lécaudé <notifications@github.com mailto:notifications@github.com> wrote:

This is usually related to your network settings in your sketch, have a look at the subnet mask: https://www.arduino.cc/en/Reference/EthernetSetSubnetMask https://www.arduino.cc/en/Reference/EthernetSetSubnetMask

-- lecaude.com http://lecaude.com/ studioimaginaire.com http://studioimaginaire.com/

Le 28 avr. 2019 à 12:44, Roman Vakulyuk <notifications@github.com mailto:notifications@github.com> a écrit :

Hello! I tried to use this library. With unicast mode it works perfect, but when my app share broadcast ArtNet, my Arduino Mega doesn't receive anything. My app provides broadcast ArtNet for x.255.255.255 address. And also, I figured out that other apps that can share full broadcast ArtNet (255.255.255.255) work good with this library. I captured UDP packets from different app and figured out that only Destination IP Address parameters are different. Do you have any idea?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/natcl/Artnet/issues/45#issuecomment-487396271 https://github.com/natcl/Artnet/issues/45#issuecomment-487396271>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA https://github.com/notifications/unsubscribe-auth/AGVAMM4I5XIHLF2DFMIACHDPSXI2ZANCNFSM4HI64UEA>.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487400522, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM6LTXRMYFT2BK3B2MTPSXOX5ANCNFSM4HI64UEA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45#issuecomment-487404488, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVAMM4JGQVV424CX4AVQ4DPSXVBNANCNFSM4HI64UEA.

MathieuMH commented 5 years ago

Any luck? I'm struggling with the same problem. I want to drive some WS2811 leds. Used the OctoWS2811 artnet example. The initTest() function works (I see red, green, blue leds). I added some serial debug info and the onDmxFrame routine is never called.

my setup: MagicQ chamsys software on my laptop as ArtNet transmitter Teensy 3.2 with Wiz850io (tested with the webserver example which works flawless). DLINK DIR-505 (Laptop on Wifi and Teensy on cable) Laptop 2.9.200.2 Teensy 2.9.200.15 smartphone with artnet viewer (and it shows there is artnet data on the network).

Tried the above suggestion use the Ethernet library to set the ip and mac. But did not change anything. Either way the Ethernet.linkStatus() == LinkOFF return true. Which means that it appears that there is no cable connected. While there is (green led full on and the orange flashes periodically).

natcl commented 5 years ago

It doesn't work when broadcasting or it doesn't work at all ?

Le mer. 15 mai 2019, à 15 h 58, Mathieu notifications@github.com a écrit :

Any luck? I'm struggling with the same problem. I want to drive some WS2811 leds. Used the OctoWS2811 artnet example. The initTest() function works (I see red, green, blue leds). I added some serial debug info and the onDmxFrame routine is never called.

my setup: MagicQ chamsys software on my laptop as ArtNet transmitter Teensy 3.2 with Wiz850io (tested with the webserver example which works flawless). DLINK DIR-505 (Laptop on Wifi and Teensy on cable) Laptop 2.9.200.2 Teensy 2.0.200.15 smartphone with artnet viewer (and it shows there is artnet data on the network).

Tried the above suggestion use the Ethernet library to set the ip and mac. But did not change anything. Either way the Ethernet.linkStatus() == LinkOFF return true. Which means that it appears that there is no cable connected. While there is (green led full on and the orange flashes periodically).

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/natcl/Artnet/issues/45?email_source=notifications&email_token=AAAS55CLUNBOWKGRLVZDNSDPVRTOBA5CNFSM4HI64UEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPYZIA#issuecomment-492801184, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAS55HJLVMH5C3PD2X2SSTPVRTOBANCNFSM4HI64UEA .

MathieuMH commented 5 years ago

Hi, in my situation is does not work at all. By default MagicQ chamsys is set to broadcast.

natcl commented 5 years ago

Are you able to test with unicast from another source? What ethernet shield are you using? Also what network settings did you use for your study. It's usually the subnet mask that is no set properly.

-- lecaude.com studioimaginaire.com

Le 16 mai 2019 à 02:28, Mathieu notifications@github.com a écrit :

Hi, in my situation is does not work at all. By default MagicQ chamsys is set to broadcast.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

MathieuMH commented 5 years ago

Wel in your example the subnetmask is not defined. In my DIR-505 form DLINK which I regularly use together with my Chamsys lighting desk for live shows, the subnet mask is set to 255.0.0.0 (as in the Art-Net specification). So this means that for artnet the board cast address is 2.255.255.255 right? This is what I had setup in the code. Is the subnetmask of the artnet code set? I don't see a function to change the subnetmask.

I just gave unicast a try with the same software (MagicQ Chamsys). No difference, stil not receiving anything the routine is again not called either. I don't have experience with other artnet transmitters. Can you recommend one for MacOS?

I'm not using one of the default carrier boards. But I made my own based on the OctoWS2811 and Wiz820io adaptor. The design you can find this repository https://github.com/MathieuMH/ArtNetLedPixels I have to add that it is not quite up to date since, I made two manual changes. For some reason I missed in pin numbering and the reset and chip select were not on the correct pin. As state before, when I load the webserver example onto my board I can surf to the board en see the analog reeds of the ports as it should. So I'm quite certain that the hardware is functioning.

natcl commented 5 years ago

You can play with with more network settings by using the standard ethernet library calls, specifically: https://www.arduino.cc/en/Reference/EthernetBegin

Code would then look like this:

Ethernet.begin(mac, ip, dns, gateway, subnet); Artnet.begin()

Notice we call Artnet.begin() without arguments because it is now initialized before.

This is most probably an issue with your network config.

lecaude.com studioimaginaire.com

Le 18 mai 2019 à 10:57, Mathieu notifications@github.com a écrit :

Wel in your example the subnetmask is not defined. In my DIR-505 form DLINK which I regularly use together with my Chamsys lighting desk for live shows, the subnet mask is set to 255.0.0.0 (as in the Art-Net specification). So this means that for artnet the board cast address is 2.255.255.255 right? This is what I had setup in the code. Is the subnetmask of the artnet code set? I don't see a function to change the subnetmask.

I just gave unicast a try with the same software (MagicQ Chamsys). No difference, stil not receiving anything the routine is again not called either. I don't have experience with other artnet transmitters. Can you recommend one for MacOS?

I'm not using one of the default carrier boards. But I made my own based on the OctoWS2811 and Wiz820io adaptor. The design you can find this repository https://github.com/MathieuMH/ArtNetLedPixels I have to add that it is not quite up to date since, I made two manual changes. For some reason I missed in pin numbering and the reset and chip select were not on the correct pin. As state before, when I load the webserver example onto my board I can surf to the board en see the analog reeds of the ports as it should. So I'm quite certain that the hardware is functioning.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

MathieuMH commented 5 years ago

Spend some more time on the unicast matter. After some reading I found where to set my MagicQ software to unicast instead of broadcast. Unicast seems to work, at least the onDmxFrame() is called frequently. I don't have LED output anymore, not even the initTest(). So now there is probably something wrong with the electronics. Never the less, broadcast isn't working. Don't get why. The router/AP's DCHP is set to 2.9.200.1 with subnet 255.0.0.0 (DCHP range 2.9.200.10 - 2.9.200.254) If I'm not mistaken the broadcast address in this situation should be 2.255.255.254 (which is the default artnet broadcast address). When all this is set, the on onDmxFrame routine is not called. When I switch to unicast, it is called. Either the broadcast address is wrong, or there is something wrong with the code.

natcl commented 5 years ago

Did you set the subnet mask in your code to match the one on your router?

-- lecaude.com studioimaginaire.com

Le 19 mai 2019 à 10:16, Mathieu notifications@github.com a écrit :

Spend some more time on the unicast matter. After some reading I found where to set my MagicQ software to unicast instead of broadcast. Unicast seems to work, at least the onDmxFrame() is called frequently. I don't have LED output anymore, not even the initTest(). So now there is probably something wrong with the electronics. Never the less, broadcast isn't working. Don't get why. The router/AP's DCHP is set to 2.9.200.1 with subnet 255.0.0.0 (DCHP range 2.9.200.10 - 2.9.200.254) If I'm not mistaken the broadcast address in this situation should be 2.255.255.254 (which is the default artnet broadcast address). When all this is set, the on onDmxFrame routine is not called. When I switch to unicast, it is called. Either the broadcast address is wrong, or there is something wrong with the code.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

MathieuMH commented 5 years ago

Yes, using the suggested:

Ethernet.begin(mac, ip, dns, gateway, subnet); Artnet.begin()

natcl commented 5 years ago

A subnet mask of 255.0.0.0 seems a bit unusual, did you try something more standard like 255.255.255.0 ?

-- lecaude.com studioimaginaire.com

Le 19 mai 2019 à 10:41, Mathieu notifications@github.com a écrit :

Yes, using the suggested:

Ethernet.begin(mac, ip, dns, gateway, subnet); Artnet.begin()

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

MathieuMH commented 5 years ago

it is for regular networking stuff. But for artnet you 'should' use 255.0.0.0 otherwise you limited to 255 devices. Therefor my gear is default set with this subnet. And I never had troubles with it, until now. :)

natcl commented 5 years ago

I'm not near a computer right now but a test you could do is to load one of the UDP receive example of the ethernet library and see if broadcast works, this would isolate the issue more. If broadcast doesn't work with the standard ethernet library then it's probably a setting there, else it might be something in the artnet library although I doubt it since it only does parsing.

-- lecaude.com studioimaginaire.com

Le 19 mai 2019 à 10:50, Mathieu notifications@github.com a écrit :

it is for regular networking stuff. But for artnet you 'should' use 255.0.0.0 otherwise you limited to 255 devices. Therefor my gear is default set with this subnet. And I never had troubles with it, until now. :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

MathieuMH commented 4 years ago

Meanwhile I figured it out. Regardless off the fact that I had interrupt issue I discovered something about Chamsys (or Art-Net 4 controller in general). Regardless of the fact that the node is set to broadcast or unicast. MagicQ chamsys only transmits the universe if it listened too. So if the attached node is not sending the ArtPollReply indicating to what universes is listens. It stops transmitting. I discovered this using wireshark. Universe 1-4 stayed online. But data for universe 5 and 6 stopped after a while. That was the reason why. I adapted the library to support Art-Net v4. This allows a ArtPollReply for every universe listened. This is easier to implement.

natcl commented 4 years ago

Indeed Artnet < 4 only allowed 4 universes per node. Feel free to do a PR ! I assume it doesn't break artnet 3 implementations ?

LittleBigGorilla commented 4 years ago

I'm having the same problem. Unicast works perfectly fine, broadcast doesn't.

MathieuMH commented 4 years ago

@LittleBigGorilla please read the above.

@natcl well comp ability should be checked I guess. But the chance that you have a art-net controller with Art-Net versions 3 or lower is quite small. According to the Art-Net docs, version 4 is backwards compatible. But with the different ArtPollReply i'm not so sure.

DrBit commented 2 years ago

Hi All

An update for those who have the same problem

I had this problem years ago but I ended up just configuring the Unicast setting and forgot about this. Now I'm trying to program a led node that should definetly be listening to brodcast information from my desk (grandMA2). I was still observing the same behaviour, broadcast messages from the desk using IP 2.255.255.255 awhere ignored by the teensy/arduino code. Using wireshark I could see the packages being send on address 2.255.255.255 but could not receive any of them on the teensy. Otherwise when using the unicast IP 2.0.0.161 (my teensy), packets where received correctly.

As stated avobe by @MathieuMH the solution is to correctly set the subnetMask to {255, 0, 0, 0};

I haven't modified the library to support artnet4, but instead just changed subnetmask. What indeed I've seen is grandma2 when set to broadcastAUTO is detecting my node and setting the unicastIP automatically only when artnetpackets ArtPollReply are present.

I've also tryed chamsys magicQ and it also works correctly.