In the begin:
When the DV10 was released by AOR in 2018 it was a horrible piece of sh*t. It had many obvious bugs and it took only a little while before discovered the receiver drifted badly. AOR always sort of denied these findings and claimed it was due to the rubber antenna(which is actually a air-band antenna). It still blows my mind that AOR never figured this out themselves.
Eventually AOR updated the firmware and added code that adjusted the oscillator based on the FPGA/CPU temperature to make it more stable. A real fix would have been a hardware fix, AOR just added bandage.
Ever since AOR added this drift fix code, there have been rumors of a upgraded DV10 with fixed hardware. These claims led to AOR it's "fake news" claims. I always said that if such device with fixed hardware would exist, the proof for this would be in the firmware, Simply because a device with a fixed hardware would not use the drift correction code. Proof of such code never existed in the firmware until 2101A.
Drift fix code:
Without getting too much into details, the drift fix code relied heavily on two functions: temperature_to_pll and temperature_to_offset.
These functions take a temperature and calculate the PLL and offset which is then used to adjust the oscillator.
This kinda worked on my older receiver, until recently..
2101A:
Recently i noticed my device was drifting again, most noticeable on digital signals.
After having a look at the recent firmware code, i noticed that the temperature_to_pll and temperature_to_offset functions now had a extra check added that disabled/modified these routines.
This check can be controlled with the "BD" serial command. When BD is set to 1, it means the the drift fix code is disabled, when set to 0 it means it's enabled.
The BD serial command allows you to change this setting temporarily(until restart) and it seems it can only be set permanently in the AOR factory. My device was set to BD = 1 and I had to hack it to restore it like they do in the factory. Basically i had to reprogram my serial number.
Serial command output:
>> BD
20BD1
>> BD0
20
>> BD
20BD0
What does this mean:
We can speculate about this, but this could be a first sign that AOR indeed released a fixed device silently. I always expected the firmware would do a serial number check to determine if it's a new or old version, but it now seems this is stored in the Flash memory from within the factory.
You can try the BD serial command yourself to see how it affects your receiver, the setting is non permanent but could be made permanent with modified firmware.
Attached are the bindiff results of the old fimware on the left and the new one on the right, both functions now start with check of the BD_Flag and based on that chooses its code path. On the pll side of things it would use different variables and on the offset side of things it would return a offset of 0.. when BD_flag is set to 1
When the DV10 was released by AOR in 2018 it was a horrible piece of sh*t. It had many obvious bugs and it took only a little while before discovered the receiver drifted badly. AOR always sort of denied these findings and claimed it was due to the rubber antenna(which is actually a air-band antenna). It still blows my mind that AOR never figured this out themselves.
Eventually AOR updated the firmware and added code that adjusted the oscillator based on the FPGA/CPU temperature to make it more stable. A real fix would have been a hardware fix, AOR just added bandage.
Ever since AOR added this drift fix code, there have been rumors of a upgraded DV10 with fixed hardware. These claims led to AOR it's "fake news" claims. I always said that if such device with fixed hardware would exist, the proof for this would be in the firmware, Simply because a device with a fixed hardware would not use the drift correction code. Proof of such code never existed in the firmware until 2101A.
Drift fix code:
Without getting too much into details, the drift fix code relied heavily on two functions: temperature_to_pll and temperature_to_offset.
These functions take a temperature and calculate the PLL and offset which is then used to adjust the oscillator.
This kinda worked on my older receiver, until recently..
2101A:
Recently i noticed my device was drifting again, most noticeable on digital signals.
After having a look at the recent firmware code, i noticed that the temperature_to_pll and temperature_to_offset functions now had a extra check added that disabled/modified these routines.
This check can be controlled with the "BD" serial command. When BD is set to 1, it means the the drift fix code is disabled, when set to 0 it means it's enabled.
The BD serial command allows you to change this setting temporarily(until restart) and it seems it can only be set permanently in the AOR factory. My device was set to BD = 1 and I had to hack it to restore it like they do in the factory. Basically i had to reprogram my serial number.
Serial command output:
>> BD
20BD1
>> BD0
20
>> BD
20BD0
What does this mean:
We can speculate about this, but this could be a first sign that AOR indeed released a fixed device silently. I always expected the firmware would do a serial number check to determine if it's a new or old version, but it now seems this is stored in the Flash memory from within the factory.
You can try the BD serial command yourself to see how it affects your receiver, the setting is non permanent but could be made permanent with modified firmware.
Attached are the bindiff results of the old fimware on the left and the new one on the right, both functions now start with check of the BD_Flag and based on that chooses its code path. On the pll side of things it would use different variables and on the offset side of things it would return a offset of 0.. when BD_flag is set to 1
Attachments
Last edited: