G'day Jim.
Did you receive the following?

I tried running "./drivers/nutdrv_qx -a ups1 -d1 -DDDDDD -x subdriver=hunnox" 
after building directly after

./configure  --with-all --with-cgi --with-usb=libusb-1.0 --with-modbus=no 
--with-gpio=no --with-snmp=no

The output is the the attachment. Doesn't look good.

(I added the three =no bits to configure options because I couldn't find the 
relevant dependencies.)

Cheers,
Stephen

On 19/12/25 18:46, Jim Klimov wrote:
> Thanks,
> 
> So on one hand that part does not look too promising:
> 
> Dec 19 18:04:56 mustang nut-driver@ups1[916173]: 0.028122#011[D5] 
> send_to_all: SETINFO driver.state "reconnect.updateinfo"
> Dec 19 18:04:56 mustang nut-driver@ups1[916173]: 0.028125#011[D3] send: Q1
> Dec 19 18:04:56 mustang nut-driver@ups1[916173]: 0.029292#011[D3] read: 
> Input/Output Error (-1)
> Dec 19 18:04:56 mustang nut-driver@ups1[916173]: 0.029308#011[D5] 
> send_to_all: SETINFO driver.state "reconnect.trying"
> 
> but on another, NUT v2.8.2.1 along with `nut_libusb_open get iProduct failed, 
> retrying` indicates that maybe this is a device with botched retrieval of 
> language-specific strings, so we get part of that reply and the rest is seen 
> by USB layer as garbage when asking for Q1. Maybe. At least, the part about 
> iProduct, iVendor, possibly iSerial was solved about a year ago - so trying a 
> newer NUT version can help.
> 
> Can you please check if you can build the current master branch per 
> https://github.com/networkupstools/nut/wiki/Building-NUT-for-in%E2%80%90place-upgrades-or-non%E2%80%90disruptive-tests
>  and run the driver from the resulting build workspace, if that would fare 
> better? If yes, you can go on about installing that build over the packaged 
> version; if no, not much of a change for the existing system (except added 
> build dependency prerequisite packages).
> 
> Specifically, I think these PRs can apply to the situation:
> * https://github.com/networkupstools/nut/pull/2604 and maybe 
> https://github.com/networkupstools/nut/pull/2571 (both went into 2.8.3)
> * https://github.com/networkupstools/nut/pull/3211 (recently on master, fixes 
> a string truncation issue possible after #2604 above)
> 
> Hope this helps,
> Jim Klimov
> 
>
   0.000000     [D5] send_to_all: SETINFO driver.state "init.starting"
Network UPS Tools 2.8.4.983-983+ge439012cd (development iteration after 2.8.4) 
- Generic Q* USB/Serial driver 0.48
USB communication driver (libusb 1.0) 0.51
   0.000135     [D1] upsdrv_makevartable...
   0.000160     [D5] send_to_all: SETINFO driver.version.usb "libusb-1.0.28 
(API: 0x0100010A)"
   0.000167     [D1] Using USB implementation: libusb-1.0.28 (API: 0x0100010A)
   0.000331     [D5] do_upsconf_args: confupsname=(null), var=maxretry, val=3
   0.000337     [D5] do_upsconf_args: call do_global_args()
   0.000339     [D3] do_global_args: var='maxretry' val='3'
   0.000398     [D5] do_upsconf_args: confupsname=ups1, var=driver, 
val=nutdrv_qx
   0.000402     [D5] do_upsconf_args: call main_arg()
   0.000404     [D3] main_arg: var='driver' val='nutdrv_qx'
   0.000409     [D5] do_upsconf_args: not a main_arg()
   0.000412     [D5] do_upsconf_args: this is a 'driver' setting, may we 
proceed?
   0.000415     [D6] testval_reloadable: var=driver, oldval=nutdrv_qx, 
newval=nutdrv_qx, reloadable=0, reload_flag=0
   0.000418     [D6] testval_reloadable: verdict for (re)loading var=driver 
value: -1
   0.000420     [D5] do_upsconf_args: 'driver' setting already applied with 
this value
   0.000423     [D5] do_upsconf_args: confupsname=ups1, var=port, val=auto
   0.000425     [D5] do_upsconf_args: call main_arg()
   0.000427     [D3] main_arg: var='port' val='auto'
   0.000430     [D6] testinfo_reloadable: var=port, 
infoname=driver.parameter.port, newval=auto, reloadable=0, reload_flag=0
   0.000432     [D6] testinfo_reloadable: verdict for (re)loading var=port 
value: 1
   0.000436     [D5] send_to_all: SETINFO driver.parameter.port "auto"
   0.000439     [D5] do_upsconf_args: confupsname=ups1, var=vendorid, val=0001
   0.000441     [D5] do_upsconf_args: call main_arg()
   0.000481     [D3] main_arg: var='vendorid' val='0001'
   0.000483     [D5] do_upsconf_args: not a main_arg()
   0.000485     [D5] do_upsconf_args: process as value
   0.000487     [D6] testvar_reloadable: searching for var=vendorid, vartype=2, 
reload_flag=0
   0.000491     [D6] testvar_reloadable: found var=vendorid, val='(null)' => 
'0001', vartype=2 => 2, found=0, reloadable=0, reload_flag=0
   0.000495     [D6] testvar_reloadable: verdict for (re)loading var=vendorid 
value: 1
   0.000502     [D5] send_to_all: SETINFO driver.parameter.vendorid "0001"
   0.000505     [D5] do_upsconf_args: confupsname=ups1, var=productid, val=0000
   0.000507     [D5] do_upsconf_args: call main_arg()
   0.000509     [D3] main_arg: var='productid' val='0000'
   0.000512     [D5] do_upsconf_args: not a main_arg()
   0.000513     [D5] do_upsconf_args: process as value
   0.000516     [D6] testvar_reloadable: searching for var=productid, 
vartype=2, reload_flag=0
   0.000519     [D6] testvar_reloadable: found var=productid, val='(null)' => 
'0000', vartype=2 => 2, found=0, reloadable=0, reload_flag=0
   0.000522     [D6] testvar_reloadable: verdict for (re)loading var=productid 
value: 1
   0.000525     [D5] send_to_all: SETINFO driver.parameter.productid "0000"
   0.000528     [D5] do_upsconf_args: confupsname=ups1, var=protocol, val=hunnox
   0.000530     [D5] do_upsconf_args: call main_arg()
   0.000532     [D3] main_arg: var='protocol' val='hunnox'
   0.000534     [D5] do_upsconf_args: not a main_arg()
   0.000536     [D5] do_upsconf_args: process as value
   0.000538     [D6] testvar_reloadable: searching for var=protocol, vartype=2, 
reload_flag=0
   0.000541     [D6] testvar_reloadable: found var=protocol, val='(null)' => 
'hunnox', vartype=2 => 2, found=0, reloadable=0, reload_flag=0
   0.000544     [D6] testvar_reloadable: verdict for (re)loading var=protocol 
value: 1
   0.000547     [D5] send_to_all: SETINFO driver.parameter.protocol "hunnox"
   0.000549     [D5] do_upsconf_args: confupsname=ups1, var=novendor, val=(null)
   0.000551     [D5] do_upsconf_args: call main_arg()
   0.000553     [D3] main_arg: var='novendor' val='<null>'
   0.000555     [D5] do_upsconf_args: not a main_arg()
   0.000557     [D5] do_upsconf_args: process as flag
   0.000559     [D6] testvar_reloadable: searching for var=novendor, vartype=1, 
reload_flag=0
   0.000563     [D6] testvar_reloadable: found var=novendor, val='(null)' => 
'(null)', vartype=1 => 1, found=0, reloadable=0, reload_flag=0
   0.000574     [D6] testvar_reloadable: verdict for (re)loading var=novendor 
value: 1
   0.000577     [D5] send_to_all: SETINFO driver.flag.novendor "enabled"
   0.000581     [D5] do_upsconf_args: confupsname=ups1, var=noscanlangid, 
val=(null)
   0.000583     [D5] do_upsconf_args: call main_arg()
   0.000585     [D3] main_arg: var='noscanlangid' val='<null>'
   0.000587     [D5] do_upsconf_args: not a main_arg()
   0.000589     [D5] do_upsconf_args: process as flag
   0.000591     [D6] testvar_reloadable: searching for var=noscanlangid, 
vartype=1, reload_flag=0
   0.000594     [D6] testvar_reloadable: found var=noscanlangid, val='(null)' 
=> '(null)', vartype=1 => 1, found=0, reloadable=0, reload_flag=0
   0.000597     [D6] testvar_reloadable: verdict for (re)loading 
var=noscanlangid value: 1
   0.000599     [D5] send_to_all: SETINFO driver.flag.noscanlangid "enabled"
   0.000603     [D5] do_upsconf_args: confupsname=ups1, var=desc, val=My local 
UPS
   0.000605     [D5] do_upsconf_args: call main_arg()
   0.000607     [D3] main_arg: var='desc' val='My local UPS'
   0.000617     [D3] main_arg: var='subdriver' val='hunnox'
   0.000621     [D5] send_to_all: SETINFO driver.parameter.subdriver "hunnox"
   0.000623     [D1] Network UPS Tools version 2.8.4.983-983+ge439012cd 
(development iteration after 2.8.4), 64-bit build for x86_64, built with gcc 
(GCC) 14.3.1 20250617 (Red Hat 14.3.1-2) and configured with flags: --with-all 
--with-cgi --with-usb=libusb-1.0 --with-modbus=no --with-gpio=no --with-snmp=no
   0.000630     [D1] debug level is '6'
   0.000634     [D5] send_to_all: SETINFO driver.debug "6"
   0.000637     [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
   0.001736     [D1] Succeeded to become_user(nut): now UID=57 GID=57
   0.001784     Can't chdir to /var/state/ups (but we do not require that to 
dump data): No such file or directory
   0.001788     [D1] Signalling UPS [ups1]: driver.exit (quietly, no fuss if no 
driver is running or responding)
   0.001796     Can't open /var/state/ups/nutdrv_qx-ups1: No such file or 
directory
   0.001799     [D1] Request for other driver to exit returned code -1
   0.001802     [D1] Socket dialog with the other driver instance (may be 
absent) failed: No such file or directory
   0.001823     [D5] send_to_all: SETINFO device.type "ups"
   0.001829     [D5] send_to_all: SETINFO driver.state "init.device"
   0.001832     [D1] upsdrv_initups...
   0.008179     [D2] Checking device 1 of 8 (1D6B/0003)
   0.008231     [D1] Failed to open device (1D6B/0003), skipping: Access denied 
(insufficient permissions)
   0.008240     [D2] Checking device 2 of 8 (17EF/6190)
   0.008253     [D1] Failed to open device (17EF/6190), skipping: Access denied 
(insufficient permissions)
   0.008257     [D2] Checking device 3 of 8 (17EF/608D)
   0.008267     [D1] Failed to open device (17EF/608D), skipping: Access denied 
(insufficient permissions)
   0.008271     [D2] Checking device 4 of 8 (0001/0000)
   0.009711     [D1] nut_usb_get_string: Broken language identifier, assuming 
en_US
   0.010990     [D6] nut_usb_get_string: from nut_usb_get_string_descriptor() 
got 16 useful bytes
   0.011014     [D6] ...into buffer, presumably in simple UTF-16LE encoding: 
(16 bytes) => 10 03
   0.011022     [D6]  4d 00 45 00 43 00 30 00 30 00 30 00 33 00
   0.011027     [D6] nut_usb_get_string: converted into 7 data bytes as: 
[MEC0003]
   0.011033     [D6] ...should be in 8-bit encoding: (7 bytes) => 4d 45 43 30 
30 30 33
   0.011039     [D2] - VendorID: 0001
   0.011043     [D2] - ProductID: 0000
   0.011047     [D2] - Manufacturer: unknown
   0.011051     [D2] - Product: MEC0003
   0.011056     [D2] - Serial Number: unknown
   0.011060     [D2] - Bus: 003
   0.011064     [D2] - Bus Port: 006
   0.011068     [D2] - Device: 006
   0.011072     [D2] - Device release number: 0100
   0.011076     [D2] Trying to match device
   0.011081     [D3] match_function_regex: matching a device...
   0.011138     [D2] Device matches
   0.011143     [D2] Reading configuration descriptor 1 of 1
   0.011157     [D3] libusb_kernel_driver_active() returned 0: Success
   0.011193     [D2] Claimed interface 0 successfully
   0.011201     [D3] nut_libusb_set_altinterface: skipped 
libusb_set_interface_alt_setting(udev, 0, 0)
   0.011217     [D5] send_to_all: SETINFO ups.vendorid "0001"
   0.011237     [D5] send_to_all: SETINFO ups.productid "0000"
   0.011245     [D2] Skipping protocol Voltronic 0.12
   0.011250     [D2] Skipping protocol Voltronic-Axpert 0.01
   0.011255     [D2] Skipping protocol Voltronic-QS 0.10
   0.011259     [D2] Skipping protocol Voltronic-QS-Hex 0.11
   0.011265     [D2] Skipping protocol Mustek 0.08
   0.011269     [D2] Skipping protocol Megatec/old 0.08
   0.011273     [D2] Skipping protocol BestUPS 0.08
   0.011278     [D2] Skipping protocol Mecer 0.09
   0.011282     [D2] Skipping protocol Megatec 0.09
   0.011286     [D2] Skipping protocol Zinto 0.07
   0.011290     [D2] Skipping protocol Masterguard 0.05
   0.011298     [D3] send: Q1
   0.011304     [D4] command index: 0x03
   0.011308     [D3] asking for: 00
   0.026383     [D3] read: Input/Output Error (-1)
   0.026436     [D5] send_to_all: SETINFO driver.state "reconnect.trying"
   0.026721     [D4] qx_process: failed to preprocess answer [input.voltage]
   0.034120     [D2] Checking device 1 of 8 (1D6B/0003)
   0.034168     [D1] Failed to open device (1D6B/0003), skipping: Access denied 
(insufficient permissions)
   0.034175     [D2] Checking device 2 of 8 (17EF/6190)
   0.034186     [D1] Failed to open device (17EF/6190), skipping: Access denied 
(insufficient permissions)
   0.034190     [D2] Checking device 3 of 8 (17EF/608D)
   0.034198     [D1] Failed to open device (17EF/608D), skipping: Access denied 
(insufficient permissions)
   0.034202     [D2] Checking device 4 of 8 (0001/0000)
   0.035446     [D1] nut_usb_get_string: Broken language identifier, assuming 
en_US
   0.036741     [D6] nut_usb_get_string: from nut_usb_get_string_descriptor() 
got 16 useful bytes
   0.036835     [D6] ...into buffer, presumably in simple UTF-16LE encoding: 
(16 bytes) => 10 03
   0.036843     [D6]  4d 00 45 00 43 00 30 00 30 00 30 00 33 00
   0.036848     [D6] nut_usb_get_string: converted into 7 data bytes as: 
[MEC0003]
   0.036854     [D6] ...should be in 8-bit encoding: (7 bytes) => 4d 45 43 30 
30 30 33
   0.036860     [D2] - VendorID: 0001
   0.036864     [D2] - ProductID: 0000
   0.036868     [D2] - Manufacturer: unknown
   0.036871     [D2] - Product: MEC0003
   0.036874     [D2] - Serial Number: unknown
   0.036878     [D2] - Bus: 003
   0.036881     [D2] - Bus Port: 006
   0.036885     [D2] - Device: 006
   0.036888     [D2] - Device release number: 0100
   0.036892     [D2] Trying to match device
   0.036896     [D3] match_function_exact: matching a device...
   0.036901     [D3] match_function_regex: matching a device...
   0.036917     [D2] Device matches
   0.036922     [D2] Reading configuration descriptor 1 of 1
   0.036935     [D3] libusb_kernel_driver_active() returned 0: Success
   0.036983     [D2] Claimed interface 0 successfully
   0.036992     [D3] nut_libusb_set_altinterface: skipped 
libusb_set_interface_alt_setting(udev, 0, 0)
   0.037009     [D5] send_to_all: SETINFO driver.state "reconnect.updateinfo"
   0.037016     [D3] send: Q1
   0.037021     [D4] command index: 0x03
   0.037024     [D3] asking for: 0D
   0.039654     [D3] read: Input/Output Error (-1)
   0.039676     [D5] send_to_all: SETINFO driver.state "reconnect.trying"
   0.039900     [D4] qx_process: failed to preprocess answer [input.voltage]
   0.045788     [D2] Checking device 1 of 8 (1D6B/0003)
   0.045836     [D1] Failed to open device (1D6B/0003), skipping: Access denied 
(insufficient permissions)
   0.045844     [D2] Checking device 2 of 8 (17EF/6190)
   0.045852     [D1] Failed to open device (17EF/6190), skipping: Access denied 
(insufficient permissions)
   0.045856     [D2] Checking device 3 of 8 (17EF/608D)
   0.045861     [D1] Failed to open device (17EF/608D), skipping: Access denied 
(insufficient permissions)
   0.045864     [D2] Checking device 4 of 8 (0001/0000)
   0.047067     [D1] nut_usb_get_string: Broken language identifier, assuming 
en_US
   0.048286     [D6] nut_usb_get_string: from nut_usb_get_string_descriptor() 
got 16 useful bytes
   0.048293     [D6] ...into buffer, presumably in simple UTF-16LE encoding: 
(16 bytes) => 10 03
   0.048298     [D6]  4d 00 45 00 43 00 30 00 30 00 30 00 33 00
   0.048302     [D6] nut_usb_get_string: converted into 7 data bytes as: 
[MEC0003]
   0.048306     [D6] ...should be in 8-bit encoding: (7 bytes) => 4d 45 43 30 
30 30 33
   0.048322     [D2] - VendorID: 0001
   0.048325     [D2] - ProductID: 0000
   0.048328     [D2] - Manufacturer: unknown
   0.048331     [D2] - Product: MEC0003
   0.048333     [D2] - Serial Number: unknown
   0.048335     [D2] - Bus: 003
   0.048338     [D2] - Bus Port: 006
   0.048341     [D2] - Device: 006
   0.048343     [D2] - Device release number: 0100
   0.048346     [D2] Trying to match device
   0.048349     [D3] match_function_exact: matching a device...
   0.048352     [D3] match_function_regex: matching a device...
   0.048362     [D2] Device matches
   0.048365     [D2] Reading configuration descriptor 1 of 1
   0.048372     [D3] libusb_kernel_driver_active() returned 0: Success
   0.048397     [D2] Claimed interface 0 successfully
   0.048403     [D3] nut_libusb_set_altinterface: skipped 
libusb_set_interface_alt_setting(udev, 0, 0)
   0.048413     [D5] send_to_all: SETINFO driver.state "reconnect.updateinfo"
   0.048417     [D3] send: Q1
   0.048420     [D4] command index: 0x03
   0.049580     [D3] read: Input/Output Error (-1)
   0.049587     [D5] send_to_all: SETINFO driver.state "reconnect.trying"
   0.049711     [D4] qx_process: failed to preprocess answer [input.voltage]
   0.049718     [D2] Skipping protocol Ablerex 0.02
   0.049722     [D2] Skipping protocol INNOVART31 0.02
   0.049725     [D2] Skipping protocol INNOVART33 0.01
   0.049728     [D2] Skipping protocol INNOVATAE 0.01
   0.049732     [D2] Skipping protocol Q2 0.01
   0.049735     [D2] Skipping protocol Q6 0.01
   0.049738     [D2] Skipping protocol Gtec 0.01
   0.049741     [D2] Skipping protocol Q1 0.08
   0.049744     Device not supported!
   0.049747     Device not supported!
   0.049759     [D5] send_to_all: SETINFO driver.state "cleanup.exit"
_______________________________________________
Nut-upsuser mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to