GEMBIRD Webcam Orange Pi One


1 1

Recommended Posts


Hi guys. I've just spent yet another two hours trying to find an answer to my webcam problem and there does not seem to be an answer from what I can discern. 


Still working to try to get a camera to work with Octopi from what I have around.  Strange thing I discovered that the USB OTG port on the Opi One does not seem to work, but when plugged into my single regular USB, I get this for the camera:

pi@citrico-opione:~/ffmpeg_cedrus264_H3$ lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 1908:2310 GEMBIRD 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

It is one of the known working with mjpeg-streamer


but the notes don't seem to be current. 

pi@citrico-opione:~/ffmpeg_cedrus264_H3$ ls /dev/video*
/dev/video0  /dev/video1  /dev/video2

I have tried some of the old gits out there. My only ray of hope was when I did 

modprobe hid-gembird

it did not error, just seemed to say ok. 


But still no webcam, just a different message, of/dev/video0: Device or resource busy
instead of it not being a video capture device. 


So I"m out of ideas. Any help would be appreciated. Trying to find an inexpensive webcam solution for octopi using my Opi Ones. 




Link to post
Share on other sites

Donate and support the project!

A few more details:


pi@citrico-opione:~/ffmpeg_cedrus264_H3$ v4l2-ctl --list-devices 
cedrus (platform:cedrus):

USB2.0 PC CAMERA: USB2.0 PC CAM (usb-1c1b000.usb-1):

pi@citrico-opione:~/ffmpeg_cedrus264_H3$ cd
pi@citrico-opione:~$ v4l2-ctl --list-devices 
cedrus (platform:cedrus):

pi@citrico-opione:~$ v4l2-ctl -d /dev/video2 --list-formats --list-ctrls 

Codec Controls

        mpeg_2_slice_parameters 0x009909fa (unknown): type=103 flags=has-payload
   mpeg_2_quantization_matrices 0x009909fb (unknown): type=104 flags=has-payload
    h264_sequence_parameter_set 0x00990ce8 (unknown): type=110 flags=has-payload
     h264_picture_parameter_set 0x00990ce9 (unknown): type=111 flags=has-payload
            h264_scaling_matrix 0x00990cea (unknown): type=112 flags=has-payload
          h264_slice_parameters 0x00990ceb (unknown): type=113 flags=has-payload
         h264_decode_parameters 0x00990cec (unknown): type=114 flags=has-payload
               h264_decode_mode 0x00990ced (menu)   : min=0 max=0 default=0 value=0
                h264_start_code 0x00990cee (menu)   : min=0 max=0 default=0 value=0
    hevc_sequence_parameter_set 0x00990cf0 (unknown): type=120 flags=has-payload
     hevc_picture_parameter_set 0x00990cf1 (unknown): type=121 flags=has-payload
          hevc_slice_parameters 0x00990cf2 (unknown): type=122 flags=has-payload
            hevc_scaling_matrix 0x00990cf3 (unknown): type=123 flags=has-payload
               hevc_decode_mode 0x00990cf7 (menu)   : min=0 max=0 default=0 value=0
                hevc_start_code 0x00990cf8 (menu)   : min=0 max=0 default=0 value=0
    Type: Video Capture

    [0]: 'ST12' (Sunxi Tiled NV12 Format, compressed)
    [1]: 'NV12' (Y/CbCr 4:2:0)

USB2.0 PC CAMERA: USB2.0 PC CAM (usb-1c1b000.usb-1):

I'm still working on it.  These commands I got from @ldiaz working on my rpi cameras that didn't work. It seems like the gembird is a common camera though, and it seems like it should be working, but so far it isn't. 


Link to post
Share on other sites

For those who may be finding this thread later, I made some interesting progress today. The Orange Pi One has only one regular USB port, which, using OctoPi, you need for the printer.  But it does have also a USB OTG, which you may call Micro USB, and I have never used it for anything.  Initially I plugged in the camera to that with an adapter, and got nothing on lsusb at all. 


After some digging, I found the way to cure this.  You have to edit the dtb file in the /boot/ dtb/ directory for your board. All the supported boards are in there.  


Then you have to convert that binary dtb file into text, with a program called dtc.  


pi@citrico-opione:/boot/dtb$ sudo dtc -I dtb /boot/dtb/sun8i-h3-orangepi-one.dtb -O dts -o /boot/dtb/sun8i-h3-orangepi-one.dts


that gives you the dts file, which you can open in nano. 


pi@citrico-opione:/boot/dtb$ sudo nano sun8i-h3-orangepi-one.dts


Find the code block that has dr_mode in it. On this board it is usb@1c19000.  Change the value to host instead of otb. 


Then control x, y, enter to save the file. 

Then you have to convert it back to binary.  You can make a backup of your original binary file first if you want, then do this:


pi@citrico-opione:/boot/dtb$ sudo dtc -I dts /boot/dtb/sun8i-h3-orangepi-one.dts -O dtb -o /boot/dtb/sun8i-h3-orangepi-one.dtb


then reboot.  The micro usb is now a regular usb, and my gembird camera came up under lsusb.   I also had enabled usb0 in the hardware options in armbian-config, but I don't know if I had to do that. I actually just enabled them all before finding this solution. 


Still stuck on the video though. Snapshots are working. 

Link to post
Share on other sites

Overlays are pieces of device tree configurations that can be activated and deactivated dynamically. Using overlays you do not need to recomplile the dts for your board every time.  In armbian is quite simple to activate them simply add /boot/armbianEnv.txt 

overlay = usbhost0 ...<other overlays>

and reboot.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


1 1