UPS configuration
-
Hi!
Syntax is correct. Can you please tell exact UPS model? Most probably it uses different protocol or protocol version. Also, please check that you can open COM1 with terminal application - just to make sure that no other apps holds it open.
Best regards,
Victor -
Also, I found that some Powerware models shows management interface on serial console by default. They need to be switched into "pass-through" mode before using BCM/XCP protocol. That also may be the reason why UPS subagent cannot communication with the device.
Best regards,
Victor -
-
If you connect to com with terminal, what did you get?
Best regards,
Victor -
Victor,
I stopped the LanSafe service.
Using Putty I get a connection with the serial port.
If I then run the NetXMS ups subagent I get the “no communication” warning, however the com port is the taken by the subagent as I can no more connect using Putty (nor does LaneSafe work).
Since the ups subagent loads I tried to use the DCI, however they all return Unsupported - this is to be expected I guess.
If I then remove ups subagent I once more can connect to the port.
By what I can find, the PowerWare 5125 does not have a pass-through option.
Any idea?Dan
-
Do you have any response from the port when you connect with putty?
-
-
Victor,
After looking at the ups.cpp and bcmxcp.cpp source code, examining the BCM/XCP protocol and using a serial software that allows sending hexadecimal data to a COM port I found out that our UPS works with a rate op 9600 baud. As the ubs agent speed is hardcoded at 19200 this is probably the reason for it not working.
I guess the subagent ups config format should be extended to allow communication settings.Dan
-
Thank you for debugging this! I have added possibility to set serial port speed in UPS subagent. Starting from 1.1.5, you can write like this:
Device = 0:"COM1:,9600":BCMXCP
Best regards,
Victor -
Victor,
I think this is what open source software is all about, being able to contribute make software better. Thank you for listening and reacting so promptly to our findings.
If I may make a suggestion, serial communication parameters are Speed, Data bits, Stop bits, Parity and Flow control.
The function used in vcmxp.cpp has most of them: m_serial.Set(19200, 8, NOPARITY, ONESTOPBIT);
Maybe it would be even better to have something like:
Device = 0:"COM1:,9600,8,N,1":BCMXCPRegards,
Dan
-
I have added those options. Parity should be specified as N, E, or O. So fully specified string will be
Device = 0:"COM1:,9600,8,N,1":BCMXCP
Default speed is driver-dependent (i.e. 19200 for BCMXCP and 2400 for APC), default data bits is 8, default parity is N (none), and default stop bits is 1.
Best regards,
Victor -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login