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

Problem with NUTDRV_QX, subdriver armac - unable start driver #1978

Closed
bdkacz opened this issue Jul 2, 2023 · 46 comments · Fixed by #2005
Closed

Problem with NUTDRV_QX, subdriver armac - unable start driver #1978

bdkacz opened this issue Jul 2, 2023 · 46 comments · Fixed by #2005
Labels
bug impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others
Milestone

Comments

@bdkacz
Copy link

bdkacz commented Jul 2, 2023

Hello

I have this UPS http://armac.pl/oferta/ups-office-line-interactive-o850elcd/

I compiled the latest nut-2.8.0 from sources from file nut-2.8.0.tar.gz

Here is my lsusb output:

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 2357:0120 TP-Link Archer T2U PLUS [RTL8821AU]
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 0925:1234 Lakeview Research UPS USB MON V1.4
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub



Then I try this settings in ups.conf :

[poddasze]
    driver = nutdrv_qx
    port   = auto
    vendorid = 0925
    productid = 1234
    subdriver ="armac"
    product = "UPS USB MON V1.4"
    bus = "006"

But when I try upsdrvctl start I get:

Network UPS Tools - UPS driver controller 2.8.0
Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0)
USB communication driver (libusb 1.0) 0.43
 upsdrvctl startUsing protocol: Megatec 0.06
Can't initialise data from the UPS
Driver failed to start (exit status=1)


So I try to discover more and run ./nutdrv_qx -DDD -a poddasze and get :

Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0)
USB communication driver (libusb 1.0) 0.43
   0.000000     [D3] do_global_args: var='maxretry' val='3'
   0.000953     [D3] main_arg: var='driver' val='nutdrv_qx'
   0.001053     [D3] main_arg: var='port' val='auto'
   0.001157     [D3] main_arg: var='vendorid' val='0925'
   0.001255     [D3] main_arg: var='productid' val='1234'
   0.001351     [D3] main_arg: var='subdriver' val='armac'
   0.001448     [D3] main_arg: var='product' val='UPS USB MON V1.4'
   0.001536     [D3] main_arg: var='bus' val='006'
   0.001699     [D1] debug level is '3'
   0.003620     [D1] upsdrv_initups...
   0.085404     [D2] Checking device 1 of 10 (1D6B/0001)
   0.085827     [D1] Failed to open device (1D6B/0001), skipping: Access denied (insufficient permissions)
   0.085941     [D2] Checking device 2 of 10 (2357/0120)
   0.086079     [D1] Failed to open device (2357/0120), skipping: Access denied (insufficient permissions)
   0.086163     [D2] Checking device 3 of 10 (1D6B/0002)
   0.086289     [D1] Failed to open device (1D6B/0002), skipping: Access denied (insufficient permissions)
   0.086365     [D2] Checking device 4 of 10 (1D6B/0001)
   0.086485     [D1] Failed to open device (1D6B/0001), skipping: Access denied (insufficient permissions)
   0.086560     [D2] Checking device 5 of 10 (1D6B/0002)
   0.086683     [D1] Failed to open device (1D6B/0002), skipping: Access denied (insufficient permissions)
   0.086755     [D2] Checking device 6 of 10 (0925/1234)
   0.095368     [D2] - VendorID: 0925
   0.095425     [D2] - ProductID: 1234
   0.095456     [D2] - Manufacturer: ?
   0.095484     [D2] - Product: UPS USB MON V1.4
   0.095511     [D2] - Serial Number: unknown
   0.095542     [D2] - Bus: 006
   0.095568     [D2] - Device: unknown
   0.095593     [D2] - Device release number: 0001
   0.095618     [D2] Trying to match device
   0.095649     [D3] match_function_regex: matching a device...
   0.096184     [D2] Device matches
   0.096234     [D2] Reading first configuration descriptor
   0.096300     [D3] libusb_kernel_driver_active() returned 0
   0.096413     [D2] Claimed interface 0 successfully
   0.096457     [D3] nut_usb_set_altinterface: skipped libusb_set_interface_alt_setting(udev, 0, 0)
   0.096551     [D2] armac: unsupported cmd: QGS
   0.096596     [D2] qx_process_answer: short reply (input.voltage)
   0.096632     [D2] armac: unsupported cmd: QGS
   0.096664     [D2] qx_process_answer: short reply (input.voltage)
   0.096697     [D2] armac: unsupported cmd: QGS
   0.096774     [D2] qx_process_answer: short reply (input.voltage)
   0.096822     [D2] armac: unsupported cmd: M
   0.096859     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.096891     [D2] armac: unsupported cmd: M
   0.096925     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.096957     [D2] armac: unsupported cmd: M
   0.096990     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.097022     [D2] armac: unsupported cmd: M
   0.097060     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.097092     [D2] armac: unsupported cmd: M
   0.097127     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.097160     [D2] armac: unsupported cmd: M
   0.097193     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.097225     [D2] armac: unsupported cmd: QS
   0.097258     [D2] qx_process_answer: short reply (input.voltage)
   0.097289     [D2] armac: unsupported cmd: QS
   0.097320     [D2] qx_process_answer: short reply (input.voltage)
   0.097350     [D2] armac: unsupported cmd: QS
   0.097381     [D2] qx_process_answer: short reply (input.voltage)
   0.097413     [D2] armac: unsupported cmd: D
   0.097444     [D2] qx_process_answer: short reply (input.voltage)
   0.097476     [D2] armac: unsupported cmd: D
   0.097507     [D2] qx_process_answer: short reply (input.voltage)
   0.097538     [D2] armac: unsupported cmd: D
   0.097568     [D2] qx_process_answer: short reply (input.voltage)
   1.306422     [D3] armac command Q1 response read: '(230.0 000.0 233.0 008 49.0 13.7 30.8 00001'
   2.494469     [D3] armac command ID response read: '#                           V2.63     '
   3.702449     [D3] armac command Q1 response read: '(231.0 000.0 232.0 008 49.0 13.7 30.8 00001'
   4.890439     [D3] armac command ID response read: '#                           V2.63     '
   6.098435     [D3] armac command Q1 response read: '(231.0 000.0 233.0 009 49.0 13.7 30.8 00001'
   7.287404     [D3] armac command ID response read: '#                           V2.63     '
   8.495400     [D3] armac command Q1 response read: '(228.0 000.0 231.0 008 49.0 13.7 30.8 00001'
   8.495640     [D2] armac: unsupported cmd: QPI
   8.495718     [D2] qx_process_answer: short reply (ups.firmware.aux)
   9.713366     [D3] armac command Q1 response read: '(229.0 000.0 231.0 008 49.0 13.7 30.8 00001'
   9.713591     [D2] armac: unsupported cmd: QPI
   9.713670     [D2] qx_process_answer: short reply (ups.firmware.aux)
  10.931370     [D3] armac command Q1 response read: '(229.0 000.0 230.0 009 50.0 13.7 30.8 00001'
  10.931597     [D2] armac: unsupported cmd: QPI
  10.931674     [D2] qx_process_answer: short reply (ups.firmware.aux)
  12.149365     [D3] armac command Q1 response read: '(231.0 000.0 233.0 009 49.0 13.7 30.8 00001'
  13.337335     [D3] armac command I response read: '#                           V2.63     '
  13.337526     Using protocol: Megatec 0.06
  13.337683     [D1] upsdrv_initinfo...
  14.555319     [D3] armac command Q1 response read: '(231.0 000.0 233.0 008 49.0 13.7 30.8 00001'
  14.555554     [D2] qx_process_answer: short reply (output.voltage)
  14.555647     [D2] qx_process_answer: short reply (ups.load)
  14.555724     [D2] qx_process_answer: short reply (input.frequency)
  14.555801     [D2] qx_process_answer: short reply (battery.voltage)
  14.555880     [D2] qx_process_answer: short reply (ups.temperature)
  14.555955     [D2] qx_process_answer: short reply (ups.status)
  14.556023     Can't initialise data from the UPS
  14.556091     [D1] upsdrv_cleanup...

So it get some data about voltages , but not enought to start the driver :(

Please help

@jimklimov jimklimov added the Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others label Jul 5, 2023
@jimklimov
Copy link
Member

jimklimov commented Jul 5, 2023

Hello, sorry to hear about that, perhaps your device is different from ones handled by the sub-driver (could be a case of "same ID, unrelated OEM").

FWIW, it was added in #1250 (see also #1238) so possibly @blaa could troubleshoot this better. Could there be some bug in the new code?..

The subdriver comments suggest looking at richcomm_usb, and its replies to at least Q1 give hope that it talks some variant of Megatec Qx protocols -- so my next suggestion would be to go "lock-picking" to try different subdrivers and protocols of nutdrv_qx.

@bdkacz
Copy link
Author

bdkacz commented Jul 5, 2023

But the same UPS working ok with this driver,when I connect it to Asus router with asus-merlin firmware and nut installed via entware-ng ;)

Problem is on orangepi with Armbian Bookworm :)

@jimklimov
Copy link
Member

jimklimov commented Jul 5, 2023

Ok, that is a very new piece of information, I believe :)

Can you check if they ship same or different NUT and driver versions? Looking at https://github.com/Entware/entware-ng-packages/blob/master/net/nut/Makefile I see it has 2.7.4 (so perhaps falls back to another subdriver/protocol?) and the repo is archived...

Also, if you built your own NUT - try just in case with the master branch. Some fixes did accumulate over the past year... maybe something there impacts this case too?

UPDATE from 2024: The "entware-ng-packages" repo is archived. There is a newer https://github.com/Entware/entware-packages/blob/master/net/nut/ (2.8.1 at the moment, almost up to date) with http://bin.entware.net/Readme.txt (from 2020) claiming:

Entware developers are happy to announce Entware-ng and Entware-3x merge. The new project is called Entware.
Entware will have all package repositories from Entware-3x (armv5, armv7, aarch64, mips, mipsel, x64) and
a repo for armv7 (Linux kernel 2.6.36) from Entware-ng. All other repositories will be available for installation but will not be
updated....

@bdkacz
Copy link
Author

bdkacz commented Jul 5, 2023

Ok on armbian I will try to compile via git clone :)

About version on asus - actually I re-flashed this router so I'm unable to check version of working NUT . I copy 1:1 config from asus to armbian and as on first post - it doesn't work.

So i will check with version via git clone, and if no efftects maybe I try build 2.7.4 on Armbian from sources

@jimklimov
Copy link
Member

Well, can't recommend 2.7.4 nowadays - it is over 7 years old now. My guess would rather be that if the UPS worked with it, there could be a different subdriver/protocol involved -- and you could try its 2.8.0+ version instead of armac.

At least, for the "1:1 config" part, the 2.7.4 driver would have probably refused to start with a then-unknown config option, I hope. At worst it might have fallen back to auto-detection (as if no option - which is another thing you can try), but I think it should have errored out.

@bdkacz
Copy link
Author

bdkacz commented Jul 5, 2023

1:1 config I men copy driver name etc from old config, not copy 1:1 files :)

@blaa
Copy link

blaa commented Jul 5, 2023

[D3] armac command Q1 response read: '(231.0 000.0 233.0 008 49.0 13.7 30.8 00001'

Seems like a correctly parsed message. (They get send in chunks of ~4 bytes in this protocol, so it means the proto mostly works fine).

The Armac subdriver did not parse the contents of this string though; only glued it together from USB and passed to already existing driver. That worked for my UPS/nut version.

Maybe something changed in Qx (?) driver that causes it to fail.

Anywho - I can try to replicate on my hardware and make some fix, but it might take me 2 weeks to get started. Drop me a note if you manage to get it running (and how. ;d) or if you need some assistance.

I'm unsure which version I have running, and I have a bit different UPS.

@bdkacz
Copy link
Author

bdkacz commented Jul 5, 2023

So, after reinstall nut via clone repository it works :)
With very simple config

[poddasze]
    driver = nutdrv_qx
    port   = auto

and get data:

# upsc poddasze
battery.charge: 100
battery.voltage: 13.70
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.debug: 0
driver.flag.allow_killpower: 0
driver.name: nutdrv_qx
driver.parameter.bus: 006
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.product: UPS USB MON V1.4
driver.parameter.productid: 1234
driver.parameter.subdriver: armac
driver.parameter.synchronous: auto
driver.parameter.vendorid: 0925
driver.state: updateinfo
driver.version: 2.8.0-2232-g91396d05b
driver.version.data: Megatec 0.06
driver.version.internal: 0.33
driver.version.usb: libusb-1.0.26 (API: 0x1000109)
input.current.nominal: 3.0
input.frequency: 49.0
input.frequency.nominal: 50
input.voltage: 241.0
input.voltage.fault: 0.0
input.voltage.nominal: 220
output.voltage: 242.0
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.firmware: V2.63
ups.load: 7
ups.productid: 1234
ups.status: OL
ups.temperature: 30.8
ups.type: offline / line interactive
ups.vendorid: 0925

@convicte
Copy link

convicte commented Jul 25, 2023

Has there, by any chance, been progress on this?

I've purchased the 'new' Armac PF1 unit and tried getting it hooked up to UNRAID via NUT, but all three recommended drivers get me nowhere.

My lsusb output:
Bus 001 Device 076: ID 0925:1234 Lakeview Research STD UPS MON V2.0

On version 2023.07.24a for UNRAID I tried:

[ups]
    driver = nutdrv_qx
    port   = auto
    vendorid = "0925"
    productid = "1234"
    product = STD UPS MON V2.0

and I get:

Network UPS Tools - UPS driver controller 2.7.4.1
Network UPS Tools - Generic Q* USB/Serial driver 0.39 (2.7.4.1)
USB communication driver 0.43
No supported devices found. Please check your device availability with 'lsusb'
and make sure you have an up-to-date version of NUT. If this does not help,
try running the driver with at least 'subdriver', 'vendorid' and 'productid'
options specified. Please refer to the man page for details about these options
(man 8 nutdrv_qx).

Driver failed to start (exit status=1)

By trying to add subdrivers = armac , I get the not found error:

Network UPS Tools - UPS driver controller 2.7.4.1
Network UPS Tools - Generic Q* USB/Serial driver 0.39 (2.7.4.1)
USB communication driver 0.43
Subdriver 'armac' not found!
Driver failed to start (exit status=1)

It looks like it should have been added https://github.com/networkupstools/nut/blob/master/drivers/nutdrv_qx.c, but it obviously didn't or the Unraid version is not yet up to speed.

Any assistance would be greatly appreciated!

@jimklimov
Copy link
Member

jimklimov commented Jul 26, 2023

@convicte : Hello again. What sort of "progress" here are you asking about? Driver is present, problem solved on NUT side. Poke the distro (unRaid) to package a newer NUT version.

Ok, part of the NUT-side problem may be that it was added after 2.8.0 so a release should be completed (trying to find time to look at some puzzling issues before that), but that distro ships an even older version.

Or am I missing something?

PS: your product value has spaces so should be in double quotes.

@convicte
Copy link

convicte commented Jul 26, 2023

Thank you, so very much for the prompt reply. I am not sure, we've interacted before, but I ask for so much assistance here and there to get my strange creations working, there is a good chance we did.

  1. I must admit, I am a bit confused by how things are currently maintained, but is seams @SimonFair is the gracious host of the latest UNRAID NUT releases, and is pushing out a lot of updates with pending PRs
    https://github.com/SimonFair/NUT-unRAID, regardless of the fact the original thread indeed points to a supper old NUT distro here https://forums.unraid.net/topic/60217-plugin-nut-v2-network-ups-tools/
    image

I don't know honestly who is ahead of who, and thus I decided to start at the source. If you feel everything is in place for the vanilla NUT to have the armac driver working, I'll ask Simon then.
EDIT:
https://forums.unraid.net/topic/60217-plugin-nut-v2-network-ups-tools/?do=findComment&comment=1288069

  1. A side note - is there any reason this UPS, even though an armac brand would indicate in the NUT 'autodetectfunction that it's arichcommdriver, which was the name of the company that wrotePower Manager II` that is a software shipped with many of these UPSs.
    image
    Is this just a false classification or am I barking at the wrong tree and when release, this driver will not work for me either.
    BTW, when connected to this ancient software via a Win11 VM, I get the readings, so it's not dead, nor is the USB cable (from a 1997 printer) faulty, which I assumed to be the case.

Any assistance would be greatly appreciated!

@blaa
Copy link

blaa commented Jul 26, 2023

From your logs this looks like nut 2.7.4.1.
2.8.0 was released a year ago and is available for example in Debian Stable (known for pretty old packages).

Unraid should upgrade it's base version.

@convicte
Copy link

Working on that now!
Got completely lost in versioning and assumed I was using the latest, but now learned the UNRAID plugin has two branches, one based on 2.7.4.1 and another on 2.8.0, while latest PR are effective on both.
The one based on 2.7.4.1 is the main one in the community store, hence my logs.

@convicte
Copy link

convicte commented Jul 26, 2023

We've seemingly exhausted all the improvements required on the Unraid side to get the driver to work but still no joy.
The permission issue and other such problems were solved with some tinkering and the latest PRs, but the device is not recognized by the driver, which I believe puts me back on the NUT side of thing:

image

@blaa would you be able to point me to what I need to provide to receive assistance in that regard?
It pertains to this specific unit http://armac.pl/en/oferta/ups-rack-r3000ipf1-on-line/, which is what they indicate as their latest (came out 3-4 months ago) but is still fully recognized by the ancient Power Manager software just fine

I've also tested it with the Richcomm driver, just as a last resort and I get some communication, but still a failure:

image

@convicte
Copy link

BTW, here is everything we've tested today: https://forums.unraid.net/topic/60217-plugin-nut-v2-network-ups-tools/page/32/

@blaa
Copy link

blaa commented Jul 26, 2023

So, let's sum up.
@bdkacz managed to get his UPS working just fine after installing new version.
@convicte is currently on 2.8.0 has device with matching USB definition that works with powermanager I used to write the armac driver. It doesn't work on Unraid and no other devices/systems were tried. Unless this ancient software has some other mode of operation it should work fine.

  1. Make certain you tried subdriver = armac in config file (I've skimmed the unraid.net but I'm unsure you did, here certainly there's no output with it). 'product = ' line should not be necessary.

Recheck anyhow, because under 2.7.x this could not have worked.

  1. Let's debug a bit.

We here have pretty no idea what rc.nut start exactly does, so starting some more basic commands + current config file would certainly help.

Try starting the driver as bdkacz did with -DDD:

/path/to/nutdrv_qx -DDD -a poddasze

Try to interpret the output, maybe fix something and paste here the result.
-a marks a UPS name and needs to be tweaked to match the config.

  1. Running it on Windows and dumping USB traffic with Wireguard could help make sure the protocol is the same, but lets leave that for later. Implementing driver without a device won't be easy anyway (but could suggest other driver).

Edit:
My last config:

[armac]
        driver = "nutdrv_qx"
        port = "auto"
        vendorid = "0925"
        productid = "1234"
        subdriver = "armac"

One of my debug commands I used:
./nutdrv_qx -a armac -u root -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac

It should work the same as a correct config + the previous command with -a, -u root maaaybe miiiight be interesting.

@convicte
Copy link

@blaa, thank you so much for the assistance thus far.
It took me some time to locate the driver file in the folder structure, but when I did, it all clicked together.

Here is the output of the /usr/libexec/nut# ./nutdrv_qx -DDD -a ups where ups is my config device name:

root@Server:/usr/libexec/nut# ./nutdrv_qx -DDD -a ups
Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0-signed)
USB communication driver (libusb 1.0) 0.43
   0.000000     [D3] main_arg: var='driver' val='nutdrv_qx'
   0.000014     [D3] main_arg: var='port' val='auto'
   0.000020     [D3] main_arg: var='vendorid' val='0925'
   0.000025     [D3] main_arg: var='productid' val='1234'
   0.000030     [D3] main_arg: var='subdriver' val='armac'
   0.000044     [D1] debug level is '3'
   0.168481     [D1] upsdrv_initups...
   0.169919     [D2] Checking device 1 of 9 (090C/1000)
   0.169934     [D1] Failed to open device (090C/1000), skipping: Access denied (insufficient permissions)
   0.169939     [D2] Checking device 2 of 9 (0578/0578)
   0.169945     [D1] Failed to open device (0578/0578), skipping: Access denied (insufficient permissions)
   0.169950     [D2] Checking device 3 of 9 (1D6B/0003)
   0.169957     [D1] Failed to open device (1D6B/0003), skipping: Access denied (insufficient permissions)
   0.169961     [D2] Checking device 4 of 9 (1D6B/0002)
   0.169966     [D1] Failed to open device (1D6B/0002), skipping: Access denied (insufficient permissions)
   0.169969     [D2] Checking device 5 of 9 (18D1/9302)
   0.169975     [D1] Failed to open device (18D1/9302), skipping: Access denied (insufficient permissions)
   0.169978     [D2] Checking device 6 of 9 (1D6B/0003)
   0.169983     [D1] Failed to open device (1D6B/0003), skipping: Access denied (insufficient permissions)
   0.169986     [D2] Checking device 7 of 9 (0925/1234)
   0.191051     [D2] - VendorID: 0925
   0.191067     [D2] - ProductID: 1234
   0.191072     [D2] - Manufacturer: unknown
   0.191074     [D2] - Product: STD UPS MON V2.0
   0.191081     [D2] - Serial Number: J8D5201395FBC47
   0.191084     [D2] - Bus: 001
   0.191086     [D2] - Device: unknown
   0.191088     [D2] - Device release number: 0001
   0.191091     [D2] Trying to match device
   0.191094     [D3] match_function_regex: matching a device...
   0.191127     [D2] Device matches
   0.191131     [D2] Reading first configuration descriptor
   0.191141     [D3] libusb_kernel_driver_active() returned 0
   0.191158     [D2] Claimed interface 0 successfully
   0.191162     [D3] nut_usb_set_altinterface: skipped libusb_set_interface_alt_setting(udev, 0, 0)
   0.191189     [D2] armac: unsupported cmd: QGS
   0.191200     [D2] qx_process_answer: short reply (input.voltage)
   0.191205     [D2] armac: unsupported cmd: QGS
   0.191208     [D2] qx_process_answer: short reply (input.voltage)
   0.191214     [D2] armac: unsupported cmd: QGS
   0.191216     [D2] qx_process_answer: short reply (input.voltage)
   0.191220     [D2] armac: unsupported cmd: M
   0.191228     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.191234     [D2] armac: unsupported cmd: M
   0.191238     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.191241     [D2] armac: unsupported cmd: M
   0.191244     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.191247     [D2] armac: unsupported cmd: M
   0.191257     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.191260     [D2] armac: unsupported cmd: M
   0.191263     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.191269     [D2] armac: unsupported cmd: M
   0.191272     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.191275     [D2] armac: unsupported cmd: QS
   0.191288     [D2] qx_process_answer: short reply (input.voltage)
   0.191292     [D2] armac: unsupported cmd: QS
   0.191295     [D2] qx_process_answer: short reply (input.voltage)
   0.191299     [D2] armac: unsupported cmd: QS
   0.191306     [D2] qx_process_answer: short reply (input.voltage)
   0.191309     [D2] armac: unsupported cmd: D
   0.191317     [D2] qx_process_answer: short reply (input.voltage)
   0.191322     [D2] armac: unsupported cmd: D
   0.191328     [D2] qx_process_answer: short reply (input.voltage)
   0.191331     [D2] armac: unsupported cmd: D
   0.191334     [D2] qx_process_answer: short reply (input.voltage)
   1.913506     [D1] interrupt read error: Operation timed out (-7)
   3.614693     [D1] interrupt read error: Operation timed out (-7)
   5.315918     [D1] interrupt read error: Operation timed out (-7)
   7.067093     [D1] interrupt read error: Operation timed out (-7)
   8.769291     [D1] interrupt read error: Operation timed out (-7)
  10.520481     [D1] interrupt read error: Operation timed out (-7)
  12.271672     [D1] interrupt read error: Operation timed out (-7)
  14.012885     [D1] interrupt read error: Operation timed out (-7)
  15.714101     [D1] interrupt read error: Operation timed out (-7)
  17.416296     [D1] interrupt read error: Operation timed out (-7)
  19.167446     [D1] interrupt read error: Operation timed out (-7)
  20.918671     [D1] interrupt read error: Operation timed out (-7)
  20.918698     [D2] find_nut_info: info type series not found
  20.918703     [D2] claim: cannot find series
  20.918707     [D2] find_nut_info: info type series not found
  20.918710     [D2] claim: cannot find series
  20.918714     [D2] find_nut_info: info type series not found
  20.918721     [D2] claim: cannot find series
  22.670895     [D1] interrupt read error: Operation timed out (-7)
  24.422070     [D1] interrupt read error: Operation timed out (-7)
  26.173284     [D1] interrupt read error: Operation timed out (-7)
  27.913485     [D1] interrupt read error: Operation timed out (-7)
  29.614688     [D1] interrupt read error: Operation timed out (-7)
  31.365865     [D1] interrupt read error: Operation timed out (-7)
  33.116073     [D1] interrupt read error: Operation timed out (-7)
  34.867293     [D1] interrupt read error: Operation timed out (-7)
  36.618473     [D1] interrupt read error: Operation timed out (-7)
  36.618493     Device not supported!
  36.618496     Device not supported!

I am certain I tried with both generic configuration, as discussed above, and subdriver:armac
Your last config matches with the one I tried several times and had the Device not supported error.
Funnily enough, the automatic matching seems to work and the red parameters of my device are the same as yours, where it comes to productID and vendorID.

Here is my config, though I constantly wonder if syntax matters here, such as indentation and "" around various variables, since even in this there you indicated yours differently than the original reported and both seem to work.

image

I've tried both with the entries line by line, and with this gap (since it's said to have been a bug which required this spacing to work).
image

image

Default passwords for the moment:

image

image

image

I hope this helps!
Please let me know if I could assist in any way.

Thank you in advance!!!

@convicte
Copy link

I've increased debug logging even further to -DDDD and there is clearly sensible data flowing, where I can spot the high input voltage around 245V, the output regulated voltage of 230V, the 50Hz frequency, where the rest is probable usage at 0 (since the draw is disconnected), etc. This said, the driver struggles to parse and process it correctly - though I have no idea why.

0.226990     [D2] qx_process_answer: short reply (input.voltage)
   0.226993     [D4] armac command Q1
   0.268745     [D4] read: ret 6 buf a6: 28 32 34 35 2e  >(245.<
   0.289742     [D4] read: ret 6 buf 86: 33 20 30 30 30  >3 000<
   0.310756     [D4] read: ret 6 buf a6: 2e 30 20 32 32  >.0 22<
   0.331749     [D4] read: ret 6 buf 86: 39 2e 36 20 30  >9.6 0<
   0.352745     [D4] read: ret 6 buf a6: 30 30 20 34 39  >00 49<
   0.373748     [D4] read: ret 6 buf 86: 2e 39 20 32 2e  >.9 2.<
   0.393752     [D4] read: ret 6 buf a6: 32 35 20 35 30  >25 50<
   0.414746     [D4] read: ret 6 buf 86: 2e 30 20 30 30  >.0 00<
   0.435756     [D4] read: ret 6 buf a6: 30 30 30 30 30  >00000<
000<.939819     [D4] read: ret 6 buf 83: 31 0d 30 30 30  >1
   1.940207     [D1] interrupt read error: Operation timed out (-7)

It's a really large data dump, so I moved it to a pastbin not to generate an even worse code wall:
https://pastebin.com/2DRprKpa

Looking forward to everyone's input.

@blaa
Copy link

blaa commented Jul 26, 2023

Good you tried -D; in the previous dump I was wondering why the Q1 command is not being tested at all. And well - it is executed, but at the end of reading, when the almost whole message is already read the driver gets Operation timed out.

Relevant part:

        memset(buf, 0, buflen);

        bufpos = 0;
        while (bufpos + 6 < buflen) {
                size_t bytes_available;

                /* Read data in 6-byte chunks */
                ret = usb_interrupt_read(udev,
                        0x81,
                        (usb_ctrl_charbuf)tmpbuf, 6, 1000);

                /* Any errors here mean that we are unable to read a reply
                 * (which will happen after successfully writing a command
                 * to the UPS) */
                if (ret != 6) {
                        upsdebugx(1,  // <-- We end up here.
                                "interrupt read error: %s (%d)",
                                ret ? nut_usb_strerror(ret) : "timeout",
                                ret);
                        return ret;
                }

                upsdebugx(4,
                        "read: ret %d buf %02hhx: %02hhx %02hhx %02hhx %02hhx %02hhx  >%c%c%c%c%c<",
                        ret,
                        tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5],
                        tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]);

                bytes_available = (unsigned char)tmpbuf[0] & 0x0f;
                if (bytes_available == 0) {
                        /* End of transfer */
                        break;  // <-- This is not being hit (because supposedly there are still 3 bytes to be read)
                }

                memcpy(buf + bufpos, tmpbuf + 1, bytes_available);
                bufpos += bytes_available;

                if (bytes_available <= 2) { // <--- This won't be hit here (3), maaybe it should.
                        /* Slow down, let the UPS buffer more bytes */
                        usleep(15000);
                }
        }

At this point to move forward I guess it would be best if you had source code for nut on a device and be able to tweak it a bit and test it... then we can improve the driver to work better in your case. But it would need some try&error.

EDIT:
Full status message:
(228.0 000.0 231.0 008 49.0 13.7 30.8 00001
Yours:
(245.3 000.0 229.6 000 49.9 2.25 50.0 00000001

More zeroes, which maybe caused the message to be finalized differently. We can detect the \0x0d for example instead of expecting bytes_available to be 0.

@convicte
Copy link

convicte commented Jul 26, 2023

You seem to think I know what I am doing around code revision... a grave error on your part... lol
I really would like to help, but I wonder if the time needed to explain how to do it will be longer than a few iterations.

I am being honest when I am well over my head with something.
This is, unless you'd be so kind to invest some time in a real-time chat, to troubleshoot it this way.
We seem to both be from the same neck of the woods...

EDIT:
Full status message:
(228.0 000.0 231.0 008 49.0 13.7 30.8 00001
Yours:
(245.3 000.0 229.6 000 49.9 2.25 50.0 00000001

More zeroes, which maybe caused the message to be finalized differently. We can detect the \0x0d for example instead of expecting bytes_available to be 0.

I am there with you, though how to proceed is something I'll have to rely on your expertise.

@blaa
Copy link

blaa commented Jul 26, 2023

We could try realtime talk tomorrow. Signal? Element/Matrix? Discord maybe?

I've a simple idea for an additional check that would work with your UPS. But probably would have to build it myself and send you nutdrv_qx driver binary? Your device is a simple x86_64 for this unraid? Or something more exotic?

Would be easier when I'm home and can test with a device.

This could be as easy as:

if (tmpbuf[bytes_available - 1] == 0x0d) {
    // This looks like end-of-line -> end of response.
    break;
}

But also interrupt timeout could be handled as "success" if some bytes were previously read.

@convicte
Copy link

convicte commented Jul 26, 2023

Discord works for me - same nick there!
It's really annoying there is no messaging built into GitHub for sensitive information exchange.

I am working from home and on my PC, so have access to the hardware at a moment's notice.
Please let me know what works for you.

The NUT packaged used to install it is a nut-2.8.0-x86_64-1.txz, so I guess the answer to your questions is YES.

Thank you so very much for all the assistance!

@blaa
Copy link

blaa commented Jul 26, 2023

Here you have two binary ELF files (executables). Build on a Debian Stable.
https://pliki.xyz/index.php/s/CNHZ9GPEiW2kaQe

The major problem might be that I have different library versions and they won't simply run on unraid.
If they do though - we have a process to test.

@convicte
Copy link

I am trying to put them into the right folder now. Lets see if I can run it the same way I did before just with the new file name.

@blaa
Copy link

blaa commented Jul 27, 2023

There are either a differences in protocol, or just protocol works as supposed but in this case the revengineered version falls short.

Following change seems to read the Q1 command just fine, but I think it won't work on other devices like this. ;)

diff --git a/drivers/nutdrv_qx.c b/drivers/nutdrv_qx.c
index 350c555a0..70821c01f 100644
--- a/drivers/nutdrv_qx.c
+++ b/drivers/nutdrv_qx.c
@@ -1838,14 +1838,20 @@ static int      armac_command(const char *cmd, char *buf, size_t buflen)
                        tmpbuf[0], tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5],
                        tmpbuf[1], tmpbuf[2], tmpbuf[3], tmpbuf[4], tmpbuf[5]);
 
+               /* This includes status/length byte on R/3000I/PF1 */
                bytes_available = (unsigned char)tmpbuf[0] & 0x0f;
                if (bytes_available == 0) {
                        /* End of transfer */
                        break;
                }
 
-               memcpy(buf + bufpos, tmpbuf + 1, bytes_available);
-               bufpos += bytes_available;
+               memcpy(buf + bufpos, tmpbuf + 1, bytes_available - 1);
+               bufpos += bytes_available - 1;
+
+               if (tmpbuf[bytes_available - 1] == 0x0d) {
+                       /* End of line is an end of the message as well */
+                       break;
+               }
 
                if (bytes_available <= 2) {
                        /* Slow down, let the UPS buffer more bytes */

Transmission sample:

   0.083301     [D4] armac command Q1
   0.164847     [D4] read: ret 6 buf a6: 28 32 34 31 2e  >(241.<
   0.184839     [D4] read: ret 6 buf 86: 35 20 30 30 30  >5 000<
   0.205851     [D4] read: ret 6 buf a6: 2e 30 20 32 33  >.0 23<
   0.226849     [D4] read: ret 6 buf 86: 30 2e 33 20 30  >0.3 0<
   0.247859     [D4] read: ret 6 buf a6: 30 30 20 34 39  >00 49<
   0.268862     [D4] read: ret 6 buf 86: 2e 39 20 32 2e  >.9 2.<
   0.289857     [D4] read: ret 6 buf a6: 32 35 20 34 38  >25 48<
   0.309866     [D4] read: ret 6 buf 86: 2e 30 20 30 30  >.0 00<
   0.330863     [D4] read: ret 6 buf a6: 30 30 30 30 30  >00000<
   0.827913     [D4] read: ret 6 buf 83: 31 0d 30 30 30  >1 000<
   0.827927     [D3] armac command Q1 response read: '(241.5 000.0 230.3 000 49.9 2.25 48.0 00000001'
   0.827954     [D4] armac command ID
  1.394985     [D4] read: ret 6 buf a5: 4e 41 4b 0d 30  >NAK  <
   1.395001     [D3] armac command ID response read: 'NAK'

When I'm home I can test it against my own and create a patch that should work on both just fine.

@bdkacz if you would be so kind to try to run the nutdrv_qx with -DDDD and paste your transmission fragment related to the Q1 command I'd be grateful. ;-) More examples, the better.

@desertwitch
Copy link
Contributor

We've since managed to get it working with @blaa 's patch for @convicte 🥇

@jimklimov
Copy link
Member

Would you please post a pull request so it also works after NUT upgrades for you and others? ;)

@jimklimov jimklimov added bug impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) labels Jul 31, 2023
@jimklimov jimklimov added this to the 2.8.1 milestone Jul 31, 2023
jimklimov added a commit to jimklimov/nut that referenced this issue Jul 31, 2023
jimklimov added a commit to jimklimov/nut that referenced this issue Jul 31, 2023
jimklimov added a commit to jimklimov/nut that referenced this issue Jul 31, 2023
@jimklimov
Copy link
Member

Cheers, posted the PR with patch copied from above, moving the programming part of discussion there to #2003 - got a question...

@Novocaine85
Copy link

Novocaine85 commented Aug 4, 2023

I was wondering how this is even possible.
I was using this driver and subdriver on top of my proxmox machine. After a little bit of strugling I managed to make it work.
I did an update to my machine and since there was a kernel update and a reboot was needed.
After rebooting I was no longer able to start nut-server, having the same exact issue as @bdkacz.

Tomorrow night I have a graveyard shift and i would like to try to build @blaa version in order to test it and see if it works. Thanks meanwhile.

really wired.

@blaa
Copy link

blaa commented Aug 5, 2023

@Novocaine85 which UPS do you have? This was reverse engineered protocol based on my device solely. It's nice that currently it's corrected with a debug info from other devices. Hope it works nice, and if not - send me -DDDD outputs from nutdrv_qx driver. ;)

@Novocaine85
Copy link

@Novocaine85 which UPS do you have? This was reverse engineered protocol based on my device solely. It's nice that currently it's corrected with a debug info from other devices. Hope it works nice, and if not - send me -DDDD outputs from nutdrv_qx driver. ;)

My UPS is a Vultech V2000 (https://www.vultech.it/en/serie-pro/640-ups-2000va-line-interactive-lcd-gruppo-di-continuita-8057284627203.html).

Now: this is what i got from the UPS launching it from NUT installed from apt (debian bookworm, v2.8.0)

root@proxmox:~# /lib/nut/nutdrv_qx -a vultech -u root -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.32 (2.8.0)
USB communication driver (libusb 1.0) 0.43
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000006     [D3] main_arg: var='vendorid' val='0925'
   0.000008     [D3] main_arg: var='subdriver' val='armac'
   0.000009     [D1] debug level is '3'
   0.000181     [D1] upsdrv_initups...
   0.001722     [D2] Checking device 1 of 9 (2109/0822)
   0.127399     [D2] - VendorID: 2109
   0.127408     [D2] - ProductID: 0822
   0.127409     [D2] - Manufacturer: VIA Labs, Inc.         
   0.127411     [D2] - Product: USB3.1 Hub             
   0.127412     [D2] - Serial Number: 000000001
   0.127413     [D2] - Bus: 002
   0.127414     [D2] - Device: unknown
   0.127416     [D2] - Device release number: 9013
   0.127417     [D2] Trying to match device
   0.127419     [D3] match_function_regex: matching a device...
   0.127468     [D2] match_function_regex: failed match of VendorID: 2109
   0.127470     [D2] Device does not match - skipping
   0.155436     [D2] Checking device 2 of 9 (1D6B/0003)
   0.155897     [D2] - VendorID: 1d6b
   0.155902     [D2] - ProductID: 0003
   0.155903     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.155904     [D2] - Product: xHCI Host Controller
   0.155905     [D2] - Serial Number: 0000:00:14.0
   0.155906     [D2] - Bus: 002
   0.155907     [D2] - Device: unknown
   0.155908     [D2] - Device release number: 0602
   0.155909     [D2] Trying to match device
   0.155910     [D3] match_function_regex: matching a device...
   0.155913     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.155914     [D2] Device does not match - skipping
   0.156226     [D2] Checking device 3 of 9 (1A86/7523)
   0.156656     [D2] - VendorID: 1a86
   0.156661     [D2] - ProductID: 7523
   0.156662     [D2] - Manufacturer: unknown
   0.156664     [D2] - Product: USB Serial
   0.156665     [D2] - Serial Number: unknown
   0.156666     [D2] - Bus: 001
   0.156667     [D2] - Device: unknown
   0.156669     [D2] - Device release number: 0264
   0.156670     [D2] Trying to match device
   0.156671     [D3] match_function_regex: matching a device...
   0.156674     [D2] match_function_regex: failed match of VendorID: 1a86
   0.156675     [D2] Device does not match - skipping
   0.156679     [D2] Checking device 4 of 9 (2109/2822)
   0.157912     [D2] - VendorID: 2109
   0.157919     [D2] - ProductID: 2822
   0.157920     [D2] - Manufacturer: VIA Labs, Inc.         
   0.157921     [D2] - Product: USB2.0 Hub             
   0.157923     [D2] - Serial Number: 000000001
   0.157924     [D2] - Bus: 001
   0.157925     [D2] - Device: unknown
   0.157926     [D2] - Device release number: 9013
   0.157928     [D2] Trying to match device
   0.157929     [D3] match_function_regex: matching a device...
   0.157932     [D2] match_function_regex: failed match of VendorID: 2109
   0.157933     [D2] Device does not match - skipping
   0.157939     [D2] Checking device 5 of 9 (0925/1234)
   0.160593     [D2] - VendorID: 0925
   0.160596     [D2] - ProductID: 1234
   0.160598     [D2] - Manufacturer: ?
   0.160599     [D2] - Product: UPS USB MON V1.4
   0.160600     [D2] - Serial Number: unknown
   0.160601     [D2] - Bus: 001
   0.160603     [D2] - Device: unknown
   0.160604     [D2] - Device release number: 0001
   0.160605     [D2] Trying to match device
   0.160606     [D3] match_function_regex: matching a device...
   0.160615     [D2] Device matches
   0.160617     [D2] Reading first configuration descriptor
   0.160620     [D3] libusb_kernel_driver_active() returned 0
   0.160630     [D2] Claimed interface 0 successfully
   0.160633     [D3] nut_usb_set_altinterface: skipped libusb_set_interface_alt_setting(udev, 0, 0)
   0.160640     [D2] armac: unsupported cmd: QGS
   0.160642     [D2] qx_process_answer: short reply (input.voltage)
   0.160644     [D2] armac: unsupported cmd: QGS
   0.160646     [D2] qx_process_answer: short reply (input.voltage)
   0.160647     [D2] armac: unsupported cmd: QGS
   0.160649     [D2] qx_process_answer: short reply (input.voltage)
   0.160651     [D2] armac: unsupported cmd: M
   0.160653     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.160655     [D2] armac: unsupported cmd: M
   0.160656     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.160657     [D2] armac: unsupported cmd: M
   0.160659     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.160661     [D2] armac: unsupported cmd: M
   0.160662     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.160664     [D2] armac: unsupported cmd: M
   0.160666     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.160667     [D2] armac: unsupported cmd: M
   0.160668     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.160670     [D2] armac: unsupported cmd: QS
   0.160672     [D2] qx_process_answer: short reply (input.voltage)
   0.160673     [D2] armac: unsupported cmd: QS
   0.160674     [D2] qx_process_answer: short reply (input.voltage)
   0.160676     [D2] armac: unsupported cmd: QS
   0.160677     [D2] qx_process_answer: short reply (input.voltage)
   0.160679     [D2] armac: unsupported cmd: D
   0.160681     [D2] qx_process_answer: short reply (input.voltage)
   0.160682     [D2] armac: unsupported cmd: D
   0.160683     [D2] qx_process_answer: short reply (input.voltage)
   0.160685     [D2] armac: unsupported cmd: D
   0.160686     [D2] qx_process_answer: short reply (input.voltage)
   0.161571     [D3] armac command Q1 response read: ''
   0.161574     [D2] qx_process_answer: short reply (input.voltage)
   0.658781     [D3] armac command Q1 response read: ''
   0.658793     [D2] qx_process_answer: short reply (input.voltage)
   1.875796     [D3] armac command Q1 response read: 'rrrrrrj'
   1.875808     [D2] qx_process_answer: input.voltage - invalid start character [ffffff92], expected [28]
   3.083846     [D3] armac command Q1 response read: '(232.0 000.0 231.0 017 50.0 27.0 20.8 00001'
   3.083870     [D2] armac: unsupported cmd: QPI
   3.083873     [D2] qx_process_answer: short reply (ups.firmware.aux)
   4.292133     [D3] armac command Q1 response read: '(231.0 000.0 230.0 019 49.0 27.0 20.8 00001'
   4.292147     [D2] armac: unsupported cmd: QPI
   4.292149     [D2] qx_process_answer: short reply (ups.firmware.aux)
   5.500065     [D3] armac command Q1 response read: '(232.0 000.0 231.0 017 49.0 27.0 20.8 00001'
   5.500085     [D2] armac: unsupported cmd: QPI
   5.500088     [D2] qx_process_answer: short reply (ups.firmware.aux)
   6.708159     [D3] armac command Q1 response read: '(232.0 000.0 231.0 017 50.0 27.0 20.8 00001'
   7.896436     [D3] armac command I response read: '#                           V4.10     '
   7.896448     Using protocol: Megatec 0.06
   7.896454     [D1] upsdrv_initinfo...
   9.104342     [D3] armac command Q1 response read: '(232.0 000.0 231.0 019 50.0 27.0 20.8 00001'
   9.104369     [D2] qx_process_answer: short reply (output.voltage)
   9.104372     [D2] qx_process_answer: short reply (ups.load)
   9.104374     [D2] qx_process_answer: short reply (input.frequency)
   9.104376     [D2] qx_process_answer: short reply (battery.voltage)
   9.104378     [D2] qx_process_answer: short reply (ups.temperature)
   9.104380     [D2] qx_process_answer: short reply (ups.status)
   9.104382     Can't initialise data from the UPS
   9.104384     [D1] upsdrv_cleanup...

now i'll try to build your version.

@Novocaine85
Copy link

root@proxmox:/usr/local/ups/bin# /usr/local/ups/bin/nutdrv_qx -a vultech -u root -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.33 (2.8.0-2272-g3a11558e6)
USB communication driver (libusb 0.1) 0.44
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000007     [D3] main_arg: var='vendorid' val='0925'
   0.000009     [D3] main_arg: var='subdriver' val='armac'
   0.000011     [D1] Network UPS Tools version 2.8.0-2272-g3a11558e6 (release/snapshot of 2.8.0.1) built with gcc (Debian 12.2.0-14) 12.2.0 and configured with flags: --sysconfdir=/etc/nut --with-user=ups --with-group=root --with-usb
   0.000013     [D1] debug level is '3'
   0.000184     [D1] Succeeded to become_user(root): now UID=0 GID=0
   0.000190     [D1] upsdrv_initups...
   0.536371     [D3] usb_busses=0x557fed8970a0
   0.536385     [D2] Checking device (1D6B/0003) (004/001)
   0.703493     [D2] - VendorID: 1d6b
   0.703500     [D2] - ProductID: 0003
   0.703501     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.703502     [D2] - Product: xHCI Host Controller
   0.703503     [D2] - Serial Number: 0000:00:0d.0
   0.703504     [D2] - Bus: 004
   0.703505     [D2] - Device: 001
   0.703506     [D2] - Device release number: 0602
   0.703506     [D2] Trying to match device
   0.703508     [D3] match_function_regex: matching a device...
   0.703511     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.703512     [D2] Device does not match - skipping
   0.703536     [D2] Checking device (1D6B/0002) (003/001)
   0.703560     [D2] - VendorID: 1d6b
   0.703561     [D2] - ProductID: 0002
   0.703562     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.703563     [D2] - Product: xHCI Host Controller
   0.703564     [D2] - Serial Number: 0000:00:0d.0
   0.703564     [D2] - Bus: 003
   0.703565     [D2] - Device: 001
   0.703566     [D2] - Device release number: 0602
   0.703567     [D2] Trying to match device
   0.703568     [D3] match_function_regex: matching a device...
   0.703569     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.703570     [D2] Device does not match - skipping
   0.703581     [D2] Checking device (2109/0822) (002/002)
   0.831027     [D2] - VendorID: 2109
   0.831037     [D2] - ProductID: 0822
   0.831038     [D2] - Manufacturer: VIA Labs, Inc.         
   0.831040     [D2] - Product: USB3.1 Hub             
   0.831041     [D2] - Serial Number: 000000001
   0.831042     [D2] - Bus: 002
   0.831043     [D2] - Device: 002
   0.831045     [D2] - Device release number: 9013
   0.831046     [D2] Trying to match device
   0.831047     [D3] match_function_regex: matching a device...
   0.831063     [D2] match_function_regex: failed match of VendorID: 2109
   0.831065     [D2] Device does not match - skipping
   0.859295     [D2] Checking device (1D6B/0003) (002/001)
   0.859783     [D2] - VendorID: 1d6b
   0.859788     [D2] - ProductID: 0003
   0.859789     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.859794     [D2] - Product: xHCI Host Controller
   0.859795     [D2] - Serial Number: 0000:00:14.0
   0.859796     [D2] - Bus: 002
   0.859797     [D2] - Device: 001
   0.859798     [D2] - Device release number: 0602
   0.859799     [D2] Trying to match device
   0.859800     [D3] match_function_regex: matching a device...
   0.859803     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.859804     [D2] Device does not match - skipping
   0.860093     [D2] Checking device (1A86/7523) (001/005)
   0.860567     [D2] - VendorID: 1a86
   0.860573     [D2] - ProductID: 7523
   0.860574     [D2] - Manufacturer: unknown
   0.860576     [D2] - Product: USB Serial
   0.860577     [D2] - Serial Number: unknown
   0.860578     [D2] - Bus: 001
   0.860581     [D2] - Device: 005
   0.860582     [D2] - Device release number: 0264
   0.860584     [D2] Trying to match device
   0.860586     [D3] match_function_regex: matching a device...
   0.860589     [D2] match_function_regex: failed match of VendorID: 1a86
   0.860592     [D2] Device does not match - skipping
   0.860596     [D2] Checking device (0E8D/0608) (001/004)
   0.861155     [D2] - VendorID: 0e8d
   0.861158     [D2] - ProductID: 0608
   0.861159     [D2] - Manufacturer: MediaTek Inc.
   0.861160     [D2] - Product: Wireless_Device
   0.861162     [D2] - Serial Number: 000000000
   0.861163     [D2] - Bus: 001
   0.861164     [D2] - Device: 004
   0.861165     [D2] - Device release number: 0100
   0.861166     [D2] Trying to match device
   0.861168     [D3] match_function_regex: matching a device...
   0.861170     [D2] match_function_regex: failed match of VendorID:  e8d
   0.861172     [D2] Device does not match - skipping
   0.861174     [D2] Checking device (2109/2822) (001/003)
   0.862318     [D2] - VendorID: 2109
   0.862321     [D2] - ProductID: 2822
   0.862323     [D2] - Manufacturer: VIA Labs, Inc.         
   0.862324     [D2] - Product: USB2.0 Hub             
   0.862325     [D2] - Serial Number: 000000001
   0.862326     [D2] - Bus: 001
   0.862328     [D2] - Device: 003
   0.862329     [D2] - Device release number: 9013
   0.862330     [D2] Trying to match device
   0.862331     [D3] match_function_regex: matching a device...
   0.862333     [D2] match_function_regex: failed match of VendorID: 2109
   0.862334     [D2] Device does not match - skipping
   0.862337     [D2] Checking device (0925/1234) (001/002)
   0.864987     [D2] - VendorID: 0925
   0.864990     [D2] - ProductID: 1234
   0.864991     [D2] - Manufacturer: ?
   0.864993     [D2] - Product: UPS USB MON V1.4
   0.864994     [D2] - Serial Number: unknown
   0.864995     [D2] - Bus: 001
   0.864996     [D2] - Device: 002
   0.864997     [D2] - Device release number: 0001
   0.864999     [D2] Trying to match device
   0.865000     [D3] match_function_regex: matching a device...
   0.865013     [D2] Device matches
   0.865026     [D3] nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   0.865036     [D2] armac: unsupported cmd: QGS
   0.865038     [D2] qx_process_answer: short reply (input.voltage)
   0.865040     [D2] armac: unsupported cmd: QGS
   0.865042     [D2] qx_process_answer: short reply (input.voltage)
   0.865043     [D2] armac: unsupported cmd: QGS
   0.865045     [D2] qx_process_answer: short reply (input.voltage)
   0.865046     [D2] armac: unsupported cmd: M
   0.865048     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.865050     [D2] armac: unsupported cmd: M
   0.865051     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.865053     [D2] armac: unsupported cmd: M
   0.865054     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.865056     [D2] armac: unsupported cmd: M
   0.865058     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.865059     [D2] armac: unsupported cmd: M
   0.865060     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.865062     [D2] armac: unsupported cmd: M
   0.865063     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.865065     [D2] armac: unsupported cmd: QS
   0.865066     [D2] qx_process_answer: short reply (input.voltage)
   0.865068     [D2] armac: unsupported cmd: QS
   0.865069     [D2] qx_process_answer: short reply (input.voltage)
   0.865071     [D2] armac: unsupported cmd: QS
   0.865072     [D2] qx_process_answer: short reply (input.voltage)
   0.865074     [D2] armac: unsupported cmd: D
   0.865075     [D2] qx_process_answer: short reply (input.voltage)
   0.865076     [D2] armac: unsupported cmd: D
   0.865078     [D2] qx_process_answer: short reply (input.voltage)
   0.865079     [D2] armac: unsupported cmd: D
   0.865081     [D2] qx_process_answer: short reply (input.voltage)
   0.866570     [D3] armac command Q1 response read: ''
   0.866601     [D2] qx_process_answer: short reply (input.voltage)
   1.365735     [D3] armac command Q1 response read: ''
   1.365752     [D2] qx_process_answer: short reply (input.voltage)
   2.583801     [D3] armac command Q1 response read: 'rrrrrrj'
   2.583816     [D2] qx_process_answer: input.voltage - invalid start character [ffffff92], expected [28]
   3.791914     [D3] armac command Q1 response read: '(229.0 000.0 229.0 013 50.0 27.0 20.8 00001'
   3.791939     [D2] armac: unsupported cmd: QPI
   3.791941     [D2] qx_process_answer: short reply (ups.firmware.aux)
   4.999937     [D3] armac command Q1 response read: '(232.0 000.0 232.0 014 49.0 27.0 20.8 00001'
   4.999952     [D2] armac: unsupported cmd: QPI
   4.999953     [D2] qx_process_answer: short reply (ups.firmware.aux)
   6.208120     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   6.208135     [D2] armac: unsupported cmd: QPI
   6.208138     [D2] qx_process_answer: short reply (ups.firmware.aux)
   7.415341     [D3] armac command Q1 response read: '(232.0 000.0 232.0 014 50.0 27.0 20.8 00001'
   8.603255     [D3] armac command I response read: '#                           V4.10     '
   8.603271     Using protocol: Megatec 0.06
   8.603280     [D1] upsdrv_initinfo...
   9.811333     [D3] armac command Q1 response read: '(232.0 000.0 232.0 013 50.0 27.0 20.8 00001'
   9.811348     [D2] qx_process_answer: short reply (output.voltage)
   9.811349     [D2] qx_process_answer: short reply (ups.load)
   9.811351     [D2] qx_process_answer: short reply (input.frequency)
   9.811352     [D2] qx_process_answer: short reply (battery.voltage)
   9.811353     [D2] qx_process_answer: short reply (ups.temperature)
   9.811355     [D2] qx_process_answer: short reply (ups.status)
   9.811356     Can't initialise data from the UPS
   9.811359     [D1] upsdrv_cleanup...

what's wrong?

@blaa
Copy link

blaa commented Aug 5, 2023

Add another -D please! With four, it shows the messages as they are read from the UPS. I see no initial "cleaning" messeges, but maybe that's because of 3x D.

In general it failed because 3 initial Q1 queries failed, but the reason can't be seen.

@Novocaine85
Copy link

root@proxmox:~# /usr/local/ups/bin/nutdrv_qx -a vultech -u root -D -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.33 (2.8.0-2272-g3a11558e6)
USB communication driver (libusb 0.1) 0.44
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000008     [D3] main_arg: var='vendorid' val='0925'
   0.000010     [D3] main_arg: var='subdriver' val='armac'
   0.000012     [D1] Network UPS Tools version 2.8.0-2272-g3a11558e6 (release/snapshot of 2.8.0.1) built with gcc (Debian 12.2.0-14) 12.2.0 and configured with flags: --sysconfdir=/etc/nut --with-user=ups --with-group=root --with-usb
   0.000013     [D1] debug level is '4'
   0.000200     [D1] Succeeded to become_user(root): now UID=0 GID=0
   0.000206     [D1] upsdrv_initups...
   0.701533     [D3] usb_busses=0x55c8db8550a0
   0.701544     [D2] Checking device (1D6B/0003) (004/001)
   0.868439     [D2] - VendorID: 1d6b
   0.868447     [D2] - ProductID: 0003
   0.868448     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.868448     [D2] - Product: xHCI Host Controller
   0.868449     [D2] - Serial Number: 0000:00:0d.0
   0.868450     [D2] - Bus: 004
   0.868451     [D2] - Device: 001
   0.868452     [D2] - Device release number: 0602
   0.868453     [D2] Trying to match device
   0.868454     [D3] match_function_regex: matching a device...
   0.868458     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.868459     [D2] Device does not match - skipping
   0.868494     [D2] Checking device (1D6B/0002) (003/001)
   0.868659     [D2] - VendorID: 1d6b
   0.868664     [D2] - ProductID: 0002
   0.868665     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.868666     [D2] - Product: xHCI Host Controller
   0.868667     [D2] - Serial Number: 0000:00:0d.0
   0.868668     [D2] - Bus: 003
   0.868669     [D2] - Device: 001
   0.868670     [D2] - Device release number: 0602
   0.868671     [D2] Trying to match device
   0.868672     [D3] match_function_regex: matching a device...
   0.868674     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.868675     [D2] Device does not match - skipping
   0.868686     [D2] Checking device (2109/0822) (002/002)
   0.996306     [D2] - VendorID: 2109
   0.996312     [D2] - ProductID: 0822
   0.996313     [D2] - Manufacturer: VIA Labs, Inc.         
   0.996314     [D2] - Product: USB3.1 Hub             
   0.996315     [D2] - Serial Number: 000000001
   0.996316     [D2] - Bus: 002
   0.996316     [D2] - Device: 002
   0.996317     [D2] - Device release number: 9013
   0.996318     [D2] Trying to match device
   0.996319     [D3] match_function_regex: matching a device...
   0.996331     [D2] match_function_regex: failed match of VendorID: 2109
   0.996333     [D2] Device does not match - skipping
   1.024269     [D2] Checking device (1D6B/0003) (002/001)
   1.024762     [D2] - VendorID: 1d6b
   1.024767     [D2] - ProductID: 0003
   1.024768     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   1.024769     [D2] - Product: xHCI Host Controller
   1.024770     [D2] - Serial Number: 0000:00:14.0
   1.024771     [D2] - Bus: 002
   1.024772     [D2] - Device: 001
   1.024773     [D2] - Device release number: 0602
   1.024774     [D2] Trying to match device
   1.024775     [D3] match_function_regex: matching a device...
   1.024777     [D2] match_function_regex: failed match of VendorID: 1d6b
   1.024778     [D2] Device does not match - skipping
   1.025097     [D2] Checking device (1A86/7523) (001/005)
   1.025903     [D2] - VendorID: 1a86
   1.025908     [D2] - ProductID: 7523
   1.025910     [D2] - Manufacturer: unknown
   1.025911     [D2] - Product: USB Serial
   1.025913     [D2] - Serial Number: unknown
   1.025914     [D2] - Bus: 001
   1.025915     [D2] - Device: 005
   1.025916     [D2] - Device release number: 0264
   1.025917     [D2] Trying to match device
   1.025919     [D3] match_function_regex: matching a device...
   1.025921     [D2] match_function_regex: failed match of VendorID: 1a86
   1.025922     [D2] Device does not match - skipping
   1.025926     [D2] Checking device (0E8D/0608) (001/004)
   1.026583     [D2] - VendorID: 0e8d
   1.026589     [D2] - ProductID: 0608
   1.026591     [D2] - Manufacturer: MediaTek Inc.
   1.026592     [D2] - Product: Wireless_Device
   1.026593     [D2] - Serial Number: 000000000
   1.026595     [D2] - Bus: 001
   1.026597     [D2] - Device: 004
   1.026599     [D2] - Device release number: 0100
   1.026600     [D2] Trying to match device
   1.026602     [D3] match_function_regex: matching a device...
   1.026606     [D2] match_function_regex: failed match of VendorID:  e8d
   1.026612     [D2] Device does not match - skipping
   1.026615     [D2] Checking device (2109/2822) (001/003)
   1.027838     [D2] - VendorID: 2109
   1.027841     [D2] - ProductID: 2822
   1.027842     [D2] - Manufacturer: VIA Labs, Inc.         
   1.027843     [D2] - Product: USB2.0 Hub             
   1.027845     [D2] - Serial Number: 000000001
   1.027846     [D2] - Bus: 001
   1.027847     [D2] - Device: 003
   1.027848     [D2] - Device release number: 9013
   1.027849     [D2] Trying to match device
   1.027851     [D3] match_function_regex: matching a device...
   1.027853     [D2] match_function_regex: failed match of VendorID: 2109
   1.027854     [D2] Device does not match - skipping
   1.027857     [D2] Checking device (0925/1234) (001/002)
   1.030640     [D2] - VendorID: 0925
   1.030664     [D2] - ProductID: 1234
   1.030677     [D2] - Manufacturer: ?
   1.030688     [D2] - Product: UPS USB MON V1.4
   1.030699     [D2] - Serial Number: unknown
   1.030702     [D2] - Bus: 001
   1.030703     [D2] - Device: 002
   1.030705     [D2] - Device release number: 0001
   1.030706     [D2] Trying to match device
   1.030707     [D3] match_function_regex: matching a device...
   1.030720     [D2] Device matches
   1.030737     [D3] nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   1.030750     [D2] armac: unsupported cmd: QGS
   1.030753     [D2] qx_process_answer: short reply (input.voltage)
   1.030755     [D2] armac: unsupported cmd: QGS
   1.030756     [D2] qx_process_answer: short reply (input.voltage)
   1.030758     [D2] armac: unsupported cmd: QGS
   1.030759     [D2] qx_process_answer: short reply (input.voltage)
   1.030761     [D2] armac: unsupported cmd: M
   1.030763     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.030765     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030766     [D2] armac: unsupported cmd: M
   1.030768     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.030769     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030771     [D2] armac: unsupported cmd: M
   1.030772     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.030773     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030775     [D2] armac: unsupported cmd: M
   1.030777     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.030778     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030779     [D2] armac: unsupported cmd: M
   1.030781     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.030783     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030784     [D2] armac: unsupported cmd: M
   1.030785     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.030787     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.030789     [D2] armac: unsupported cmd: QS
   1.030790     [D2] qx_process_answer: short reply (input.voltage)
   1.030792     [D2] armac: unsupported cmd: QS
   1.030793     [D2] qx_process_answer: short reply (input.voltage)
   1.030796     [D2] armac: unsupported cmd: QS
   1.030797     [D2] qx_process_answer: short reply (input.voltage)
   1.030799     [D2] armac: unsupported cmd: D
   1.030801     [D2] qx_process_answer: short reply (input.voltage)
   1.030803     [D2] armac: unsupported cmd: D
   1.030804     [D2] qx_process_answer: short reply (input.voltage)
   1.030806     [D2] armac: unsupported cmd: D
   1.030808     [D2] qx_process_answer: short reply (input.voltage)
   1.030811     [D4] armac command Q1
1  1.031966     [D4] read: ret 6 buf 80: 0d 31 00 30 30  >
   1.031992     [D3] armac command Q1 response read: ''
   1.031995     [D2] qx_process_answer: short reply (input.voltage)
   1.031997     [D4] armac command Q1
1  1.042095     [D4] read: ret 6 buf c0: 0d 31 00 30 30  >
   1.042110     [D3] armac command Q1 response read: ''
   1.042112     [D2] qx_process_answer: short reply (input.voltage)
   1.042115     [D4] armac command Q1
   1.064029     [D4] read: ret 6 buf 81: c9 31 00 30 30  >1
   1.080160     [D4] read: ret 6 buf c1: c5 31 00 30 30  >1
   1.096201     [D4] read: ret 6 buf 81: c1 31 00 30 30  >1
   1.112205     [D4] read: ret 6 buf c3: c1 82 82 30 30  >00<
   1.114218     [D4] read: ret 6 buf 84: 72 82 02 92 30  >r0<
   1.118230     [D4] read: ret 6 buf c1: 9a 82 02 92 30  >0<
   1.134170     [D4] read: ret 6 buf 81: 8a 82 02 92 30  >0<
   1.150231     [D4] read: ret 6 buf c3: 72 82 02 92 30  >r0<
   1.151217     [D4] read: ret 6 buf 84: 82 8a a2 02 30  >0<
   1.155233     [D4] read: ret 6 buf c1: a2 8a a2 02 30  >0<
   1.171266     [D4] read: ret 6 buf 81: ca 8a a2 02 30  >ʊ0<
   1.187188     [D4] read: ret 6 buf c3: 72 82 02 02 30  >r0<
   1.189261     [D4] read: ret 6 buf 84: 92 ba 72 82 30  >r0<
   1.193097     [D4] read: ret 6 buf c1: 02 ba 72 82 30  >r0<
   1.209270     [D4] read: ret 6 buf 81: 92 ba 72 82 30  >r0<
   1.225162     [D4] read: ret 6 buf c3: 82 72 c2 82 30  >r0<
   1.226096     [D4] read: ret 6 buf 84: 02 82 82 82 30  >0<
   1.230052     [D4] read: ret 6 buf c1: 82 82 82 82 30  >0<
   1.246086     [D4] read: ret 6 buf 81: 8a 82 82 82 30  >0<
   1.262088     [D4] read: ret 6 buf c3: 02 04 8a 82 30  >0<
   1.263125     [D4] read: ret 6 buf 82: 6a fc 8a 82 30  >j0<
   2.259371     [D4] read: ret 6 buf c0: 6a fc 8a 82 30  >j0<
   2.259382     [D3] armac command Q1 response read: 'rrrrrj'
   2.259385     [D2] qx_process_answer: short reply (input.voltage)
   2.259389     [D4] armac command Q1
   2.288214     [D4] read: ret 6 buf 81: 28 fc 8a 82 30  >(0<
   2.304236     [D4] read: ret 6 buf c1: 32 fc 8a 82 30  >20<
   2.320242     [D4] read: ret 6 buf 83: 33 33 2e 82 30  >33.0<
   2.322358     [D4] read: ret 6 buf c4: 30 20 30 30 30  >0 000<
   2.326204     [D4] read: ret 6 buf 81: 30 20 30 30 30  >0 000<
   2.342353     [D4] read: ret 6 buf c1: 2e 20 30 30 30  >. 000<
   2.358359     [D4] read: ret 6 buf 83: 30 20 32 30 30  >0 200<
   2.359338     [D4] read: ret 6 buf c4: 33 32 2e 30 30  >32.00<
   2.363371     [D4] read: ret 6 buf 81: 20 32 2e 30 30  > 2.00<
   2.379328     [D4] read: ret 6 buf c1: 30 32 2e 30 30  >02.00<
   2.395330     [D4] read: ret 6 buf 83: 31 34 20 30 30  >14 00<
   2.397265     [D4] read: ret 6 buf c4: 35 30 2e 30 30  >50.00<
   2.401217     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   2.417332     [D4] read: ret 6 buf c1: 32 30 2e 30 30  >20.00<
   2.433330     [D4] read: ret 6 buf 83: 37 2e 30 30 30  >7.000<
   2.434319     [D4] read: ret 6 buf c4: 20 32 30 2e 30  > 20.0<
   2.438329     [D4] read: ret 6 buf 81: 38 32 30 2e 30  >820.0<
   2.454297     [D4] read: ret 6 buf c1: 20 32 30 2e 30  > 20.0<
   2.470317     [D4] read: ret 6 buf 83: 30 30 30 2e 30  >000.0<
   2.472245     [D4] read: ret 6 buf c4: 30 31 00 30 30  >01
   2.476180     [D4] read: ret 6 buf 81: 31 31 00 30 30  >11
1  2.492246     [D4] read: ret 6 buf c1: 0d 31 00 30 30  >
1  3.466300     [D4] read: ret 6 buf 80: 0d 31 00 30 30  >
   3.466317     [D3] armac command Q1 response read: '(233.0 000.0 232.0 014 50.0 27.0 20.8 00001'
   3.466338     [D2] armac: unsupported cmd: QPI
   3.466340     [D2] qx_process_answer: short reply (ups.firmware.aux)
   3.466343     [D4] armac command Q1
   3.495402     [D4] read: ret 6 buf c1: 28 31 00 30 30  >(1
   3.511417     [D4] read: ret 6 buf 81: 32 31 00 30 30  >21
   3.527366     [D4] read: ret 6 buf c3: 33 33 2e 30 30  >33.00<
   3.528308     [D4] read: ret 6 buf 84: 30 20 30 30 30  >0 000<
   3.532283     [D4] read: ret 6 buf c1: 30 20 30 30 30  >0 000<
   3.548266     [D4] read: ret 6 buf 81: 2e 20 30 30 30  >. 000<
   3.564292     [D4] read: ret 6 buf c3: 30 20 32 30 30  >0 200<
   3.566417     [D4] read: ret 6 buf 84: 33 33 2e 30 30  >33.00<
   3.570453     [D4] read: ret 6 buf c1: 20 33 2e 30 30  > 3.00<
   3.586414     [D4] read: ret 6 buf 81: 30 33 2e 30 30  >03.00<
   3.602413     [D4] read: ret 6 buf c3: 31 34 20 30 30  >14 00<
   3.603423     [D4] read: ret 6 buf 84: 35 30 2e 30 30  >50.00<
   3.607435     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   3.623260     [D4] read: ret 6 buf 81: 32 30 2e 30 30  >20.00<
   3.639413     [D4] read: ret 6 buf c3: 37 2e 30 30 30  >7.000<
   3.641347     [D4] read: ret 6 buf 84: 20 32 30 2e 30  > 20.0<
   3.645396     [D4] read: ret 6 buf c1: 38 32 30 2e 30  >820.0<
   3.661372     [D4] read: ret 6 buf 81: 20 32 30 2e 30  > 20.0<
   3.677367     [D4] read: ret 6 buf c3: 30 30 30 2e 30  >000.0<
   3.678366     [D4] read: ret 6 buf 84: 30 31 00 30 30  >01
   3.682373     [D4] read: ret 6 buf c1: 31 31 00 30 30  >11
1  3.698342     [D4] read: ret 6 buf 81: 0d 31 00 30 30  >
1  4.674549     [D4] read: ret 6 buf c0: 0d 31 00 30 30  >
   4.674562     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   4.674573     [D2] armac: unsupported cmd: QPI
   4.674575     [D2] qx_process_answer: short reply (ups.firmware.aux)
   4.674578     [D4] armac command Q1
   4.705509     [D4] read: ret 6 buf 81: 28 31 00 30 30  >(1
   4.721465     [D4] read: ret 6 buf c1: 32 31 00 30 30  >21
   4.737542     [D4] read: ret 6 buf 83: 33 33 2e 30 30  >33.00<
   4.738497     [D4] read: ret 6 buf c4: 30 20 30 30 30  >0 000<
   4.742416     [D4] read: ret 6 buf 81: 30 20 30 30 30  >0 000<
   4.758455     [D4] read: ret 6 buf c1: 2e 20 30 30 30  >. 000<
   4.774550     [D4] read: ret 6 buf 83: 30 20 32 30 30  >0 200<
   4.776337     [D4] read: ret 6 buf c4: 33 33 2e 30 30  >33.00<
   4.780367     [D4] read: ret 6 buf 81: 20 33 2e 30 30  > 3.00<
   4.796315     [D4] read: ret 6 buf c1: 30 33 2e 30 30  >03.00<
   4.812324     [D4] read: ret 6 buf 83: 31 35 20 30 30  >15 00<
   4.813506     [D4] read: ret 6 buf c4: 34 39 2e 30 30  >49.00<
   4.817397     [D4] read: ret 6 buf 81: 20 39 2e 30 30  > 9.00<
   4.833453     [D4] read: ret 6 buf c1: 32 39 2e 30 30  >29.00<
   4.849512     [D4] read: ret 6 buf 83: 37 2e 30 30 30  >7.000<
   4.851510     [D4] read: ret 6 buf c4: 20 32 30 2e 30  > 20.0<
   4.855428     [D4] read: ret 6 buf 81: 38 32 30 2e 30  >820.0<
   4.871496     [D4] read: ret 6 buf c1: 20 32 30 2e 30  > 20.0<
   4.887467     [D4] read: ret 6 buf 83: 30 30 30 2e 30  >000.0<
   4.888346     [D4] read: ret 6 buf c4: 30 31 00 30 30  >01
   4.892367     [D4] read: ret 6 buf 81: 31 31 00 30 30  >11
1  4.908339     [D4] read: ret 6 buf c1: 0d 31 00 30 30  >
1  5.882618     [D4] read: ret 6 buf 80: 0d 31 00 30 30  >
   5.882634     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 49.0 27.0 20.8 00001'
   5.882645     [D2] armac: unsupported cmd: QPI
   5.882647     [D2] qx_process_answer: short reply (ups.firmware.aux)
   5.882650     [D4] armac command Q1
   5.912445     [D4] read: ret 6 buf c1: 28 31 00 30 30  >(1
   5.928411     [D4] read: ret 6 buf 81: 32 31 00 30 30  >21
   5.944393     [D4] read: ret 6 buf c3: 33 34 2e 30 30  >34.00<
   5.946578     [D4] read: ret 6 buf 84: 30 20 30 30 30  >0 000<
   5.950458     [D4] read: ret 6 buf c1: 30 20 30 30 30  >0 000<
   5.966555     [D4] read: ret 6 buf 81: 2e 20 30 30 30  >. 000<
   5.982654     [D4] read: ret 6 buf c3: 30 20 32 30 30  >0 200<
   5.983603     [D4] read: ret 6 buf 84: 33 33 2e 30 30  >33.00<
   5.987481     [D4] read: ret 6 buf c1: 20 33 2e 30 30  > 3.00<
   6.003598     [D4] read: ret 6 buf 81: 30 33 2e 30 30  >03.00<
   6.019563     [D4] read: ret 6 buf c3: 31 35 20 30 30  >15 00<
   6.021556     [D4] read: ret 6 buf 84: 35 30 2e 30 30  >50.00<
   6.025509     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   6.041576     [D4] read: ret 6 buf 81: 32 30 2e 30 30  >20.00<
   6.057612     [D4] read: ret 6 buf c3: 37 2e 30 30 30  >7.000<
   6.058615     [D4] read: ret 6 buf 84: 20 32 30 2e 30  > 20.0<
   6.062475     [D4] read: ret 6 buf c1: 38 32 30 2e 30  >820.0<
   6.078635     [D4] read: ret 6 buf 81: 20 32 30 2e 30  > 20.0<
   6.094625     [D4] read: ret 6 buf c3: 30 30 30 2e 30  >000.0<
   6.096532     [D4] read: ret 6 buf 84: 30 31 00 30 30  >01
   6.100421     [D4] read: ret 6 buf c1: 31 31 00 30 30  >11
1  6.116424     [D4] read: ret 6 buf 81: 0d 31 00 30 30  >
1  7.090699     [D4] read: ret 6 buf c0: 0d 31 00 30 30  >
   7.090714     [D3] armac command Q1 response read: '(234.0 000.0 233.0 015 50.0 27.0 20.8 00001'
   7.090730     [D4] armac command I
   7.115606     [D4] read: ret 6 buf 81: 23 31 00 30 30  >#1
   7.131550     [D4] read: ret 6 buf c1: 20 31 00 30 30  > 1
   7.147683     [D4] read: ret 6 buf 83: 20 20 20 30 30  >   00<
   7.148657     [D4] read: ret 6 buf c4: 20 20 20 20 30  >    0<
   7.152591     [D4] read: ret 6 buf 81: 20 20 20 20 30  >    0<
   7.168592     [D4] read: ret 6 buf c1: 20 20 20 20 30  >    0<
   7.184640     [D4] read: ret 6 buf 83: 20 20 20 20 30  >    0<
   7.186647     [D4] read: ret 6 buf c4: 20 20 20 20 30  >    0<
   7.190604     [D4] read: ret 6 buf 81: 20 20 20 20 30  >    0<
   7.206629     [D4] read: ret 6 buf c1: 20 20 20 20 30  >    0<
   7.222600     [D4] read: ret 6 buf 83: 20 20 20 20 30  >    0<
   7.223542     [D4] read: ret 6 buf c4: 20 20 20 20 30  >    0<
   7.227424     [D4] read: ret 6 buf 81: 20 20 20 20 30  >    0<
   7.243486     [D4] read: ret 6 buf c1: 56 20 20 20 30  >V   0<
   7.259551     [D4] read: ret 6 buf 83: 34 2e 31 20 30  >4.1 0<
   7.261541     [D4] read: ret 6 buf c4: 30 20 20 20 30  >0   0<
   7.265466     [D4] read: ret 6 buf 81: 20 20 20 20 30  >    0<
   7.281536     [D4] read: ret 6 buf c1: 20 20 20 20 30  >    0<
   0<297536     [D4] read: ret 6 buf 81: 0d 20 20 20 30  >
   0<278629     [D4] read: ret 6 buf c0: 0d 20 20 20 30  >
   8.278641     [D3] armac command I response read: '#                           V4.10     '
   8.278650     Using protocol: Megatec 0.06
   8.278659     [D1] upsdrv_initinfo...
   8.278666     [D4] armac command Q1
   8.308614     [D4] read: ret 6 buf 81: 28 20 20 20 30  >(   0<
   8.324733     [D4] read: ret 6 buf c1: 32 20 20 20 30  >2   0<
   8.340795     [D4] read: ret 6 buf 83: 33 33 2e 20 30  >33. 0<
   8.341792     [D4] read: ret 6 buf c4: 30 20 30 30 30  >0 000<
   8.346613     [D4] read: ret 6 buf 81: 30 20 30 30 30  >0 000<
   8.362804     [D4] read: ret 6 buf c1: 2e 20 30 30 30  >. 000<
   8.378813     [D4] read: ret 6 buf 83: 30 20 32 30 30  >0 200<
   8.379656     [D4] read: ret 6 buf c4: 33 33 2e 30 30  >33.00<
   8.383722     [D4] read: ret 6 buf 81: 20 33 2e 30 30  > 3.00<
   8.399664     [D4] read: ret 6 buf c1: 30 33 2e 30 30  >03.00<
   8.415653     [D4] read: ret 6 buf 83: 31 34 20 30 30  >14 00<
   8.416818     [D4] read: ret 6 buf c4: 34 39 2e 30 30  >49.00<
   8.421614     [D4] read: ret 6 buf 81: 20 39 2e 30 30  > 9.00<
   8.437632     [D4] read: ret 6 buf c1: 32 39 2e 30 30  >29.00<
   8.453569     [D4] read: ret 6 buf 83: 37 2e 30 30 30  >7.000<
   8.454636     [D4] read: ret 6 buf c4: 20 32 30 2e 30  > 20.0<
   8.458666     [D4] read: ret 6 buf 81: 38 32 30 2e 30  >820.0<
   8.474579     [D4] read: ret 6 buf c1: 20 32 30 2e 30  > 20.0<
   8.490705     [D4] read: ret 6 buf 83: 30 30 30 2e 30  >000.0<
   8.491750     [D4] read: ret 6 buf c4: 30 31 00 30 30  >01
   8.496653     [D4] read: ret 6 buf 81: 31 31 00 30 30  >11
1  8.512721     [D4] read: ret 6 buf c1: 0d 31 00 30 30  >
1  9.486714     [D4] read: ret 6 buf 80: 0d 31 00 30 30  >
   9.486727     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 49.0 27.0 20.8 00001'
   9.486740     [D2] qx_process_answer: short reply (output.voltage)
   9.486743     [D2] qx_process_answer: short reply (ups.load)
   9.486744     [D2] qx_process_answer: short reply (input.frequency)
   9.486747     [D2] qx_process_answer: short reply (battery.voltage)
   9.486749     [D2] qx_process_answer: short reply (ups.temperature)
   9.486750     [D2] qx_process_answer: short reply (ups.status)
   9.486752     Can't initialise data from the UPS
   9.486759     [D1] upsdrv_cleanup...

@blaa
Copy link

blaa commented Aug 5, 2023

Are you certain this has the latest changes? It reports 2.8.0-2272-g3a11558e6 - the changes are not yet merged. Latest are here: https://github.com/blaa/nut.git

PR should land shortly, but tests like this will help. ;)

The problem I see in your log seems like something that SHOULD HAVE BEEN FIXED by this last PR, so if it's not, I'll need to dive in, but we must check if your version is right.

@Novocaine85
Copy link

Novocaine85 commented Aug 5, 2023

I confirm I've git cloned your version.

let me double check just to be sure

whops, you are right. i was following the instructions inside the INSTALL.md but i forgot to change the url.

Sorry I'll try again now.

@Novocaine85
Copy link

root@proxmox:/tmp/nut# /usr/local/ups/bin/nutdrv_qx -a vultech -u root -D -D -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.33 (2.7.4-7674-gdb0272a94)
USB communication driver (libusb 0.1) 0.44
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000009     [D5] send_to_all: SETINFO driver.parameter.productid "1234"
   0.000012     [D3] main_arg: var='vendorid' val='0925'
   0.000014     [D5] send_to_all: SETINFO driver.parameter.vendorid "0925"
   0.000016     [D3] main_arg: var='subdriver' val='armac'
   0.000020     [D5] send_to_all: SETINFO driver.parameter.subdriver "armac"
   0.000022     [D1] Network UPS Tools version 2.7.4-7674-gdb0272a94 (release/snapshot of 2.8.0.1) built with gcc (Debian 12.2.0-14) 12.2.0 and configured with flags: --sysconfdir=/etc/nut --with-user=ups --with-group=root --with-usb
   0.000025     [D1] debug level is '5'
   0.000027     [D5] send_to_all: SETINFO driver.debug "5"
   0.000030     [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
   0.000218     [D1] Succeeded to become_user(root): now UID=0 GID=0
   0.000224     [D5] send_to_all: SETINFO device.type "ups"
   0.000226     [D5] send_to_all: SETINFO driver.state "init.device"
   0.000227     [D1] upsdrv_initups...
   0.692148     [D3] usb_busses=0x5642c4fc8000
   0.692159     [D2] Checking device (1D6B/0003) (004/001)
   0.862847     [D2] - VendorID: 1d6b
   0.862856     [D2] - ProductID: 0003
   0.862858     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.862859     [D2] - Product: xHCI Host Controller
   0.862860     [D2] - Serial Number: 0000:00:0d.0
   0.862860     [D2] - Bus: 004
   0.862864     [D2] - Device: 001
   0.862865     [D2] - Device release number: 0602
   0.862866     [D2] Trying to match device
   0.862867     [D3] match_function_regex: matching a device...
   0.862877     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.862878     [D2] Device does not match - skipping
   0.863932     [D2] Checking device (1D6B/0002) (003/001)
   1.027435     [D2] - VendorID: 1d6b
   1.027442     [D2] - ProductID: 0002
   1.027444     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   1.027446     [D2] - Product: xHCI Host Controller
   1.027448     [D2] - Serial Number: 0000:00:0d.0
   1.027450     [D2] - Bus: 003
   1.027452     [D2] - Device: 001
   1.027453     [D2] - Device release number: 0602
   1.027456     [D2] Trying to match device
   1.027457     [D3] match_function_regex: matching a device...
   1.027461     [D2] match_function_regex: failed match of VendorID: 1d6b
   1.027462     [D2] Device does not match - skipping
   1.027542     [D2] Checking device (2109/0822) (002/002)
   1.158140     [D2] - VendorID: 2109
   1.158164     [D2] - ProductID: 0822
   1.158165     [D2] - Manufacturer: VIA Labs, Inc.         
   1.158166     [D2] - Product: USB3.1 Hub             
   1.158167     [D2] - Serial Number: 000000001
   1.158168     [D2] - Bus: 002
   1.158169     [D2] - Device: 002
   1.158169     [D2] - Device release number: 9013
   1.158170     [D2] Trying to match device
   1.158172     [D3] match_function_regex: matching a device...
   1.158182     [D2] match_function_regex: failed match of VendorID: 2109
   1.158183     [D2] Device does not match - skipping
   1.186831     [D2] Checking device (1D6B/0003) (002/001)
   1.186894     [D2] - VendorID: 1d6b
   1.186895     [D2] - ProductID: 0003
   1.186896     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   1.186897     [D2] - Product: xHCI Host Controller
   1.186898     [D2] - Serial Number: 0000:00:14.0
   1.186899     [D2] - Bus: 002
   1.186900     [D2] - Device: 001
   1.186901     [D2] - Device release number: 0602
   1.186902     [D2] Trying to match device
   1.186903     [D3] match_function_regex: matching a device...
   1.186906     [D2] match_function_regex: failed match of VendorID: 1d6b
   1.186906     [D2] Device does not match - skipping
   1.187108     [D2] Checking device (1A86/7523) (001/005)
   1.187655     [D2] - VendorID: 1a86
   1.187657     [D2] - ProductID: 7523
   1.187658     [D2] - Manufacturer: unknown
   1.187660     [D2] - Product: USB Serial
   1.187661     [D2] - Serial Number: unknown
   1.187662     [D2] - Bus: 001
   1.187663     [D2] - Device: 005
   1.187665     [D2] - Device release number: 0264
   1.187666     [D2] Trying to match device
   1.187667     [D3] match_function_regex: matching a device...
   1.187669     [D2] match_function_regex: failed match of VendorID: 1a86
   1.187670     [D2] Device does not match - skipping
   1.187673     [D2] Checking device (0E8D/0608) (001/004)
   1.188166     [D2] - VendorID: 0e8d
   1.188167     [D2] - ProductID: 0608
   1.188168     [D2] - Manufacturer: MediaTek Inc.
   1.188169     [D2] - Product: Wireless_Device
   1.188169     [D2] - Serial Number: 000000000
   1.188170     [D2] - Bus: 001
   1.188171     [D2] - Device: 004
   1.188172     [D2] - Device release number: 0100
   1.188173     [D2] Trying to match device
   1.188174     [D3] match_function_regex: matching a device...
   1.188176     [D2] match_function_regex: failed match of VendorID:  e8d
   1.188177     [D2] Device does not match - skipping
   1.188178     [D2] Checking device (2109/2822) (001/003)
   1.189276     [D2] - VendorID: 2109
   1.189278     [D2] - ProductID: 2822
   1.189279     [D2] - Manufacturer: VIA Labs, Inc.         
   1.189279     [D2] - Product: USB2.0 Hub             
   1.189280     [D2] - Serial Number: 000000001
   1.189281     [D2] - Bus: 001
   1.189282     [D2] - Device: 003
   1.189283     [D2] - Device release number: 9013
   1.189284     [D2] Trying to match device
   1.189285     [D3] match_function_regex: matching a device...
   1.189286     [D2] match_function_regex: failed match of VendorID: 2109
   1.189287     [D2] Device does not match - skipping
   1.189289     [D2] Checking device (0925/1234) (001/002)
   1.191805     [D2] - VendorID: 0925
   1.191806     [D2] - ProductID: 1234
   1.191807     [D2] - Manufacturer: ?
   1.191808     [D2] - Product: UPS USB MON V1.4
   1.191809     [D2] - Serial Number: unknown
   1.191810     [D2] - Bus: 001
   1.191811     [D2] - Device: 002
   1.191812     [D2] - Device release number: 0001
   1.191813     [D2] Trying to match device
   1.191813     [D3] match_function_regex: matching a device...
   1.191822     [D2] Device matches
   1.191832     [D3] nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   1.191835     [D5] send_to_all: SETINFO ups.vendorid "0925"
   1.191837     [D5] send_to_all: SETINFO ups.productid "1234"
   1.191842     [D2] armac: unsupported cmd: QGS
   1.191843     [D2] qx_process_answer: short reply (input.voltage)
   1.191844     [D2] armac: unsupported cmd: QGS
   1.191845     [D2] qx_process_answer: short reply (input.voltage)
   1.191846     [D2] armac: unsupported cmd: QGS
   1.191847     [D2] qx_process_answer: short reply (input.voltage)
   1.191849     [D2] armac: unsupported cmd: M
   1.191851     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.191852     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191853     [D2] armac: unsupported cmd: M
   1.191854     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.191855     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191856     [D2] armac: unsupported cmd: M
   1.191857     [D2] voltronic_qs_protocol: invalid protocol [M]
   1.191858     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191859     [D2] armac: unsupported cmd: M
   1.191860     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.191861     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191862     [D2] armac: unsupported cmd: M
   1.191863     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.191864     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191865     [D2] armac: unsupported cmd: M
   1.191866     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   1.191867     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   1.191868     [D2] armac: unsupported cmd: QS
   1.191869     [D2] qx_process_answer: short reply (input.voltage)
   1.191870     [D2] armac: unsupported cmd: QS
   1.191871     [D2] qx_process_answer: short reply (input.voltage)
   1.191872     [D2] armac: unsupported cmd: QS
   1.191873     [D2] qx_process_answer: short reply (input.voltage)
   1.191874     [D2] armac: unsupported cmd: D
   1.191875     [D2] qx_process_answer: short reply (input.voltage)
   1.191876     [D2] armac: unsupported cmd: D
   1.191877     [D2] qx_process_answer: short reply (input.voltage)
   1.191878     [D2] armac: unsupported cmd: D
   1.191879     [D2] qx_process_answer: short reply (input.voltage)
   1.191881     [D4] armac command Q1
   1.193102     [D4] armac cleanup ret i=0 ret=6 ctrl=c0
   1.194098     [D4] armac cleanup ret i=1 ret=6 ctrl=80
   1.323226     [D4] read: ret 6 buf c1: 28 31 00 30 30  >(1
   1.334354     [D4] read: ret 6 buf 81: 32 31 00 30 30  >21
   1.345239     [D4] read: ret 6 buf c2: 33 33 00 30 30  >33
   1.356217     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.357349     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   1.368380     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   1.379368     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   1.390388     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   1.394382     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   1.398387     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   1.409412     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   1.420421     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   1.431403     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   1.432399     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   1.443277     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   1.454355     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   1.465385     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.469432     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   1.473367     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   1.484428     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   1.495430     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   1.506238     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   1.507157     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   1.507160     [D3] null byte read - is UPS off?
   1.507163     [D2] qx_process_answer: short reply (input.voltage)
   1.507166     [D4] armac command Q1
   1.511243     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   1.515249     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   1.645209     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   1.656293     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   1.667291     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   1.678294     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.679143     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   1.690335     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   1.701298     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   1.712296     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   1.716286     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   1.720230     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   1.731301     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   1.742261     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   1.753302     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   1.754325     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   1.765336     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   1.776338     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   1.787294     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.791268     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   1.795290     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   1.806327     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   1.817304     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   1.828268     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   1.829257     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   1.829267     [D3] null byte read - is UPS off?
   1.829270     [D2] qx_process_answer: short reply (input.voltage)
   1.829274     [D4] armac command Q1
   1.832271     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   1.837209     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   1.967276     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   1.978425     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   1.989374     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   2.000455     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.004478     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   2.008448     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   2.019479     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   2.030460     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   2.041448     [D4] read: ret 6 buf c3: 33 33 2e 30 30  >33.00<
   2.042471     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   2.053450     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   2.064463     [D4] read: ret 6 buf 82: 31 34 2e 30 30  >14.00<
   2.075437     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   2.079446     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.083435     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   2.094278     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   2.105281     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.116339     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   2.117358     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   2.128435     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   2.139286     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   2.150311     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.154308     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   2.154327     [D3] null byte read - is UPS off?
   2.154339     [D2] qx_process_answer: short reply (input.voltage)
   2.154342     [D4] armac command Q1
   2.158327     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.288498     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.299339     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.310351     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   2.321289     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.322459     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   2.333479     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   2.344486     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.355397     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   2.359308     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   2.363346     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   2.374346     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   2.385345     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   2.396429     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   2.397379     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   2.408313     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   2.419340     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   2.430329     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.434321     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   2.438351     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   2.449514     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   2.460411     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   2.471339     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.472355     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   2.472359     [D3] null byte read - is UPS off?
   2.472361     [D2] qx_process_answer: short reply (input.voltage)
   2.472364     [D4] armac command Q1
   2.476302     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.480375     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   2.610322     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   2.621323     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   2.632361     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   2.643321     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.644364     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   2.655331     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   2.666307     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   2.677313     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   2.681320     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   2.685317     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   2.696417     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   2.707397     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   2.718412     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   2.719410     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   2.730408     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   2.741363     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   2.752405     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.756276     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   2.760374     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   2.771414     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   2.782520     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   2.793511     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   2.794324     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   2.794328     [D3] null byte read - is UPS off?
   2.794331     [D2] qx_process_answer: short reply (input.voltage)
   2.794333     [D4] armac command Q1
   2.798516     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   2.802375     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   2.932350     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.943428     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.954341     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   2.965380     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.966353     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   2.977389     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   2.988392     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.999393     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   3.003398     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   3.007359     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   3.018416     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   3.029392     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   3.040350     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   3.041355     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   3.052357     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   3.063348     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   3.074347     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.078344     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   3.082349     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   3.093349     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   3.104362     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   3.115364     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   3.116378     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   3.116386     [D3] null byte read - is UPS off?
   3.116389     [D2] qx_process_answer: short reply (input.voltage)
   3.116393     [D4] armac command Q1
   3.120330     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   3.124337     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   3.254447     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.265451     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.276415     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.287434     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.291441     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   3.295324     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   3.306451     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   3.317346     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   3.328375     [D4] read: ret 6 buf 83: 33 32 2e 30 30  >32.00<
   3.329567     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   3.340388     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   3.351518     [D4] read: ret 6 buf c2: 31 34 2e 30 30  >14.00<
   3.362533     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   3.366489     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.370559     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   3.381565     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   3.392540     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.403532     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   3.404373     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   3.415564     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   3.426573     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   3.437549     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.441507     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   3.441512     [D3] null byte read - is UPS off?
   3.441514     [D2] qx_process_answer: short reply (input.voltage)
   3.441517     [D4] armac command Q1
   3.445325     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.576337     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.587468     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.598471     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.609484     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.613339     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   3.617452     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   3.628412     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   3.639445     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   3.650440     [D4] read: ret 6 buf 83: 33 33 2e 30 30  >33.00<
   3.651434     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   3.662444     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   3.673483     [D4] read: ret 6 buf c2: 31 34 2e 30 30  >14.00<
   3.684480     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   3.688444     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.692423     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   3.703448     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   3.714409     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.725406     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   3.726418     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   3.737408     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   3.748449     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   3.759449     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.763380     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   3.763389     [D3] null byte read - is UPS off?
   3.763392     [D2] qx_process_answer: short reply (input.voltage)
   3.763396     [D4] armac command Q1
   3.767449     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.897363     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.908442     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.919414     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.930428     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.931414     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   3.942510     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   3.953500     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.964503     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   3.968448     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   3.972445     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   3.983466     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   3.994472     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   4.005449     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.006546     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   4.017522     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   4.028541     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   4.039566     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.043571     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   4.047541     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   4.058580     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   4.069631     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   4.080622     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   4.081441     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   4.081446     [D3] null byte read - is UPS off?
   4.081468     [D2] qx_process_answer: short reply (input.voltage)
   4.081488     [D4] armac command Q1
   4.085631     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   4.089623     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   4.219510     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   4.230497     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   4.241443     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   4.252458     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.253479     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   4.264445     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   4.275483     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   4.286431     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   4.290442     [D4] read: ret 6 buf c3: 33 2e 30 30 30  >3.000<
   4.294418     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   4.305399     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   4.316472     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   4.327493     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   4.328464     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   4.339459     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   4.350483     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   4.361442     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.365451     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   4.369439     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   4.380458     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   4.391498     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   4.402495     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   4.403475     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   4.403486     [D3] null byte read - is UPS off?
   4.403490     [D2] qx_process_answer: short reply (input.voltage)
   4.403494     [D4] armac command Q1
   4.407490     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   4.411458     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   4.541435     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   4.552502     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   4.563486     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   4.574504     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.578440     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   4.582487     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   4.593512     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   4.604509     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   4.615506     [D4] read: ret 6 buf 83: 33 32 2e 30 30  >32.00<
   4.616464     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   4.627508     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   4.638513     [D4] read: ret 6 buf c2: 31 34 2e 30 30  >14.00<
   4.649477     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.653472     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.657477     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   4.668480     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   4.679543     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   4.690399     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   4.691457     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   4.702508     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   4.713477     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   4.724530     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   4.728448     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   4.728458     [D3] null byte read - is UPS off?
   4.728461     [D2] qx_process_answer: short reply (input.voltage)
   4.728465     [D4] armac command Q1
   4.732506     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   4.863564     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   4.874559     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   4.885487     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   4.896497     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.900471     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   4.904527     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   4.915542     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   4.926533     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   4.937498     [D4] read: ret 6 buf 83: 33 33 2e 30 30  >33.00<
   4.938534     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   4.949523     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   4.960536     [D4] read: ret 6 buf c2: 31 36 2e 30 30  >16.00<
   4.971499     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.975499     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.979417     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   4.990536     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   5.001562     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   5.012538     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   5.013499     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   5.024490     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   5.035599     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   5.046656     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   5.050657     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   5.050662     [D3] null byte read - is UPS off?
   5.050665     [D2] qx_process_answer: short reply (input.voltage)
   5.050669     [D4] armac command WH
   5.054611     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
0100<043570     [D4] read: ret 6 buf 80: 0d 30 31 30 30  >
   6.043587     [D3] armac command WH response read: ''
   6.043591     [D2] qx_process_answer: short reply (experimental.series)
   6.043592     [D2] claim: cannot process experimental.series
   6.043601     [D4] armac command WH
0100<041852     [D4] read: ret 6 buf c0: 0d 30 31 30 30  >
   7.041863     [D3] armac command WH response read: ''
   7.041865     [D2] qx_process_answer: short reply (experimental.series)
   7.041866     [D2] claim: cannot process experimental.series
   7.041874     [D4] armac command WH
0100<039943     [D4] read: ret 6 buf 80: 0d 30 31 30 30  >
   8.039953     [D3] armac command WH response read: ''
   8.039956     [D2] qx_process_answer: short reply (experimental.series)
   8.039958     [D2] claim: cannot process experimental.series
   8.039962     [D4] armac command Q1
   8.170834     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   8.181866     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   8.192888     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   8.203793     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.204880     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   8.215900     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   8.226879     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   8.237903     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   8.241857     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   8.245905     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   8.256893     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   8.267873     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   8.278687     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   8.279898     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   8.290891     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   8.301823     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   8.312875     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.316871     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   8.320903     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   8.331874     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   8.342919     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   8.353847     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   8.354904     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   8.354914     [D3] null byte read - is UPS off?
   8.354917     [D2] qx_process_answer: short reply (input.voltage)
   8.354921     [D4] armac command Q1
   8.358751     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   8.362823     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   8.491924     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   8.502816     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   8.513859     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   8.524922     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.528903     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   8.532936     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   8.543900     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   8.554924     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   8.565887     [D4] read: ret 6 buf 83: 33 32 2e 30 30  >32.00<
   8.566937     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   8.577886     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   8.588894     [D4] read: ret 6 buf c2: 31 35 2e 30 30  >15.00<
   8.599832     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   8.603890     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.607877     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   8.618918     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   8.629902     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   8.640948     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   8.641884     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   8.652897     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   8.663881     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   8.674923     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   8.678764     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   8.678774     [D3] null byte read - is UPS off?
   8.678777     [D2] qx_process_answer: short reply (input.voltage)
   8.678781     [D4] armac command Q1
   8.682910     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   8.811832     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   8.822930     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   8.833912     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
   8.844906     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.845908     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   8.856902     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   8.867913     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   8.878917     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   8.882843     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   8.886905     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   8.897932     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   8.908909     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   8.919910     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   8.920926     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   8.931920     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   8.942915     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   8.953942     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.957935     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   8.961932     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   8.972910     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   8.983923     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   8.994795     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   8.995788     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   8.995798     [D3] null byte read - is UPS off?
   8.995801     [D2] qx_process_answer: short reply (input.voltage)
   8.995805     [D4] armac command Q1
   8.999805     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.003796     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   9.134818     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   9.145822     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   9.156815     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   9.167782     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.168774     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   9.179778     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   9.190782     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   9.201810     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   9.205812     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   9.209813     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   9.220818     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   9.231823     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   9.242837     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   9.243823     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   9.254862     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   9.265943     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   9.276934     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.280951     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   9.284934     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   9.295852     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   9.306911     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   9.317999     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   9.318905     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   9.318914     [D3] null byte read - is UPS off?
   9.318917     [D2] qx_process_answer: short reply (input.voltage)
   9.318921     [D4] armac command Q1
   9.322876     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   9.326952     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   9.457911     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   9.468902     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   9.479911     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
   9.490918     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.491924     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   9.502763     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   9.513831     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.524995     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   9.528960     [D4] read: ret 6 buf 83: 31 2e 30 30 30  >1.000<
   9.532959     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   9.543964     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   9.554929     [D4] read: ret 6 buf c2: 31 36 30 30 30  >16000<
   9.565979     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   9.566869     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   9.577843     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   9.588941     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   9.599985     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.604005     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   9.607938     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   9.618873     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   9.629958     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   9.640974     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.641956     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   9.641961     [D3] null byte read - is UPS off?
   9.641963     [D2] qx_process_answer: short reply (input.voltage)
   9.641965     [D4] armac command Q1
   9.645964     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.649979     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   9.780989     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   9.791892     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   9.802893     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   9.813987     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.814909     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   9.825992     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   9.837001     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   9.848014     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   9.851919     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   9.855919     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   9.866918     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   9.878052     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   9.889039     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   9.890010     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   9.901072     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   9.912069     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   9.922931     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.926961     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   9.930867     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   9.942024     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   9.952917     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   9.964039     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   9.965001     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   9.965011     [D3] null byte read - is UPS off?
   9.965014     [D2] qx_process_answer: short reply (input.voltage)
   9.965018     [D4] armac command Q1
   9.968922     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   9.972938     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
  10.104113     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
  10.114953     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
  10.126068     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
  10.137093     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.137997     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
  10.149028     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
  10.160112     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
  10.170951     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
  10.174959     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
  10.178950     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
  10.190026     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
  10.201053     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
  10.212025     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
  10.213036     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
  10.224049     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
  10.234937     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
  10.246003     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.250072     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
  10.254079     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
  10.264997     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
  10.276002     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
  10.286894     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
  10.288010     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
  10.288020     [D3] null byte read - is UPS off?
  10.288023     [D2] qx_process_answer: short reply (input.voltage)
  10.288028     [D4] armac command Q1
  10.291965     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
  10.295832     [D4] armac cleanup ret i=1 ret=6 ctrl=81
  10.426960     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
  10.438093     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
  10.449074     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
  10.460020     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.461035     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
  10.472019     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
  10.482910     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
  10.494137     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
  10.497976     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
  10.501876     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
  10.512986     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
  10.523998     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
  10.534922     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
  10.536125     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
  10.546930     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
  10.558150     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
  10.569092     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.572963     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
  10.577086     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
  10.588137     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
  10.598935     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
  10.610038     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
  10.610901     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
  10.610912     [D3] null byte read - is UPS off?
  10.610915     [D2] qx_process_answer: short reply (input.voltage)
  10.610922     [D4] armac command Q1
  10.614988     [D4] armac cleanup ret i=0 ret=6 ctrl=81
  10.618977     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
  10.750037     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
  10.761091     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
  10.771984     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
  10.782953     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.784124     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
  10.794960     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
  10.806028     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
  10.817038     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
  10.821008     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
  10.825038     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
  10.836036     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
  10.846959     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
  10.857970     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
  10.858929     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
  10.870126     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
  10.881053     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
  10.891927     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.896051     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
  10.900026     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
  10.910931     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
  10.922105     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
  10.933079     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
  10.934067     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
  10.934077     [D3] null byte read - is UPS off?
  10.934081     [D2] qx_process_answer: short reply (input.voltage)
  10.934083     Device not supported!
  10.934084     Device not supported!
  10.934092     [D5] send_to_all: SETINFO driver.state "cleanup.exit"

@blaa
Copy link

blaa commented Aug 5, 2023

Haha, great. This is new version indeed. And - some new behaviour...

   1.191881     [D4] armac command Q1
   1.193102     [D4] armac cleanup ret i=0 ret=6 ctrl=c0
   1.194098     [D4] armac cleanup ret i=1 ret=6 ctrl=80  <- Those seem to work fine.
   1.323226     [D4] read: ret 6 buf c1: 28 31 00 30 30  >(1   <- start of the message is correct.
   1.334354     [D4] read: ret 6 buf 81: 32 31 00 30 30  >21
   1.345239     [D4] read: ret 6 buf c2: 33 33 00 30 30  >33
   1.356217     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.357349     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   1.368380     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   1.379368     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   1.390388     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   1.394382     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   1.398387     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   1.409412     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   1.420421     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   1.431403     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   1.432399     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   1.443277     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   1.454355     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   1.465385     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00< ".0 "
   1.469432     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00< "20."
   1.473367     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00< "8"
   1.484428     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00< " "
   1.495430     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00< "00"
   1.506238     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100< "001"   --> ".0 20.8 00001"  Looks like message end.
   1.507157     [D4] read: ret 6 buf c2: 00 30 31 30 30  >   <- Here we got \x00 which was unexpected.
   1.507160     [D3] null byte read - is UPS off?

Looks like your UPS terminates messages with a null byte instead of \r (0x0d). I can add support for this behaviour tomorrow I guess. It should be easily compatible.

@Novocaine85
Copy link

thank you for your support meanwhile :)

@blaa
Copy link

blaa commented Aug 5, 2023

@Novocaine85 I've even hacked a possible solution - git pull should get it. If I understand the behaviour correctly it should work. You can try when you have a moment.

@Novocaine85
Copy link

root@proxmox:/tmp/nut# /usr/local/ups/bin/nutdrv_qx -a vultech -u root -D -D -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.33 (2.7.4-7675-gd545f624a)
USB communication driver (libusb 0.1) 0.44
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000007     [D5] send_to_all: SETINFO driver.parameter.productid "1234"
   0.000009     [D3] main_arg: var='vendorid' val='0925'
   0.000011     [D5] send_to_all: SETINFO driver.parameter.vendorid "0925"
   0.000013     [D3] main_arg: var='subdriver' val='armac'
   0.000015     [D5] send_to_all: SETINFO driver.parameter.subdriver "armac"
   0.000021     [D1] Network UPS Tools version 2.7.4-7675-gd545f624a (release/snapshot of 2.8.0.1) built with gcc (Debian 12.2.0-14) 12.2.0 and configured with flags: --sysconfdir=/etc/nut --with-user=ups --with-group=root --with-usb
   0.000024     [D1] debug level is '5'
   0.000026     [D5] send_to_all: SETINFO driver.debug "5"
   0.000028     [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
   0.000207     [D1] Succeeded to become_user(root): now UID=0 GID=0
   0.000212     [D5] send_to_all: SETINFO device.type "ups"
   0.000214     [D5] send_to_all: SETINFO driver.state "init.device"
   0.000215     [D1] upsdrv_initups...
   0.540768     [D3] usb_busses=0x5654b48db000
   0.540779     [D2] Checking device (1D6B/0003) (004/001)
   0.708044     [D2] - VendorID: 1d6b
   0.708053     [D2] - ProductID: 0003
   0.708054     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.708056     [D2] - Product: xHCI Host Controller
   0.708057     [D2] - Serial Number: 0000:00:0d.0
   0.708059     [D2] - Bus: 004
   0.708060     [D2] - Device: 001
   0.708061     [D2] - Device release number: 0602
   0.708063     [D2] Trying to match device
   0.708065     [D3] match_function_regex: matching a device...
   0.708073     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.708075     [D2] Device does not match - skipping
   0.708109     [D2] Checking device (1D6B/0002) (003/001)
   0.708163     [D2] - VendorID: 1d6b
   0.708168     [D2] - ProductID: 0002
   0.708170     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.708172     [D2] - Product: xHCI Host Controller
   0.708174     [D2] - Serial Number: 0000:00:0d.0
   0.708176     [D2] - Bus: 003
   0.708178     [D2] - Device: 001
   0.708179     [D2] - Device release number: 0602
   0.708181     [D2] Trying to match device
   0.708182     [D3] match_function_regex: matching a device...
   0.708185     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.708186     [D2] Device does not match - skipping
   0.708197     [D2] Checking device (2109/0822) (002/002)
   0.842960     [D2] - VendorID: 2109
   0.842970     [D2] - ProductID: 0822
   0.842971     [D2] - Manufacturer: VIA Labs, Inc.         
   0.842972     [D2] - Product: USB3.1 Hub             
   0.842973     [D2] - Serial Number: 000000001
   0.842974     [D2] - Bus: 002
   0.842975     [D2] - Device: 002
   0.842977     [D2] - Device release number: 9013
   0.842978     [D2] Trying to match device
   0.842979     [D3] match_function_regex: matching a device...
   0.842987     [D2] match_function_regex: failed match of VendorID: 2109
   0.842989     [D2] Device does not match - skipping
   0.871924     [D2] Checking device (1D6B/0003) (002/001)
   0.871991     [D2] - VendorID: 1d6b
   0.871998     [D2] - ProductID: 0003
   0.872001     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.872003     [D2] - Product: xHCI Host Controller
   0.872004     [D2] - Serial Number: 0000:00:14.0
   0.872006     [D2] - Bus: 002
   0.872008     [D2] - Device: 001
   0.872010     [D2] - Device release number: 0602
   0.872012     [D2] Trying to match device
   0.872014     [D3] match_function_regex: matching a device...
   0.872017     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.872019     [D2] Device does not match - skipping
   0.872215     [D2] Checking device (1A86/7523) (001/005)
   0.872853     [D2] - VendorID: 1a86
   0.872872     [D2] - ProductID: 7523
   0.872887     [D2] - Manufacturer: unknown
   0.872904     [D2] - Product: USB Serial
   0.872905     [D2] - Serial Number: unknown
   0.872906     [D2] - Bus: 001
   0.872908     [D2] - Device: 005
   0.872909     [D2] - Device release number: 0264
   0.872910     [D2] Trying to match device
   0.872912     [D3] match_function_regex: matching a device...
   0.872914     [D2] match_function_regex: failed match of VendorID: 1a86
   0.872916     [D2] Device does not match - skipping
   0.872918     [D2] Checking device (0E8D/0608) (001/004)
   0.873511     [D2] - VendorID: 0e8d
   0.873512     [D2] - ProductID: 0608
   0.873513     [D2] - Manufacturer: MediaTek Inc.
   0.873515     [D2] - Product: Wireless_Device
   0.873516     [D2] - Serial Number: 000000000
   0.873517     [D2] - Bus: 001
   0.873518     [D2] - Device: 004
   0.873519     [D2] - Device release number: 0100
   0.873520     [D2] Trying to match device
   0.873522     [D3] match_function_regex: matching a device...
   0.873524     [D2] match_function_regex: failed match of VendorID:  e8d
   0.873526     [D2] Device does not match - skipping
   0.873527     [D2] Checking device (2109/2822) (001/003)
   0.874627     [D2] - VendorID: 2109
   0.874655     [D2] - ProductID: 2822
   0.874665     [D2] - Manufacturer: VIA Labs, Inc.         
   0.874681     [D2] - Product: USB2.0 Hub             
   0.874696     [D2] - Serial Number: 000000001
   0.874710     [D2] - Bus: 001
   0.874711     [D2] - Device: 003
   0.874713     [D2] - Device release number: 9013
   0.874714     [D2] Trying to match device
   0.874715     [D3] match_function_regex: matching a device...
   0.874717     [D2] match_function_regex: failed match of VendorID: 2109
   0.874718     [D2] Device does not match - skipping
   0.874720     [D2] Checking device (0925/1234) (001/002)
   0.877472     [D2] - VendorID: 0925
   0.877474     [D2] - ProductID: 1234
   0.877475     [D2] - Manufacturer: ?
   0.877476     [D2] - Product: UPS USB MON V1.4
   0.877477     [D2] - Serial Number: unknown
   0.877478     [D2] - Bus: 001
   0.877479     [D2] - Device: 002
   0.877479     [D2] - Device release number: 0001
   0.877480     [D2] Trying to match device
   0.877481     [D3] match_function_regex: matching a device...
   0.877491     [D2] Device matches
   0.877500     [D3] nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   0.877503     [D5] send_to_all: SETINFO ups.vendorid "0925"
   0.877505     [D5] send_to_all: SETINFO ups.productid "1234"
   0.877509     [D2] armac: unsupported cmd: QGS
   0.877511     [D2] qx_process_answer: short reply (input.voltage)
   0.877512     [D2] armac: unsupported cmd: QGS
   0.877513     [D2] qx_process_answer: short reply (input.voltage)
   0.877514     [D2] armac: unsupported cmd: QGS
   0.877515     [D2] qx_process_answer: short reply (input.voltage)
   0.877516     [D2] armac: unsupported cmd: M
   0.877517     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.877519     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877520     [D2] armac: unsupported cmd: M
   0.877522     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.877523     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877525     [D2] armac: unsupported cmd: M
   0.877526     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.877527     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877529     [D2] armac: unsupported cmd: M
   0.877530     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.877531     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877532     [D2] armac: unsupported cmd: M
   0.877533     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.877535     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877536     [D2] armac: unsupported cmd: M
   0.877538     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.877539     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.877540     [D2] armac: unsupported cmd: QS
   0.877541     [D2] qx_process_answer: short reply (input.voltage)
   0.877542     [D2] armac: unsupported cmd: QS
   0.877543     [D2] qx_process_answer: short reply (input.voltage)
   0.877544     [D2] armac: unsupported cmd: QS
   0.877545     [D2] qx_process_answer: short reply (input.voltage)
   0.877546     [D2] armac: unsupported cmd: D
   0.877547     [D2] qx_process_answer: short reply (input.voltage)
   0.877548     [D2] armac: unsupported cmd: D
   0.877549     [D2] qx_process_answer: short reply (input.voltage)
   0.877550     [D2] armac: unsupported cmd: D
   0.877551     [D2] qx_process_answer: short reply (input.voltage)
   0.877552     [D4] armac command Q1
   0.878461     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   0.879421     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   1.010565     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   1.021621     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   1.032545     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   1.043583     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.044546     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   1.055559     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   1.066584     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   1.077569     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   1.081518     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   1.085552     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   1.096560     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   1.107577     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   1.118606     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   1.119556     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   1.130603     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   1.141668     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   1.152559     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.156557     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   1.160548     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   1.171556     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   1.182583     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   1.193479     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   1.194579     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   1.194601     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.194604     [D3] armac command Q1 response read: '(232.0 000.0 232.0 016 50.0 27.0 20.8 00001'
   1.194606     [D2] qx_process_answer: short reply (input.voltage)
   1.194608     [D4] armac command Q1
   1.197605     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   1.202595     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   1.333609     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   1.344604     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   1.355669     [D4] read: ret 6 buf 82: 33 34 31 30 30  >34100<
   1.366741     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.367684     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   1.378702     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   1.389694     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   1.400595     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   1.404679     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   1.408606     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   1.419646     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   1.430717     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   1.441650     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   1.442673     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   1.453711     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   1.464689     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   1.475752     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.479610     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   1.483698     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   1.494742     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   1.505741     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   1.516584     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   1.517570     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   1.517572     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.517574     [D3] armac command Q1 response read: '(234.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   1.517576     [D2] qx_process_answer: short reply (input.voltage)
   1.517578     [D4] armac command Q1
   1.520608     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   1.525491     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   1.656632     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   1.667635     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   1.678602     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   1.689702     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.690642     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   1.701769     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   1.712600     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   1.723634     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   1.727645     [D4] read: ret 6 buf c3: 33 2e 30 30 30  >3.000<
   1.731639     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   1.742742     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   1.753638     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   1.764606     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   1.765606     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   1.776624     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   1.787608     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   1.798647     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.802648     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   1.806614     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   1.817640     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   1.828611     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   1.839652     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   1.840612     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   1.840618     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.840620     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 49.0 27.0 20.8 00001'
   1.840623     [D2] qx_process_answer: short reply (input.voltage)
   1.840626     [D4] armac command Q1
   1.843651     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   1.848547     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   1.979665     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   1.990637     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   2.001672     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   2.012626     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.013646     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   2.024566     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   2.035611     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   2.046726     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   2.050572     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   2.054643     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   2.065634     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   2.076633     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   2.087636     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   2.088637     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   2.099648     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   2.110658     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   2.121635     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.125621     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   2.129669     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   2.140654     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   2.151652     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   2.162643     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   2.163659     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   2.163668     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   2.163671     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 49.0 27.0 20.8 00001'
   2.163674     [D2] qx_process_answer: short reply (input.voltage)
   2.163679     [D4] armac command Q1
   2.166645     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   2.171600     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   2.302717     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.313696     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.324803     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   2.335793     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.339534     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   2.343645     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   2.354658     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   2.365647     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   2.376673     [D4] read: ret 6 buf c3: 33 32 2e 30 30  >32.00<
   2.377658     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   2.388647     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   2.399670     [D4] read: ret 6 buf 82: 31 34 2e 30 30  >14.00<
   2.410668     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   2.414660     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.418660     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   2.429661     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   2.440661     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.451660     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   2.452704     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   2.463710     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   2.474723     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   2.485664     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.489701     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   2.489710     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   2.489712     [D3] armac command Q1 response read: '(233.0 000.0 232.0 014 49.0 27.0 20.8 00001'
   2.489716     [D2] qx_process_answer: short reply (input.voltage)
   2.489719     [D4] armac command Q1
   2.493668     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.622675     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.633667     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.644716     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   2.655794     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.656812     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   2.667805     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   2.678811     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.689858     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   2.693862     [D4] read: ret 6 buf c3: 33 2e 30 30 30  >3.000<
   2.697847     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   2.708814     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   2.719799     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   2.730809     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   2.731861     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   2.742852     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   2.753805     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   2.764838     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.768797     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   2.772812     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   2.783824     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   2.794862     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   2.805797     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.806822     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   2.806829     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   2.806831     [D3] armac command Q1 response read: '(233.0 000.0 233.0 016 50.0 27.0 20.8 00001'
   2.806835     [D2] qx_process_answer: short reply (input.voltage)
   2.806838     [D4] armac command Q1
   2.810832     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.814742     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   2.947804     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   2.958867     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   2.969815     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   2.980875     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.984766     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   2.988839     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   2.999835     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   3.010830     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   3.021827     [D4] read: ret 6 buf 83: 33 33 2e 30 30  >33.00<
   3.022744     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   3.033806     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   3.044841     [D4] read: ret 6 buf c2: 31 34 2e 30 30  >14.00<
   3.055859     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   3.059813     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.063841     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   3.074837     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   3.085866     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.096809     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   3.097714     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   3.108838     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   3.119796     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   3.130892     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.134818     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   3.134829     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   3.134831     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   3.134834     [D2] qx_process_answer: short reply (input.voltage)
   3.134838     [D4] armac command Q1
   3.138842     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.271766     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.282742     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.293830     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.304824     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.305770     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   3.316773     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   3.327725     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.338724     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   3.342728     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   3.346731     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   3.357728     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   3.368731     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   3.379728     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   3.380725     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   3.391721     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   3.402721     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   3.413739     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   3.417729     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   3.421743     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   3.432741     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   3.443771     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   3.454733     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.455741     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   3.455749     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   3.455753     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 49.0 27.0 20.8 00001'
   3.455757     [D2] qx_process_answer: short reply (input.voltage)
   3.455761     [D4] armac command Q1
   3.458766     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.462709     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   3.595786     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   3.606779     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   3.617794     [D4] read: ret 6 buf c2: 33 34 31 30 30  >34100<
   3.628748     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   3.629755     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   3.640753     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   3.651756     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   3.662767     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   3.666792     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   3.670720     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   3.681762     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   3.692754     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   3.703755     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   3.704771     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   3.715762     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   3.726768     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   3.737770     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.741794     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   3.745759     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   3.756800     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   3.767735     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   3.778767     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   3.779798     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   3.779809     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   3.779811     [D3] armac command Q1 response read: '(234.0 000.0 232.0 016 50.0 27.0 20.8 00001'
   3.779814     [D2] qx_process_answer: short reply (input.voltage)
   3.779818     [D4] armac command Q1
   3.783697     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   3.787720     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   3.917795     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.928765     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.939758     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.950764     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.951774     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   3.962801     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   3.973770     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.984771     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   3.988815     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   3.992810     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   4.003764     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   4.014766     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   4.025746     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.026717     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   4.037975     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   4.048944     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   4.059902     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.063900     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   4.067765     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   4.078820     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   4.089892     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   4.100773     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   4.101822     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   4.101838     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   4.101843     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 50.0 27.0 20.8 00001'
   4.101846     [D2] qx_process_answer: short reply (input.voltage)
   4.101848     [D4] armac command Q1
   4.104809     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   4.109784     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   4.239851     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   4.250782     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   4.261799     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   4.272832     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.276824     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   4.280822     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   4.291923     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   4.302911     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   4.313788     [D4] read: ret 6 buf c3: 33 32 2e 30 30  >32.00<
   4.314787     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   4.325803     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   4.336790     [D4] read: ret 6 buf 82: 31 35 2e 30 30  >15.00<
   4.347904     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   4.351885     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.355887     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   4.366953     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   4.377866     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   4.388870     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   4.389791     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   4.400797     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   4.411792     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   4.422815     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   4.426814     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   4.426817     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   4.426819     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 50.0 27.0 20.8 00001'
   4.426823     [D2] qx_process_answer: short reply (input.voltage)
   4.426826     [D4] armac command Q1
   4.430842     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   4.560830     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   4.571818     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   4.582978     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   4.593963     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.594930     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   4.605815     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   4.616847     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   4.627815     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   4.631823     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   4.635854     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   4.646932     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   4.657818     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   4.668862     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   4.669832     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   4.680843     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   4.691832     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   4.702869     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.706819     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   4.710863     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   4.721817     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   4.732811     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   4.744008     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   4.744970     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   4.744975     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   4.744977     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 49.0 27.0 20.8 00001'
   4.744979     [D2] qx_process_answer: short reply (input.voltage)
   4.744986     [D4] armac command WH
   4.748943     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   4.752980     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
0100<742938     [D4] read: ret 6 buf 80: 0d 30 31 30 30  >
   5.742955     [D3] armac command WH response read: ''
   5.742958     [D2] qx_process_answer: short reply (experimental.series)
   5.742959     [D2] claim: cannot process experimental.series
   5.742963     [D4] armac command WH
0100<741040     [D4] read: ret 6 buf c0: 0d 30 31 30 30  >
   6.741054     [D3] armac command WH response read: ''
   6.741057     [D2] qx_process_answer: short reply (experimental.series)
   6.741059     [D2] claim: cannot process experimental.series
   6.741066     [D4] armac command WH
0100<740053     [D4] read: ret 6 buf 80: 0d 30 31 30 30  >
   7.740070     [D3] armac command WH response read: ''
   7.740073     [D2] qx_process_answer: short reply (experimental.series)
   7.740075     [D2] claim: cannot process experimental.series
   7.740080     [D4] armac command Q1
   7.871222     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   7.882163     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   7.893191     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   7.904092     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   7.905220     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   7.916091     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   7.927241     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   7.938223     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   7.942207     [D4] read: ret 6 buf c3: 33 2e 30 30 30  >3.000<
   7.946153     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   7.957183     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   7.968110     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   7.979255     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   7.980118     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   7.991232     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   8.002220     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   8.013246     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.017177     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   8.021128     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   8.032012     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   8.043190     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   8.054167     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   8.055174     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   8.055185     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   8.055187     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 49.0 27.0 20.8 00001'
   8.055190     [D2] qx_process_answer: short reply (input.voltage)
   8.055194     [D4] armac command Q1
   8.059182     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   8.063160     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   8.193226     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   8.204086     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   8.215180     [D4] read: ret 6 buf 82: 33 34 31 30 30  >34100<
   8.226231     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.227224     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   8.238187     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   8.249220     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   8.260101     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   8.264222     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   8.268140     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   8.279224     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   8.290053     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   8.301223     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   8.302209     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   8.313210     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   8.324102     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   8.335218     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.339227     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   8.343231     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   8.354238     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   8.365242     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   8.376111     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   8.377219     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   8.377229     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   8.377232     [D3] armac command Q1 response read: '(234.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   8.377235     [D2] qx_process_answer: short reply (input.voltage)
   8.377238     [D4] armac command Q1
   8.380179     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   8.385120     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   8.515210     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   8.526216     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   8.537239     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   8.548183     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.549249     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   8.560128     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   8.571277     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   8.582156     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   8.586256     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   8.590257     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   8.601270     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   8.612148     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   8.623176     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   8.624135     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   8.635248     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   8.646281     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   8.657299     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.661174     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   8.665277     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   8.676119     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   8.687270     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   8.698307     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   8.699257     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   8.699269     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   8.699272     [D3] armac command Q1 response read: '(233.0 000.0 232.0 016 50.0 27.0 20.8 00001'
   8.699275     [D2] qx_process_answer: short reply (input.voltage)
   8.699279     [D4] armac command Q1
   8.702302     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   8.707185     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   8.837181     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   8.848152     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   8.859204     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   8.870189     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.874179     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   8.878206     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   8.889166     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   8.900101     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   8.911158     [D4] read: ret 6 buf 83: 33 33 2e 30 30  >33.00<
   8.912105     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   8.923180     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   8.934201     [D4] read: ret 6 buf c2: 31 35 2e 30 30  >15.00<
   8.945217     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   8.949133     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.953184     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   8.964025     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   8.975194     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   8.986178     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   8.987203     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   8.998195     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   9.009215     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   9.020106     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.024097     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   9.024106     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   9.024109     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 49.0 27.0 20.8 00001'
   9.024113     [D2] qx_process_answer: short reply (input.voltage)
   9.024117     [D4] armac command Q1
   9.028023     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.159256     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   9.170189     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   9.181226     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   9.192116     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.193226     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   9.204094     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   9.215192     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.226237     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   9.230168     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   9.234154     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   9.245219     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   9.256084     [D4] read: ret 6 buf c2: 31 37 30 30 30  >17000<
   9.267237     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   9.271171     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.275166     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   9.286151     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   9.297235     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.308069     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   9.309223     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   9.320099     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   9.331212     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   9.342208     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.346221     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   9.346232     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   9.346235     [D3] armac command Q1 response read: '(233.0 000.0 233.0 017 49.0 27.0 20.8 00001'
   9.346238     [D2] qx_process_answer: short reply (input.voltage)
   9.346241     [D4] armac command Q1
   9.350146     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.479248     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   9.490250     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   9.501249     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   9.512162     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.513215     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   9.524123     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   9.535252     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.546216     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   9.550226     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   9.554220     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   9.565215     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   9.576122     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   9.587258     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   9.588105     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   9.599217     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   9.610260     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   9.621227     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.625213     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   9.629148     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   9.640131     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   9.651232     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   9.662224     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.663252     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   9.663262     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   9.663264     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 49.0 27.0 20.8 00001'
   9.663267     [D2] qx_process_answer: short reply (input.voltage)
   9.663271     [D4] armac command Q1
   9.667240     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.671236     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   9.803263     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   9.814268     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   9.825240     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   9.836181     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.840180     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   9.844202     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   9.855264     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   9.866256     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   9.877267     [D4] read: ret 6 buf c3: 33 33 2e 30 30  >33.00<
   9.878251     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   9.889257     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   9.900128     [D4] read: ret 6 buf 82: 31 35 2e 30 30  >15.00<
   9.911270     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   9.915262     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.919244     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   9.930245     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   9.941259     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   9.952138     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   9.953239     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   9.964140     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   9.975284     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   9.986250     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   9.990290     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   9.990300     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   9.990303     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 49.0 27.0 20.8 00001'
   9.990306     [D2] qx_process_answer: short reply (input.voltage)
   9.990309     [D4] armac command Q1
   9.994305     [D4] armac cleanup ret i=0 ret=6 ctrl=81
  10.126260     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
  10.137290     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
  10.148196     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
  10.159290     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.163286     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
  10.167291     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
  10.178254     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
  10.189298     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
  10.200186     [D4] read: ret 6 buf c3: 33 32 2e 30 30  >32.00<
  10.201276     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
  10.212227     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
  10.223295     [D4] read: ret 6 buf 82: 31 35 2e 30 30  >15.00<
  10.234307     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
  10.238274     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.242297     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
  10.253295     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
  10.264215     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
  10.275281     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
  10.276157     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
  10.287324     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
  10.298295     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
  10.309319     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
  10.313242     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
  10.313252     [D3] trailing bytes in serial transmission found: 1  copied out of 3
  10.313254     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 49.0 27.0 20.8 00001'
  10.313258     [D2] qx_process_answer: short reply (input.voltage)
  10.313261     [D4] armac command Q1
  10.317207     [D4] armac cleanup ret i=0 ret=6 ctrl=81
  10.446298     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
  10.457305     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
  10.468229     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
  10.479319     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.480173     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
  10.491307     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
  10.502278     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
  10.513309     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
  10.514317     [D4] read: ret 6 buf c2: 33 2e 33 30 30  >3.300<
  10.525313     [D4] read: ret 6 buf 81: 30 2e 33 30 30  >0.300<
  10.536232     [D4] read: ret 6 buf c2: 20 30 33 30 30  > 0300<
  10.547296     [D4] read: ret 6 buf 83: 31 33 20 30 30  >13 00<
  10.551317     [D4] read: ret 6 buf c3: 34 39 2e 30 30  >49.00<
  10.555324     [D4] read: ret 6 buf 81: 30 39 2e 30 30  >09.00<
  10.566294     [D4] read: ret 6 buf c1: 20 39 2e 30 30  > 9.00<
  10.577287     [D4] read: ret 6 buf 82: 32 37 2e 30 30  >27.00<
  10.588228     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.592174     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
  10.596261     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
  10.607320     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
  10.618362     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
  10.629301     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
  10.630332     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
  10.630341     [D3] trailing bytes in serial transmission found: 1  copied out of 2
  10.630344     [D3] armac command Q1 response read: '(233.0 000.0 233.0 013 49.0 27.0 20.8 00001'
  10.630347     [D2] qx_process_answer: short reply (input.voltage)
  10.630349     Device not supported!
  10.630350     Device not supported!
  10.630357     [D5] send_to_all: SETINFO driver.state "cleanup.exit"

@blaa
Copy link

blaa commented Aug 5, 2023

So... now it seems to read the messeges OK each time, but the upper driver (qx) doesn't understand them. Maybe it NEEDS \r instead of \x00. Or... the \x00 should not be included in the length. Two options to try. Third one - it doesn't understand the output at all and some support for Qx is required, but as I understand it used to work.

I pushed the first solution - you can try it.

edit: this time git pull won't do, I amended the commit. git fetch + git reset --hard master probably? My current commit hash is: d488538

@Novocaine85
Copy link

root@proxmox:/tmp/nut# /usr/local/ups/bin/nutdrv_qx -a vultech -u root -D -D -D -D -D -x productid=1234 -x vendorid=0925 -x subdriver=armac
Network UPS Tools - Generic Q* USB/Serial driver 0.33 (2.7.4-7675-gd48853820)
USB communication driver (libusb 0.1) 0.44
   0.000000     [D3] main_arg: var='productid' val='1234'
   0.000011     [D5] send_to_all: SETINFO driver.parameter.productid "1234"
   0.000013     [D3] main_arg: var='vendorid' val='0925'
   0.000015     [D5] send_to_all: SETINFO driver.parameter.vendorid "0925"
   0.000017     [D3] main_arg: var='subdriver' val='armac'
   0.000019     [D5] send_to_all: SETINFO driver.parameter.subdriver "armac"
   0.000022     [D1] Network UPS Tools version 2.7.4-7675-gd48853820 (release/snapshot of 2.8.0.1) built with gcc (Debian 12.2.0-14) 12.2.0 and configured with flags: --sysconfdir=/etc/nut --with-user=ups --with-group=root --with-usb
   0.000025     [D1] debug level is '5'
   0.000026     [D5] send_to_all: SETINFO driver.debug "5"
   0.000028     [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
   0.000252     [D1] Succeeded to become_user(root): now UID=0 GID=0
   0.000258     [D5] send_to_all: SETINFO device.type "ups"
   0.000260     [D5] send_to_all: SETINFO driver.state "init.device"
   0.000262     [D1] upsdrv_initups...
   0.535715     [D3] usb_busses=0x557a37939000
   0.535724     [D2] Checking device (1D6B/0003) (004/001)
   0.707218     [D2] - VendorID: 1d6b
   0.707227     [D2] - ProductID: 0003
   0.707228     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.707229     [D2] - Product: xHCI Host Controller
   0.707229     [D2] - Serial Number: 0000:00:0d.0
   0.707230     [D2] - Bus: 004
   0.707231     [D2] - Device: 001
   0.707232     [D2] - Device release number: 0602
   0.707233     [D2] Trying to match device
   0.707235     [D3] match_function_regex: matching a device...
   0.707245     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.707246     [D2] Device does not match - skipping
   0.707344     [D2] Checking device (1D6B/0002) (003/001)
   0.707594     [D2] - VendorID: 1d6b
   0.707598     [D2] - ProductID: 0002
   0.707599     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.707600     [D2] - Product: xHCI Host Controller
   0.707601     [D2] - Serial Number: 0000:00:0d.0
   0.707602     [D2] - Bus: 003
   0.707603     [D2] - Device: 001
   0.707604     [D2] - Device release number: 0602
   0.707605     [D2] Trying to match device
   0.707606     [D3] match_function_regex: matching a device...
   0.707608     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.707609     [D2] Device does not match - skipping
   0.707676     [D2] Checking device (2109/0822) (002/002)
   0.834389     [D2] - VendorID: 2109
   0.834402     [D2] - ProductID: 0822
   0.834403     [D2] - Manufacturer: VIA Labs, Inc.         
   0.834404     [D2] - Product: USB3.1 Hub             
   0.834405     [D2] - Serial Number: 000000001
   0.834406     [D2] - Bus: 002
   0.834407     [D2] - Device: 002
   0.834408     [D2] - Device release number: 9013
   0.834409     [D2] Trying to match device
   0.834410     [D3] match_function_regex: matching a device...
   0.834422     [D2] match_function_regex: failed match of VendorID: 2109
   0.834423     [D2] Device does not match - skipping
   0.862904     [D2] Checking device (1D6B/0003) (002/001)
   0.863159     [D2] - VendorID: 1d6b
   0.863161     [D2] - ProductID: 0003
   0.863163     [D2] - Manufacturer: Linux 6.2.16-6-pve xhci-hcd
   0.863165     [D2] - Product: xHCI Host Controller
   0.863166     [D2] - Serial Number: 0000:00:14.0
   0.863167     [D2] - Bus: 002
   0.863169     [D2] - Device: 001
   0.863170     [D2] - Device release number: 0602
   0.863171     [D2] Trying to match device
   0.863173     [D3] match_function_regex: matching a device...
   0.863175     [D2] match_function_regex: failed match of VendorID: 1d6b
   0.863176     [D2] Device does not match - skipping
   0.863302     [D2] Checking device (1A86/7523) (001/005)
   0.864079     [D2] - VendorID: 1a86
   0.864085     [D2] - ProductID: 7523
   0.864087     [D2] - Manufacturer: unknown
   0.864088     [D2] - Product: USB Serial
   0.864089     [D2] - Serial Number: unknown
   0.864090     [D2] - Bus: 001
   0.864091     [D2] - Device: 005
   0.864094     [D2] - Device release number: 0264
   0.864095     [D2] Trying to match device
   0.864097     [D3] match_function_regex: matching a device...
   0.864101     [D2] match_function_regex: failed match of VendorID: 1a86
   0.864104     [D2] Device does not match - skipping
   0.864109     [D2] Checking device (0E8D/0608) (001/004)
   0.865016     [D2] - VendorID: 0e8d
   0.865024     [D2] - ProductID: 0608
   0.865026     [D2] - Manufacturer: MediaTek Inc.
   0.865027     [D2] - Product: Wireless_Device
   0.865033     [D2] - Serial Number: 000000000
   0.865034     [D2] - Bus: 001
   0.865036     [D2] - Device: 004
   0.865037     [D2] - Device release number: 0100
   0.865039     [D2] Trying to match device
   0.865041     [D3] match_function_regex: matching a device...
   0.865044     [D2] match_function_regex: failed match of VendorID:  e8d
   0.865046     [D2] Device does not match - skipping
   0.865052     [D2] Checking device (2109/2822) (001/003)
   0.866273     [D2] - VendorID: 2109
   0.866277     [D2] - ProductID: 2822
   0.866278     [D2] - Manufacturer: VIA Labs, Inc.         
   0.866279     [D2] - Product: USB2.0 Hub             
   0.866280     [D2] - Serial Number: 000000001
   0.866283     [D2] - Bus: 001
   0.866284     [D2] - Device: 003
   0.866286     [D2] - Device release number: 9013
   0.866288     [D2] Trying to match device
   0.866289     [D3] match_function_regex: matching a device...
   0.866292     [D2] match_function_regex: failed match of VendorID: 2109
   0.866296     [D2] Device does not match - skipping
   0.866301     [D2] Checking device (0925/1234) (001/002)
   0.868976     [D2] - VendorID: 0925
   0.868997     [D2] - ProductID: 1234
   0.869001     [D2] - Manufacturer: ?
   0.869003     [D2] - Product: UPS USB MON V1.4
   0.869004     [D2] - Serial Number: unknown
   0.869005     [D2] - Bus: 001
   0.869006     [D2] - Device: 002
   0.869008     [D2] - Device release number: 0001
   0.869011     [D2] Trying to match device
   0.869013     [D3] match_function_regex: matching a device...
   0.869026     [D2] Device matches
   0.869051     [D3] nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)
   0.869057     [D5] send_to_all: SETINFO ups.vendorid "0925"
   0.869060     [D5] send_to_all: SETINFO ups.productid "1234"
   0.869066     [D2] armac: unsupported cmd: QGS
   0.869068     [D2] qx_process_answer: short reply (input.voltage)
   0.869071     [D2] armac: unsupported cmd: QGS
   0.869072     [D2] qx_process_answer: short reply (input.voltage)
   0.869074     [D2] armac: unsupported cmd: QGS
   0.869076     [D2] qx_process_answer: short reply (input.voltage)
   0.869078     [D2] armac: unsupported cmd: M
   0.869081     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.869083     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869086     [D2] armac: unsupported cmd: M
   0.869087     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.869089     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869092     [D2] armac: unsupported cmd: M
   0.869094     [D2] voltronic_qs_protocol: invalid protocol [M]
   0.869096     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869098     [D2] armac: unsupported cmd: M
   0.869100     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.869103     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869105     [D2] armac: unsupported cmd: M
   0.869107     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.869111     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869113     [D2] armac: unsupported cmd: M
   0.869116     [D2] voltronic_qs_hex_protocol: invalid protocol [M]
   0.869117     [D4] ups_infoval_set: failed to preprocess value [ups.firmware.aux: M]
   0.869120     [D2] armac: unsupported cmd: QS
   0.869121     [D2] qx_process_answer: short reply (input.voltage)
   0.869123     [D2] armac: unsupported cmd: QS
   0.869125     [D2] qx_process_answer: short reply (input.voltage)
   0.869127     [D2] armac: unsupported cmd: QS
   0.869129     [D2] qx_process_answer: short reply (input.voltage)
   0.869131     [D2] armac: unsupported cmd: D
   0.869133     [D2] qx_process_answer: short reply (input.voltage)
   0.869135     [D2] armac: unsupported cmd: D
   0.869137     [D2] qx_process_answer: short reply (input.voltage)
   0.869138     [D2] armac: unsupported cmd: D
   0.869140     [D2] qx_process_answer: short reply (input.voltage)
   0.869142     [D4] armac command Q1
   0.870262     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   0.871251     [D4] armac cleanup ret i=1 ret=6 ctrl=c0
   1.000417     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   1.011504     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   1.022453     [D4] read: ret 6 buf 82: 33 34 31 30 30  >34100<
   1.033621     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.034600     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   1.045581     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   1.056464     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   1.067505     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   1.071446     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   1.075411     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   1.086591     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   1.097512     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   1.108592     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   1.109615     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   1.120579     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   1.131616     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   1.142608     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.146494     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   1.150489     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   1.161538     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   1.172583     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   1.183614     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   1.184582     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   1.184592     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.184595     [D3] armac command Q1 response read: '(234.0 000.0 233.0 014 49.0 27.0 20.8 00001'
   1.184597     [D2] qx_process_answer: short reply (input.voltage)
   1.184601     [D4] armac command Q1
   1.188520     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   1.192474     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   1.322554     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   1.333536     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   1.344563     [D4] read: ret 6 buf c2: 33 34 31 30 30  >34100<
   1.355568     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.356535     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   1.367491     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   1.378600     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   1.389544     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   1.393534     [D4] read: ret 6 buf c3: 34 2e 30 30 30  >4.000<
   1.397482     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   1.408598     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   1.419426     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   1.430461     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   1.431454     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   1.442443     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   1.453408     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   1.464400     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.468536     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   1.472524     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   1.483584     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   1.494582     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   1.505567     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   1.506626     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   1.506631     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.506633     [D3] armac command Q1 response read: '(234.0 000.0 234.0 016 49.0 27.0 20.8 00001'
   1.506635     [D2] qx_process_answer: short reply (input.voltage)
   1.506637     [D4] armac command Q1
   1.509549     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   1.514433     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   1.644428     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   1.655396     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   1.666468     [D4] read: ret 6 buf 82: 33 34 31 30 30  >34100<
   1.677485     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   1.678438     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   1.689488     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   1.700495     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   1.711492     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   1.715460     [D4] read: ret 6 buf 83: 30 2e 30 30 30  >0.000<
   1.719465     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   1.730437     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   1.741447     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   1.752514     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   1.753430     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   1.764486     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   1.775469     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   1.786560     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   1.790553     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   1.794580     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   1.805577     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   1.816571     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   1.827546     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   1.828447     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   1.828449     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   1.828451     [D3] armac command Q1 response read: '(234.0 000.0 230.0 014 49.0 27.0 20.8 00001'
   1.828454     [D2] qx_process_answer: short reply (input.voltage)
   1.828457     [D4] armac command Q1
   1.831572     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   1.836454     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   1.966607     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   1.977659     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   1.988626     [D4] read: ret 6 buf c2: 33 30 31 30 30  >30100<
   1.999530     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.003565     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   2.007587     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   2.018575     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   2.029449     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   2.040512     [D4] read: ret 6 buf c3: 33 30 2e 30 30  >30.00<
   2.041463     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   2.052479     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   2.063485     [D4] read: ret 6 buf 82: 31 36 2e 30 30  >16.00<
   2.074506     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   2.078503     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.082503     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   2.093466     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   2.104488     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.115594     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   2.116457     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   2.127548     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   2.138582     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   2.149579     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.153605     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   2.153609     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   2.153612     [D3] armac command Q1 response read: '(230.0 000.0 230.0 016 50.0 27.0 20.8 00001'
   2.153616     [D2] qx_process_answer: short reply (input.voltage)
   2.153620     [D4] armac command Q1
   2.157586     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.287625     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.298604     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.309632     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   2.320640     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.321595     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   2.332611     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   2.343645     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.354602     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   2.355619     [D4] read: ret 6 buf c2: 32 2e 33 30 30  >2.300<
   2.366617     [D4] read: ret 6 buf 81: 30 2e 33 30 30  >0.300<
   2.377618     [D4] read: ret 6 buf c2: 20 30 33 30 30  > 0300<
   2.388622     [D4] read: ret 6 buf 83: 31 35 20 30 30  >15 00<
   2.392682     [D4] read: ret 6 buf c3: 35 30 2e 30 30  >50.00<
   2.396543     [D4] read: ret 6 buf 81: 30 30 2e 30 30  >00.00<
   2.407529     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   2.418624     [D4] read: ret 6 buf 82: 32 37 2e 30 30  >27.00<
   2.429666     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.433662     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   2.437499     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   2.448518     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   2.459503     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   2.470576     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   2.471550     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   2.471557     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   2.471559     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 50.0 27.0 20.8 00001'
   2.471563     [D2] qx_process_answer: short reply (input.voltage)
   2.471566     [D4] armac command Q1
   2.475449     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   2.479586     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   2.609478     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   2.620576     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   2.631586     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   2.642580     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   2.643582     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   2.654578     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   2.665586     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   2.676588     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   2.680474     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   2.684580     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   2.695598     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   2.706553     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   2.717541     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   2.718598     [D4] read: ret 6 buf c2: 2e 30 39 30 30  >.0900<
   2.729396     [D4] read: ret 6 buf 81: 20 30 39 30 30  > 0900<
   2.740516     [D4] read: ret 6 buf c2: 32 37 39 30 30  >27900<
   2.751517     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.755541     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   2.759522     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   2.770523     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   2.781534     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   2.792518     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   2.793523     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   2.793533     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   2.793536     [D3] armac command Q1 response read: '(233.0 000.0 232.0 014 49.0 27.0 20.8 00001'
   2.793540     [D2] qx_process_answer: short reply (input.voltage)
   2.793544     [D4] armac command Q1
   2.797565     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   2.801446     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   2.931646     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   2.942659     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   2.953560     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   2.964561     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   2.965553     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   2.976556     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   2.987530     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   2.998521     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   3.002524     [D4] read: ret 6 buf c3: 33 2e 30 30 30  >3.000<
   3.006518     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   3.017570     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   3.028520     [D4] read: ret 6 buf 82: 31 35 30 30 30  >15000<
   3.039521     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   3.040538     [D4] read: ret 6 buf 82: 2e 30 30 30 30  >.0000<
   3.051584     [D4] read: ret 6 buf c1: 20 30 30 30 30  > 0000<
   3.062596     [D4] read: ret 6 buf 82: 32 37 30 30 30  >27000<
   3.073540     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.077554     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   3.081578     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   3.092584     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   3.103535     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   3.114601     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   3.115536     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   3.115539     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   3.115540     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 50.0 27.0 20.8 00001'
   3.115543     [D2] qx_process_answer: short reply (input.voltage)
   3.115545     [D4] armac command Q1
   3.119594     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   3.123554     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   3.253613     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.264546     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.275605     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.286544     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.287596     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   3.298550     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   3.309616     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.320598     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   3.324548     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   3.328596     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   3.339612     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   3.350550     [D4] read: ret 6 buf c2: 31 36 30 30 30  >16000<
   3.361548     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   3.362564     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   3.373550     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   3.384551     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   3.395555     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   3.399593     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   3.403546     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   3.414580     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   3.425568     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   3.436599     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.440514     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   3.440521     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   3.440523     [D3] armac command Q1 response read: '(233.0 000.0 233.0 016 50.0 27.0 20.8 00001'
   3.440526     [D2] qx_process_answer: short reply (input.voltage)
   3.440529     [D4] armac command Q1
   3.444560     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.575558     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.586615     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.597593     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
   3.608498     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.612556     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   3.616595     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   3.627599     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   3.638598     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   3.649585     [D4] read: ret 6 buf 83: 33 32 2e 30 30  >32.00<
   3.650584     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   3.661591     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   3.672579     [D4] read: ret 6 buf c2: 31 36 2e 30 30  >16.00<
   3.683565     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   3.687591     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.691590     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   3.702621     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   3.713616     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.724582     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   3.725591     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   3.736591     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   3.747581     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   3.758602     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   3.762562     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   3.762571     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   3.762574     [D3] armac command Q1 response read: '(232.0 000.0 232.0 016 49.0 27.0 20.8 00001'
   3.762578     [D2] qx_process_answer: short reply (input.voltage)
   3.762583     [D4] armac command Q1
   3.766619     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   3.896658     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   3.907585     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   3.918588     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   3.929592     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   3.930611     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   3.941608     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   3.952609     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   3.963615     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   3.967598     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   3.971608     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   3.982616     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   3.993610     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   4.004648     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.005622     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   4.016611     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   4.027600     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   4.038625     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.042640     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   4.046539     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   4.057538     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   4.068607     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   4.079640     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   4.080656     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   4.080665     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   4.080667     [D3] armac command Q1 response read: '(233.0 000.0 233.0 015 50.0 27.0 20.8 00001'
   4.080671     [D2] qx_process_answer: short reply (input.voltage)
   4.080676     [D4] armac command Q1
   4.084589     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   4.088616     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   4.218509     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   4.229705     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   4.240636     [D4] read: ret 6 buf c2: 33 32 31 30 30  >32100<
   4.251665     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.252678     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   4.263642     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   4.274676     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   4.285645     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   4.289594     [D4] read: ret 6 buf c3: 32 2e 30 30 30  >2.000<
   4.293672     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   4.304640     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   4.315670     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
   4.326669     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   4.327675     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   4.338611     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   4.349643     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   4.360672     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.364666     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   4.368605     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   4.379686     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   4.390649     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   4.401638     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   4.402647     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   4.402657     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   4.402659     [D3] armac command Q1 response read: '(232.0 000.0 232.0 016 49.0 27.0 20.8 00001'
   4.402661     [D2] qx_process_answer: short reply (input.voltage)
   4.402665     [D4] armac command Q1
   4.406600     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   4.410677     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   4.540700     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   4.551804     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   4.562761     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   4.573789     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   4.574782     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   4.585777     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   4.596776     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   4.607625     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   4.611634     [D4] read: ret 6 buf 83: 33 2e 30 30 30  >3.000<
   4.615647     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   4.626816     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   4.637753     [D4] read: ret 6 buf c2: 31 34 30 30 30  >14000<
   4.648817     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   4.649795     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   4.660774     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   4.671797     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   4.682807     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   4.686754     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   4.690775     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   4.701762     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   4.712811     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   4.723782     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   4.724802     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   4.724807     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   4.724808     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   4.724811     [D2] qx_process_answer: short reply (input.voltage)
   4.724820     [D4] armac command WH
   4.727777     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   4.732814     [D4] armac cleanup ret i=1 ret=6 ctrl=81
0100<723838     [D4] read: ret 6 buf c0: 0d 30 31 30 30  >
   5.723849     [D3] armac command WH response read: ''
   5.723852     [D2] qx_process_answer: short reply (experimental.series)
   5.723854     [D2] claim: cannot process experimental.series
   5.723860     [D4] armac command WH
0100<722905     [D4] read: ret 6 buf 80: 0d 30 31 30 30  >
   6.722917     [D3] armac command WH response read: ''
   6.722920     [D2] qx_process_answer: short reply (experimental.series)
   6.722922     [D2] claim: cannot process experimental.series
   6.722927     [D4] armac command WH
0100<721082     [D4] read: ret 6 buf c0: 0d 30 31 30 30  >
   7.721100     [D3] armac command WH response read: ''
   7.721104     [D2] qx_process_answer: short reply (experimental.series)
   7.721107     [D2] claim: cannot process experimental.series
   7.721112     [D4] armac command Q1
   7.850033     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   7.860920     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   7.872027     [D4] read: ret 6 buf 82: 33 33 31 30 30  >33100<
   7.883022     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   7.883984     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   7.894893     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   7.905900     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   7.916932     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   7.920887     [D4] read: ret 6 buf 83: 32 2e 30 30 30  >2.000<
   7.924882     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   7.935910     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   7.946970     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   7.957945     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   7.958894     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   7.970014     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   7.981000     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   7.991892     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   7.995956     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   7.999889     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   8.010893     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   8.021899     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   8.032946     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   8.033960     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   8.033981     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   8.033987     [D3] armac command Q1 response read: '(233.0 000.0 232.0 015 50.0 27.0 20.8 00001'
   8.033989     [D2] qx_process_answer: short reply (input.voltage)
   8.033991     [D4] armac command Q1
   8.037886     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   8.041940     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   8.170976     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   8.182015     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   8.193071     [D4] read: ret 6 buf c2: 33 33 31 30 30  >33100<
   8.204081     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.208032     [D4] read: ret 6 buf c3: 30 30 30 30 30  >00000<
   8.212012     [D4] read: ret 6 buf 81: 2e 30 30 30 30  >.0000<
   8.222852     [D4] read: ret 6 buf c1: 30 30 30 30 30  >00000<
   8.233938     [D4] read: ret 6 buf 82: 20 32 30 30 30  > 2000<
   8.244938     [D4] read: ret 6 buf c3: 33 33 2e 30 30  >33.00<
   8.245912     [D4] read: ret 6 buf 82: 30 20 2e 30 30  >0 .00<
   8.256910     [D4] read: ret 6 buf c1: 30 20 2e 30 30  >0 .00<
   8.267969     [D4] read: ret 6 buf 82: 31 34 2e 30 30  >14.00<
   8.278915     [D4] read: ret 6 buf c3: 20 35 30 30 30  > 5000<
   8.283074     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.286914     [D4] read: ret 6 buf c1: 32 30 20 30 30  >20 00<
   8.297971     [D4] read: ret 6 buf 81: 37 30 20 30 30  >70 00<
   8.309027     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   8.319975     [D4] read: ret 6 buf 83: 20 32 30 30 30  > 2000<
   8.320951     [D4] read: ret 6 buf c2: 2e 38 30 30 30  >.8000<
   8.332045     [D4] read: ret 6 buf 81: 20 38 30 30 30  > 8000<
   8.343044     [D4] read: ret 6 buf c2: 30 30 30 30 30  >00000<
   8.354049     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   8.358080     [D4] read: ret 6 buf c3: 00 30 31 30 30  >
   8.358091     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   8.358093     [D3] armac command Q1 response read: '(233.0 000.0 233.0 014 50.0 27.0 20.8 00001'
   8.358096     [D2] qx_process_answer: short reply (input.voltage)
   8.358099     [D4] armac command Q1
   8.362065     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   8.490962     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   8.502137     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   8.513123     [D4] read: ret 6 buf c2: 33 31 31 30 30  >31100<
   8.524071     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   8.525108     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   8.536075     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   8.546958     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   8.558055     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   8.562079     [D4] read: ret 6 buf c3: 31 2e 30 30 30  >1.000<
   8.566130     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   8.577082     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   8.588139     [D4] read: ret 6 buf 82: 31 38 30 30 30  >18000<
   8.599062     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   8.600110     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   8.610987     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   8.622092     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   8.633024     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.636990     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   8.640944     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   8.652097     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   8.663047     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   8.674098     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   8.675058     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   8.675063     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   8.675065     [D3] armac command Q1 response read: '(231.0 000.0 231.0 018 49.0 27.0 20.8 00001'
   8.675067     [D2] qx_process_answer: short reply (input.voltage)
   8.675070     [D4] armac command Q1
   8.678972     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   8.683050     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   8.812005     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   8.823031     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   8.834111     [D4] read: ret 6 buf 82: 33 31 31 30 30  >31100<
   8.845024     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.849002     [D4] read: ret 6 buf 83: 30 30 30 30 30  >00000<
   8.853002     [D4] read: ret 6 buf c1: 2e 30 30 30 30  >.0000<
   8.863992     [D4] read: ret 6 buf 81: 30 30 30 30 30  >00000<
   8.874986     [D4] read: ret 6 buf c2: 20 32 30 30 30  > 2000<
   8.886002     [D4] read: ret 6 buf 83: 33 31 2e 30 30  >31.00<
   8.886987     [D4] read: ret 6 buf c2: 30 20 2e 30 30  >0 .00<
   8.897972     [D4] read: ret 6 buf 81: 30 20 2e 30 30  >0 .00<
   8.908969     [D4] read: ret 6 buf c2: 31 36 2e 30 30  >16.00<
   8.919975     [D4] read: ret 6 buf 83: 20 34 39 30 30  > 4900<
   8.923970     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   8.927974     [D4] read: ret 6 buf 81: 32 30 20 30 30  >20 00<
   8.938975     [D4] read: ret 6 buf c1: 37 30 20 30 30  >70 00<
   8.949989     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   8.961015     [D4] read: ret 6 buf c3: 20 32 30 30 30  > 2000<
   8.961992     [D4] read: ret 6 buf 82: 2e 38 30 30 30  >.8000<
   8.972928     [D4] read: ret 6 buf c1: 20 38 30 30 30  > 8000<
   8.983986     [D4] read: ret 6 buf 82: 30 30 30 30 30  >00000<
   8.994996     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   8.998970     [D4] read: ret 6 buf 83: 00 30 31 30 30  >
   8.998972     [D3] trailing bytes in serial transmission found: 1  copied out of 3
   8.998975     [D3] armac command Q1 response read: '(231.0 000.0 231.0 016 49.0 27.0 20.8 00001'
   8.998977     [D2] qx_process_answer: short reply (input.voltage)
   8.998979     [D4] armac command Q1
   9.002975     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.131995     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   9.142980     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   9.154043     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
   9.165045     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.165986     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   9.177034     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   9.188034     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.198984     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   9.202991     [D4] read: ret 6 buf 83: 31 2e 30 30 30  >1.000<
   9.206994     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   9.217984     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   9.229031     [D4] read: ret 6 buf c2: 31 36 30 30 30  >16000<
   9.240043     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   9.241061     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   9.252011     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   9.263015     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   9.274186     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.278177     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   9.282145     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   9.293201     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   9.303999     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   9.315012     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.315998     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   9.316004     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   9.316007     [D3] armac command Q1 response read: '(232.0 000.0 231.0 016 50.0 27.0 20.8 00001'
   9.316010     [D2] qx_process_answer: short reply (input.voltage)
   9.316015     [D4] armac command Q1
   9.319878     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.324010     [D4] armac cleanup ret i=1 ret=6 ctrl=81
   9.455018     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
   9.466026     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
   9.477057     [D4] read: ret 6 buf c2: 33 31 31 30 30  >31100<
   9.488076     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.489069     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
   9.500085     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
   9.511056     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
   9.522071     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
   9.526055     [D4] read: ret 6 buf c3: 31 2e 30 30 30  >1.000<
   9.530044     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
   9.541037     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
   9.552078     [D4] read: ret 6 buf 82: 31 34 30 30 30  >14000<
   9.563056     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
   9.564074     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
   9.575026     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
   9.586090     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
   9.597126     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.601086     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
   9.605001     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
   9.616085     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
   9.627073     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
   9.638074     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
   9.639047     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
   9.639056     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   9.639059     [D3] armac command Q1 response read: '(231.0 000.0 231.0 014 49.0 27.0 20.8 00001'
   9.639062     [D2] qx_process_answer: short reply (input.voltage)
   9.639066     [D4] armac command Q1
   9.643017     [D4] armac cleanup ret i=0 ret=6 ctrl=81
   9.646995     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
   9.776089     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
   9.787051     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
   9.798135     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
   9.809108     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
   9.810091     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
   9.821130     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
   9.832159     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
   9.843043     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
   9.847036     [D4] read: ret 6 buf 83: 31 2e 30 30 30  >1.000<
   9.851006     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
   9.862076     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
   9.873099     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
   9.884077     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
   9.885105     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
   9.896072     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
   9.907030     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
   9.918101     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
   9.922080     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
   9.926082     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
   9.937089     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
   9.948083     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
   9.959075     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
   9.959982     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
   9.959989     [D3] trailing bytes in serial transmission found: 1  copied out of 2
   9.959991     [D3] armac command Q1 response read: '(232.0 000.0 231.0 015 50.0 27.0 20.8 00001'
   9.959993     [D2] qx_process_answer: short reply (input.voltage)
   9.959996     [D4] armac command Q1
   9.963100     [D4] armac cleanup ret i=0 ret=6 ctrl=c1
   9.967039     [D4] armac cleanup ret i=1 ret=6 ctrl=81
  10.096094     [D4] read: ret 6 buf c1: 28 30 31 30 30  >(0100<
  10.107032     [D4] read: ret 6 buf 81: 32 30 31 30 30  >20100<
  10.118106     [D4] read: ret 6 buf c2: 33 31 31 30 30  >31100<
  10.129101     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.130122     [D4] read: ret 6 buf c2: 30 30 20 30 30  >00 00<
  10.141072     [D4] read: ret 6 buf 81: 30 30 20 30 30  >00 00<
  10.152054     [D4] read: ret 6 buf c2: 2e 30 20 30 30  >.0 00<
  10.163050     [D4] read: ret 6 buf 83: 20 32 33 30 30  > 2300<
  10.166998     [D4] read: ret 6 buf c3: 31 2e 30 30 30  >1.000<
  10.171003     [D4] read: ret 6 buf 81: 20 2e 30 30 30  > .000<
  10.182058     [D4] read: ret 6 buf c1: 30 2e 30 30 30  >0.000<
  10.193108     [D4] read: ret 6 buf 82: 31 36 30 30 30  >16000<
  10.204135     [D4] read: ret 6 buf c3: 20 34 39 30 30  > 4900<
  10.205092     [D4] read: ret 6 buf 82: 2e 30 39 30 30  >.0900<
  10.216113     [D4] read: ret 6 buf c1: 20 30 39 30 30  > 0900<
  10.227039     [D4] read: ret 6 buf 82: 32 37 39 30 30  >27900<
  10.238084     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.242098     [D4] read: ret 6 buf 83: 32 30 2e 30 30  >20.00<
  10.246083     [D4] read: ret 6 buf c1: 38 30 2e 30 30  >80.00<
  10.257075     [D4] read: ret 6 buf 81: 20 30 2e 30 30  > 0.00<
  10.268078     [D4] read: ret 6 buf c2: 30 30 2e 30 30  >00.00<
  10.279064     [D4] read: ret 6 buf 83: 30 30 31 30 30  >00100<
  10.280078     [D4] read: ret 6 buf c2: 00 30 31 30 30  >
  10.280088     [D3] trailing bytes in serial transmission found: 1  copied out of 2
  10.280090     [D3] armac command Q1 response read: '(231.0 000.0 231.0 016 49.0 27.0 20.8 00001'
  10.280093     [D2] qx_process_answer: short reply (input.voltage)
  10.280096     [D4] armac command Q1
  10.284014     [D4] armac cleanup ret i=0 ret=6 ctrl=81
  10.288103     [D4] armac cleanup ret i=1 ret=6 ctrl=c1
  10.419084     [D4] read: ret 6 buf 81: 28 30 31 30 30  >(0100<
  10.430093     [D4] read: ret 6 buf c1: 32 30 31 30 30  >20100<
  10.441091     [D4] read: ret 6 buf 82: 33 32 31 30 30  >32100<
  10.452078     [D4] read: ret 6 buf c3: 2e 30 20 30 30  >.0 00<
  10.453123     [D4] read: ret 6 buf 82: 30 30 20 30 30  >00 00<
  10.464092     [D4] read: ret 6 buf c1: 30 30 20 30 30  >00 00<
  10.475091     [D4] read: ret 6 buf 82: 2e 30 20 30 30  >.0 00<
  10.486073     [D4] read: ret 6 buf c3: 20 32 33 30 30  > 2300<
  10.490137     [D4] read: ret 6 buf 83: 31 2e 30 30 30  >1.000<
  10.494127     [D4] read: ret 6 buf c1: 20 2e 30 30 30  > .000<
  10.505118     [D4] read: ret 6 buf 81: 30 2e 30 30 30  >0.000<
  10.516090     [D4] read: ret 6 buf c2: 31 35 30 30 30  >15000<
  10.527082     [D4] read: ret 6 buf 83: 20 35 30 30 30  > 5000<
  10.528092     [D4] read: ret 6 buf c2: 2e 30 30 30 30  >.0000<
  10.539001     [D4] read: ret 6 buf 81: 20 30 30 30 30  > 0000<
  10.550230     [D4] read: ret 6 buf c2: 32 37 30 30 30  >27000<
  10.561082     [D4] read: ret 6 buf 83: 2e 30 20 30 30  >.0 00<
  10.565123     [D4] read: ret 6 buf c3: 32 30 2e 30 30  >20.00<
  10.569148     [D4] read: ret 6 buf 81: 38 30 2e 30 30  >80.00<
  10.580061     [D4] read: ret 6 buf c1: 20 30 2e 30 30  > 0.00<
  10.591092     [D4] read: ret 6 buf 82: 30 30 2e 30 30  >00.00<
  10.602045     [D4] read: ret 6 buf c3: 30 30 31 30 30  >00100<
  10.602998     [D4] read: ret 6 buf 82: 00 30 31 30 30  >
  10.603001     [D3] trailing bytes in serial transmission found: 1  copied out of 2
  10.603003     [D3] armac command Q1 response read: '(232.0 000.0 231.0 015 50.0 27.0 20.8 00001'
  10.603006     [D2] qx_process_answer: short reply (input.voltage)
  10.603008     Device not supported!
  10.603011     Device not supported!
  10.603018     [D5] send_to_all: SETINFO driver.state "cleanup.exit"

@blaa
Copy link

blaa commented Aug 5, 2023

Still short reply - we can try tomorrow the other approach. Discord also would be probably better (or signal, or Matrix/Element).

@Novocaine85
Copy link

add me on discord: icchan85

@blaa
Copy link

blaa commented Aug 6, 2023

I added a testcase locally with your data.

The command is read correctly(?) after the change, but your UPS has less status bits (assuming 0x00 ends message)
00001 instead 00000000 (at the end of response) and Qx doesn't parse the response. Although it ALMOST could.

Your UPS:
(232.0 000.0 231.0 015 50.0 27.0 20.8 00001
Convicte's (Armac PF1):
(245.3 000.0 229.6 000 49.9 2.25 50.0 00000001
My UPS (Armac PSW, while on battery)
(000.0 140.0 227.0 002 00.0 46.8 56.0 10001000

Maybe previously it worked sometimes because the 0x00 wasn't terminating the message and it was longer for wrong reasons. Or something changed in NUT and master doesn't handle it, but previous version did (?).

At least table in nutdrv_qx_q1.c doesn't allow your response.

It could be added probably ok, but we'd need a description of the bits (or maybe assuming the first work the same, and later should be ignored). For example which bits are enabled when on line, on battery, during the test.

Hm. Can you paste a response to Q1 query when UPS is on battery?

edit: Alternatively we can try reading while IGNORING null bytes. Seems weird, but maybe this will read complete status.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others
Projects
Status: Todo
6 participants