Keyboard Shortcuts
Likes
Search
WOL not working on CP4
开云体育Hi, ? i?m currently programming my first CP4 and i?m having an issue getting WOL to work. I?m using a selfmade SIMPL+ module for this since years now without issues. Problem is, on the CP4, it doesn?t work. Any idea idea where to start looking at? Are there any special networking settings on the CP4? ? Cheers, Thorsten |
开云体育Found something in the processor?s error-log: ? úà192.168.1.148 7?úàsocket ok?err sys ? 1. Error: SimplPlus[App01] # 2021-01-07 20:26:37 # Exception:AddServerToList: - System.Net.Sockets.SocketException (0x80004005): Access denied ? at System.Net.Sockets.Socket.Bind (System.Net.EndPoint localEP) [0x00043] in <4f05041650aa4b1f84bd8ed4b01ed26c>:0 ??at Crestron.Logos.SplusObjects.DirectSocketU ? 2. Error: SimplPlus[App01] # 2021-01-07 20:26:37 # DPServerSocketWrapper.AddServerToList (Crestron.Logos.SplusObjects.DirectSocketUDPServer pUDPServer, System.Net.IPAddress ipAddress) [0x00120] in <24f2beebe2af4f398303196e6d992837>:0 ??3. Error: SimplPlus[App01] # 2021-01-07 20:26:37 # Module S-1.1.1.1.2 : TKO_madVR_Envy_0_4 at line 168: Access denied Error code: 10013. Total Errors Logged = 3 ? Does that help? ? ? Von: [email protected] <[email protected]> Im Auftrag von Thorsten K?hler ? Hi, ? i?m currently programming my first CP4 and i?m having an issue getting WOL to work. I?m using a selfmade SIMPL+ module for this since years now without issues. Problem is, on the CP4, it doesn?t work. Any idea idea where to start looking at? Are there any special networking settings on the CP4? ? Cheers, Thorsten |
It looks like you have a permission issue with line 168 of you your SIMPL+ code.
Per Wikepedia, WOL uses either port 7 or 9. While I cannot say for sure what your issue is, you should know that the CP4 is a Linux/Android base OS.? There are all types of permission levels you have to grant to your program in Linux. In particular, any Ethernet port below 1024 requires root access and it is almost certain that your lowly SIMPL+ program does not have root access.? So if line 168 of your code is doing something that is using port below 1024, it is probably not going to fly.? Assuming that is your issue, you are probably going to have to contact Crestron TB to see how to resolve the issue.? One possible fix is to use the SIMPL UDP symbol to send your WOL -- that symbol may be able to access ports below 1024. |
There are ways in Linux to give a program access to a port below 1024 without giving it root access -- at least in node.js running on a ubuntu version of Linux there is.? In order to give node the ability to run a webserver on port 80 without giving it root privileges, I have to run the following commands:
sudo apt install libcap2-bin sudo setcap cap_net_bind_service=+ep /usr/local/bin/node Not sure of the details of why it works.? I just know it does. I am sure there is something similar for Android.? But unless Crestron gives you root access to their OS, there is no way for us to install that package. |
It's never been a problem to do this on 3-series that I'm aware of.? Is this is a new limitation for 4-series?? How on earth would you write a S+ module to use the most common IP control port ever, TelNet port 23 if so.? There is a ton of equipment that uses port 23 for IP control.? Will any module or program that needs to communicate to ports under 1024 not compile on 4-series?
-- Jason Mussetter Control Systems Designer Mussetter Programming Services |
I have had no issues communicating on lower ports using c#.? I was even able to move the default webserver to a new port and use 80/443.? My 3 series simpl code worked fine on the 4 series and it had modules using control over port 23. On Thu, Jan 7, 2021, 7:54 PM Jason Mussetter <j.mussetter1@...> wrote: It's never been a problem to do this on 3-series that I'm aware of.? Is this is a new limitation for 4-series?? How on earth would you write a S+ module to use the most common IP control port ever, TelNet port 23 if so.? There is a ton of equipment that uses port 23 for IP control.? Will any module or program that needs to communicate to ports under 1024 not compile on 4-series? |
开云体育Hi, thanks for the information, guys. At least i now know the underlying problem. These are the things that really eat up your working hours… I filed a ticket at TB – let?s see what they say. ? Cheers, Thorsten ? Von: [email protected] <[email protected]> Im Auftrag von dblpnt ? Yeah, known issue... |
开云体育Hi, ? TB confirmed the issue and it?s now filed as a bug. ? Cheers, Thorsten ? Von: [email protected] <[email protected]> Im Auftrag von Thorsten K?hler ? Hi, thanks for the information, guys. At least i now know the underlying problem. These are the things that really eat up your working hours… I filed a ticket at TB – let?s see what they say. ? Cheers, Thorsten ? Von: [email protected] <[email protected]> Im Auftrag von dblpnt ? Yeah, known issue... |
The issue is with listening on ports < 1024 (ie TCP servers).? Way back in the annals of Unix, someone decided that only root should be allowed to run services on ports < 1024 - this is what passed for a security model back when you could trust anyone who had root on any machine.? :)? Still an issue, but a little less likely to cause widespread problems since it doesn't affect TCP clients. On Thu, Jan 7, 2021 at 7:53 PM Jason Mussetter <j.mussetter1@...> wrote: It's never been a problem to do this on 3-series that I'm aware of.? Is this is a new limitation for 4-series?? How on earth would you write a S+ module to use the most common IP control port ever, TelNet port 23 if so.? There is a ton of equipment that uses port 23 for IP control.? Will any module or program that needs to communicate to ports under 1024 not compile on 4-series? |
Although, as I just realized, Steve Kuehn was just hypothesizing about the cause, so this may be completely the wrong track... On Fri, Jan 8, 2021 at 8:54 AM Jeremy Weatherford <jweather@...> wrote:
|
Yes, I said "maybe".?? Usually when something doesn't work in Linux, it is a permission problem.? In Thorsten error log, it had an "access denied" message indicating it was a permission problem.? But it could very well be something else as no one but Crestron knows how the inner workings work in a Crestron processor.
|
On Fri, Jan 8, 2021 at 05:54 AM, Jeremy Weatherford wrote:
Ahh, for TCP servers, not for clients.? That makes more sense now, I couldn't imagine lower ports being blocked from a TCP client symbol.? Thanks for the clarification on that Jeremy. I didn't the details of the error log to see that it was the a TCP server that was causing it, I just assumed it was a client. ? -- Jason Mussetter Control Systems Designer Mussetter Programming Services |
开云体育No, it is a TCP-Client (or UDP to be precise) in my case. I?m trying to send a WOL magic packet on port 9 to a PC to wake it up. ? Cheers, Thorsten ? Von: [email protected] <[email protected]> Im Auftrag von Jason Mussetter ? On Fri, Jan 8, 2021 at 05:54 AM, Jeremy Weatherford wrote:
Ahh, for TCP servers, not for clients.? That makes more sense now, I couldn't imagine lower ports being blocked from a TCP client symbol.? Thanks for the clarification on that Jeremy. I didn't the details of the error log to see that it was the a TCP server that was causing it, I just assumed it was a client. Control Systems Designer Mussetter Programming Services |
开云体育Hi, Reference # is 210108-000083 Description is Bug WOL not working in Simpl+ for 4-series. This is handled via Crestron Europe (Germany), I don?t know if this goes into one global ticket pool… ? Cheers, Thorsten ? Von: [email protected] <[email protected]> Im Auftrag von sdd5555 via groups.io ? You don't happen to have a case # regarding the UDP socket issue do you? I am running into an issue with UDP on a CP4 (same code works fine on CP3) and Crestron is having trouble finding any related reports about 4 Series UDP issues. |