On 18.07.19 04:51, Charles Lepple wrote:
> On Jul 16, 2019, at 9:43 AM, Markus Grundmann wrote:
>> Whenever I called "lsof -p <pid>" for both "usbhid-ups" processes I notice
>> that only the ugen/1.5.0 (aka /dev/usb/1.5.0) device was used. After my
>> "patch" the drivers was called corect with the option -x and the output of
>> "upsc" reports the right UPS and serialno.
> Are you sure that the "serial = ..." parameters were specified in ups.conf
> when you started the drivers originally with "-a apc90*"?
>
> The "-x serial=..." parameter to the driver is redundant when ups.conf has a
> "serial = " parameter. Also, the "port = ..." arguments are ignored by
> usbhid-ups, because there is no way to pass that port into libusb (and the
> ports returned during device enumeration are typically not stable across
> reboots anyway). We typically recommend "port = auto" for usbhid-ups (and
> other USB drivers).
>
> If you are still seeing the problem where both UPSes are opening the same
> /dev node, we will need some driver traces to see why it is not matching the
> serial number specified in ups.conf. (I am not ready to rule out incompatible
> changes in FreeBSD 12.) Probably two "-D" flags should be sufficient. You can
> stop them with upsdrvctl first, but I would recommend starting usbhid-ups
> directly ("/usr/local/ups/bin/usbhid-ups -a apc900 -D -D"; otherwise, if you
> specify "upsdrvctl -D -D", NUT thinks you are trying to debug upsdrvctl
> itself.)
You are right Chalres !!! But I don't know why I have not probed this
variant in the past :-(
I have used the origin upsdrvctl binary in the following test and it
works also and I'm little bit irritated now. Thanks for your reply!
Please forget my "PATCH" request *LOL*
$ tail -n15 /usr/local/etc/nut/ups.conf
# the -h option and/or read the driver's documentation.
user = root
[apc900]
driver = usbhid-ups
port = auto
serial = 3B1520X10340
desc = "APC900-LEFT"
[apc901]
driver = usbhid-ups
port = auto
serial = 3B1207X25460
desc = "APC900-RIGHT"
$ service nut start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: APC HID 0.96
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Using subdriver: APC HID 0.96
Starting nut.
Network UPS Tools upsd 2.7.4
fopen /var/db/nut/upsd.pid: No such file or directory
listening on 0.0.0.0 port 3493
Connected to UPS [apc901]: usbhid-ups-apc901
Connected to UPS [apc900]: usbhid-ups-apc900
$ ps auxw|grep -e nut -e ups
root 4929 0.0 0.0 11880 3040 - Ss 07:45 0:00.01
/usr/local/libexec/nut/usbhid-ups -a apc900
root 6418 0.0 0.0 11880 3040 - Ss 07:45 0:00.00
/usr/local/libexec/nut/usbhid-ups -a apc901
uucp 8097 0.0 0.0 30088 2892 - Ss 07:45 0:00.00
/usr/local/sbin/upsd
$ upsc apc900 | grep -i serial
device.serial: 3B1520X10340
driver.parameter.serial: 3B1520X10340
ups.serial: 3B1520X10340
$ upsc apc901 | grep -i serial
device.serial: 3B1207X25460
driver.parameter.serial: 3B1207X25460
ups.serial: 3B1207X25460
### Both drivers using the right device. Without the serial statement in
ups.conf only '/dev/usb/1.5.0' was used.
$ lsof -p 4929
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
usbhid-up 4929 root cwd VDIR 1643202022,2213797598 9 44338
/var/db/nut
usbhid-up 4929 root rtd VDIR 1643202022,2213797598 27 4 /
usbhid-up 4929 root txt VREG 1643202022,2213797598 191832 44147
/usr/local/libexec/nut/usbhid-ups
usbhid-up 4929 root txt VREG 1643202022,2213797598 148320 223
/libexec/ld-elf.so.1
usbhid-up 4929 root txt VREG 1643202022,2213797598 93672 13486
/usr/lib/libusb.so.3
usbhid-up 4929 root txt VREG 1643202022,2213797598 131824 200
/lib/libthr.so.3
usbhid-up 4929 root txt VREG 1643202022,2213797598 1949672 33820
/lib/libc.so.7
usbhid-up 4929 root 0u VCHR 0,16 0t0 16
/dev/null
usbhid-up 4929 root 1u VCHR 0,16 0t0 16
/dev/null
usbhid-up 4929 root 2u VCHR 0,16 0t0 16
/dev/null
usbhid-up 4929 root 3u unix 0xfffff8023ff4c6d0 0t0
->0xfffff800134846d0
usbhid-up 4929 root 4u VCHR 0,140 0t0 140
/dev/usb/1.4.0
usbhid-up 4929 root 5u VCHR 0,140 0t0 140
/dev/usb/1.4.0
usbhid-up 4929 root 6u unix 0xfffff80013483000 0t0
/var/db/nut/usbhid-ups-apc900
usbhid-up 4929 root 7u unix 0xfffff800735046d0 0t0
/var/db/nut/usbhid-ups-apc900
$ lsof -p 6418
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
usbhid-up 6418 root cwd VDIR 1643202022,2213797598 9 44338
/var/db/nut
usbhid-up 6418 root rtd VDIR 1643202022,2213797598 27 4 /
usbhid-up 6418 root txt VREG 1643202022,2213797598 191832 44147
/usr/local/libexec/nut/usbhid-ups
usbhid-up 6418 root txt VREG 1643202022,2213797598 148320 223
/libexec/ld-elf.so.1
usbhid-up 6418 root txt VREG 1643202022,2213797598 93672 13486
/usr/lib/libusb.so.3
usbhid-up 6418 root txt VREG 1643202022,2213797598 131824 200
/lib/libthr.so.3
usbhid-up 6418 root txt VREG 1643202022,2213797598 1949672 33820
/lib/libc.so.7
usbhid-up 6418 root 0u VCHR 0,16 0t0 16
/dev/null
usbhid-up 6418 root 1u VCHR 0,16 0t0 16
/dev/null
usbhid-up 6418 root 2u VCHR 0,16 0t0 16
/dev/null
usbhid-up 6418 root 3u unix 0xfffff80013754000 0t0
->0xfffff800134846d0
usbhid-up 6418 root 4u VCHR 0,232 0t0 232
/dev/usb/1.5.0
usbhid-up 6418 root 5u VCHR 0,232 0t0 232
/dev/usb/1.5.0
usbhid-up 6418 root 6u unix 0xfffff8023ff4c368 0t0
/var/db/nut/usbhid-ups-apc901
usbhid-up 6418 root 7u unix 0xfffff800134836d0 0t0
/var/db/nut/usbhid-ups-apc901
--
Best regards,
Markus
_______________________________________________
Nut-upsdev mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev