oPi One Module gc2035 not found in directory /lib/modules/4.19.25-sunxi
# cat /etc/armbian-release | grep BOARDBOARD=orangepione
BOARD_NAME="Orange Pi One"
BOARDFAMILY=sun8i
BOARD_TYPE=conf
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
# modprobe gc2035
<font color="Red">modprobe: FATAL: Module gc2035 not found in directory /lib/modules/4.19.25-sunxi</font>
# modprobe vfe_v4l2
<font color="Red">modprobe: FATAL: Module vfe_v4l2 not found in directory /lib/modules/4.19.25-sunxi
<font color="Black"># find /lib/modules/ | grep -i -e vfe -e 2035 | wc
0 0 0
# ls /dev/vid*
ls: cannot access '/dev/vid*': No such file or directory
</font>
</font>
Same with Armbian_5.75_Orangepione_Ubuntu_bionic_next_4.19.20.img
These are basic steps I found in those tutos:
http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=3049
https://forum.armbian.com/topic/3613-armbian-525-on-orangepi-pc-the-gc2035-video-camera-doesnt-work/?page=2&tab=comments#comment-38493
https://projetsdiy.fr/orange-pi-deballage-camera-2mp-csi-test-motion/
Perhaps because this driver was not ported to this Linux version yet? After triple checking ... you are right, the seller tells to use Android :'(
More in a few days. Will still try other distros ... (don't burn all of them, just download, extract image, and run find in /lib/modules) Edited by DoubleHP at 2019-4-24 03:03
After digging a bit:
Driver not present. Kernel 4.19 . No way to ever get any CSI cam work on 4.19, cause it lacks the CSI support; wait for a further 4.X kernel.
Armbian_5.75_Orangepione_Debian_stretch_next_4.19.20.7z
Armbian_5.75_Orangepione_Ubuntu_bionic_next_4.19.20.7z
I am said 4.21 may bring CSI in ... but the source is uncertain.
Driver gc2035 present in /lib/modules; kernel 3.4.*
Lubuntu_1404_For_OrangePiPC_v0_8_0_.img.xz : modprobe gc2035 => "could not insert 'gc2035': Exec format error". Not going to dig this kind of issue.
Raspbian_For_OrangePi_PC_v0_8_0.img.xz : modprobe gc2035 => "could not insert 'gc2035': Exec format error". Not going to dig this kind of issue.
ZeroShell-3.7.1A-OPIPC.img.gz : image contains gc2035.ko under 3.4 branch. => "chip found is not an target chip." ; in Armbian this is usually fixed with messing some pins but sunxi-pio is not available in ZeroShell; there is probably an other way to do it; not going to dig. If you want to dig, try to find how to rise PA7 PA7 and PG11 with ZeroShell tools.
Armbian_5.75_Orangepione_Ubuntu_xenial_default_3.4.113_desktop.7z : /lib/modules/3.4.113-sun8i/kernel/drivers/media/video/sunxi-vfe/device/gc2035.ko => produces sane pictures. (see below)
ubuntu_lxde_desktop_OrangePipc_v0_9_1.img.xz : /lib/modules/3.4.112/kernel/drivers/media/video/sunxi-vfe/device/gc2035.ko => produces sane pictures. (see below)
About Zeroshell, note that the serial baudrate is 115200 like for other oPis, and not 38400 as explained in their docs.
OrangePi_One_Android_4.4_zh_ov5640_v1.1.img.tar.gz : does not seem to boot. No image on HDMI, no activity on ethernet. No green or red LED. (try again)
OrangePi_Pc_One_Android_7.0_Beta.tar.gz : does not seem to boot. No image on HDMI, no activity on ethernet. No green or red LED. (try again)
Could not mount images; had to burn them. Android are the images recommended by the seller of my kit (it was a bundle kit OpiOne+cam).
Edited by DoubleHP at 2019-4-24 03:04
I have had a stupid idead: since all images having the driver I want are using 3.4 kernels, why not saerch for a deprecated Armbian in archives ?
I have great hopes for Armbian_5.75_Orangepione_Ubuntu_xenial_default_3.4.113_desktop.7z but ... I would prefer a non-Ubuntu Debian; where can I find a Debian 3.4 that would not be Ubuntu ? https://dl.armbian.com/orangepione/archive/ . Google did not help.
Now burning Armbian_5.75_Orangepione_Ubuntu_xenial_default_3.4.113_desktop.7z ... EDIT : and 2h later ... still not working.
I will also reburn all previous images, and double check HDMI, USB, and serial outputs. In particular, if no Android can work, I will ask for refund. https://fr.aliexpress.com/item/Orange-Pi-One-SET-9-Orange-Pi-One-and-Camera-Camera-with-wide-angle-lens-for/32660642513.html?spm=a2g0s.9042311.0.0.27426c37iv2yIP set 9.
Edit:
- at the moment, 4.19 kernels don't support CSI at all. Must use 3.4 kernels. I am said 4.21 may bring CSI in ... but the source is uncertain.
- many people need to mess with <<sunxi-pio -m "PG11<1><0><1><1>">> (must be run before any modprobe)
- I have read "Armbian_5.20_Orangepipc_Debian_jessie_3.4.112.7z" works fine out of the box, but I am not able to find any miror providing this image.
- I have seen some distros use gc_2035 instead of gc2035
- some people recommend "modprobe gc_2035 hres=1" instead of just "modprobe gc2035"
- some people mention that after some failures, a power cycle is required, and a simple software reboot may not suffice.
Edited by DoubleHP at 2019-4-23 03:52
I am getting somewhere with ubuntu_lxde_desktop_OrangePipc_v0_9_1.img.xz
I have tried to plug raw camera (without ribbon and adapter) 3 different ways: lens up, lens down, not connected at all. In all 3 cases, I get the same output:
root@OrangePI:~# ls /dev/vid*
ls: cannot access '/dev/vid*': No such file or directory
root@OrangePI:~# modprobe gc2035 hres=0
root@OrangePI:~# modprobe vfe_v4l2
root@OrangePI:~# sleep 1
root@OrangePI:~# ls /dev/vid*
/dev/video0
root@OrangePI:~# dmesg | grep -i -e csi -e 2035 -e isp
[ 0.547947] disp_module_init
[ 0.548216] cmdline,init_disp=
[ 0.548252] cmdline,disp=
[ 0.554691] Fb_map_kernel_logo,line:932:Fb_map_kernel_logo failed!
[ 0.581312] disp_module_init finish
[ 4.554267] cmdline,disp=
[ 5.200042] disp_device_attached_and_enable,line:159:attched ok, mgr0<-->device0, type=4, mode=5
[ 23.993592] disp_ioctl,line:1584:para err in disp_ioctl, cmd = 0x0,screen id = 65536
[ 66.420288] dev->isp_sel = 0
[ 66.433750] isp platform_id = 5!
[ 66.440116] Find sensor name is "gc2035", i2c address is 78, type is "YUV" !
[ 66.440126] Sub device register "gc2035" i2c_addr = 0x78 start!
[ 66.508237] sensor_read err at sensor_detect!
[ 66.508245] chip found is not an target chip.
[ 66.576134] Sub device register "gc2035" failed!
root@OrangePI:~# ls /dev/vid*
/dev/video0
root@OrangePI:~#
=> This distribution accepts to load the driver and create the node, but, behave exactly the same way whether device is plugged or not.
root@OrangePI:~# uname -a
Linux OrangePI 3.4.112 #4 SMP PREEMPT Wed Dec 7 09:46:40 CST 2016 armv7l armv7l armv7l GNU/Linux
root@OrangePI:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
Now using adapter:
root@OrangePI:~# i2cdetect -y 0
0123456789abcdef
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OrangePI:~# i2cdetect -y 1
0123456789abcdef
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OrangePI:~# ls /dev/vid*
ls: cannot access '/dev/vid*': No such file or directory
root@OrangePI:~# modprobe gc2035 hres=0
root@OrangePI:~# modprobe vfe_v4l2
root@OrangePI:~# sleep 1
root@OrangePI:~# ls /dev/vid*
/dev/video0
root@OrangePI:~# dmesg | grep -i -e csi -e 2035 -e isp
[ 95.723834] dev->isp_sel = 0
[ 95.737679] isp platform_id = 5!
[ 95.740138] Find sensor name is "gc2035", i2c address is 78, type is "YUV" !
[ 95.740148] Sub device register "gc2035" i2c_addr = 0x78 start!
[ 95.807757] V4L2_IDENT_SENSOR=2035disalbe oe!
[ 96.255133] Sub device register "gc2035" is OK!
root@OrangePI:~# ls /dev/vid*
/dev/video0
=> at last, my hardware is fine.
# v4l2-ctl -d /dev/video0 --list-formats | head -n 30
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: '422P'
Name : planar YUV 422
Index : 1
Type : Video Capture
Pixel Format: 'YU12'
Name : planar YUV 420
Index : 2
Type : Video Capture
Pixel Format: 'YV12'
Name : planar YVU 420
Index : 3
Type : Video Capture
Pixel Format: 'NV16'
Name : planar YUV 422 UV combined
Index : 4
Type : Video Capture
Pixel Format: 'NV12'
Name : planar YUV 420 UV combined
Index : 5
Type : Video Capture
Pixel Format: 'NV61'
Name : planar YUV 422 VU combined
root@OrangePI:~# v4l2-ctl -d /dev/video0 --list-formats | wc
121 377 2512
root@OrangePI:~# fswebcam -r 1600x1200 -p YUV420P - > /tmp/cam1600x1200.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to '-'.
The proper way to connect the ribbons depends on the exact hardware you buy. The idea is that the shiny face of ribbons usually go face down (not facing the lever)
Note that v4l2-ctl will produce this output as soon as modprobe is fine, even if the camera is not connected. So, this command is not reliable to check if hardware is working fine.
Here is a better check:
root@OrangePI:~# fswebcam -r 1600x1200 -p YUV420P - > /tmp/cam1600x1200.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Unable to query input 0.
VIDIOC_ENUMINPUT: Invalid argument
It will fail two different ways if camera is not connected, and/or driver not loaded. And will produce a sane picture if it's all fine.
This bunch of commands can be run in one shot.ubuntu_lxde_desktop_OrangePipc_v0_9_1.img produces a lot of garbage in dmesg, so buffer is running out in 10 or 20s. The last command must be run less than 5s after modprobe, because later than 10s, it won't be able to find relevant lines.
modprobe gc2035
modprobe vfe_v4l2
sleep 1
ls /dev/vid*
dmesg | grep -i -e csi -e 2035 -e isp | grep -q -e 'Sub device register "gc2035" is OK!' && echo OK
dmesg | grep -i -e csi -e 2035 -e isp | grep -q -e 'Sub device register "gc2035" failed!' && echo BAD
fswebcam -r 1600x1200 -p YUV420P - > /tmp/cam1600x1200.jpg
Edited by DoubleHP at 2019-4-23 04:21
Armbian_5.75_Orangepione_Ubuntu_xenial_default_3.4.113_desktop :
Here is how to launch driver and check things are working fine:
sunxi-pio -m "PG11<1><0><1><1>"
modprobe gc2035
modprobe vfe_v4l2
sleep 1
ls /dev/vid*
#dmesg | grep -i -e csi -e 2035 -e isp
dmesg | grep -q -e 'isp platform_id = 5!' && { dmesg | grep -q -e 'V4L2_IDENT_SENSOR=2035' && echo Good ; dmesg | grep -q -e 'sensor_read err at sensor_detect!' && echo "Failed." ; true ; } || echo "You did not try to load the driver."
fswebcam -r 1600x1200 -p YUV420P - > /tmp/cam1600x1200.jpg Perhaps when you installed and upgraded the system, a few steps failed. Double-check each step you've taken. retro bowl Sometimes, newer distributions include additional drivers and PolyTrack modules that may resolve compatibility issues. It is the intent to provide valuable information and best practices including an understanding of the regulatory process. Singa123
page:
[1]
2