Re: [SLUG] UPS woes. - SOLVED
Well after hours and hours of non stop research and testing I have found out that my seemingly unidentifiable UPS, which was purchased so cheaply, is still unidentifiable, BUT I have worked out it makes use of the Fenton UPS Protocol, or Megatec/RUPS2 Protocol...or some sort of clone of that Protocol. After playing around with serial line monitors, and terminal programs I discovered that the UPS is using a Megatec/RUPS like protocol, but it doesn't appear to be completely compatible...well not with the version of Megatec Protocol I was using as a reference. The Official Megatec protocol specs can be found at: http://www.exploits.org/nut/library/protocols/megatec.html When I issued commands to the UPS my self by hand using a terminal program I was only able to get 4 of them to work...well only 4 had a visible or audible result. Thanks for everyone's help :) On Sun, 2003-06-22 at 14:39, Chris Barnes wrote: Ahh nice work! I've actually been up all night looking for more information this thing. I'm not 100% sure, but it looks like its a copy of UPS made by Microtek Italia called the MICROedge MEG501. I wasn't able to find ANY information about the protocol they used. The company which seems to have developed the software for the UPS called Commander Pro(windows) and UPSmart (Linux and Novell) is called WayTech from what I can gather. They dont have any updated software on their site, they dont make any mention of which UPS unit the software works with, and they dont have any information about the protocol. I have spent hours trying to figure out what baud rate, start, stop, data, and parity bits the UPS uses, but i've had no luck. All I know is that it does not change any control lines if you pull the cord. If you go to http://www.exploits.org/nut/ you'll find a heap of useful info about various UPSes. You might want to let them know about the UPS and what you've discovered about the protocol so far. If i knew anything about coding in C i'd help you finnish the software but i have no idea. Let me know what else you discover, or if there's anything I can do to help you develop the software, like testing the ups, etc. -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
RE: [SLUG] UPS woes.
Having a look at the case, which is probably not a good indication !!), it looks like an APC UPS, Or maybe even a SOLA BASIC - they both have similar cases on their low-end models, plus there is a lighter area on the front where a brand sticker may have been which looks about the right size for an APC. Of course, knowing DSE, it could be a wun hung low no-name brand from China - pull the cover off and see what it says inside ! Jon -= -Original Message- -= From: [EMAIL PROTECTED] -= [mailto:[EMAIL PROTECTED] On Behalf Of Chris Barnes -= Sent: Sunday, 22 June 2003 07:54 -= To: SLUG -= Subject: [SLUG] UPS woes. -= -= -= Hi everyone, -= The other day my boss bought a UPS which was on special at -= Dick Smith Electronics for $100 (400Va, 9pin Serial-to-pc, -= 6 minutes @ half-load), an ok price i guess. -= -= The DSE web site notes that the UPS has Linux software, -= which is true, I was able to download an RPM. But the rpm -= wont install because the software isn't meant to be run in -= command-line mode, and our server doesn't have X11 -= installed for security reasons :( -= -= I tried looking for a command line version, or some Linux -= software which will work on the command-line with the UPS -= but I am having absolutly no luck. I've checked out the -= HOWTO-UPS doc which gave me some help but i'm still no -= closer to getting it working with Linux. -= -= I have determined that its a smart UPS, by using a little -= serial line monitoring tool to check if the UPS changes the -= control lines on an event change, which it doesn't. So this -= means that it wont work in dumb mode with powerd. So now i -= have to find out what protocol it uses to communicate. -= -= I have no idea what brand of UPS it is because there are no -= branding or badges. The manual makes no note of the brand, -= and there is nothing on the UPS to determine the brand. All -= it has is Model: UPS0400B on a sticker at the back, its -= black, single green led on the front, single power button -= on front, 2 power-out sockets at the back. -= -= There is a picture on the DSE site: -= http://www.dse.com.au/cgi-bin/dse.storefront/3ef4d22d0860371 8273fc0a87f9c06bb/Product/View/M7650 Maybe someone will know who the parent brand is. If anyone has another other info about this ups or info on how i might be able to determine what brand it is, or what protocol it uses, then I'd really appreciate that. Thanks heaps. -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
Re: [SLUG] UPS woes.
On Sun, Jun 22, 2003 at 07:54:28AM +1000, Chris Barnes wrote: Hi everyone, The other day my boss bought a UPS which was on special at Dick Smith Electronics for $100 (400Va, 9pin Serial-to-pc, 6 minutes @ half-load), an ok price i guess. yep, a good little buy. I'm not sure why they even bothered with that Linux software, and of course it's 386 only, sigh. I've 'reversed engineered' the protocol and have some software that talks to it, but it's not complete as yet (I of course want it to do everything under the sun ... ). (excuse me just copying and pasting bits of the program below) Basically, to get it going send the following 4 strings char ups_init1[] = {0x4D,0x0D,0x4D,0x0D}; char ups_init2[] = {0x4D, 0x0D}; char ups_init3[] = {0x49, 0x0D, 0x49, 0x0D, 0x51, 0x31, 0x0D}; char ups_init4[] = {0x46, 0x0D}; that sets it up and puts it in a mode where you can poll it with char ups_status[] = {0x51, 0x31, 0x0D}; You'll get back something that can be parsed by scanf as #define SSCANF_STATUS(buf,status) \ sscanf(buf,(%lf %lf %lf %lf %lf %lf %lf %u, \ status-in_volts, status-unknown1, \ status-out_volts, status-load, status-out_frequency, \ status-unknown2, status-temperature, status-flag) I don't know what unknown1 and unknown2 actually mean, but flag changes like : #define FLAG_NORMAL 1000 #define FLAG_POWER_SMOOTH 101000 #define FLAG_POWER_FAIL 10001000 I might make a sourceforge page if a lot of people have bought these things. -i -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
Re: [SLUG] UPS woes.
Ahh nice work! I've actually been up all night looking for more information this thing. I'm not 100% sure, but it looks like its a copy of UPS made by Microtek Italia called the MICROedge MEG501. I wasn't able to find ANY information about the protocol they used. The company which seems to have developed the software for the UPS called Commander Pro(windows) and UPSmart (Linux and Novell) is called WayTech from what I can gather. They dont have any updated software on their site, they dont make any mention of which UPS unit the software works with, and they dont have any information about the protocol. I have spent hours trying to figure out what baud rate, start, stop, data, and parity bits the UPS uses, but i've had no luck. All I know is that it does not change any control lines if you pull the cord. If you go to http://www.exploits.org/nut/ you'll find a heap of useful info about various UPSes. You might want to let them know about the UPS and what you've discovered about the protocol so far. If i knew anything about coding in C i'd help you finnish the software but i have no idea. Let me know what else you discover, or if there's anything I can do to help you develop the software, like testing the ups, etc. On Sun, 2003-06-22 at 12:59, Ian Wienand wrote: On Sun, Jun 22, 2003 at 07:54:28AM +1000, Chris Barnes wrote: Hi everyone, The other day my boss bought a UPS which was on special at Dick Smith Electronics for $100 (400Va, 9pin Serial-to-pc, 6 minutes @ half-load), an ok price i guess. yep, a good little buy. I'm not sure why they even bothered with that Linux software, and of course it's 386 only, sigh. I've 'reversed engineered' the protocol and have some software that talks to it, but it's not complete as yet (I of course want it to do everything under the sun ... ). (excuse me just copying and pasting bits of the program below) Basically, to get it going send the following 4 strings char ups_init1[] = {0x4D,0x0D,0x4D,0x0D}; char ups_init2[] = {0x4D, 0x0D}; char ups_init3[] = {0x49, 0x0D, 0x49, 0x0D, 0x51, 0x31, 0x0D}; char ups_init4[] = {0x46, 0x0D}; that sets it up and puts it in a mode where you can poll it with char ups_status[] = {0x51, 0x31, 0x0D}; You'll get back something that can be parsed by scanf as #define SSCANF_STATUS(buf,status) \ sscanf(buf,(%lf %lf %lf %lf %lf %lf %lf %u, \ status-in_volts, status-unknown1, \ status-out_volts, status-load, status-out_frequency, \ status-unknown2, status-temperature, status-flag) I don't know what unknown1 and unknown2 actually mean, but flag changes like : #define FLAG_NORMAL 1000 #define FLAG_POWER_SMOOTH 101000 #define FLAG_POWER_FAIL 10001000 I might make a sourceforge page if a lot of people have bought these things. -i -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug