All TCP-Ports will be blocked, if a DNS inquiry runs, which is not answered
lukashaefliger
Posts: 9
I work with the i!-EquipmentMonitor to generate alarm-emails.
Unfortunately provided all TCP communication haven blocked, if the EmailOut.axi makes a DNS inquiry, which no DNS server finds.
The remarkable thereby is that I receive an error message, which comes of the NI2000/NI700-Firmware. Here still another "old stack" seems to be from the earlier time...
"PanjaInetAddr or hostGetNyName error 0x0"
(see in my appendix).
There the DNS inquiry runs a "layer further down", i.e. in the firmware is worked on, is this an almost unsolvable problem for me.
I cannot rely always on the fact that the DNS server is always attainable in the userside installation.
Does someone have an idea?
Unfortunately provided all TCP communication haven blocked, if the EmailOut.axi makes a DNS inquiry, which no DNS server finds.
The remarkable thereby is that I receive an error message, which comes of the NI2000/NI700-Firmware. Here still another "old stack" seems to be from the earlier time...
"PanjaInetAddr or hostGetNyName error 0x0"
(see in my appendix).
There the DNS inquiry runs a "layer further down", i.e. in the firmware is worked on, is this an almost unsolvable problem for me.
I cannot rely always on the fact that the DNS server is always attainable in the userside installation.
Does someone have an idea?
0
Comments
It doesn't look as though *all* TCP communication is blocked; your telnet connection didn't drop, right? Besides, if I recall correctly DNS queries run over UDP.
I suspect that PanjaInetAddr is some low-level function to resolve DNS names, implemented in the Netlinx "firmware". hostGetByName is a function used in VXworks (and maybe other OSs as well) to essentially do the same thing; it seems to be analogous to gethostbyname() and friends in BSD.
That's a problem. Is it possible to delay queries until the DNS server is up? Perhaps by pinging it before querying? Or use more than one DNS server? Sorry, I'm not familiar enough with i!-EquipmentMonitor to know if it has those capabilities. If not, perhaps you could [persuade the client to] set up a caching-only name server between the Netlinx and the "real" DNS server.
Hope this helps.
Do you know a possibility to do a ping-request in runtime from the Netlinx?
Open a TCP/IP socket into the master itself on the telnet port (23). You can issue a ping through that.
- Chip
The question is, how I can guarantee from the Netlinxcode that a DNS is present?
If you set up the "telnet into itself" mechanism, you could do something like "ping www.amx.com". If DNS is up and running, you'll get a positive response - otherwise not so much... Just parse the response.
- Chip
i've actually created a test program to look into the problem, as it's been impacting the reliability of installations for some time now.
and it's been affecting things like the Max Comms module.
from my test program i can tell you exactly when the problem will occur..
if one process is trying to get a DNS reply and waiting for a non-responsive DNS server, and another process tries to open a network connection (and not even using DNS) at the same time, the second process will also timeout with the first process and return an error.
this is definitely happening and it's a very frustrating, intermittent issue. (but my test program can reproduce the error repeatedly so long as a DNS server cannot be found).
in fact, i tend to think this issue is causing all sorts of intermittent network errors that some of us are experiencing. and i also think it's probably affecting panels, not just controllers, that are doing a DNS lookup (most likely using the same core code/firmware/hardware).
anything using DNS is at risk. Weather, RSS, TV guides, time servers, email, motion jpeg web cameras.. this list goes on.
i am very impressed that someone else has caught onto the problem would be even more impressive if AMX caught onto the problem.
if i regain enough motivation to do the work that others should be doing, that is.
Did you pass on your findings to AMX tech support?
would be nice to hear something about progress