One of the most common problems when trying to complete the learning cycle is having the Update Status (Learned Status) not transition from 0x05 to 0x06. This transition indicates that the gauge has updated the Ra (resistance) table.
The most common reason for this problem occurring is having the wrong Chem ID programmed onto the gauge. There is a simple way of checking this. If the RDIS, R_DIS or RUP_DIS bit is set during the second discharge portion of the Learning Cycle then there is a high chance the wrong Chem ID is programmed on the gauge. The reason for this failure is from the preset DOD being tracked by the coulomb counter during an active discharge will indicate to the gauge that the OCV is lower than the load voltage, leading to a negative resistance calculation. The disabled resistance update flag can be checked in the BQStudio log file.
Sometimes, a high discharge rate could cause the Update Status not transition from 0x05 to 0x06. If the Learning Cycle failed with a discharge rate of C/5 or C/6, re-running the learning cycle with a rate of C/9 or C/10 could cause the learning cycle to complete successfully. Trying the learning cycle with a discharge current less than C/10 will also disqualify the Ra table update and prevent Update Status from incrementing to 0x06.