[Nut-upsuser] Problem with nut 2.4.1 & Ippon 2000 Smart power on FreeBSD
Arjen de Korte
nut+users at de-korte.org
Sun Jul 19 10:25:52 UTC 2009
Citeren vk <vk op union-metall.ru>:
> gate# /usr/local/libexec/nut/blazer_usb -DDDD -a IPPON
> Network UPS Tools - Megatec/Q1 protocol USB driver 0.03 (2.4.1)
> debug level is '4'
> Checking device (0665/5161) (/dev/usb1//dev/ugen0)
> - VendorID: 0665
> - ProductID: 5161
> - Manufacturer: Cypress Semiconductor
> - Product: USB to Serial
> - Serial Number: unknown
> - Bus: /dev/usb1
> Trying to match device
> Device matches
> Trying megatec protocol...
> send: Q1
> read: timeout
> blazer_status: short reply
> Status read 1 failed
> send: Q1
> read: timeout
> blazer_status: short reply
> Status read 2 failed
> send: Q1
> read: timeout
> blazer_status: short reply
> Status read 3 failed
> Trying mustek protocol...
> send: QS
> read: timeout
> blazer_status: short reply
> Status read 1 failed
> send: QS
> read: timeout
> blazer_status: short reply
> Status read 2 failed
> send: error sending control message: Input/output error
> blazer_status: short reply
> Status read 3 failed
> Trying megatec/old protocol...
> Checking device (0665/5161) (/dev/usb1//dev/ugen0)
> - VendorID: 0665
> - ProductID: 5161
> - Manufacturer: Cypress Semiconductor
> - Product: USB to Serial
> - Serial Number: unknown
> - Bus: /dev/usb1
> Trying to match device
> Device matches
> send: D
> read: timeout
> blazer_status: short reply
> Status read 1 failed
> send: D
> read: timeout
> blazer_status: short reply
> Status read 2 failed
> send: D
> read: timeout
> blazer_status: short reply
> Status read 3 failed
> No supported UPS detected
Support for libusb is 'experimental' at best in FreeBSD and depending
on the version you're using, 'unusable'. You may try if adding a small
delay between sending a command and reading back the reply helps (YMMV):
--- trunk/drivers/blazer_usb.c (revision 1861)
+++ trunk/drivers/blazer_usb.c (working copy)
@@ -72,6 +72,7 @@
upsdebugx(3, "send: %.*s", (int)strcspn(tmp, "\r"), tmp);
memset(buf, 0, buflen);
+ usleep(300000);
for (i = 0; (i <= buflen-8) && (strchr(buf, '\r') == NULL); i += ret) {
If your UPS also has a serial port available, it is probably more
reliable to use a USB to serial converter (that is supported by the
kernel) than attempting to run a user space program that attempts to
handle USB through libusb.
Best regards, Arjen
--
Please keep list traffic on the list
More information about the Nut-upsuser
mailing list