Hello
I have custom hardware with three ADRV9009 devices. I control these ADRV9009 devices using the ADI IIO Linux device driver release 2019_R2.
I have a situation where an ARM timeout occasionally happens when calling the TALISE_radioOff function. Initially I thought it was the setting of the LO frequency that was causing the problem but after adding extra print-outs to the ADRV9009 device driver code, I have been able to narrow it down to the point where the ADRV9009 is put into the radio off state before the LO frequency is set.
The following is the error message logged in dmesg:
[ 514.539322] adrv9009 spi1.1: ERROR: 247: TALISE_waitArmCmdStatus() failed due to thrown ARM error. ARM time out
Apart from this failure mode, the ADRV9009 devices are calibrating and work correctly.
I have tried the following:
1) I have increased the timeout to 10 seconds. The failure still happens. This makes me think that the ADRV9009 ARM must be in a hung state.
2) I can confirm that the issue only happens when a specific antenna signal is connected to the ADRV9009. Without any signal connected or with a fixed tone signal generator connected, the issue does not happen.
3) I reproduce the error by jumping around in LO frequencies between 170 and 430MHz. This results in many radio on / radio off function calls happening for each LO frequency change. There is no correlation between the LO frequency and when the ARM time out happens.
4) I have tried both ARM firmware version 6.0.2 and 6.2.1. The behaviour is the same on both.
Questions relating to the ADRV9009 ARM:
1) Is there a way to check if the ARM is running correctly?
2) What does the ARM do when the radio off command is received? Could any of this functionality cause the ARM to hang?
3) Is there any way that the input signal could affect what the ARM has to do when the radio off command is received? In other words, does the input signal affect what the ARM is doing?
I will post the profile in a separate post.
Since the ADRV9009 ARM is a black box to the end customer I am relying on ADI to please help diagnose what could be going wrong here. If this is the wrong forum for ADRV9009 ARM related questions, then please suggest a more appropriate forum.
Thank you.