-
-
Notifications
You must be signed in to change notification settings - Fork 350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not supported UPS in NUT #2659
Comments
Have you tried what running |
Well, for one - it would be beneficial to start directly the driver programs, not via Some ideas OTOH:
Finally, on this point: many vendors use a lot of protocols over time that they are on the market. Sometimes this even changes for the same device as firmwares are updated. They may have started with one protocol (that someone developed a NUT driver for back in the day), then adopted or licensed another. There are vendors whose similarly named models talk USB HID in one version and Qx in another. APC scaled down on common USB HID and pushes for modbus since 2010's, but due to having purchased many companies is also represented by protocols with "smart", "sol", etc. in the name. TLDR - it is a very mixed bag. In case of USB-connected devices done diligently, vendors would have an identifier for themselves, and the further product identifier helps know which protocol it talks (I saw firmwares even change the announced productid when different protocols become supported, kudos). Sadly, many vendors do take the cheap-o route of using bogus identifiers like a mix of |
|
I’m very sorry, I’m not very experienced, and I’m not clear on what exactly I need to do: do I need to debug NUT? Which drivers do you recommend I use for this? I’m sorry again, but I’ve really never used NUT before, and I’m not sure how the debugging process works |
Someone can help me :(? |
Sorry for the lapse. From my suggestion, what you need to do is run some NUT drivers directly (not via For example More generally speaking for context, some UPSes have a physical USB port connected to a serial dongle inside, while others would need For further device nuances there are many other tweaks documented in corresponding driver man pages. |
|
Thanks. So from those replies, the UPS does not seem to talk any Megatec dialect... Potentially, it could be talking at a different data rate, so it just can't interpret the signal it sees from the driver. It seems that some serial drivers and devices hard-coded e.g. 2400bps, with a few having baudrate/parity/databit/stopbit settings at all. Do you have a chance to sniff how the UPS talks to its Windows program, e.g. using https://learn.microsoft.com/en-us/sysinternals/downloads/portmon as suggested at https://stackoverflow.com/questions/461794/whats-a-good-free-serial-port-monitor-for-reverse-engineering or some other tool from that discussion? Hopefully that would show some useful clues. Note that the serial port name can change as you re-plug the USB-Serial adapter, check the Device Manager for current name (probably the starting point would be |
I can’t get this program to work for sniffing requests; I’m trying to find an alternative. |
I managed to sniff the requests with Portmon! Wow, it drove me crazy to get it working, I hope it will be useful! I had to use 32-bit Windows XP, and after several attempts, I finally did it. Let’s hope it was really worth it. If you need anything else, let me know :D EDIT: https://pastebin.com/ZM0dedri |
To my eye the protocol did not associate with any pattern I see often (like Megatec's characteristic
At least, it is worth trying some APC drivers (although I am not sure if anyone but APC-branded devices used it). |
It seems that ChatGPT only blurbs about "APC Smart UPS Protocol" as an example of UPS protocol it heard about, not a specific indication. (Still worth a try, why not) FWIW, I filtered the second posted sniff log into actual R/W bytes if it helps later investigations, but so far am out of quick ideas, sorry :\
If the Windows software ( Note that a byte or two might be a checksum for the message, it is not uncommon. Temperatures might be originally in any of Celsius, Fahrenheit or Kelvin, and converted to your locale/market for representation in the program. |
So, do you recommend that I try with the APC driver? |
Hopefully, it would not hurt... As a paying customer, you can also try asking the vendor for their protocol. In some countries they can be obliged to share it. |
What do you mean by ‘Hopefully, it would not hurt…’? Anyway, I’ve written 4-5 emails to the seller, and they are not responding.” |
It depends on how "they" coded their firmware, with regard to unexpected input (or EMI noise on the wire misinterpreted as signal). "Hopefully" they coded to ignore unexpectancies or at worst reboot the controller - not brick it etc. Never underestimate the possibility of cut corners in economy of low margins :\ |
Anyway, the software page says it supports NUT (https://www.upspowercom.com/Support-NUT.jsp), I tried with these configurations, but it doesn’t work. Maybe it needs some subdriver or something like that? It could be a clue. |
Cool, did not know about that back-link :) However, they list a number of models under their own brand - not sure if yours maps to any of those. Also if your communications go over a serial port, the I've had several different Powercoms early in my sysadmin career, decent bang for buck (and got me to meet NUT for the first time); at that time the serial-port oriented Which gives me another idea: if your UPS is old, it may be that over NUT's evolution a suitable driver was deprecated and removed (there were one or two large re-designs of the software so whatever was not ported to new architecture could not work and was eventually dropped for lack of interest). If you can build NUT, try giving a shot to some very old versions, just to check if they had a driver that understands your device and may be worth wedging into the modern design?.. Looking at |
Unfortunately, I’m not able to rebuild NUT from scratch, which is a shame. I’ll abandon the project and buy another supported UPS or make do with the proprietary software. Thanks anyway. |
FWIW, for modern NUT, the toolkits for different platforms are listed at https://github.com/networkupstools/nut/blob/master/docs/config-prereqs.txt or prettily rendered at https://networkupstools.org/docs/user-manual.chunked/_build_prerequisites_to_make_nut_from_scratch_on_various_operating_systems.html I suppose they should be able to build many older versions too, especially if you ignore the compiler warnings. Out of curiosity, did you try the Linux version of their UPSMON PRO? https://www.upspowercom.com/Monitoring.jsp#Software |
I tried installing it several times without success, it kept giving me error after error. Now I’m trying to install it on a Raspberry Pi 3 with an older version of Ubuntu. |
Trying to make sense/educated guess of your sniffed data:
probably some of 0's (or bits in some unidentified numbers) are state, alarms etc.?... could 40-ish numbers be load at that time? maybe something for run time could be 2 bytes long... |
If by alarms you mean beeps, no, at the exact moment I did the dump, I didn’t receive any alarm signals. Anyway, the proprietary Linux software is terrible, it just won’t start :( |
I confirm, the UPSMON Pro software for Linux is terrible. It’s made with Java but doesn’t work; it’s missing libraries, it won’t start—it’s just a nightmare. Really disgusting. What a shame. |
Hello everyone, I have a slightly old UPS from Control Systems 2, model STD60S. There’s not much information about this UPS on the web. It has a serial port, and with the Powercom software (https://www.upspowercom.com/Monitoring.jsp#Software), I managed to get it working and monitored on Windows. I installed the drivers for the USB SERIAL adapter, the Powercom software, and it works perfectly.
However, I can’t get it to work on NUT. Unfortunately, I’ve tried several serial drivers, including powercom, usbhid-ups, blazer_ser, and nutdrv_qx, but nothing seems to work. It just can’t detect it, and it doesn’t function.
The strange thing is that if the Powercom software works with my UPS, I don’t understand why the NUT drivers for Powercom UPSs aren’t working.
Could you please help me? I’ve been struggling with this for days. I’ve tried it on a Proxmox node, on a Proxmox VM using passthrough, and on a Raspberry Pi, but nothing seems to work.
The text was updated successfully, but these errors were encountered: