<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">On Jun 19, 2019, at 4:16 PM, David Zomaya wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; caret-color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""></div><blockquote type="cite" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; caret-color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="font-size: 10pt; font-family: "Courier New";" class="">“I think a range of IDs (even with a few exceptions for the older units) would be sufficient. The ideal scenario is that the range is somewhat future-proof, so a version of NUT from this year can properly identify next year's UPS. If not, we still have manual ways for users to add their idProduct to ups.conf and the udev files, but as you can imagine, that is frustrating for a new user.”<o:p class=""></o:p></span></div></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; caret-color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="font-size: 10pt; font-family: "Courier New";" class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; caret-color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="color: rgb(91, 155, 213);" class="">Almost everything we make now is PDC compliant, so we should at least be able to do this. We’re looking into something easy to identify in the output of lsusb –v though since that could help with legacy support.<o:p class=""></o:p></span></div><br class="Apple-interchange-newline"></div></blockquote></div>As you probably saw with lsusb, some of the output is not shown when not running as root (it does not look up descriptors, for instance, including string descriptor). One value that should always be available is "wDescriptorLength". PDC-compliant UPSes need several hundred bytes in the HID descriptor, whereas the proprietary protocols are just describing an 8-byte buffer (or similar).<div class=""><br class=""></div><div class="">(I'm still noodling over the 42-usb-hd-pm.rules file - not sure why the stop/start cycle is necessary, because the logs indicated that the driver is reconnecting.)</div></body></html>