Update, 17/08/08: There is no longer any need to switch to the Experimental branch, if you are using the following Microdia cameras:
0c45:6027, 0c45:608f, 0c45:60ec, 0c45:60fe, 0c45:60c0, 0c45:613b, 0c45:613c, 0c45:624e, 0c45:624f, 0c45:6242, 0c45:6253, 0c45:6260, 0c45:6270, 0c45:627b, 0c45:8105
Keep up to date on the current supported webcams: http://groups.google.com/group/microdia/web/project-status?hl=en
The webcam (Acer Orbicam) on my Acer Aspire 5052 has been somewhat of a bane - with no drivers available, it has been one of the last stumbling blocks of getting all of my hardware working in Linux (the Ubuntu 8.04 Distro, Hardy Heron, in my case). That is until I ambled across, quite by accident, the Microdia Google Group. These guys are the epitome of Open Source development in action - a group of widely distributed people who are collaborating to solve a common problem: to get the Microdia webcams supported under Linux. And they’re doing a fantastic job so far.
Note: I should first mention that the drivers are still heavily under development, and although they are not (for some webcams) to the point where they can be used for Skype, for example, major progress has been made, and there is now finally communication with my webcam, to the point where I can successfully output video to mplayer. Therefore, this post is not quite yet a HowTo on getting a Microdia webcam fully function, but a step towards helping people installing and testing the drivers under development.
So, here’s how I’ve got to the stage of seeing myself in mplayer…
Information Gathering
Firstly, I had to determine i) whether or not my Webcam was in fact a Microdia camera, and ii) the model number, so in a Terminan, I ran:
lsusb
Which output, amongst other information about the rest of my USB devices:
Bus 003 Device 002: ID 0c45:6260 Microdia
confirming that my Acer Orbicam is a Microdia device. The two hex values 0c45:6260 represent the Vendor ID and Product ID respectively - 0c45 being Microdia, and 6260 the Product itself. In order to create my meagre contribution to the Microdia Group, I had to gather some more information about the device’s bridge and sensor. Firstly, I needed the USB Device Descriptors, which were obtained by running:
sudo lsusb -d 0c45:6260 -v > ~/Desktop/0c45_6260_device_descriptors.txt
I then needed to discover the Bridge and Sensor types, which thankfully could be found in the Windows driver file, snp2std.inf:
%USBPCamDesc% = SN.USBPCamVGA,USB\VID_0c45&PID_6260 ; SN9C201 + OV7670ISP
Which tells me:
Bridge: SN9C201
Sensor: OV7670
The full guide to gathering information for your webcam can be found at the Microdia group, here.
Driver Compiling and Installing
The driver code is controlled by git, which I installed by running:
sudo apt-get install git-core gitk git-gui git-doc curl
Also, before downloading and installing the drivers, I ran:
sudo apt-get install kernel-package linux-source build-essential
To grab the Linux source etc. Once finished, I created a directory to set up my local git repository and downloaded the driver code:
cd ~/Documents
mkdir webcam
cd webcam
git clone http://repo.or.cz/r/microdia.git
The final command executes git, and tells it to clone the remote repository. The files are downloaded to a sub directory called microdia, from which I ran the rest of the commands:
cd microdia
Note: If you have any of the following Microdia cameras, you’ll need to switch to the Experimental branch:
6242, 624e, 624f, 6270, 627b, 62bb, 145f:013d, 045e:00f4
Switch to the Experimental branch by running:
git checkout --track -b v4l2-experimental origin/v4l2-experimental
I then compiled the code:
make
and received this error, but it’s not important:
make: ctags: Command not found
make: *** [ctags] Error 127
Once compiled, the module can be inserted to the kernel for testing:
sudo insmod ./microdia.ko
I also received the following error:
insmod: error inserting ‘microdia.ko’: -1 Unknown symbol in module
so had to run the following first:
sudo modprobe videodev
sudo modprobe compat-ioctl32
and then I could insert the module:
sudo insmod ./microdia.ko
Finally, to test, I ran:
mplayer tv:// -tv noaudio:driver=v4l2:width=640:height=480:outfmt=yuy2:device=/dev/video0:fps=30
you may need to change /dev/video0 to /dev/video1 - also, if you don’t have mplayer, it needs installing:
sudo apt-get install mplayer
The only thing is… it’s currently a mirror image, hehehe:
References
- Microdia, Google Group
- Full list of currently supported (and unsupported) Microdia Webcams
- How to gather information on your webcam
- Using git with Microdia
- Testing the Microdia driver
- PATCH: v4l-experimental support for 6260 (3rd try) Thread
| US $152.50 (10 Bids) End Date: Friday Sep-05-2008 16:15:12 PDT Bid now | Add to watch list |
| US $145.00 (20 Bids) End Date: Friday Sep-05-2008 17:15:03 PDT Bid now | Add to watch list |
| US $17.88 (1 Bid) End Date: Friday Sep-05-2008 17:27:04 PDT Bid now | Add to watch list |
| US $12.99 (1 Bid) End Date: Friday Sep-05-2008 17:44:40 PDT Bid now | Add to watch list |
| US $52.00 (10 Bids) End Date: Friday Sep-05-2008 18:01:00 PDT Bid now | Add to watch list |
| US $9.99 (1 Bid) End Date: Friday Sep-05-2008 18:30:00 PDT Bid now | Add to watch list |
Related posts:

























June 17th, 2008 at 3:52 pm
Thank you for your job. Hence, I think that you can add the procedure for put the driver permanently on the system with the commands that we can find in your references:(if it works - I don’t test yet!)
sudo cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/
sudo depmod -a
Congratulations
June 18th, 2008 at 2:04 am
Thanks for your comment Vicente. I refrained from adding the module to the system on a more permanent basis, until the drivers are a little more stable - and also decided purposefully not to include the commands you mention when originally writing this article. However, I intend to write a separate article with the full installation process once the drivers become stable, and I have tested them more thoroughly!
Thanks once again!
July 10th, 2008 at 12:31 pm
dmesg….
microdia: Iso frame 5 of USB has error -71
microdia: Iso frame 6 of USB has error -71
microdia: Iso frame 7 of USB has error -71
microdia: Iso frame 8 of USB has error -71
July 10th, 2008 at 12:32 pm
uname -r
2.6.22-3-686
DEBIAN
August 1st, 2008 at 11:42 am
Thank very much I’ve tested almost everything in google and this is the only one that works
August 18th, 2008 at 10:23 pm
Thanks to the possibilities that ar coming soon to me! I have waiting to these drivers trough 1 year ago.
I had some problems in the compilation in my Debina lenny 64. Could anybody help me?!
PieRroT:/usr/local/programas/webcam/microdia# make
make -C /lib/modules/2.6.24-1-amd64/build SUBDIRS=/usr/local/programas/webcam/microdia modules
make: *** /lib/modules/2.6.24-1-amd64/build: File or Directory not found. Stop.
make: ** [driver] Erro 2
thanks.
Arnaldo.
August 19th, 2008 at 2:07 pm
sadly i get this:
:~/Documents/webcam/microdia$git checkout –track -b v4l2-experimental origin/v4l2-experimental
git checkout: updating paths is incompatible with switching branches/forcing
Did you intend to checkout ‘origin/v4l2-experimental’ which can not be resolved as commit?
August 19th, 2008 at 2:24 pm
when i leave out this part:
origin/v4l2-experimental i can continu
so i did this:
git checkout –track -b v4l2-experimental
August 19th, 2008 at 2:26 pm
some extra feedback.
first i’m totaly happy i have my cam working on linux!
great work!!
when i look at the div with windows. the image is much slower and has much more problems with the lighting
keep up the good work you made me happy
August 19th, 2008 at 2:31 pm
ow and with me no mirror
August 23rd, 2008 at 10:51 am
Perfect, installed and works with skype, cheese. thanks. Looked for right drivers long time. Works with webcam ACME model CA01.
September 2nd, 2008 at 7:56 pm
the (stable) driver works well in ubuntu 64bits
Linux skynet-ubuntu 2.6.24-19-generic #1 SMP Fri Jul 11 21:01:46 UTC 2008 x86_64 GNU/Linux