Reference data not usable error when trying to set read password
I have code running on a few thousand units in the field and on the whole they work perfectly, however I'm seeing this problem in a few of the packs and wondered if anyone had seen it themselves or know what causes it or even better what i need to do to stop it occuring.
I don't know what causes the problem but at some point the App we have designed is no longer able to access the NDEF record to read its data. When we get the units back and do a restart the problem doesn't go away. The restart process sets the both read and write passwords and enables them and the only failure in this process is that I get 0x69 0x84 ( Reference data not usable) back from the M24SR when trying to enable the read password. The phone cannot read it with the password i have given it, with a password of just 0's or no password so its like the m24sr has got itself into an unknown state. At no point during this entire process is the M24SR power cycled.
the code is as follows
if(M24SR_Verify( I2C_PWD ,0x10 ,pCurrentWritePassword ) == M24SR_PWD_CORRECT)
{
/* Set new password */
M24SR_ChangeReferenceData ( READ_PWD, pNewPassword );
M24SR_EnableVerificationRequirement( READ_PWD );
status = SUCCESS;
}
what i find odd is that the write password has no issue and does the same process
/* check we have the good password */
if (M24SR_Verify( I2C_PWD ,0x10 ,pCurrentWritePassword )== M24SR_PWD_CORRECT)
{
/* Set new password */
M24SR_ChangeReferenceData ( WRITE_PWD, pNewPassword );
M24SR_EnableVerificationRequirement( WRITE_PWD );
status = SUCCESS;
}
so anybody got any ideas and also if you need more info then let me know
Thanks
Luke
