Skip to content
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

PowerMaster / PowerGuide (legacy?) serial Protocol support #2769

Open
3v1n0 opened this issue Jan 16, 2025 · 3 comments
Open

PowerMaster / PowerGuide (legacy?) serial Protocol support #2769

3v1n0 opened this issue Jan 16, 2025 · 3 comments
Labels
documentation-protocol Submitted vendor-provided or user-discovered protocol information, or similar data (measurements...)

Comments

@3v1n0
Copy link

3v1n0 commented Jan 16, 2025

Hi, I've got an Atlantis Land OnePower A03-S1200 UPS and it doesn't seem to be recognized by the classic serial protocols so far (nor I see anything similar in the source code of the drivers I've quickly looked at).

The device shows up as a serial converter only on the USB side Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics CH340 serial converter so I don't think there's any HID support (although I can't fully confirm it since in the NAS I'm running it, I've a limited number of kenel modules and I'm currently remote, so I can't plug it elsewhere :)).

However, thanks to this read I ended up to try the powerguide-1.0.0 software (easier to strace and debug compared to the PowerMaster java blobs) which gave me a some simple protocol information...

WRITE: "\r"
READ: "#-1\r"
#This seems to be random at every run, a part the `K19`... Could also be just a memory error though!
WRITE: "K19CuRVvhy5ZyMgqZgH\r"
READ: "#0\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "X19\r"
READ: "#C930D6DF88DB1F30\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I237.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "X41\r"
READ: "#1200,PE02022.002,000000000000,000000000000000000\r"
WRITE: "X72\r"
READ: "#1200,0720,230,40,70,05.20\r"
WRITE: "X27\r"
READ: "#230,290,162,10,300\r"
WRITE: "X15\r"
READ: "#10\r"
WRITE: "X87\r"
READ: "#\307\227\360\360\r"
WRITE: "P19\r"
READ: "#-1\r"
WRITE: "K601\r"
READ: "#0\r"
WRITE: "K411\r"
READ: "#-1\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I237.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I237.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"
WRITE: "\r"
READ: "#-1\r"
WRITE: "B\r"
READ: "#I235.0O000.0L000B100V27.0F50.2H00.0R060S\200\204\320\200\300\200\r"

That leads to this status info:

        Current UPS status:
                State........................ Normal
                Power Supply by.............. Utility Power
                Input Voltage................ 235 V
                Output Voltage............... 0 V
                Utility Frequency............ 50.2 Hz
                Output Frequency............. 0.0 Hz
                Battery Capacity............. 100 %
                Load......................... 0 %
                Line Interaction............. None
                Test Result.................. Unknown
                Last Power Event............. None

Now... The analysis of it seems quite easy and fun, but... Before I start looking on implementing this nutdrv_hashx (just or any better name, as every reply is #-prefixed), is this something that can be added to other driver, or that some other driver already implements?

Further logs
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x4b (K)
< 0x31 (1)
< 0x39 (9)
< 0x3a (:)
< 0x6f (o)
< 0x4e (N)
< 0x73 (s)
< 0x72 (r)
< 0x6c (l)
< 0x69 (i)
< 0x4b (K)
< 0x68 (h)
< 0x68 (h)
< 0x64 (d)
< 0x30 (0)
< 0x47 (G)
< 0x51 (Q)
< 0x6f (o)
< 0x30 (0)
< 0x41 (A)
< 0x0d ([CR])
>       0x23 (#)
>       0x30 (0)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x43 (C)
>       0x45 (E)
>       0x37 (7)
>       0x32 (2)
>       0x38 (8)
>       0x36 (6)
>       0x44 (D)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x30 (0)
>       0x34 (4)
>       0x43 (C)
>       0x44 (D)
>       0x42 (B)
>       0x42 (B)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x37 (7)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x37 (7)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x35 (5)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x36 (6)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x58 (X)
< 0x34 (4)
< 0x31 (1)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x50 (P)
>       0x45 (E)
>       0x30 (0)
>       0x32 (2)
>       0x30 (0)
>       0x32 (2)
>       0x32 (2)
>       0x2e (.)
>       0x30 (0)
>       0x30 (0)
>       0x32 (2)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x37 (7)
< 0x32 (2)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x37 (7)
>       0x32 (2)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x34 (4)
>       0x30 (0)
>       0x2c (,)
>       0x37 (7)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x35 (5)
>       0x2e (.)
>       0x32 (2)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x32 (2)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x39 (9)
>       0x30 (0)
>       0x2c (,)
>       0x31 (1)
>       0x36 (6)
>       0x32 (2)
>       0x2c (,)
>       0x31 (1)
>       0x30 (0)
>       0x2c (,)
>       0x33 (3)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x35 (5)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x38 (8)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0xc7 ()
>       0x97 ()
>       0xf0 ()
>       0xf0 ()
>       0x0d ([CR])
< 0x50 (P)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x4b (K)
< 0x31 (1)
< 0x39 (9)
< 0x3a (:)
< 0x39 (9)
< 0x6c (l)
< 0x52 (R)
< 0x37 (7)
< 0x76 (v)
< 0x37 (7)
< 0x62 (b)
< 0x71 (q)
< 0x4a (J)
< 0x37 (7)
< 0x30 (0)
< 0x53 (S)
< 0x54 (T)
< 0x39 (9)
< 0x32 (2)
< 0x54 (T)
< 0x0d ([CR])
>       0x23 (#)
>       0x30 (0)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x37 (7)
>       0x38 (8)
>       0x36 (6)
>       0x44 (D)
>       0x36 (6)
>       0x34 (4)
>       0x31 (1)
>       0x32 (2)
>       0x34 (4)
>       0x41 (A)
>       0x39 (9)
>       0x44 (D)
>       0x45 (E)
>       0x31 (1)
>       0x39 (9)
>       0x44 (D)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x37 (7)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x37 (7)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x58 (X)
< 0x34 (4)
< 0x31 (1)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x50 (P)
>       0x45 (E)
>       0x30 (0)
>       0x32 (2)
>       0x30 (0)
>       0x32 (2)
>       0x32 (2)
>       0x2e (.)
>       0x30 (0)
>       0x30 (0)
>       0x32 (2)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x37 (7)
< 0x32 (2)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x37 (7)
>       0x32 (2)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x34 (4)
>       0x30 (0)
>       0x2c (,)
>       0x37 (7)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x35 (5)
>       0x2e (.)
>       0x32 (2)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x32 (2)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x39 (9)
>       0x30 (0)
>       0x2c (,)
>       0x31 (1)
>       0x36 (6)
>       0x32 (2)
>       0x2c (,)
>       0x31 (1)
>       0x30 (0)
>       0x2c (,)
>       0x33 (3)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x35 (5)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x38 (8)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0xc7 ()
>       0x97 ()
>       0xf0 ()
>       0xf0 ()
>       0x0d ([CR])
< 0x50 (P)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x4b (K)
< 0x31 (1)
< 0x39 (9)
< 0x3a (:)
< 0x78 (x)
< 0x4b (K)
< 0x49 (I)
< 0x56 (V)
< 0x39 (9)
< 0x42 (B)
< 0x78 (x)
< 0x78 (x)
< 0x77 (w)
< 0x53 (S)
< 0x49 (I)
< 0x42 (B)
< 0x45 (E)
< 0x79 (y)
< 0x77 (w)
< 0x71 (q)
< 0x0d ([CR])
>       0x23 (#)
>       0x30 (0)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x43 (C)
>       0x36 (6)
>       0x43 (C)
>       0x44 (D)
>       0x44 (D)
>       0x30 (0)
>       0x37 (7)
>       0x45 (E)
>       0x37 (7)
>       0x34 (4)
>       0x42 (B)
>       0x45 (E)
>       0x41 (A)
>       0x39 (9)
>       0x32 (2)
>       0x34 (4)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x58 (X)
< 0x34 (4)
< 0x31 (1)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x50 (P)
>       0x45 (E)
>       0x30 (0)
>       0x32 (2)
>       0x30 (0)
>       0x32 (2)
>       0x32 (2)
>       0x2e (.)
>       0x30 (0)
>       0x30 (0)
>       0x32 (2)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x37 (7)
< 0x32 (2)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x37 (7)
>       0x32 (2)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x34 (4)
>       0x30 (0)
>       0x2c (,)
>       0x37 (7)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x35 (5)
>       0x2e (.)
>       0x32 (2)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x32 (2)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x39 (9)
>       0x30 (0)
>       0x2c (,)
>       0x31 (1)
>       0x36 (6)
>       0x32 (2)
>       0x2c (,)
>       0x31 (1)
>       0x30 (0)
>       0x2c (,)
>       0x33 (3)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x35 (5)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x38 (8)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0xc7 ()
>       0x97 ()
>       0xf0 ()
>       0xf0 ()
>       0x0d ([CR])
< 0x50 (P)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x4b (K)
< 0x31 (1)
< 0x39 (9)
< 0x3a (:)
< 0x6d (m)
< 0x4f (O)
< 0x4b (K)
< 0x46 (F)
< 0x54 (T)
< 0x76 (v)
< 0x4c (L)
< 0x41 (A)
< 0x6c (l)
< 0x37 (7)
< 0x62 (b)
< 0x4d (M)
< 0x71 (q)
< 0x63 (c)
< 0x53 (S)
< 0x6a (j)
< 0x0d ([CR])
>       0x23 (#)
>       0x30 (0)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x36 (6)
>       0x37 (7)
>       0x39 (9)
>       0x30 (0)
>       0x38 (8)
>       0x38 (8)
>       0x46 (F)
>       0x37 (7)
>       0x34 (4)
>       0x39 (9)
>       0x42 (B)
>       0x41 (A)
>       0x45 (E)
>       0x36 (6)
>       0x33 (3)
>       0x33 (3)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x58 (X)
< 0x34 (4)
< 0x31 (1)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x50 (P)
>       0x45 (E)
>       0x30 (0)
>       0x32 (2)
>       0x30 (0)
>       0x32 (2)
>       0x32 (2)
>       0x2e (.)
>       0x30 (0)
>       0x30 (0)
>       0x32 (2)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x37 (7)
< 0x32 (2)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x32 (2)
>       0x30 (0)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x37 (7)
>       0x32 (2)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x34 (4)
>       0x30 (0)
>       0x2c (,)
>       0x37 (7)
>       0x30 (0)
>       0x2c (,)
>       0x30 (0)
>       0x35 (5)
>       0x2e (.)
>       0x32 (2)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x32 (2)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0x32 (2)
>       0x33 (3)
>       0x30 (0)
>       0x2c (,)
>       0x32 (2)
>       0x39 (9)
>       0x30 (0)
>       0x2c (,)
>       0x31 (1)
>       0x36 (6)
>       0x32 (2)
>       0x2c (,)
>       0x31 (1)
>       0x30 (0)
>       0x2c (,)
>       0x33 (3)
>       0x30 (0)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x35 (5)
< 0x0d ([CR])
>       0x23 (#)
>       0x31 (1)
>       0x30 (0)
>       0x0d ([CR])
< 0x58 (X)
< 0x38 (8)
< 0x37 (7)
< 0x0d ([CR])
>       0x23 (#)
>       0xc7 ()
>       0x97 ()
>       0xf0 ()
>       0xf0 ()
>       0x0d ([CR])
< 0x50 (P)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x4b (K)
< 0x31 (1)
< 0x39 (9)
< 0x3a (:)
< 0x79 (y)
< 0x68 (h)
< 0x52 (R)
< 0x6f (o)
< 0x4b (K)
< 0x55 (U)
< 0x4a (J)
< 0x43 (C)
< 0x5a (Z)
< 0x6b (k)
< 0x32 (2)
< 0x6d (m)
< 0x53 (S)
< 0x56 (V)
< 0x54 (T)
< 0x59 (Y)
< 0x0d ([CR])
>       0x23 (#)
>       0x30 (0)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x58 (X)
< 0x31 (1)
< 0x39 (9)
< 0x0d ([CR])
>       0x23 (#)
>       0x37 (7)
>       0x36 (6)
>       0x34 (4)
>       0x35 (5)
>       0x32 (2)
>       0x30 (0)
>       0x44 (D)
>       0x36 (6)
>       0x35 (5)
>       0x44 (D)
>       0x36 (6)
>       0x46 (F)
>       0x31 (1)
>       0x35 (5)
>       0x31 (1)
>       0x46 (F)
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
< 0x42 (B)
< 0x0d ([CR])
>       0x23 (#)
>       0x49 (I)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4f (O)
>       0x32 (2)
>       0x33 (3)
>       0x35 (5)
>       0x2e (.)
>       0x30 (0)
>       0x4c (L)
>       0x30 (0)
>       0x30 (0)
>       0x37 (7)
>       0x42 (B)
>       0x30 (0)
>       0x36 (6)
>       0x38 (8)
>       0x56 (V)
>       0x32 (2)
>       0x36 (6)
>       0x2e (.)
>       0x35 (5)
>       0x46 (F)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x48 (H)
>       0x35 (5)
>       0x30 (0)
>       0x2e (.)
>       0x31 (1)
>       0x52 (R)
>       0x30 (0)
>       0x32 (2)
>       0x37 (7)
>       0x53 (S)
>       0x80 ()
>       0x84 ()
>       0x94 ()
>       0x80 ()
>       0x80 ()
>       0xc0 ()
>       0x0d ([CR])
< 0x0d ([CR])
>       0x23 (#)
>       0x2d (-)
>       0x31 (1)
>       0x0d ([CR])
@jimklimov jimklimov added the documentation-protocol Submitted vendor-provided or user-discovered protocol information, or similar data (measurements...) label Jan 16, 2025
@jimklimov
Copy link
Member

Does not quickly ring a bell, check if https://networkupstools.org/ups-protocols.html shows anything similar?

@3v1n0
Copy link
Author

3v1n0 commented Jan 23, 2025

So... Looking at the docs I didn't find anything relevant, so I'll start hacking something... Any driver I should base on that is preferred?

@jimklimov
Copy link
Member

Not really... probably blazer or nutdrv_qx as best-evolved serial-capable ones. However it may be best to read through a few sources to see common or different ways of approaching some similar problems.

And the new-drivers doc for general structure (what methods are for what purpose, etc.), and nut-names.txt for standard data point and command names.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation-protocol Submitted vendor-provided or user-discovered protocol information, or similar data (measurements...)
Projects
None yet
Development

No branches or pull requests

2 participants