Rock 3A Camera support

No, I didn’t buy IMX327. I’m still using 4.19.193 which is a bit outdated but works fine with OV5647. Maybe if you try to get it to work you should go with 4.19.219.

Sorry, I don’t know of any other camera to support 1080p/60, maybe the veye-327e with its driver can.

Update: I have ordered an imx219 camera (US$ 10) to see if i can get it to work, if it work i will be tempted to get IMX327. It takes at least ~45 days to get here.

Dot (need reminder if you comment for imx219)

I found the SD card today and reviewed the result of ov5647 640x480@60. imx327 is still expensive to try out. imx219 has better quality, but the calibration file given to me is a bit off for my kernel. I will try the radxa calibration file and compare the results.

Hello everyone, I’ve been reading all your posts

I was able to get rkaiq_3A_server running with my IMX586

Colors look good. But I don’t have auto-exposure, it is not working. Exposure is not adjusting itself

I am using Buildroot and compiled rkaiq_3A_server from Firefly repos

Any suggestion as to what to test or what to look for?

I think if you use the 3A engine you can’t control exposure by simply changing it. In the previous camera engine version (kernel 4.19) there was an example of how to change the exposure, which looked like the Android way to me.

You can try a trick and see if it works fir you, start your camera session then stop the camera engine , and now try to change the exposure. It used to work for me, but now i use 3A engine (imx219).

Are you using Rock 3A with IMX586? Can you share more info on how you attached it and about the driver and kernel version?

Hello avaf, thanks as always for your help.

I don’t mean adjusting the exposure by myself. I can actually change it through v4l2-ctl even with 3A running, but that is not what I want

I had it understood that the 3A engine should automatically adjust exposure based on lightning conditions, is this not true? The thing is, I am not getting the automatic adjustments. It just sticks to a default value regardless of lightning conditions.

I am using Buildroot from flatmax : https://github.com/flatmax/buildroot.rockchip for Rock 3A

Kernel is 4.19

I am actually using a custom designed board by me, but I am basing my software stack around the Rock 3A because the Radxa community has such a great support

So is the 3A not supposed to do automatic exposure adjustment? I thought it should

I got the IMX586 driver and the IQ file from a Chinese friend who kindly provided it to me. Who knows maybe that is the issue, although I don’t think so myself. I previously had a barebones driver I made myself, the driver worked but I didn’t test the camera engine at the time. Maybe I should try do another driver and check, I’ll share the driver and IQ file
imx586 (1).zip (56.7 KB)

Sorry, i misunderstood your question. Yes, you are right, it should do automatic exposure adjustment.
But i have a case where the iqfile is not for the sensor (some other board) and no auto exposure adjustment but colors are fine. Could be your case.

The IQ file seems to be for this sensor, as it was sent together to me, but you are right, maybe the IQ file has been wrong all along. What could I do?

TBH, i don’t have experience changing or tuning the iqfile, but i remember reading somewhere (forum) about a window tool to create / adjust iqfile, i think it is part of Rockchip SDK, maybe you have access to the SDK from Firefly. I will try to find the post and conversation about it and post the link here.

Maybe this can help:
https://forum.pine64.org/showthread.php?tid=17067

Just want to let everyone know, I switched to rkaiq_camera_engine version rk356x/firefly-5.10 from firefly repo, and then some IQ files started having auto exposure, there was no image (black screen) but I could see the v4l2-ctl controls (exposure and analogue_gain) changing depending on light conditions

So I noticed the reason I had a black image was because the IQ file I was using, meant for another camera by the way as my IMX586 IQ file didn’t work at all with this version of camera engine, had a different resolution from the ones on my driver (1920x1080 on my driver, 4k on the IQ file)

So I looked into the IQ files provided by this rk356x/firefly-5.10 camera engine repo and found an IQ file with 1920x1080 resolution. I tried it and it worked! Some small details because the IQ file is meant for another camera ,but I have auto-gain and auto-exposure now, and decent color range (No greenish tine)

So problem solved for now. I would like to tune the IQ file but I don’t see it necessary for the moment :slight_smile:

I also had to replace rk-camera-module.h on my Kernel sources, with rk-camera-module.h on rk356x/firefly-5.10 camera engine package ( it’s on there in the include folder ), otherwise rkaiq_3A_server wasn’t able to read my sensor module info and no .json would load

Great Work!

Unfortunately, i believe this sensor can’t work on Rock 3A, i think is 4 lanes, right?
But looking at the photo you provided i think it can work on Rock 5B, no idea about the necessary changes. What do you think?

If possible, and if you can disclose how to get one sensor with the FPC. No problem if you can’t disclose.

Hello Alexander, I got the sensor from Alibaba, I am pretty sure you would need a Hardware adapter to connect it to the Rock 3A or 5B. I use RK3566 but my custom board has 4 lanes so no problems on my end

I honestly see nothing special on IMX586, I just chose it because why not? But I ended up doing a lot of work finding a suitable driver and now this, making the camera engine work. I had decent knowledge on hardware design when I made the custom board ( over a year ago ), but I didn’t know barely anything about embedded Linux so I had no idea I was setting myself up for more work when I chose the IMX586.

If any of you want to contact my supplier, this is the link, not sure if I am allowed to share Alibaba links on this forum, hopefully there is no issue! https://sunny-meiying.en.alibaba.com/?spm=a2700.12243863.0.0.31da3e5fbdz4gQ

1 Like