Jump to content

How do I use the camera on tinkerboard?


Sean Carson

Recommended Posts

:) thats not a pet project. this is about tinkerboard's functionality-usability. if anyone wants to paid their bills from that, i think they must to contact with ASUS or RockChip for better OS.

i cant develop any kernel but i can learn to do something like that. CHWE is right, if we have a working CSI port with driver eg.v4l2, that is enough to us right now. we can use opencv with that.

Tony, if you have a trouble with mipi-csi pinmap of RK3288 for imx219 driver, i can help too. ;) 

Link to comment
Share on other sites

2 hours ago, Cyper said:

if we have a working CSI port with driver eg.v4l2, that is enough to us right now. we can use opencv with that.

have fun solving the "if"... :P 

Everything you need to start should be in the ISP1 thread I liked last time.. including a config based on their default to compare where armbian differs.. 

Link to comment
Share on other sites

probably not, one has its last commit one year ago, the other one 7 months ago.. ~5months ago Rockchip merged their ISP1 driver into the 4.4 branch. To my knowledge Asus still uses the old isp driver (which is IMO a hacky solution), cause armbian moved to RKs maintained 4.4 kernel for BSP images chances are low that we implement it 'the ASUS way' (I tried it one or two times, failed and thought it's not worth due to heavy patching would be needed for a hacky solution)... And as @TonyMac32 pointed out.. Due to recent changes in the kernel, the camera might be of minor priority. 

First we have to stabilize the current kernel (and with we, this will be most likely mean that @TonyMac32 spends a huge amount of time figure out what's broken due to recent changes, how it can be fixed and most likely also fix it on his own :beer:)... As soon as this is fixed, someone needs to figure out if the kernelcrash issue with the ISP1 driver still exists and how we can avoid it. As soon as this works, we need a way to support both cameras RPi cam V.1.3 with a OV5647 and V2 with a IMX219. The current way this is solved by Rockchip would not allow to switch between both cameras without recompilation of the whole devicetree. 

See here: https://github.com/rockchip-linux/kernel/blob/f113aefebc63513f4f90810a6ee0f5e9f1a34846/arch/arm/boot/dts/rk3288-miniarm.dts#L452-L471

and here: https://github.com/rockchip-linux/kernel/issues/72#issuecomment-371698297

So someone has to implement  the device tree overlay for the RK3288 kernel into armbian and also into armbian-config so that users can load whatever overlay they need to bring up their camera.. If you don't want to solve such things, I suggest you should try Asus official image where the camera should 'somehow' work.. Or you dive into armbians buildscript, get familiar how it works and then see how you can fix things. The camera driver is most likely on a low priority list right now. First we've to ensure that the stuff we currently support will work with RKs recent kernelchanges. New features are interesting but the stuff we support must work properly before 'we' dive into the 'camera adventure' (doesn't mean that you should not try do bring it up, but don't expect that others have it on their todo list right now). 

 

Link to comment
Share on other sites

Current list of things to fix before I'm looking at Tinker cameras:

 

-Mali

-Touchscreen

-device tree overlays

-Tinker S hardware monitoring (voltage and headphone plug, eMMC availability with the jumper in recovery mode)

-Meson64 stuff for other boards that I also help maintain.

-something that will certainly require attention before now and then

-cameras that only work with 1 board.

Link to comment
Share on other sites

5 hours ago, chwe said:

I expect that this list is finished next Saturday...  :lol:

 

wouuw thanks guys. Tony's works takes my life time, if i start to do that now. Good luck with that.

:thumbup:

 

Link to comment
Share on other sites

1 hour ago, Cyper said:

The fact that they close your issue makes it obviously that they won't deal with your 'pet project'. So from my side, I won't push something I see no reason for.. 

People are mostly interested in features, bringing them up is obviously nothing they want to deal with.. If the RPi fulfill your needs... why do you change to the tinker? 

 

From my attempts a few hours ago, we've for sure bigger issues than a LL camera driver for the tinker.. Without our wizzard  (@TonyMac32) armbian builds for the Tinker wouldn't be only 'partly broken'.. It would be completely broken.. Just ask @JMCC --> RockChips Linaro buildsystem seems to be completely broken at the moment.. and from my tests armbian with the ISP is broken too.. So, why should I push some pet/robot project features as long as the basic features have bigger issues? There's a ISP thread (this little thingie needed to get the camera basically working) open since march besides @TonyMac32 and @JMCC there aren't many people interested in (at least not in fixing it).. 

 

 

Link to comment
Share on other sites

19 minutes ago, chwe said:

So, why should I push some pet/robot project features as long as the basic features have bigger issues? 

Can I have a pet robot?  I'll name it David Tinkerhoff, it will be a big hit in Germany.  :)

 

but yes, unfortunately the current status of the tinker vendor kernel is quite bad.  Once this all clears up I may wind up cloning the kernel to make sure we have a stable point to work from.  For now there is no possibility to worry on this topic.

Link to comment
Share on other sites

Just in case someone wants to check the current status of the upstream rockchip kernel, just copy-paste this script, run it and go have supper. It will build a rockchip-linaro image and let you know when it finishes.

Spoiler

#!/bin/bash
sudo apt-get update
sudo apt-get -y install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted build-essential binfmt-support qemu-user-static python-dbus python-debian python-parted python-yaml python-apt python-support libssl-dev beep
git clone --depth=1 https://github.com/rockchip-linux/kernel.git
git clone --depth=1 https://github.com/rockchip-linux/u-boot.git
git clone --depth=1 https://github.com/rockchip-linux/rk-rootfs-build.git
git clone --depth=1 https://github.com/rockchip-linux/build.git
build/mk-uboot.sh rk3288-miniarm
cd rk-rootfs-build/
sudo dpkg -i ubuntu-build-service/packages/*
sudo apt-get install -f -y
RELEASE=stretch TARGET=desktop ARCH=armhf ./mk-base-debian.sh
RELEASE=stretch ARCH=armhf ./mk-rootfs.sh
./mk-image.sh
cd ..
build/mk-kernel.sh rk3288-miniarm
build/mk-image.sh -c rk3288 -t boot
build/mk-image.sh -c rk3288 -t system -r rk-rootfs-build/linaro-rootfs.img
cd out/
echo "Finished"
sudo modprobe pcspkr
sudo beep -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 250 -f 622.26 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 466.16 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 587.32 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 311.13 -D 200 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 300 -f 392.00 -D 150 --new -l 250 -f 311.13 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 700 -f 392

 

A few hours ago I built one, and the kernel would not even start throwing messages to the console. It was like plugging the board without SD card.

Link to comment
Share on other sites

Try the one in the build system "rockchip-default" branch, I booted that before pulling some patch cleanups in from chwe , I will be working from there tonight.  I think this all comes down to loosely defined kernel configs, little hidden gems like that wifi one where it only appears in the commit comments.

Link to comment
Share on other sites

6 minutes ago, TonyMac32 said:

Try the one in the build system "rockchip-default" branch, I booted that before pulling some patch cleanups in from chwe ,

hmm.. seems that the git-history got lost by the cleanup, actually from the git status I thought git got it right.. We may have a look at it to ensure we get it back.. :P 

Link to comment
Share on other sites

i said before guys, this is not a pet project ,neither any project. i want to tinkerboard works well with hardware support. also in software side, broken faulty kernel bad situation. all of your words right about that. we need working platform then others. but how can i say "this is not working" to developers. obviously somethings wrong... be peace. many thanks to you. also respect to you because you works on something and rockchip changes sources, then again and again start beginning. this feels unbelievable sick. (i am 42yo electronic engineer, i always sick with knightrider)

Link to comment
Share on other sites

Well, the frustration of course comes form the fact we gave you the status, and the fact that current "big issues" we're preventing any work.  No offence meant to you, but we are too small a group to take requests when the kernel is burning.  ;-). Currently work is underway to make the kernel boot correctly.  That's how different/possibly broken the Rockchip update is.  

Link to comment
Share on other sites

Tearing the engine out of my truck and fixing the timing chains today, waiting to see a pull request from any of the poeple who want to see a Tinkerboard camera work out of the box, defending why I bother with a lot of this stuff for no compensation with my wife.  

 

I haven't gotten the undocumented mess Rockchip made completely sorted out yet to even begin casually looking at the camera.

Link to comment
Share on other sites

Could someone share an exact guide how to build a bootable kernel with the whole stuff (zImage, DTB, modules, header, etc) for Tinker Board with both ISP1 driver and IMX219-based Raspberry Camera Module V2 enabled? I applied Rockchip's instructions (http://opensource.rock-chips.com/wiki_Rockchip_Kernel), but it didn't result in a bootable kernel. More specifically,

 

Which environment is to be used? Ubuntu, Debian, something else ?

Compiler version and settings?

Stable kernel sources? Tarball?

Config file?

etc...

 

 

Link to comment
Share on other sites

1 hour ago, VE2UDX said:

Could someone share an exact guide how to build a bootable kernel with the whole stuff (zImage, DTB, modules, header, etc) for Tinker Board with both ISP1 driver and IMX219-based Raspberry Camera Module V2 enabled?

Since we haven't done it, sadly, no.

Link to comment
Share on other sites

20 hours ago, TonyMac32 said:

Since we haven't done it, sadly, no.

we had.. with some major drawbacks... :ph34r:

 

 

22 hours ago, VE2UDX said:

Which environment is to be used? Ubuntu, Debian, something else ?

Compiler version and settings?

Stable kernel sources? Tarball?

Config file?

etc...

e.g.

https://github.com/armbian/build/commit/c26f02b65e6ac1c697b48d7677d1f178017f3994 (see my rockchip-default branch https://github.com/armbian/build/compare/master...chwe17:rockchip-default)

 

that should be your starter.. Obviously I lost somehow the interest in pushing this further cause rockchip trashed their kernel after its so hard for the RK3288... Keep in mind, by doing this.. you won't have any kerneupdates after its.. chances are hight that something will be broken anyway even with this config and as it is there, it will never be merged into armbian due to a bunch of stuff get lost by getting the ISP1 driver.  Be prepared that this thingie will crash soon when you try do bring back some of the interesting stuff (e.g. overlayFS), that you've to build the userspace stuff on your own (e.g. gstreamer-rockchip which is based on gstreamer 1.0 not 1.1 if I've it right in mind) , that you waste a bunch of time for different stuff you can't even imagine yet. So, to summarize:

Yes it worked with an image created with armbians buildscript, yes the camera was recognized, yes even the user-space stuff worked somehow but the drawback for the rest was to high to merge it into armbian and no rockchip didn't help to solve some of the issues (e.g. https://github.com/rockchip-linux/kernel/issues/98#issuecomment-396422765) and you've to go down the whole rabbit hole (at least, you've some guidance compared to me when I did it.. :lol::rolleyes:) but besides this starter my interest in doing this again is at the moment minor (just copy the kernelconfig will most likely not work cause @TonyMac32 had to solve a bunch of stuff to get RKs kernel working again). 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines