Desc: Issues and direction for the megatec driver File: megatec.txt Date: 29 March 2006 Auth: Carlos Rodrigues Overall concept =============== The "powermust" driver was originally developed to support the Mustek Powermust series of UPSes, but since there are some other drivers implementing (mostly) the same protocol, an idea came up to unify all these other drivers under a renamed version of "powermust": "megatec". The idea is to support all the hardware previously supported by the other drivers with a minimum number of special cases. Most of the time this isn't difficult, as the protocol states that all unknown/unimplemented commands should be ignored (the commands are simply echoed back). Target drivers ============== The following drivers are targeted for "assimilation": * blazer (1) * fentonups (1) * mustek (1) * esupssmart (1) * ippon (1) * sms (1) * masterguard (3) (1) megatec already supercedes this driver in functionality. (2) megatec partially supercedes this driver in functionality, but some small features are missing (non-critical for normal operation). (3) megatec partially supercedes this driver in functionality, but some important features are missing, which means some hardware may not be supported. The above status is infered from some testing and from looking at the code of the drivers. Although I have a high degree of certainty about it, more testing is needed/welcome. Notes ===== The "masterguard" driver seems to be the most problematic: it implements a "Q3" command (similar to "Q1" but with extra information), and the command to get information from the UPS is "WH" instead of "I" (with a different response also). All drivers cancel the battery tests with "CT". The protocol seems to imply that the 10 second battery test can't be cancelled (which makes sense). The beeper can be toggled with "Q", but there doesn't seem to exist a way to check if it is on or off, which may confuse users when a "beeper.on" command actually turns it off and vice-versa (maybe some models default to "on", and others to "off", this may make this command fit better as a blind "beeper.toggle"). The "sms" driver implements a simple watchdog (send and "SxxRxxx" command to power cycle the UPS every time the "reset.watchdog" command is called). There are two battery tests: failure ("T" - 10sec?) and until LOWBATT ("TL"). Moreover, there are some "S.3" or "S.3R0003" commands which fly in the face of "S05R0003" which the driver also issues (this last one matches all the other drivers, the first two seem to imply that the UPS also accepts those format variations to the standard "SxxRxxxx" shutdown+return commands). -- Carlos Rodrigues