Then the error is a count mismatch. Count the data bytes manually. If the slave says 04 (4 data bytes) but sends 6, the slave is broken. The fix is to use a different protocol or update slave firmware.
Here’s an interesting, technically focused review of a issue where a “bytes missing” error was fixed—written from the perspective of a power systems engineer or SCADA integrator who encountered the problem in a real-world deployment. modbus poll bytes missing error fixed