-
-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CPS: patch HID Report Descriptor to fix "output.voltage" #439
Comments
Original HID Report Descriptor patcher issue is #169 |
networkupstools/nut#439 is the likely culprit when `output.voltage` is very close to `input.transfer.high`.
what's the status of this issue? I'm experiencing the same thing for a CyberPower CP1000PFCLCD UPS. Both the output voltage & battery voltage are incorrect. |
I would also love to hear if anyone has looked in to this further |
Any update on this? My CyberPower CP1500PFCLCD shows an output.voltage of 142.0 |
👋🏼 having the same issue here with my CP1500PFCLCD |
Having this issue with CP1500AVRLCD. Any updates or workarounds? |
Chiming in to say I'm experiencing the same with my CP1500EPFLCD. Output voltage shows a frightening 263.0-264.0v, but is actually 230ish volts. Hope there is some workaround for this for now.
|
I have the same issue, with my CP1300EPFCLCD
when I run |
@wmigas I have a CP1500EPFCLCD - it's not always input + 32, sometimes it drops to a hard 260v e: the lowest input.voltage i've ever recorded (other than when unplugged) is 225 and output.voltage didn't drop below 260 then either so it seems to have that as a min (here's a screenshot of both random drops to 260 and a spot where it's +32 right until that would drop it below 260 |
@spootle thank you for confirming it. I will try to play with it and check usb data which are send from USB but as clepple has mentioned probably the limit is linked to the broken HID Report Descrptor |
I have CP1500EPFCLCD and I don't know if this will help in any way but I have noticed that what currently see as the output voltage follows the formula (you can see it on the graph):
260 has also happens to match the high transfer point but that can also be just a coincidence. |
Looking at the second graph on #439 (comment) it seems that
|
I have no knowledge of USB HID devices. So please excuse my stupid question. Running
Shouldn't value for UPS.Output.Voltage be 242? 0x00f2 is 242. I'll try to cut the input power later today and will check what I see in UPS.Output.Voltage |
@bardpc I'm not an expert and I started reading documentation couple days ago, but it look like, that HID Report Descriptor which describes data structure is broken. If you run your command with more "D" letters you will see more debug data like this
I get e0 which is 224, but I returns 260. in case e5 which is 229 |
Has anybody compared the results with Cyberpower's own Linux based software? |
I see the same problem with my CP900EPFCLCD running firmware
f3 is 243v which is what the front panel was showing but upsc is reporting 260v as above. The pwrstat utility from CyberPower shows the correct voltage (for the measurement time) so doesnt exhibit the same fault:
I also have a problem with the Battery voltage which is showing as 24v when it contains only 1 12v lead acid cell. The serial # of the UPS is showing 000000000 as well. I have capture the USB traffic when running pwrstat as raw hex but trying to work out what its actually doing might prove difficult. |
Looking a little further (at least on my CP900EPFCLCD) the output voltage issue could be fixed by overriding the logic in libhid.c where the usbhid defined LogMax or LogMin limits are applied. This would expose the value rather than masking it. I guess a driver config option could be introduced to make it generally configurable. Is that an acceptable approach? If so I could write the code. In my case the value is correct at but I would suggest external programs (like graphing applications) could apply any arithmetic fixes needed for other models. Regarding the battery voltages reading 24v not 12v I havent seen any values change yet (a little suspicious given the 0.1v resolution*) but it does look like the UPS is simply mis-reporting the value via the usbhid protocol based on it's incorrect notion of the battery fitted.
Not a lot can be done to fix these other than applying the corrections externally. *Does anyone else see |
I have seen mention elsewhere there are no battery voltage sensors installed in these units so it never changes (same reason pwrstat doesn't report any value) |
I saw that but then wondered why they bother to render it on the unit LCD if that was the case. Internally they must measure the voltage to determine the state of charge (or discharge for updating the remaining run time and declaring LB). I know it's a domestic class product (not a professional system like I am used to) but even so I would have thought they would add features where it is trivial to do. |
there was bug in hid parser which return incorrect value in my case 0xea (234) to 0x10A (266) I've tracked the issues, but it looks like it has been fixed in #1040. to fix output value, there are only 2 options:
|
I have a fix as per your option 1 above which works with my CPS900EPFCLCD. I will be submitting this as a pull request very shortly. |
I've made fix which works for me and I would like to create PR, but I was thinking about more general solution. I've asked cleepple about his thought, see #169. It is not full solution, but at list on the subdriver level we will be able to fix Report descriptor. see changes in my fork wmigas@8af66bd |
Mine works as a general solution framework by creating another subdriver
function that can be called from the HID Parser By doing this any
fix for a manufacturer can be coded and constrained in its own file
rather than polluting the common code with exceptions. In the general
case a stub function is called which does nothing but return a false flag.
I tested it today and it also works with the libusb-1.0 branch too.
I just need to get it back from the target computer to one with an
internet connection so I can create the PR. I might get this done later
today - if not it will be immediately after Christmas.
regards
Dave
…On 07:36, Fri 24 Dec 21, Wojciech Migas wrote:
I've made fix which works for me and I would like to create PR, but I was thinking about more general solution. I've asked cleepple about his thought, see #169. It is not full solution, but at list on the subdriver level we will be able to fix Report descriptor. see changes in my fork wmigas@8af66bd
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you commented.
Message ID: ***@***.***>
|
I have a CP1500PFCLCD and I'm still having this issue. The fix in #1245 seems to only apply to the CP*EPFCLCD series (looks like the EU model?) with productID 0x0501. The US CP*PFCLCD series with productID 0x0601 still reports the output voltage as 136V all the time. Would that fix work for this model as well? Seem like it would just take modifying a single conditional if so. Edit: Looks like I'm wrong about the differentiation in productID between those two product lines–nonetheless, the current model of CP1500PFCLCD that I have has a productID of 0x0601, so that fix doesn't currently apply. |
Fix applies to the US versions as well. I was having that issue. It also appears to be merged into the current code as well
Get BlueMail for Android
…On Jun 23, 2022, 20:59, at 20:59, nesanakin ***@***.***> wrote:
I have a CP1500PFCLCD and I'm still having this issue. The fix in #1245
seems to only apply to the CP*EPFCLCD series (looks like the EU model?)
with productID 0x0501. The US CP*PFCLCD series with productID 0x0601
still reports the output voltage as 136V all the time. Would that fix
work for this model as well? Seem like it would just take modifying a
single conditional if so.
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
I have same problem with my CP1000PFCLCD (vendor#: 0x0601) in 2.8.0, and its voltage output is wrong (it displays 135v and seldomly varies but not match the lcd panel) |
The product ID for cyberpower is 0x0764. Did you mean product ID?
if so the fix will not be applied as it only addresses models with
productID 0x0501. It may be the same issue. Please can you run the
driver under debug and report back the logs during the HID parsing
process?
…On 08:57, Fri 08 Jul 22, Kuo-Teng Ding wrote:
I have same problem with my CP1000PFCLCD (vendor#: 0x0601) in 2.8.0, and its voltage output is wrong (it displays 135v and seldomly varies but not match the lcd panel)
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
ths for the reply! Should I start with another issues? the debug message: [root@localhost ~]# lsusb -v -s 001
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 5.10
iManufacturer 3 Linux 5.10.23-v8.1.1.el8 dwc_otg_hcd
iProduct 2 DWC OTG Controller
iSerial 1 3f980000.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0019
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0008
Ganged power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered [root@localhost ~]# upsc -l
cyberups1000v
[root@localhost ~]# upsc cyberups1000v
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 1550
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 13.8
battery.voltage.nominal: 12
device.mfr: CPS
device.model: CP1000PFCLCDa
device.serial: CX3LT2000019
device.type: ups
driver.name: usbhid-ups
driver.parameter.bus: 001
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.product: CP1000PFCLCDa
driver.parameter.productid: 0601
driver.parameter.serial: CX3LT2000019
driver.parameter.synchronous: auto
driver.parameter.vendor: CPS
driver.parameter.vendorid: 0764
driver.version: 2.8.0
driver.version.data: CyberPower HID 0.6
driver.version.internal: 0.47
driver.version.usb: libusb-1.0.23 (API: 0x1000107)
input.voltage: 114.0
input.voltage.nominal: 120
output.voltage: 135.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 23
ups.mfr: CPS
ups.model: CP1000PFCLCDa
ups.productid: 0601
ups.realpower.nominal: 600
ups.serial: CX3LT2000019
ups.status: OL
ups.test.result: Done and passed
ups.timer.shutdown: -60
ups.timer.start: -60
ups.vendorid: 0764
|
Stop nut then run
/lib/nut/usbhid-ups -DDDDD -a cyberpower 2>&1 | tee /root/cyberpower.log
for about 15 seconds then ctrl-c
This should show the HID being parsed enough for us to check to see if
it is the same firmware issue as on the other models. if so the fix is
easy vy simply extending to cover your product.
regards
Dave
…On 10:24, Sat 09 Jul 22, Kuo-Teng Ding wrote:
ths for the reply! Should I start with another issues?
I ran the `lsusb` and `upsc`. Could you provide the exact command you want me to run if you want a further infomations?
And I wanna correct details about my problem, it seems like it always displays "135v" for output.voltage.
the debug message:
```sh
***@***.*** ~]# lsusb -v -s 001
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 5.10
iManufacturer 3 Linux 5.10.23-v8.1.1.el8 dwc_otg_hcd
iProduct 2 DWC OTG Controller
iSerial 1 3f980000.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0019
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0008
Ganged power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
```
```sh
***@***.*** ~]# upsc -l
cyberups1000v
***@***.*** ~]# upsc cyberups1000v
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 1550
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 13.8
battery.voltage.nominal: 12
device.mfr: CPS
device.model: CP1000PFCLCDa
device.serial: CX3LT2000019
device.type: ups
driver.name: usbhid-ups
driver.parameter.bus: 001
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.product: CP1000PFCLCDa
driver.parameter.productid: 0601
driver.parameter.serial: CX3LT2000019
driver.parameter.synchronous: auto
driver.parameter.vendor: CPS
driver.parameter.vendorid: 0764
driver.version: 2.8.0
driver.version.data: CyberPower HID 0.6
driver.version.internal: 0.47
driver.version.usb: libusb-1.0.23 (API: 0x1000107)
input.voltage: 114.0
input.voltage.nominal: 120
output.voltage: 135.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 23
ups.mfr: CPS
ups.model: CP1000PFCLCDa
ups.productid: 0601
ups.realpower.nominal: 600
ups.serial: CX3LT2000019
ups.status: OL
ups.test.result: Done and passed
ups.timer.shutdown: -60
ups.timer.start: -60
ups.vendorid: 0764
```
> The product ID for cyberpower is 0x0764. Did you mean product ID? if so the fix will not be applied as it only addresses models with productID 0x0501. It may be the same issue. Please can you run the driver under debug and report back the logs during the HID parsing process?
> […](#)
> On 08:57, Fri 08 Jul 22, Kuo-Teng Ding wrote: I have same problem with my CP1000PFCLCD (vendor#: 0x0601) in 2.8.0, and its voltage output is wrong (it displays 135v and seldomly varies but not match the lcd panel) -- Reply to this email directly or view it on GitHub: [#439 (comment)](#439 (comment)) You are receiving this because you were mentioned. Message ID: ***@***.***>
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
there is it, ths anyway :) [root@localhost ~]# /lib/nut/usbhid-ups -DDDDD -a cyberups1000v 2>&1 | tee /root/cyberpower.log
0.000000 [D3] main_arg: var='driver' val='usbhid-ups'
0.000133 [D3] main_arg: var='port' val='auto'
0.000182 [D5] send_to_all: SETINFO driver.parameter.port "auto"
0.001131 [D3] main_arg: var='vendorid' val='0764'
0.001714 [D5] send_to_all: SETINFO driver.parameter.vendorid "0764"
0.002020 [D3] main_arg: var='productid' val='0601'
0.002523 [D5] send_to_all: SETINFO driver.parameter.productid "0601"
0.003044 [D3] main_arg: var='product' val='CP1000PFCLCDa'
0.003483 [D5] send_to_all: SETINFO driver.parameter.product "CP1000PFCLCDa"
0.003837 [D3] main_arg: var='desc' val='CP UPS'
0.003877 [D3] main_arg: var='serial' val='CX3LT2000019'
0.004140 [D5] send_to_all: SETINFO driver.parameter.serial "CX3LT2000019"
0.004460 [D3] main_arg: var='vendor' val='CPS'
0.005149 [D5] send_to_all: SETINFO driver.parameter.vendor "CPS"
0.005195 [D3] main_arg: var='bus' val='001'
0.005590 [D5] send_to_all: SETINFO driver.parameter.bus "001"
0.006212 [D1] debug level is '5'
0.024243 [D5] send_to_all: SETINFO device.type "ups"
0.024325 [D2] Initializing an USB-connected UPS with library libusb-1.0.23 (API: 0x1000107) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.43')
0.024347 [D1] upsdrv_initups (non-SHUT)...
0.042954 [D2] Checking device 1 of 4 (0764/0601)
0.046592 [D2] - VendorID: 0764
0.046643 [D2] - ProductID: 0601
0.046661 [D2] - Manufacturer: CPS
0.046679 [D2] - Product: CP1000PFCLCDa
0.046697 [D2] - Serial Number: CX3LT2000019
0.046714 [D2] - Bus: 001
0.046732 [D2] - Device: unknown
0.046750 [D2] - Device release number: 0200
0.046767 [D2] Trying to match device
0.046793 [D2] match_function_subdriver (non-SHUT mode): matching a device...
0.047096 [D3] match_function_regex: matching a device...
0.047536 [D2] Device matches
0.047573 [D2] Reading first configuration descriptor
0.047639 [D3] libusb_kernel_driver_active() returned 0
0.047677 [D2] failed to claim USB device: Resource busy
0.047706 [D2] Kernel driver already detached
0.047732 [D2] failed to claim USB device: Resource busy
0.047761 [D2] Kernel driver already detached
0.047785 [D2] failed to claim USB device: Resource busy
0.047810 [D2] Kernel driver already detached
0.047842 [D2] failed to claim USB device: Resource busy
0.047867 [D2] Kernel driver already detached
0.047897 Can't claim USB device [0764:0601]@0/0: Entity not found
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
|
Looks like nut oe something similar still running....?
…On 05:43, Sun 10 Jul 22, Kuo-Teng Ding wrote:
there is it, ths anyway :)
```sh
***@***.*** ~]# /lib/nut/usbhid-ups -DDDDD -a cyberups1000v 2>&1 | tee /root/cyberpower.log
0.000000 [D3] main_arg: var='driver' val='usbhid-ups'
0.000133 [D3] main_arg: var='port' val='auto'
0.000182 [D5] send_to_all: SETINFO driver.parameter.port "auto"
0.001131 [D3] main_arg: var='vendorid' val='0764'
0.001714 [D5] send_to_all: SETINFO driver.parameter.vendorid "0764"
0.002020 [D3] main_arg: var='productid' val='0601'
0.002523 [D5] send_to_all: SETINFO driver.parameter.productid "0601"
0.003044 [D3] main_arg: var='product' val='CP1000PFCLCDa'
0.003483 [D5] send_to_all: SETINFO driver.parameter.product "CP1000PFCLCDa"
0.003837 [D3] main_arg: var='desc' val='CP UPS'
0.003877 [D3] main_arg: var='serial' val='CX3LT2000019'
0.004140 [D5] send_to_all: SETINFO driver.parameter.serial "CX3LT2000019"
0.004460 [D3] main_arg: var='vendor' val='CPS'
0.005149 [D5] send_to_all: SETINFO driver.parameter.vendor "CPS"
0.005195 [D3] main_arg: var='bus' val='001'
0.005590 [D5] send_to_all: SETINFO driver.parameter.bus "001"
0.006212 [D1] debug level is '5'
0.024243 [D5] send_to_all: SETINFO device.type "ups"
0.024325 [D2] Initializing an USB-connected UPS with library libusb-1.0.23 (API: 0x1000107) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.43')
0.024347 [D1] upsdrv_initups (non-SHUT)...
0.042954 [D2] Checking device 1 of 4 (0764/0601)
0.046592 [D2] - VendorID: 0764
0.046643 [D2] - ProductID: 0601
0.046661 [D2] - Manufacturer: CPS
0.046679 [D2] - Product: CP1000PFCLCDa
0.046697 [D2] - Serial Number: CX3LT2000019
0.046714 [D2] - Bus: 001
0.046732 [D2] - Device: unknown
0.046750 [D2] - Device release number: 0200
0.046767 [D2] Trying to match device
0.046793 [D2] match_function_subdriver (non-SHUT mode): matching a device...
0.047096 [D3] match_function_regex: matching a device...
0.047536 [D2] Device matches
0.047573 [D2] Reading first configuration descriptor
0.047639 [D3] libusb_kernel_driver_active() returned 0
0.047677 [D2] failed to claim USB device: Resource busy
0.047706 [D2] Kernel driver already detached
0.047732 [D2] failed to claim USB device: Resource busy
0.047761 [D2] Kernel driver already detached
0.047785 [D2] failed to claim USB device: Resource busy
0.047810 [D2] Kernel driver already detached
0.047842 [D2] failed to claim USB device: Resource busy
0.047867 [D2] Kernel driver already detached
0.047897 Can't claim USB device ***@***.***/0: Entity not found
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
```
> Stop nut then run /lib/nut/usbhid-ups -DDDDD -a cyberpower 2>&1 | tee /root/cyberpower.log for about 15 seconds then ctrl-c This should show the HID being parsed enough for us to check to see if it is the same firmware issue as on the other models. if so the fix is easy vy simply extending to cover your product. regards Dave
> […](#)
> On 10:24, Sat 09 Jul 22, Kuo-Teng Ding wrote: ths for the reply! Should I start with another issues? I ran the `lsusb` and `upsc`. Could you provide the exact command you want me to run if you want a further infomations? And I wanna correct details about my problem, it seems like it always displays "135v" for output.voltage. the debug message: ```sh ***@***.*** ~]# lsusb -v -s 001 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 5.10 iManufacturer 3 Linux 5.10.23-v8.1.1.el8 dwc_otg_hcd iProduct 2 DWC OTG Controller iSerial 1 3f980000.usb bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0019 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 1 wHubCharacteristic 0x0008 Ganged power switching Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 1 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered ``` ```sh ***@***.*** ~]# upsc -l cyberups1000v ***@***.*** ~]# upsc cyberups1000v battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 20 battery.mfr.date: CPS battery.runtime: 1550 battery.runtime.low: 300 battery.type: PbAcid battery.voltage: 13.8 battery.voltage.nominal: 12 device.mfr: CPS device.model: CP1000PFCLCDa device.serial: CX3LT2000019 device.type: ups driver.name: usbhid-ups driver.parameter.bus: 001 driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.product: CP1000PFCLCDa driver.parameter.productid: 0601 driver.parameter.serial: CX3LT2000019 driver.parameter.synchronous: auto driver.parameter.vendor: CPS driver.parameter.vendorid: 0764 driver.version: 2.8.0 driver.version.data: CyberPower HID 0.6 driver.version.internal: 0.47 driver.version.usb: libusb-1.0.23 (API: 0x1000107) input.voltage: 114.0 input.voltage.nominal: 120 output.voltage: 135.0 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.load: 23 ups.mfr: CPS ups.model: CP1000PFCLCDa ups.productid: 0601 ups.realpower.nominal: 600 ups.serial: CX3LT2000019 ups.status: OL ups.test.result: Done and passed ups.timer.shutdown: -60 ups.timer.start: -60 ups.vendorid: 0764 ``` > The product ID for cyberpower is 0x0764. Did you mean product ID? if so the fix will not be applied as it only addresses models with productID 0x0501. It may be the same issue. Please can you run the driver under debug and report back the logs during the HID parsing process? > […](#) > On 08:57, Fri 08 Jul 22, Kuo-Teng Ding wrote: I have same problem with my CP1000PFCLCD (vendor#: 0x0601) in 2.8.0, and its voltage output is wrong (it displays 135v and seldomly varies but not match the lcd panel) -- Reply to this email directly or view it on GitHub: [#439 (comment)]([#439 (comment)](#439 (comment))) You are receiving this because you were mentioned. Message ID: ***@***.***> -- Reply to this email directly or view it on GitHub: [#439 (comment)](#439 (comment)) You are receiving this because you were mentioned. Message ID: ***@***.***>
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
oops...sorry
|
From the logs it IS the same firmware fault with LogMin from report ID
0x10 being applied to report ID 0x12. If you look it has the value 135.
I am away from my PC atm but will raise a pull request with a fix when I
can. It is a trivial fix.
Dave
…On 09:43, Sun 10 Jul 22, Kuo-Teng Ding wrote:
oops...sorry
I killed all the nut related process and got the file
[cyberpower.log](https://github.com/networkupstools/nut/files/9079448/cyberpower.log)
--
Reply to this email directly or view it on GitHub:
#439 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
Hi just to add here over an install with the CP1500PFCLCD , vendorid = 0764 / prodid:0501 , i also got the issues of wrong output voltage as being : 136v. It's a fully working unit and confirm a steady 120v and also via the cyberpower app. Is there a fix plan as a new release ? |
I suppose you use NUT 2.7.4 packaged in Debian? There was a push for 2.8.0
in staging, but that's a distro's business what and when they deliver :(
…On Wed, Aug 10, 2022, 23:01 docop ***@***.***> wrote:
Hi just to add here over an install with the CP1500PFCLCD , vendorid =
0764 / prodid:0501 , i also got the issues of wrong output voltage as being
: 136v. It's a fully working unit and confirm a steady 120v and also via
the cyberpower app. Is there a fix plan as a new release ?
-ref; using nut linux version or linux over debian same.
—
Reply to this email directly, view it on GitHub
<#439 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAMPTFGQAFQQ7NTYDQNP3YDVYQKD5ANCNFSM4DN56UCA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
Followed-up by PR #2718 presumed to have fixed the broken CPS input/output voltage reports in some other cases than this issue originally addressed. |
Observed in issue #337 (comment)
and on nut-upsuser.
Report ID 18 seems to be inheriting Logical Minimum/Logical Maximum from Report ID 16:
I'm pretty sure this is not a bug in the NUT HID parser, but feel free to correct me. (There are other places in the CPS HID Report Descriptor that seem to mix up the locations of the parser tokens relative to Input/Output/Feature.)
The text was updated successfully, but these errors were encountered: