Incorrect CRC calculation in Riello driver. #2137
Labels
bug
impacts-release-2.8.0
Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks)
Riello
Riello UPS devices (serial, usb), usually with a variant of Qx protocol
Milestone
In file nut/drivers/riello.c
This line:
pom = (pom << 8) ^ (pom << 3) ^ (pom >> 4);
was replaced by:
pom = (uint16_t)(pom << 8);
pom ^= (pom << 3);
pom ^= (pom >> 4);
This is wrong changes.
The result of CRC calculation was changed.
UPS does not working with this change and change should be reverted.
This "optimization" was introduced here:
6a2e042
Issue was found during upgrade Debein 11 -> 12.
from
Network UPS Tools - Riello serial driver 0.03 (2.7.4)
to
Network UPS Tools - Riello serial driver 0.07 (2.8.0)
The text was updated successfully, but these errors were encountered: