• DepthAI
  • OAK POE's AF failure with bootloader 0.26

I have tested it with OAK-1-POE, OAK-D-POE, and 2 OAK-D-POE-PROs with AF color cameras. After updating the bootloaders (OAK-D-POE and OAK-1-POE were on 0.21 previously, and it worked as expected) via device_manager.py, the AF functionality is very strange. The camera will autofocus one time....that's the first time it wakes up, and you can see it going back and forth in and out of focus until it locks into a lens position. After that first time, you never see it doing that again. And you can setManualFocus(lens_pos) and the ctrl.setAutoFocusMode(dai.CameraControl.AutoFocusMode.OFF), and then if you try to set for ANY lens position, it will record the change in the lens_pos variable, but it doesn't seem to actually be calling the MOVE_LENS function embedded within the wrapper. This repeated for each of the 4 cameras....once updated, they no longer react to any lens position change, other than the metadata

What's the easiest way to downgrade the bootloaders? I have found that 0.21 and 0.22 work fine. 0.26 definitely isn't working as expected for me.

Hi @robotaiguy
Downgrade depthai version, then open device_manager.py. Then you can flash the version coupled with the depthai library.

We will check the issue.

Thanks,
Jaka

Yesterday, we tested exactly what you suggested. We went back every release that had a bootloader change. We tried 0.21, 0.23, 0.24, and 0.26 and they all have the same issue. However, I bought 4 new OAK-D-POE-PROs with AF and they arrived with 0.22 bootloaders, and I can "setManualFocus(lens_pos)" and it will trigger the MOVE_LENS command to the lens_pos value. If I update the bootloader to any version aside from 0.22, it will autofocus when it starts, but using the setManualFocus(lens_pos) method only updates the lens position value, but doesn't trigger the MOVE_LENS command, and you don't hear the click.
Do you understand what I'm describing?

    Yes, we have used that same script. We even stripped it down to only have focus in it to make it simpler and still issues. Are you saying that you are able to move the lens position manually with an OAK-D-POE-PRO-AF on bootloader 0.26? How are you determining that it's moving the lens, by the image getting blurry and clearer? Or the value changing?

    How about this? How can I get that bootloader 0.22 that does work for us? We can't find it published anywhere on the web...can't find it in the artifactory or anything. I can only find it on the units that came from the factory with it. I have a couple.

    Connected to OAK at 192.168.254.112 with MX id: 18443010C1B79C0F00
    Bootloader version: 0.0.22
    bootloader type: Type.NETWORK
    NETWORK Bootloader, is User Bootloader: False
    Memory 'Memory.FLASH' size: 67108864, info: JEDEC ID: C2 25 3A
    Application name: , firmware version: f033fd9c7eb0b3578d12f90302e87759c78cfb36
    Memory 'EMMC' not available...

    How can I extract this version 0.0.22 from this OAK and save it to a file?
    Because at this point, I'll give up the IMU sensor drivers for a short period until we can work this out, but every OAK-D-POE-PRO-AF that I have with this bootloader, works...the others that I upgraded to 0.0.26 don't work.

    You can see the focus changing here on this unit, as expected.

    But on this unit, the lens doesn't actually move. It will change the VALUE of the lens_position, but it never calls the Command.MOVE_LENS method.


      UPDATE AND CORRECTION:
      We received 2 new units from Amazon and Mouser, one with 0.0.22 and the other with 0.0.25, and both worked as expected.
      Then we went ahead and upgraded the bootloader on both units to 0.0.26 and they each continued to work as expected.

      So the problem IS NOT the bootloader version, which is great news.
      We have not identified the source of the issue. But we did find that within 5 new OAK-D-POE-PRO-AF units there were 3 different AF modules, although each sensor identifies as the Sony IMX378. The first and 3rd look like mirror opposites of each other, but if you look closely you can see that one looks like it wants to spin clockwise, and the other counterclockwise. And the 2nd one is completely different, but was the most frequently found. After I get back to the installation location, I can report back which one had the locked lens. The one on my bench, I have to redo the test because I failed to separate it from the pack and I'm unsure which of them it was now. But the one that's installed is the only one powered up on-site, so should be easy to tell after the 1st.