[Nut-upsuser] Digitech support
Stephen Davies
sdavies at sdc.com.au
Sat Dec 27 02:35:36 GMT 2025
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
>
More information about the Nut-upsuser
mailing list