Calibration fails, width encoder pulses vary

This is what I have:

Encoder CUI AMT 102. 2000 cpr, but as encoder is mounted on gearbox axis 1:20, it is 100 counts per motor rotation.
Motor: BLDC, 2 pole pairs, 24V, rated current 10A
Power supply 24VDC

Test1:
I turn the encoder hole about 1 rotation by hand with a screwdriver. odrv0.axis0.encoder.shadow_count = 2008 OK.

Test2:
I now mount the encoder onto the gearbox axis on which also the wheel is mounted.
In my settings I have: odrv0.axis0.encoder.config.cpr = 100

Command: odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
Wheel turns in one direction and then stops. Error encoder = 2
odrive pulls 1.2A during calibration cycle.
Scope: Both signals clean blocks, no noise, but encoder pulses vary in width, the widest is almost twice as wide as the narrowest.

Test3:
I turn the wheel with my hand as constant as I can.
Scope: now shows constant pulse widths.

Anyone can tell me what is wrong here? Maybe vibrations of the motor but maybe there is a parameter to compensate that?
Thanks a lot!