Re: [SLUG] UPS woes. - SOLVED

2003-06-22 Thread Chris Barnes
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.

2003-06-21 Thread Jon Biddell
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.

2003-06-21 Thread Ian Wienand
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.

2003-06-21 Thread Chris Barnes
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