<div dir="ltr">Hi all,<div> just landed here so apologize. I've googled a lot but I can't find a way to get my UPS working with NUT.</div><div><br></div><div>here my ( relevant ) details:</div><div>lsusb </div><div>...</div><div>...</div><div>Bus 001 Device 027: ID 0001:0000 Fry's Electronics <br></div><div>...</div><div>... </div><div>lsusb -v -d 0001:0000</div><div>Bus 001 Device 027: ID 0001:0000 Fry's Electronics <br>Device Descriptor:<br>  bLength Â  Â  Â  Â  Â  Â  Â  Â 18<br>  bDescriptorType Â  Â  Â  Â  1<br>  bcdUSB Â  Â  Â  Â  Â  Â  Â  2.00<br>  bDeviceClass Â  Â  Â  Â  Â  Â 0 <br>  bDeviceSubClass Â  Â  Â  Â  0 <br>  bDeviceProtocol Â  Â  Â  Â  0 <br>  bMaxPacketSize0 Â  Â  Â  Â  8<br>  idVendor Â  Â  Â  Â  Â  0x0001 Fry's Electronics<br>  idProduct Â  Â  Â  Â  Â 0x0000 <br>  bcdDevice Â  Â  Â  Â  Â  Â 0.00<br>  iManufacturer Â  Â  Â  Â  Â  1 ATCL FOR UPS<br>  iProduct Â  Â  Â  Â  Â  Â  Â  Â 1 ATCL FOR UPS<br>  iSerial Â  Â  Â  Â  Â  Â  Â  Â  1 ATCL FOR UPS<br>  bNumConfigurations Â  Â  Â 1<br>  Configuration Descriptor:<br>  Â  bLength Â  Â  Â  Â  Â  Â  Â  Â  9<br>  Â  bDescriptorType Â  Â  Â  Â  2<br>  Â  wTotalLength Â  Â  Â  0x0029<br>  Â  bNumInterfaces Â  Â  Â  Â  Â 1<br>  Â  bConfigurationValue Â  Â  1<br>  Â  iConfiguration Â  Â  Â  Â  Â 0 <br>  Â  bmAttributes Â  Â  Â  Â  0xe0<br>  Â  Â  Self Powered<br>  Â  Â  Remote Wakeup<br>  Â  MaxPower Â  Â  Â  Â  Â  Â  Â  98mA<br>  Â  Interface Descriptor:<br>  Â  Â  bLength Â  Â  Â  Â  Â  Â  Â  Â  9<br>  Â  Â  bDescriptorType Â  Â  Â  Â  4<br>  Â  Â  bInterfaceNumber Â  Â  Â  Â 0<br>  Â  Â  bAlternateSetting Â  Â  Â  0<br>  Â  Â  bNumEndpoints Â  Â  Â  Â  Â  2<br>  Â  Â  bInterfaceClass Â  Â  Â  Â  3 Human Interface Device<br>  Â  Â  bInterfaceSubClass Â  Â  Â 0 <br>  Â  Â  bInterfaceProtocol Â  Â  Â 0 <br>  Â  Â  iInterface Â  Â  Â  Â  Â  Â  Â 0 <br>  Â  Â  Â  HID Device Descriptor:<br>  Â  Â  Â  Â  bLength Â  Â  Â  Â  Â  Â  Â  Â  9<br>  Â  Â  Â  Â  bDescriptorType Â  Â  Â  Â 33<br>  Â  Â  Â  Â  bcdHID Â  Â  Â  Â  Â  Â  Â  1.11<br>  Â  Â  Â  Â  bCountryCode Â  Â  Â  Â  Â  Â 0 Not supported<br>  Â  Â  Â  Â  bNumDescriptors Â  Â  Â  Â  1<br>  Â  Â  Â  Â  bDescriptorType Â  Â  Â  Â 34 Report<br>  Â  Â  Â  Â  wDescriptorLength Â  Â  Â 32<br>  Â  Â  Â  Â  Report Descriptor: (length is 32)<br>  Â  Â  Â  Â  Â  Item(Global): Usage Page, data= [ 0xa0 0xff ] 65440<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  (null)<br>  Â  Â  Â  Â  Â  Item(Local ): Usage, data= [ 0x01 ] 1<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  (null)<br>  Â  Â  Â  Â  Â  Item(Main Â ): Collection, data= [ 0x01 ] 1<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Application<br>  Â  Â  Â  Â  Â  Item(Local ): Usage, data= [ 0x03 ] 3<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  (null)<br>  Â  Â  Â  Â  Â  Item(Global): Logical Minimum, data= [ 0x00 ] 0<br>  Â  Â  Â  Â  Â  Item(Global): Logical Maximum, data= [ 0x01 ] 1<br>  Â  Â  Â  Â  Â  Item(Global): Report Size, data= [ 0x08 ] 8<br>  Â  Â  Â  Â  Â  Item(Global): Report Count, data= [ 0x08 ] 8<br>  Â  Â  Â  Â  Â  Item(Main Â ): Input, data= [ 0x02 ] 2<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Data Variable Absolute No_Wrap Linear<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Preferred_State No_Null_Position Non_Volatile Bitfield<br>  Â  Â  Â  Â  Â  Item(Local ): Usage, data= [ 0x04 ] 4<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  (null)<br>  Â  Â  Â  Â  Â  Item(Global): Logical Minimum, data= [ 0x00 ] 0<br>  Â  Â  Â  Â  Â  Item(Global): Logical Maximum, data= [ 0x01 ] 1<br>  Â  Â  Â  Â  Â  Item(Global): Report Size, data= [ 0x08 ] 8<br>  Â  Â  Â  Â  Â  Item(Global): Report Count, data= [ 0x08 ] 8<br>  Â  Â  Â  Â  Â  Item(Main Â ): Output, data= [ 0x02 ] 2<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Data Variable Absolute No_Wrap Linear<br>  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Preferred_State No_Null_Position Non_Volatile Bitfield<br>  Â  Â  Â  Â  Â  Item(Main Â ): End Collection, data=none<br>  Â  Â  Endpoint Descriptor:<br>  Â  Â  Â  bLength Â  Â  Â  Â  Â  Â  Â  Â  7<br>  Â  Â  Â  bDescriptorType Â  Â  Â  Â  5<br>  Â  Â  Â  bEndpointAddress Â  Â  0x81 Â EP 1 IN<br>  Â  Â  Â  bmAttributes Â  Â  Â  Â  Â  Â 3<br>  Â  Â  Â  Â  Transfer Type Â  Â  Â  Â  Â  Â Interrupt<br>  Â  Â  Â  Â  Synch Type Â  Â  Â  Â  Â  Â  Â  None<br>  Â  Â  Â  Â  Usage Type Â  Â  Â  Â  Â  Â  Â  Data<br>  Â  Â  Â  wMaxPacketSize Â  Â  0x0008 Â 1x 8 bytes<br>  Â  Â  Â  bInterval Â  Â  Â  Â  Â  Â  Â 10<br>  Â  Â  Endpoint Descriptor:<br>  Â  Â  Â  bLength Â  Â  Â  Â  Â  Â  Â  Â  7<br>  Â  Â  Â  bDescriptorType Â  Â  Â  Â  5<br>  Â  Â  Â  bEndpointAddress Â  Â  0x02 Â EP 2 OUT<br>  Â  Â  Â  bmAttributes Â  Â  Â  Â  Â  Â 3<br>  Â  Â  Â  Â  Transfer Type Â  Â  Â  Â  Â  Â Interrupt<br>  Â  Â  Â  Â  Synch Type Â  Â  Â  Â  Â  Â  Â  None<br>  Â  Â  Â  Â  Usage Type Â  Â  Â  Â  Â  Â  Â  Data<br>  Â  Â  Â  wMaxPacketSize Â  Â  0x0008 Â 1x 8 bytes<br>  Â  Â  Â  bInterval Â  Â  Â  Â  Â  Â  Â 10<br>can't get device qualifier: Resource temporarily unavailable<br>can't get debug descriptor: Resource temporarily unavailable<br>Device Status: Â  Â  0x0000<br>  (Bus Powered)<br></div><div><br></div><div>I've tried the nut-scanner:</div><div>topolinux root /usr/local/nut/bin# ./nut-scanner <br>Scanning USB bus.<br>No start IP, skipping NUT bus (old connect method)<br>[nutdev1]<br>  Â  Â  Â  driver = "nutdrv_atcl_usb"<br>  Â  Â  Â  port = "auto"<br>  Â  Â  Â  vendorid = "0001"<br>  Â  Â  Â  productid = "0000"<br>  Â  Â  Â  product = "ATCL FOR UPS"<br>  Â  Â  Â  serial = "ATCL FOR UPS"<br>  Â  Â  Â  vendor = "ATCL FOR UPS"<br>  Â  Â  Â  bus = "001"<br></div><div><br></div><div>So I configure ups.conf:</div><div>more ups.conf </div><div>[myups]<br>driver = "nutdrv_atcl_usb"<br>port = auto<br>vendorid=0001<br></div><div><br></div><div>and try to start:</div><div>root /usr/local/nut/etc# ../bin/nutdrv_atcl_usb -a myups -DDD -x vendor=0001<br>Network UPS Tools - 'ATCL FOR UPS' USB driver 1.1 (2.7.4)<br>Warning: This is an experimental driver.<br>Some features may not function correctly.<br><br></div><div>Fatal error: 'vendorid' is not a valid variable name for this driver.<br><br>Look in the man page or call this driver with -h for a list of<br>valid variable names and flags.<br></div><div><br></div><div>I then remove vendorid. </div><div>more  ups.conf</div><div>[myups]<br>driver = "nutdrv_atcl_usb"<br>port = auto<br>#vendorid=0001<br></div><div><br></div><div>and now it somewhat works:</div><div>root /usr/local/nut/etc# ../bin/nutdrv_atcl_usb -a myups -DDDD <br>Network UPS Tools - 'ATCL FOR UPS' USB driver 1.1 (2.7.4)<br>Warning: This is an experimental driver.<br>Some features may not function correctly.<br><br>  Â 0.000000 Â  Â  debug level is '4'<br>  Â 0.001636 Â  Â  Searching for USB device...<br>  Â 0.007382 Â  Â  Checking USB device [05ac:8242] (002/003)<br>  Â 0.007422 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 0.007433 Â  Â  Checking USB device [0424:2513] (002/002)<br>  Â 0.007446 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 0.007453 Â  Â  Checking USB device [1d6b:0002] (002/001)<br>  Â 0.007463 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 0.007470 Â  Â  Checking USB device [1d6b:0001] (004/001)<br>  Â 0.007481 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 0.007495 Â  Â  Checking USB device [05ac:8509] (001/003)<br>  Â 0.007511 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 0.007528 Â  Â  Checking USB device [0001:0000] (001/027)<br>  Â 0.011866 Â  Â  - VendorID Â  Â  : 0001<br>  Â 0.011919 Â  Â  - ProductID Â  Â : 0000<br>  Â 0.011941 Â  Â  - Manufacturer : ATCL FOR UPS<br>  Â 0.011967 Â  Â  - Product Â  Â  Â : ATCL FOR UPS<br>  Â 0.011996 Â  Â  - Serial Number: ATCL FOR UPS<br>  Â 0.012007 Â  Â  - Bus Â  Â  Â  Â  Â : 001<br>  Â 0.012023 Â  Â  Matched expected vendor='ATCL FOR UPS'.<br>  Â 0.012428 Â  Â  USB device [0001:0000] opened<br>  Â 5.014618 Â  Â  status interrupt read: Connection timed out<br>  Â 5.014664 Â  Â  Communications with UPS lost: Query to UPS failed<br>  Â 5.014859 Â  Â  dstate_init: sock /var/state/ups/nutdrv_atcl_usb-myups open on fd 10<br>  Â 5.014959 Â  Â  Checking USB device [05ac:8242] (002/003)<br>  Â 5.014994 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 5.015005 Â  Â  Checking USB device [0424:2513] (002/002)<br>  Â 5.015022 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 5.015032 Â  Â  Checking USB device [1d6b:0002] (002/001)<br>  Â 5.015047 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 5.015069 Â  Â  Checking USB device [1d6b:0001] (004/001)<br>  Â 5.015112 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 5.015134 Â  Â  Checking USB device [05ac:8509] (001/003)<br>  Â 5.015149 Â  Â  Failed to open USB device, skipping: Permission denied<br>  Â 5.015158 Â  Â  Checking USB device [0001:0000] (001/027)<br>  Â 5.019736 Â  Â  - VendorID Â  Â  : 0001<br>  Â 5.019767 Â  Â  - ProductID Â  Â : 0000<br>  Â 5.019787 Â  Â  - Manufacturer : ATCL FOR UPS<br>  Â 5.019804 Â  Â  - Product Â  Â  Â : ATCL FOR UPS<br>  Â 5.019824 Â  Â  - Serial Number: ATCL FOR UPS<br>  Â 5.019851 Â  Â  - Bus Â  Â  Â  Â  Â : 001<br>  Â 5.019859 Â  Â  Matched expected vendor='ATCL FOR UPS'.<br>  Â 5.020208 Â  Â  USB device [0001:0000] opened<br></div><div><br></div><div>I have also tried with blazer_usb and nutdrv_qx.</div><div>With the former I get:</div><div>  Â 0.012149 Â  Â  Trying to match device<br>  Â 0.012194 Â  Â  Device matches<br>  Â 0.012224 Â  Â  nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)<br>  Â 0.012242 Â  Â  Trying megatec protocol...<br>  Â 0.012255 Â  Â  send: Q1<br>  Â 0.013044 Â  Â  read: Broken pipe<br>  Â 0.013543 Â  Â  Stall condition cleared<br>  Â 0.013564 Â  Â  blazer_status: short reply<br>  Â 0.013574 Â  Â  Status read 1 failed<br>  Â 0.013581 Â  Â  send: Q1<br>  Â 0.014632 Â  Â  read: Broken pipe<br></div><div><br></div><div>and with the latter:</div><div>  Â 0.007855 Â  Â  Trying to match device<br>  Â 0.007893 Â  Â  Device matches<br>  Â 0.007920 Â  Â  nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)<br>  Â 0.007944 Â  Â  command: (8 bytes) => 80 06 04 03 51 47 53 00<br>  Â 5.009814 Â  Â  send: Connection timed out (-110)<br>  Â 5.009856 Â  Â  qx_process_answer: short reply (input.voltage)<br>  Â 5.009884 Â  Â  command: (8 bytes) => 80 06 04 03 51 47 53 00<br>  10.012265 Â  Â  send: Connection timed out (-110)<br>  10.012298 Â  Â  qx_process_answer: short reply (input.voltage)<br>  10.012313 Â  Â  command: (8 bytes) => 80 06 04 03 51 47 53 00<br>  15.013766 Â  Â  send: Connection timed out (-110)<br>  15.013804 Â  Â  qx_process_answer: short reply (input.voltage)<br>  15.013815 Â  Â  command: (8 bytes) => 80 06 02 03 4d 00 00 00<br></div><div><br></div><div>Is there any change I get it working ?</div><div>I only need to know when the power has disconneted, nothing more.</div><div><br></div><div>Thanks in advance.</div><div>Pierluigi</div></div>