From: Stuart Henderson Subject: Re: upd(4): add more sensors (load, power..) To: Landry Breuil , tech@openbsd.org Date: Mon, 18 Nov 2024 13:24:57 +0000 On 2024/11/16 19:17, Stuart Henderson wrote: > On 2024/11/16 12:30, Landry Breuil wrote: > > so if you have an upd(4) somewhere and you have sensors, i'll be glad to > > know if: > > - you get more sensors and they make sense > > - you get values that make more sense than before > > - you had a value for RunTimeToEmpty that made sense and now doesn't > > (same for AtRateTimeToEmpty/AtRateTimeToFull if you have them) > > - it now breaks/detaches/reattaches > > I haven't tried the diff yet, but runtimetoempty is already correct for > me (lcd says 32/33 mins):: > > hw.sensors.upd0.indicator0=Off (Charging), OK > hw.sensors.upd0.indicator1=Off (Discharging), OK > hw.sensors.upd0.indicator2=On (ACPresent), OK > hw.sensors.upd0.indicator3=Off (Overload), OK > hw.sensors.upd0.percent0=100.00% (RemainingCapacity), OK > hw.sensors.upd0.percent1=100.00% (FullChargeCapacity), OK > hw.sensors.upd0.timedelta0=1980.000000 secs (RunTimeToEmpty), OK > > I haven't tried the diff yet, but runtimetoempty is already correct for > > me (lcd says 32/33 mins):: > > thanks, that's good to know. In that case i'll probably have to do a > quirks system to adjust depending on vendor/product id.. pending more > feedback :) With the diff I get an additional, correct-looking, PercentLoad, and a wrong VoltageDc (not reported on the front panel, but it has 2x12v batteries). hw.sensors.upd0.volt0=-57.60 VDC (VoltageDc), OK hw.sensors.upd0.indicator0=Off (Charging), OK hw.sensors.upd0.indicator1=Off (Discharging), OK hw.sensors.upd0.indicator2=On (ACPresent), OK hw.sensors.upd0.indicator3=Off (Overload), OK hw.sensors.upd0.percent0=100.00% (RemainingCapacity), OK hw.sensors.upd0.percent1=100.00% (FullChargeCapacity), OK hw.sensors.upd0.percent2=15.00% (PercentLoad), OK hw.sensors.upd0.timedelta0=6.912000 secs (RunTimeToEmpty), OK NUT shows this: $ upsc office battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 20 battery.mfr.date: CPS battery.runtime: 1980 battery.runtime.low: 300 battery.type: PbAcid battery.voltage: 24.0 battery.voltage.nominal: 24 device.mfr: CPS device.model: CP1300EPFCLCD device.serial: CRWHY2000030 device.type: ups driver.debug: 0 driver.flag.allow_killpower: 0 driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.product: CP1300EPFCLCD driver.parameter.productid: 0501 driver.parameter.serial: CRWHY2000030 driver.parameter.synchronous: auto driver.parameter.vendorid: 0764 driver.state: quiet driver.version: 2.8.2 driver.version.data: CyberPower HID 0.80 driver.version.internal: 0.53 driver.version.usb: libusb-1.0.27 (API: 0x100010a) input.transfer.high: 260 input.transfer.low: 170 input.voltage: 245.0 input.voltage.nominal: 230 output.voltage: 245.0 ups.beeper.status: disabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.load: 15 ups.mfr: CPS ups.model: CP1300EPFCLCD ups.productid: 0501 ups.realpower.nominal: 780 ups.serial: CRWHY2000030 ups.status: OL ups.test.result: No test initiated ups.timer.shutdown: -60 ups.timer.start: -60 ups.vendorid: 0764 > yours is a https://www.cyberpower.com/eu/en/product/sku/cp1300epfclcd > right ? yes. $ lsusb -v -d 0764: Bus 002 Device 002: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0764 Cyber Power System, Inc. idProduct 0x0501 CP1500 AVR UPS bcdDevice 0.01 iManufacturer 3 CPS iProduct 1 CP1300EPFCLCD iSerial 2 CRWHY2000030 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 480 Report Descriptor: (length is 480) Item(Global): Usage Page, data= [ 0x84 ] 132 Power Device Page Item(Local ): Usage, data= [ 0x04 ] 4 UPS Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Local ): Usage, data= [ 0x24 ] 36 Power Summary Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Global): Report ID, data= [ 0x01 ] 1 Item(Local ): Usage, data= [ 0xfe ] 254 iProduct Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x02 ] 2 Item(Local ): Usage, data= [ 0xff ] 255 iSerialNumber Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x1b ] 27 Item(Global): Usage Page, data= [ 0x01 0xff ] 65281 (null) Item(Local ): Usage, data= [ 0xd0 ] 208 (null) Item(Main ): Feature, data= [ 0x22 ] 34 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x03 ] 3 Item(Global): Usage Page, data= [ 0x85 ] 133 Battery System Page Item(Local ): Usage, data= [ 0x89 ] 137 iDeviceChemistry Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x04 ] 4 Item(Local ): Usage, data= [ 0x8f ] 143 iOEMInformation Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x05 ] 5 Item(Local ): Usage, data= [ 0x8b ] 139 Rechargeable Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x06 ] 6 Item(Local ): Usage, data= [ 0x2c ] 44 Capacity Mode Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x07 ] 7 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x06 ] 6 Item(Global): Logical Maximum, data= [ 0x64 ] 100 Item(Local ): Usage, data= [ 0x83 ] 131 Design Capacity Item(Local ): Usage, data= [ 0x8d ] 141 Capacity Granularity 1 Item(Local ): Usage, data= [ 0x8e ] 142 Capacity Granularity 2 Item(Local ): Usage, data= [ 0x8c ] 140 Warning Capacity Limit Item(Local ): Usage, data= [ 0x29 ] 41 Remaining Capacity Limit Item(Local ): Usage, data= [ 0x67 ] 103 Full Charge Capacity Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x08 ] 8 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Local ): Usage, data= [ 0x66 ] 102 Remaining Capacity Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x66 ] 102 Remaining Capacity Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x68 ] 104 Run Time To Empty Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Logical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535 Item(Global): Unit, data= [ 0x01 0x10 ] 4097 System: SI Linear, Unit: Seconds Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x68 ] 104 Run Time To Empty Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x2a ] 42 Remaining Time Limit Item(Global): Logical Maximum, data= [ 0x58 0x02 ] 600 Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x2a ] 42 Remaining Time Limit Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x09 ] 9 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Global): Usage Page, data= [ 0x84 ] 132 Power Device Page Item(Local ): Usage, data= [ 0x40 ] 64 Config Voltage Item(Global): Unit, data= [ 0x21 0xd1 0xf0 0x00 ] 15782177 System: SI Linear, Unit: Centimeter^2*Gram*Seconds^-3*Ampere^-1 Item(Global): Unit Exponent, data= [ 0x06 ] 6 Unit Exponent: 6 Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x0a ] 10 Item(Local ): Usage, data= [ 0x30 ] 48 Voltage Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x02 ] 2 Present Status Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Global): Unit Exponent, data= [ 0x00 ] 0 Unit Exponent: 0 Item(Global): Report ID, data= [ 0x0b ] 11 Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x06 ] 6 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Usage Page, data= [ 0x85 ] 133 Battery System Page Item(Local ): Usage, data= [ 0xd0 ] 208 AC Present Item(Local ): Usage, data= [ 0x44 ] 68 Charging Item(Local ): Usage, data= [ 0x45 ] 69 Discharging Item(Local ): Usage, data= [ 0x42 ] 66 Below Remaining Capacity Limit Item(Local ): Usage, data= [ 0x46 ] 70 Fully Charged Item(Local ): Usage, data= [ 0x43 ] 67 Remaining Time Limit Expired Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0xd0 ] 208 AC Present Item(Local ): Usage, data= [ 0x44 ] 68 Charging Item(Local ): Usage, data= [ 0x45 ] 69 Discharging Item(Local ): Usage, data= [ 0x42 ] 66 Below Remaining Capacity Limit Item(Local ): Usage, data= [ 0x46 ] 70 Fully Charged Item(Local ): Usage, data= [ 0x43 ] 67 Remaining Time Limit Expired Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report Size, data= [ 0x02 ] 2 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Main ): Input, data= [ 0x01 ] 1 Constant Array Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): Feature, data= [ 0x01 ] 1 Constant Array Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Report ID, data= [ 0x0c ] 12 Item(Global): Usage Page, data= [ 0x84 ] 132 Power Device Page Item(Local ): Usage, data= [ 0x5a ] 90 Audible Alarm Control Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Minimum, data= [ 0x01 ] 1 Item(Global): Logical Maximum, data= [ 0x03 ] 3 Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x5a ] 90 Audible Alarm Control Item(Main ): Input, data= [ 0x22 ] 34 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x0d ] 13 Item(Local ): Usage, data= [ 0xfd ] 253 iManufacturer Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Usage Page, data= [ 0x84 ] 132 Power Device Page Item(Local ): Usage, data= [ 0x1a ] 26 Input Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Global): Report ID, data= [ 0x0e ] 14 Item(Global): Usage Page, data= [ 0x84 ] 132 Power Device Page Item(Local ): Usage, data= [ 0x40 ] 64 Config Voltage Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Unit, data= [ 0x21 0xd1 0xf0 0x00 ] 15782177 System: SI Linear, Unit: Centimeter^2*Gram*Seconds^-3*Ampere^-1 Item(Global): Unit Exponent, data= [ 0x07 ] 7 Unit Exponent: 7 Item(Main ): Feature, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x0f ] 15 Item(Global): Report Size, data= [ 0x10 ] 16 Item(Local ): Usage, data= [ 0x30 ] 48 Voltage Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x10 ] 16 Item(Local ): Usage, data= [ 0x53 ] 83 Low Voltage Transfer Item(Global): Logical Minimum, data= [ 0xaa 0x00 ] 170 Item(Global): Logical Maximum, data= [ 0xb4 0x00 ] 180 Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x53 ] 83 Low Voltage Transfer Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Local ): Usage, data= [ 0x54 ] 84 High Voltage Transfer Item(Global): Logical Minimum, data= [ 0x04 0x01 ] 260 Item(Global): Logical Maximum, data= [ 0x0e 0x01 ] 270 Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x54 ] 84 High Voltage Transfer Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Local ): Usage, data= [ 0x1c ] 28 Output Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Global): Report ID, data= [ 0x12 ] 18 Item(Local ): Usage, data= [ 0x30 ] 48 Voltage Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Global): Unit Exponent, data= [ 0x00 ] 0 Unit Exponent: 0 Item(Global): Report ID, data= [ 0x13 ] 19 Item(Local ): Usage, data= [ 0x35 ] 53 Percent Load Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x14 ] 20 Item(Local ): Usage, data= [ 0x58 ] 88 Test Item(Global): Logical Maximum, data= [ 0x06 ] 6 Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x58 ] 88 Test Item(Main ): Input, data= [ 0x22 ] 34 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x15 ] 21 Item(Local ): Usage, data= [ 0x57 ] 87 Delay Before Shutdown Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Logical Minimum, data= [ 0xff ] 255 Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 Item(Global): Physical Minimum, data= [ 0xc4 ] 196 Item(Global): Physical Maximum, data= [ 0xc4 0xff 0x1d 0x00 ] 1966020 Item(Global): Unit, data= [ 0x01 0x10 ] 4097 System: SI Linear, Unit: Seconds Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x16 ] 22 Item(Local ): Usage, data= [ 0x56 ] 86 Delay Before Startup Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x17 ] 23 Item(Local ): Usage, data= [ 0x6e ] 110 Boost Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Physical Minimum, data= [ 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0x00 ] 0 Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x65 ] 101 Overload Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report Size, data= [ 0x06 ] 6 Item(Main ): Feature, data= [ 0x01 ] 1 Constant Array Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report ID, data= [ 0x18 ] 24 Item(Global): Report Size, data= [ 0x10 ] 16 Item(Local ): Usage, data= [ 0x44 ] 68 Config Active Power Item(Global): Logical Maximum, data= [ 0x84 0x03 ] 900 Item(Global): Unit, data= [ 0x21 0xd1 ] 53537 System: SI Linear, Unit: Centimeter^2*Gram*Seconds^-3 Item(Global): Unit Exponent, data= [ 0x07 ] 7 Unit Exponent: 7 Item(Main ): Feature, data= [ 0xa3 ] 163 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Global): Report ID, data= [ 0x1a ] 26 Item(Global): Usage Page, data= [ 0x01 0xff ] 65281 (null) Item(Global): Unit, data= [ 0x00 ] 0 System: None, Unit: (None) Item(Global): Unit Exponent, data= [ 0x00 ] 0 Unit Exponent: 0 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x02 ] 2 Item(Local ): Usage, data= [ 0x43 ] 67 (null) Item(Main ): Feature, data= [ 0xa2 ] 162 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Bitfield Item(Local ): Usage, data= [ 0x43 ] 67 (null) Item(Main ): Input, data= [ 0x23 ] 35 Constant Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Report ID, data= [ 0x1c ] 28 Item(Local ): Usage, data= [ 0xba ] 186 (null) Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Logical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535 Item(Local ): Usage, data= [ 0xbb ] 187 (null) Item(Main ): Feature, data= [ 0x22 ] 34 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Local ): Usage, data= [ 0xbc ] 188 (null) Item(Main ): Feature, data= [ 0x22 ] 34 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x10 ] 16 Item(Global): Logical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535 Item(Local ): Usage, data= [ 0xbd ] 189 (null) Item(Main ): Feature, data= [ 0xa2 0x01 ] 418 Data Variable Absolute No_Wrap Linear No_Preferred_State No_Null_Position Volatile Buffered Bytes Item(Main ): End Collection, data=none Item(Main ): End Collection, data=none Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 10 Device Status: 0x0000 (Bus Powered)