[Nut-upsuser] Digitech support

Jim Klimov jimklimov+nut at gmail.com
Sat Dec 27 10:23:04 GMT 2025


> Error: UPS [ups1] is for driver 'nutdrv_qx', but I'm
'nutdrv_atcl_usb'!

As it says on the tin - you did not change `driver=...` in ups.conf and did
not specify a config on command line?

One more resort - try asking the vendor for which protocol this UPS (date
of purchase, model sticker, serial number etc.) talks, and if it differs
from earlier sold devices by that name?

Does it work with software from the vendor (and which SW name is that)?
There's always a chance of defective chip too, maybe ask in warranty shops
(and also if they know of differing devices sold under same name)...

Jim

On Sat, Dec 27, 2025, 03:36 Stephen Davies <sdavies at sdc.com.au> wrote:

> Curiouser and curiouser!
> I changed the driver line in ups.conf to nutdrv_atcl_usb but still get
> the below:
>
> ./drivers/nutdrv_atcl_usb -a ups1 -d1 -DDDDDD
>     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) - 'ATCL FOR UPS' USB driver 1.22
> Warning: This is an experimental driver.
> Some features may not function correctly.
>
>     0.000246    [D5] do_upsconf_args: confupsname=(null), var=maxretry,
> val=3
>     0.000263    [D5] do_upsconf_args: call do_global_args()
>     0.000268    [D3] do_global_args: var='maxretry' val='3'
>     0.000389    [D5] do_upsconf_args: confupsname=ups1, var=driver,
> val=nutdrv_qx
>     0.000397    [D5] do_upsconf_args: call main_arg()
>     0.000407    [D3] main_arg: var='driver' val='nutdrv_qx'
>     0.000412    [D5] do_upsconf_args: not a main_arg()
>     0.000416    [D5] do_upsconf_args: this is a 'driver' setting, may we
> proceed?
>     0.000424    [D6] testval_reloadable: var=driver,
> oldval=nutdrv_atcl_usb, newval=nutdrv_qx, reloadable=0, reload_flag=0
>     0.000429    [D1] testval_reloadable: setting 'driver' exists and
> differs: new value 'nutdrv_qx' vs. 'nutdrv_atcl_usb'
>     0.000434    [D6] testval_reloadable: verdict for (re)loading
> var=driver
> value: 1
>     0.000439    [D3] do_upsconf_args: collected 1 bad hits and 0 good hits
> for 'nutdrv_qx' in 'nutdrv_atcl_usb'
>     0.000447    Error: UPS [ups1] is for driver 'nutdrv_qx', but I'm
> 'nutdrv_atcl_usb'!
>
>     0.000466    [D5] send_to_all: SETINFO driver.state "cleanup.exit"
>
> Then:
>
> usbhid-ups -s test -x port=auto -x productid=0000 -x vendorid=0001
> -DDDDDD -d1
>     0.000004    [D5] send_to_all: SETINFO driver.state "init.starting"
> Network UPS Tools - Generic HID driver 0.54 (2.8.2.1)
> USB communication driver (libusb 1.0) 0.48
>     0.000093    [D1] upsdrv_makevartable...
>     0.000127    [D5] send_to_all: SETINFO driver.version.usb
> "libusb-1.0.28
> (API: 0x100010a)"
>     0.000140    [D1] Using USB implementation: libusb-1.0.28 (API:
> 0x100010a)
>     0.000151    [D3] main_arg: var='port' val='auto'
>     0.000163    [D6] testinfo_reloadable: var=port,
> infoname=driver.parameter.port, newval=auto, reloadable=0, reload_flag=0
>     0.000171    [D6] testinfo_reloadable: verdict for (re)loading var=port
> value: 1
>     0.000180    [D5] send_to_all: SETINFO driver.parameter.port "auto"
>     0.000190    [D3] main_arg: var='productid' val='0000'
>     0.000200    [D5] send_to_all: SETINFO driver.parameter.productid "0000"
>     0.000206    [D3] main_arg: var='vendorid' val='0001'
>     0.000215    [D5] send_to_all: SETINFO driver.parameter.vendorid "0001"
>     0.000220    [D1] Network UPS Tools version 2.8.2.1 (release/snapshot
> of
> 2.8.2.1) built with gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7) and
> configured with flags: --build=x86_64-redhat-linux-gnu
> --host=x86_64-redhat-linux-gnu --program-prefix=
> --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
> --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
> --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
> --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run
> --sharedstatedir=/var/lib --mandir=/usr/share/man
> --infodir=/usr/share/info --with-all --without-modbus --without-gpio
> --without-powerman --with-libltdl --without-wrap --with-cgi
> --with-python=/usr/bin/python3 --with-python3=/usr/bin/python3
> --without-python2 --datadir=/usr/share/nut --with-user=nut
> --with-group=dialout --with-statepath=/run/nut --with-pidpath=/run/nut
> --with-altpidpath=/run/nut --sysconfdir=/etc/ups
> --with-cgipath=/var/www/nut-cgi-bin --with-drvpath=/usr/sbin
> --with-systemdsystemunitdir=/usr/lib/systemd/system
> --with-systemdshutdowndir=/lib/systemd/system-shutdown
> --with-pkgconfig-dir=/usr/lib64/pkgconfig --disable-static
> --with-udev-dir=/usr/lib/udev --libdir=/usr/lib64
>     0.000269    [D1] debug level is '6'
>     0.000277    [D5] send_to_all: SETINFO driver.debug "6"
>     0.000286    [D5] send_to_all: SETFLAGS driver.debug RW NUMBER
>     0.001493    [D1] Succeeded to become_user(nut): now UID=57 GID=57
>     0.001508    [D1] Signalling UPS [test]: driver.exit (quietly, no fuss
> if no driver is running or responding)
>     0.001526    Can't open /run/nut/usbhid-ups-test: No such file or
> directory
>     0.001531    [D1] Request for other driver to exit returned code -1
>     0.001535    [D1] Socket dialog with the other driver instance (may be
> absent) failed: No such file or directory
>     0.001541    [D5] send_to_all: SETINFO device.type "ups"
>     0.001546    [D5] send_to_all: SETINFO driver.state "init.device"
>     0.001549    [D1] upsdrv_initups (non-SHUT)...
>     0.001553    [D2] Initializing an USB-connected UPS with library
> libusb-1.0.28 (API: 0x100010a) (NUT subdriver name='USB communication
> driver (libusb 1.0)' ver='0.48')
>     0.006084    [D2] Checking device 1 of 8 (1D6B/0003)
>     0.006104    [D1] Failed to open device (1D6B/0003), skipping: Access
> denied (insufficient permissions)
>     0.006108    [D2] Checking device 2 of 8 (17EF/6190)
>     0.006114    [D1] Failed to open device (17EF/6190), skipping: Access
> denied (insufficient permissions)
>     0.006116    [D2] Checking device 3 of 8 (17EF/608D)
>     0.006121    [D1] Failed to open device (17EF/608D), skipping: Access
> denied (insufficient permissions)
>     0.006124    [D2] Checking device 4 of 8 (0001/0000)
>     0.007337    [D1] nut_libusb_open get iProduct failed, retrying...
>     0.008513    [D1] nut_libusb_open get iProduct failed, retrying...
>     0.009670    [D1] nut_libusb_open get iProduct failed, retrying...
>     0.009675    [D2] - VendorID: 0001
>     0.009678    [D2] - ProductID: 0000
>     0.009681    [D2] - Manufacturer: unknown
>     0.009683    [D2] - Product: unknown
>     0.009685    [D2] - Serial Number: unknown
>     0.009688    [D2] - Bus: 003
>     0.009690    [D2] - Bus Port: 006
>     0.009693    [D2] - Device: 008
>     0.009695    [D2] - Device release number: 0100
>     0.009697    [D2] Trying to match device
>     0.009702    [D2] match_function_subdriver (non-SHUT mode): matching a
> device...
>     0.009708    [D2] match_function_subdriver (non-SHUT mode): failed to
> match a subdriver to vendor and/or product ID
>     0.009711    [D2] Device does not match - skipping
>     0.009723    [D2] Checking device 5 of 8 (0BDA/4853)
>     0.009738    [D1] Failed to open device (0BDA/4853), skipping: Access
> denied (insufficient permissions)
>     0.009742    [D2] Checking device 6 of 8 (1D6B/0002)
>     0.009747    [D1] Failed to open device (1D6B/0002), skipping: Access
> denied (insufficient permissions)
>     0.009750    [D2] Checking device 7 of 8 (1D6B/0003)
>     0.009756    [D1] Failed to open device (1D6B/0003), skipping: Access
> denied (insufficient permissions)
>     0.009759    [D2] Checking device 8 of 8 (1D6B/0002)
>     0.009764    [D1] Failed to open device (1D6B/0002), skipping: Access
> denied (insufficient permissions)
>     0.009768    [D2] libusb1: No appropriate HID device found
>     0.009779    libusb1: Could not open any HID devices: insufficient
> permissions on everything
>     0.009785    No matching HID UPS found
>     0.009798    [D5] send_to_all: SETINFO driver.state "cleanup.exit"
>
> On 26/12/25 21:46, Jim Klimov wrote:
> > Thanks, yes (now :-} )
> >
> > So at least the string language index issue is solved, it sees the
> > common "MEC0003" name.
> >
> > In the log I see you also setting "subdriver=hunnox" which is not listed
> > in the HCL comments:
> >
> > $ git grep -i digitech
> > data/driver.list.in <http://driver.list.in>:"DigiTECH"  "ups"   "2"
> > "Computer 650VA"        "USB"   "nutdrv_qx port=auto vendorid=0001
> > productid=0000 protocol=hunnox langid_fix=0x0409 novendor noscanlangid"
> >       # https://github.com/networkupstools/nut/pull/638 <https://
> > github.com/networkupstools/nut/pull/638> caveats at https://github.com/
> > networkupstools/nut/issues/674 <https://github.com/networkupstools/nut/
> > issues/674> (may need longer pollinterval)
> >
> > Parameter names are a bit messed up historically, "subdriver" in
> > nutdrv_qx refers to USB connection nuances (vs. serial which has no such
> > concept), and "protocol" is the actual variant of some dialect derived
> > from a Megatec Q<x> protocol.
> > It may be that the USB subdriver for hunnox is in fact not what digitech
> > wants, and that's why connection setup fails?
> >
> > One other idea is to make a shell loop trying all protocols and
> > subdrivers until something returns a reasonable response. You can see
> > the values to loop over in help message of the driver.
> >
> > Finally, there is a chance that they released a device not talking
> > Megatec but something else. You can try `nutdrv_atcl_usb` (at least it
> > also fits the no-name 0000:0001 IDs), or `usbhid-ups -s test  -x
> > port=auto -x productid=0000 -x vendorid=0001 -DDDDDD -d1`
> >
> > The I/O error message seems to come out of the blue, so NUT just has it
> > with little context... You can also try your chances with LIBUSB_DEBUG,
> > see https://github.com/networkupstools/nut/wiki/Changing-NUT-daemon-
> > debug-verbosity#nut-v283-and-newer <https://github.com/networkupstools/
> > nut/wiki/Changing-NUT-daemon-debug-verbosity#nut-v283-and-newer> for
> > details.
> >
> > Hope this helps,
> > Jim Klimov
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/nut-upsuser/attachments/20251227/833b12fb/attachment-0001.htm>


More information about the Nut-upsuser mailing list