Two ethernet cards & artnet!

OK First of all, is this possible from the same pc:

I’m wanting to install 2 Ethernet cards in the same computer and output half of my DMX universes through one card and the rest through the second card?
Anyone know where to start with this?

D

why not outputting all universes on both cards?

or do you want 2 x 256 universes?

eh eh… you would like to send in broadcast !
for doing this, you need 2 artnet nodes , sending each one to IP specific ethernet card world:
1-192.168.1.10
2-127.168.1.45

i have the same interrogations as kalle

Ill try and explain, as it was an issue that the hardware designer ran into which ive been working with.

when setting the do send pin on the dmx artnet send, the packets output one after the other without a pause between them, so 512dmx worked out roughly 600bytes (with header etc) for each packet, now because the packets are outputting so fast, the ethernet card was storing the last packet in its buffer whilst it was taking its 60ms or whatever to process the first one. This is fine when sending out a low numner of universes. but when we started to increase the number, the ethernet buffer would overflow, and some packets would not be delivered or be delivered sparadcaly. Karl called this a memory tear.
We have been working on led videowall suff, so a small array just eats up the universes, and i think it worked out that we could only use 78 universes before we would get a memory tear.

Also banging the dosend on the dmx node resulted in not just one packet of each univeres but several. Also reducing the main loop did not alter the output speed. Ideally we would like to be able to put a few miliseconds pause between packets instead of the packets being threaded, which would use up less buffer, alternatively 2 ethernet cards would give us enough buffer room.

Im still getting my head arround this myself, as it results in lots of calculations!

Oh yeah, only in broadcast mode too.

Thanks
D

hum… i think that Kalle will be the good guy to answer… that is a hudge config… I m not sure to be helpfull or to say intelligent things on this topic, but here is what i think:

about hardware ethernet card buffer full: are you on ODE or another Card ?
Because if you are on Enttec ODE, they have their own protocol where you can gain some bytes ( consecutive chanels at same intensity are coded in a certain way to gain place in the bytes getting down the length of your chain ).

my opinion would be if you are around 78 universes ( how many sub-net ?) to have different seperate physical networks (more than 2). Not only ethernet cards but also separate Rj45 Hub and networks.
a 10 M Ethernet Card should be sufficient without delay only for 10Meg / (0.6 Mbytes*30fps) : aka 5 universes ? if you want more smoothness for Leds, you will go down on the number of universes to have a fluid stream of data.
sure that is a plan having more than one computer … :-(

Kalle ?

no.
but:
Oschatz?

The hardware iscustom led driver boards which accept artnet, so that where the limit is, currently we have a few options:
Boygroup 2 computers and output pairs of the image/scheme
find a way to introduce a delay between frames.
or output on 2 ethernet cards!

we got a while yet, so im sure eiter us or some more knowlegeble people here will know a way (fingers crossed!)

the question is : the led driver board has an ethernet port on wich you plug yourself.
wath is its bandwidth ?
are you sure they all have the same bandwidth ?
is it home made or have you got a link to look at ?

certain switch / rj45 matrix/ hub (dont know the name in english) have the hability to not let get down the bandwitdh:

if you have a 1000 Mb card on PC, and plug to it a device running at 100 Mb, the bandwidth of the network will fall at 100Mb.

Using a special hub that protect the bandwidth, you could output at 1000 Mb, and dispatch without any trouble to a certain amount of led cards ( depending of their bandwidth).
Means you make a kind of wise splitter to avoid the trouble of network consumption.

Try to make a test around this, see if hardware could solve this, before thinking to boygrouping.

oschatz ?

hmm. i can confirm that the Artnet node uses the UDP broadcast adresss 255.255.255.255 always for all sending. all universes are sent in different calls to the operating system after another. I would see it as improbable that the (iirc blocking) UDP socket implementation will discard data when called some dozend times after another. can you elaborate on the term memory tearing?

If you dont get close to the theoretical maximum, you might discover a driver bug. have you tried different network cards? have you tried using a gigabit ethernet switch?

probably you want to have LED interfaces with gigabit ethernet.

lowering the MainLoop (only in Raw or Filtered mode) will make vvvv wait until a given time span has elapsed, so it should definitely increasing the interval in which the burst with all the UDP data is sent. Create a little patch to toggle the mainloop between 60 and 1 with the Keyboard to test this more convenient.

It may be that windows internally uses threads with lower than normal priority for UDP sending (as it does e.g. for video playback). as vvvv usually tries to max out the cpu, these threads may starve out. Try setting Boost (VVVV) to -1.

meanwhile i read an article in the german magazine “PRODUCTION PARTNER”:
sth about any issues causing a practical limit of ~40 universes and the use of configurable switches for creating VLANs (Virtual LANs) or sth like this.

can’t go into details right now and don’t really have time for translating 12 DIN A4 Pages…
sorry.

78 universes is quite a lot! I know that catalyst/pixelmad has done 60+ but that is quite a big installation, this was for LED fixtures rather than a video wall, the only suggestion I can make is to use multiple servers all looking at sections of the same video input and multiple dmx networks in that way? Still going to be a lot of pc’s for a lowres wall!

i convinced björn to go into the source and make the udp broadcast target adress in the DMX (Network Artnet Sender) changeable with a pin for the next release. The pin defaults to 255.255.255.255, so for all usual purposes the node works as before, and the adress need not be changed.

Changing this address should make possible to specify subnet specific broadcast addresses for all you trying to use multiple network adapters to control more than 78 DMX Universes which would saturate a 100MBit Lan. It might also help dealing with configurable switches.

consider this an experimental feature as we havent the equipment for testing this here so any feedback would be very much appreciated.

Finally back home after loong week!

@karistouf

The problem is not the bandwidth its the hardware limitations, a bit like trying to fill a thimble full of water with a firehose! Its custom made hardware, which is currenlty in testing.

Yeah 78 universes is allot, but when the wall may end up being the size of a bus it soon eats it up, lol. I remember talking to one of the guys from Hippotizer and they said they could do 100 universes but wouldnt recomend it. Oh and during testing, vvvv worked better at pixelmapping then a grandMA (on PC).

Excellent, looking forwad to the next release, thanks vey much for that Oschatz!

consider this an experimental feature as we havent the equipment for testing this here so any feedback would be very much appreciated.

seems to be reliable.
you also can use computernames like renderclient instead of IPs like 192.168.0.44

the only thing: IMHO the Destination Address Inlet should be spreadable. like it is e.g. on the UDP-nodes.

I second this, seems to be working perfectly, Im working wih 2 PC’s each outputting arround 200 universes on one card and talking to a second network on the other card without any Artnet Jamming up the second network! Marvelous!