Camera module does not show as /dev/video0


I purchased a Leopard 3M camera recently. When I plugged it into my
beagleboard using the image that came with the board, it worked
correctly. However, after I updated my Linux image to the latest one
beagleboard.rootfs.tar.bz2), the linux system cannot detect the camera
board anymore. It is not even showing up as /dev/video0.

The boot message is below:

[ 0.000000] Kernel command line: console=ttyS2,115200n8
mpurate=1000 buddy=none camera=lbcm3m1 vram=12M omapfb.mode=dvi:
640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw
rootfstype=ext3 rootwait
[ 0.000000] Beagle expansionboard: none
[ 0.000000] Beagle cameraboard: lbcm3m1


[ 0.000000] Beagle cameraboard: registering i2c2 bus for lbcm3m1

It seems the board can recognize the camera, but somehow unable to
list it as /dev/video0. What can I do to make it show up?

The Angstrom Beagleboard demo image does not come with the driver for the camera. You can get the driver for the 3M camera by doing:

opkg install kernel-module-mt9t111

You also need to download and install additional modules which are located on the Angstrom website where you got the demo image. I think u need to untar these when u untar the demo image.

So u prob should wipe you sd card and do a fresh install with the demo image and modules. Then once u boot up, get the mt9t111 kernel module. Reboot and you should boot messages specific to the mt9t111


@Jake - can we use the same kernel module for 2M camera module ?
Please suggest the drive for 2M module (if available)


I don't think there is one available for the 2M.

If you want to double check, You can look up the specific sensor (ex: the 2M) on the Leopard webpage. Then, check the Angstrom online package browser to see if there is a kernel module for it.



Thanks for the reply. I have wiped my SD card and untar the module.tgz
to "/" in my linux system. After I got the mt9t111 driver through opkg
install, I reboot my beagleboard and the video0 still not shows up. Do
I need to modify any boot argument to make it work?


Yes, you also need to set the camera type at boot. In my case, I have the VGA camera so I use:

setenv camera lbcmvga

I hope that will help.

Did you use the plain modules.tgz file?

I used these modules, u-boot.bin, and MLO below with Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2




Hopefully that helps. I haven’t looked to see what the difference is, so there might not be one…


I used a USB VGA camera, while plugging in i detected and showed up as
I was using openCV to access the camera.

Does coming as video0 imply that all drivers were successful?


Hi Jake,

By following your instructions, install mt9t111, and use lbcmvga for
my Leopard 3M camera (LI-LBCM3M1) on Beagleboard xM

get following error msg:

[ 44.016845] mt9v113 2-003c: chip id mismatch read 0x2680, expecting
[ 44.127532] mt9v113 2-003c: Unable to detect decoder

If I remove mt9v113, and add mt9t111, no /dev/video0

If I still use original lbcm3m1 for camera, and use insmod to add
mt9t111, no /dev/video0 too

Do you have any idea for this problem?



Hi Li,

I am not sure why your 3M camera is not showing up under /dev/video0

Using insmod for the mt9v113 worked right away for me. I havent tried anything with the mt9t111.

Maybe someone else as a suggestion?