Failure of encoder index search

I am running v0.5.4 v3.6 hardware. I can run the motor calibration and the encoder offset fine.when the index search is started, nothing happens except the axis state changes to 6 for a short while. Use encoder index and use encoder offset are both set to true. No load on motor, will complete motor full calibration. I even connected the encoder Z input to 0 volts, still no movement so it is not noise. The motor never turns on, I can manually turn the motor shaft during test. No resistance. Using shielded encoder cable, grounded at one end. I am at wits end here. Anything else that I can try?

Hmm, what’s the value of axisX.encoder.index_found before and after the index search? Have you changed any of the parameters of axisX.calibration_lockin.*?

Before and after search:

.axis0.encoder.index_found
Out[8]: True

calibration_lockin:
accel: 20.0 (float)
current: 10.0 (float)
ramp_distance: 3.1415927410125732 (float)
ramp_time: 0.4000000059604645 (float)
vel: 40.0 (float)

Also:
is_ready: True (bool)
phase: -1.108576774597168 (float)

It’s interesting that index_found = True even before the index search.

Can you try this?

odrv0.axis0.encoder.config.find_idx_on_lockin_only = True
odrv0.save_configuration()

Then that should force the index search spin-up, and you should only see index_found=True after calibration completes.

Also, if you want to run odrivetool backup-config config.json and upload that here, that would be helpful to see the general configuration. Also, what encoder and motor are you using?