Jump to content
Light-O-Rama Forums

Dual Nic Tricks and CommListener


colonel

Recommended Posts

The Listener is doing exactly what it needs to do when you have one or more E1.31 universes defined:  Sending DMX control frames.  The DMX spec requires frames to be sent every so many MS, regardless if the data is changing or not (IE, you have a show running).  That is why you see data even without anything 'running'.

 

The issue is how you have routed that data.  Routing is a VERY complex area to learn -- there are multiple college level classes that dive into the nuances of IP routing.

 

There's a very good developer oriented read here:

http://stackoverflow.com/questions/2065495/using-a-specific-network-interface-for-a-socket-in-windows

That information could help LOR update the listener to bind directly to the NIC we configure (at least post windows XP)  Default to no binding but allow selection in the network utility, where we configure the universes.

Link to comment
Share on other sites

Thanks for the clarification Mike. There seems to be a lot of complaints. One vendor shows leaving the gateway blank for the NIC feeding the 1.31's, so that doesn't help.

 

There may be a lot of complaints, but it's not anything we have control over.  It's working exactly how it is supposed to work.

 

Leaving the gateway blank isn't going to do anything.  All those packets are trying to do is find a way to their home.  If they can't find a way, they'll go to the default gateway of the other NIC.  You can't leave that one empty because then you'll loose all your internet connectivity.

 

The problem is that IP routing is complex.  Proper routing will take some work on the end users part.

Link to comment
Share on other sites

There's a very good developer oriented read here:

http://stackoverflow.com/questions/2065495/using-a-specific-network-interface-for-a-socket-in-windows

That information could help LOR update the listener to bind directly to the NIC we configure (at least post windows XP)  Default to no binding but allow selection in the network utility, where we configure the universes.

 

We know how to bind to a NIC.  That is NOT the correct way to fix this however.  The correct way is to set up the routing properly and let IP do what IP does best -- find a route.  What about the poor soul that has 3 NICs?  4?  See, if the packets are properly routed, we don't care which NIC is going to be used.

Link to comment
Share on other sites

We know how to bind to a NIC.  That is NOT the correct way to fix this however.  The correct way is to set up the routing properly and let IP do what IP does best -- find a route.  What about the poor soul that has 3 NICs?  4?  See, if the packets are properly routed, we don't care which NIC is going to be used.

True,  IP will rout the packets correctly IF the routing table is setup properly.  However as you said IP routing is complex, and those of us in this hobby are decidedly not IP routing experts.   LOR does not require us to understand the RS-485 protocol, why then require us to learn IP routing?

 

Much of the issue we are having is with IP doing what it does best "finding a route".  Even with routs setup correctly (from what I can tell) My packets route to the correct NIC if and only if the destination IP addresses exist on that network.  Once they are turned off IP can't find a route in that direction so it sends it off to the other NIC and floods my wireless network with DMX commands.

 

The trouble is that even though the E1.31 network is 10.10.1.* and the wireless is 192.168.1.* packets to 10.10.1.100 will head out to the gateway router 192.168.1.1 for a delivery attempt when delivery to 10.10.1.100 fails.  I don't know if binding will solve this problem but if it does, then AFIK binding is the only way to solve this.

Link to comment
Share on other sites

The problem with using a 10.10.x.x is that this is a legally routed IP address. Thats the reason we use 192.x.x.x addresses within our local LAN. Suppose to be none route able. But our routers at home have a NAT feature that takes our none route able addresses and makes them semi route able and our ISP adds one more layer of privacy before it is translated into a true route able address.

As I remember it. The Wan port comes into the box and then through a router and comes out to the 4 ports and the Wireless adapter. So on the lan side we have a switch with a router between to the Wan port. Ya I know said it forwards and then backwards.

 

I agree with above statement that we need to set up manual routing tables. Something that most consumer grade routers dont have from my experience though it is somewhat limited.

Link to comment
Share on other sites

The problem with using a 10.10.x.x is that this is a legally routed IP address. Thats the reason we use 192.x.x.x addresses within our local LAN. Suppose to be none route able. But our routers at home have a NAT feature that takes our none route able addresses and makes them semi route able and our ISP adds one more layer of privacy before it is translated into a true route able address.

As I remember it. The Wan port comes into the box and then through a router and comes out to the 4 ports and the Wireless adapter. So on the lan side we have a switch with a router between to the Wan port. Ya I know said it forwards and then backwards.

 

I agree with above statement that we need to set up manual routing tables. Something that most consumer grade routers dont have from my experience though it is somewhat limited.

 

Actually the 10.x.x.x is a private class A network, much like 192.168.x.x is a private 256 class C network.

Link to comment
Share on other sites

I've been doing some reading and it looks like we can do this with local routing tables.   I've not had a chance to test it, but the Ideas is that given:

Wired E1.31 network: 192.168.1.*  and NIC IP of 192.168.1.100

Home network: 192.168.0.* and NIC IP of 192.168.0.85

 

We would want the routing table to look like this

Network         Mask             Gateway          Interface          Metric 

192.168.1.0     255.255.255.0    196.168.1.100    196.168.1.100      1

192.168.1.0     255.255.255.0    192.168.1.250    software loopback  2

0.0.0.0         0.0.0.0          192.168.0.1      192.168.0.85       10

 

192.168.1.250 can't exist on the network (I think)

 

Line 1 directs E1.31 traffic to the right network.

Line 2 directs E1.31 traffic to nowhere (I hope) when the E1.31 devices don't exist.

Line 3 directs all other traffic to the home network

 

Line 3 may be unnecessary, as it should be defaulted by the network interface already.

 

I can try to test this weekend, unless someone wants to test first:

 

Test1: with devices plugged in.

Test2: with devices unplugged..

 

Does network traffic stay off the home network in both cases?

Edited by khawes
Link to comment
Share on other sites

Thanks DevMike,

 

Been to many years ago that I took some Cisco Academy classes. Where I work we use the 10.230.x.x addresses. Makes sense what you are saying.

Link to comment
Share on other sites

I hope to get my show setup working this weekend and will test this. I have 3 songs done and also want to run a show with the 400mb songs. While we are waiting.

 


Network         Mask             Gateway          Interface          Metric 

192.168.1.0     255.255.255.0    196.168.1.100    196.168.1.100      1

192.168.1.0     255.255.255.0    192.168.1.250    software loopback  2

0.0.0.0         0.0.0.0          192.168.0.1      192.168.0.85       10

Test1: with devices plugged in.

Test2: with devices unplugged..

Does network traffic stay off the home network in both cases?

Link to comment
Share on other sites

I have my LOR  e1.31 network setup with its own network and computer. All pings, lights work. The computer is connected to a wireless internet provider as I need remote access to it. The e1.31 is on a separate NIC and goes to a router then to a switch then to 2 Pixlite16’s on unicast, all on a separate network from the Internet-and local lan. I tried various ways to keep CL from doing what it is supposed to do and send traffic out my internet gateway with everything hooked up and running. The “Route” command offers some options but I could not get it to stay local without killing the internet connection.. I did not try anything (filtering. Forwarding) at the router level as I run simple routers with few options.

 

As many are doing, use a separate computer and network and isolate it for the show is best anyway. Because I need remote access, I have it hooked to my LAN with a separate NIC. I did find that removing the Gateway address from the LAN NIC caused CL to not do what it is supposed to do and I was still able to RDP to that computer locally but not from outside that network. I can however RDP (or Logmein) into the LAN on another computer and then RDP locally to it. This works for me. I also use a camera to monitor the monitor for messages.

 

As noted by others there are some “hurdles” and most can be worked around. I have made it to running a show using compressed sequences but now CL unloads after a while. Not found any cause yet. I tried a “restart” program on it but CP has to reload too and that would start the show all over again and maybe not in a good spot. Anyway I know LOR will give us a great update, soon I hope. They are adding more “resources” to make it come quicker!  Meanwhile, lots of other things to do. Lots, like zip tying 4000 pixels so they won’t pull apart.

Link to comment
Share on other sites

I've been doing some reading and it looks like we can do this with local routing tables.   I've not had a chance to test it, but the Ideas is that given:

Wired E1.31 network: 192.168.1.*  and NIC IP of 192.168.1.100

Home network: 192.168.0.* and NIC IP of 192.168.0.85

 

We would want the routing table to look like this

Network         Mask             Gateway          Interface          Metric 

192.168.1.0     255.255.255.0    196.168.1.100    196.168.1.100      1

192.168.1.0     255.255.255.0    192.168.1.250    software loopback  2

0.0.0.0         0.0.0.0          192.168.0.1      192.168.0.85       10

 

192.168.1.250 can't exist on the network (I think)

 

Line 1 directs E1.31 traffic to the right network.

Line 2 directs E1.31 traffic to nowhere (I hope) when the E1.31 devices don't exist.

Line 3 directs all other traffic to the home network

 

Line 3 may be unnecessary, as it should be defaulted by the network interface already.

 

I can try to test this weekend, unless someone wants to test first:

 

Test1: with devices plugged in.

Test2: with devices unplugged..

 

Does network traffic stay off the home network in both cases?

Sad to say this does NOT work.

 

I've got one last thing to try: a router on the E1.31 network. I will need to find an extra router though.

Link to comment
Share on other sites

Sad to say this does NOT work.

 

I've got one last thing to try: a router on the E1.31 network. I will need to find an extra router though.

Router works but ONLY if the E1.31 devices are connected when the router boots.  In that cast the router handles the traffic even if the device are disconnected (tested for 5 minutes, so it is possible that the router may eventually give up and stop routing).

 

However if the devices are disconnected when the router boots traffic heads out to the other network. :(

 

:(

 

I'm out of options.  Developers: short of the listener binding to a NIC I'm at a loss as to how to make IP routing do what it does correctly ion this case.  Do you have an example?

Link to comment
Share on other sites

Not sure why a Gateway outside the LAN is needed? With the current version, I cannot keep CL running. Unloads after 8-20 minutes. Memory looks OK. Tried with all NIC's and gateways set, not set, restricted, etc. Tried 4gb patch, still unloads. Is this just my machine or does anyone else have the problem? In channel terms, 1800 LOR channels, 12,000 1.31's. W7, Dual core, 4mb mem, SSD's. Ideas or just wait?

Link to comment
Share on other sites

I have not been able to get my sequences to run either out to 1.31 networks. Running 3050 channels over 8 universes. Win 7 with 8mb mem, I7, with the 3.11.2 Have regular LOR network plus two auxillary networks across 14 tracks. Using same three USB adapaters from last year and powered USB Hub. Have shut down wireless, disconnect from LAN and gone direct to network splitter then to Sandevice controllers. Same as last year, but no success yet. All USB's plugged in prior to activating control panel and starting the Com Listener. I have not hooked any LOR controllers up as of yet, and hope that if the comm listener finds one one each of the LOR networks it will work?

Link to comment
Share on other sites

I have not been able to get my sequences to run either out to 1.31 networks. Running 3050 channels over 8 universes. Win 7 with 8mb mem, I7, with the 3.11.2 Have regular LOR network plus two auxillary networks across 14 tracks. Using same three USB adapaters from last year and powered USB Hub. Have shut down wireless, disconnect from LAN and gone direct to network splitter then to Sandevice controllers. Same as last year, but no success yet. All USB's plugged in prior to activating control panel and starting the Com Listener. I have not hooked any LOR controllers up as of yet, and hope that if the comm listener finds one one each of the LOR networks it will work?

 

I have 5 songs done and everything is working except CommListener unloads after a short period of time. I have 32 universes on 2 controllers (so far) using unicast and 4 RS-485 USB adapters connected. I use xLights test mode to check the e1.31 lights. 

Link to comment
Share on other sites

I have 5 songs done and everything is working except CommListener unloads after a short period of time. I have 32 universes on 2 controllers (so far) using unicast and 4 RS-485 USB adapters connected. I use xLights test mode to check the e1.31 lights. 

If you made routing table changes try removing them and rebooting the computer.    When I was playing with the routing table, I was able to get into a situation where the CommListener would start, exit, start, exit, start, exit...  Until I was able to kill LORTray with the task manager.  A reboot always fixed up the routing table and let the CommListener stay running. 

Link to comment
Share on other sites

If you made routing table changes try removing them and rebooting the computer.    When I was playing with the routing table, I was able to get into a situation where the CommListener would start, exit, start, exit, start, exit...  Until I was able to kill LORTray with the task manager.  A reboot always fixed up the routing table and let the CommListener stay running. 

 

It's been rebooted and "route print" is back to normal. Both NIC's are setup "normal" and I tried several things that didn't change things, like gateway, no gateway, cross domains, one NIC with both domains, etc..  I'm going to get last years computer current and see what it does.

Link to comment
Share on other sites

The only way I could clear things up was to actually have a controller hooked up to a USB adapter when starting up the sequence editior, and then the control panel. The com listener found the com and seemed to settle down. One other issue, which I do not quite understand was that I had to go thru a switch before the E6804 controller. Without the switch no coms were getting to the controller. Added a switch between the controller and PC and things worked fine. The windows 7 I am using this year has been much more difficult than with XP last year. Version 3.10 vs 3.11.2 as well but cannot determine just what the problem has been. I have got things working in Multi-cast, but will try Unicast to see if it works as well. As a test I removed the LOR network assignments from the network preferences and just tried a test and that was total failure. Without at least one network setting to a com port the program would not run properly. Had to stop by un-checking the play the lights box to get it to shut down. Have you tried going thru a switch?

Link to comment
Share on other sites

 Have you tried going thru a switch?

My e1.31 controllers won't daisy chain so I had to use a switch-gigahub to split the signal at my megatree. I threw a router in between the computer and the switch just because I have another "nest" to run to. Seems like I recall the Youtube instructions saying I could go straight from computer to controller w/o a switch. This may be a controller specific thing too.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...