installaton on gutsy, amd64, package level 15

3 views
Skip to first unread message

dm215

unread,
Jul 6, 2008, 2:32:11 PM7/6/08
to microdia

So, first of all, thanks to Brian and others for the work put in on
this. I have been waiting for over a year for a driver for this
webcam.

My controller number is SN9C201, and lsusb gives me oc45:624f. My
system is amd64, gutsy, 2.6.22-15-generic.

I visited the repository site and didn't find any binaries for the 22
kernel version on amd64, so I downloaded the source and built the .deb
files on my machine for 2.6.22-14. I emailed them to Brian.

The problem is, I can't seem to get them to work. I installed
the .deb packages sn9c20x-module-generic_2.6.22-14.2_amd64.deb and
sn9c20x-module-2.6.22-14-generic_2.6.22-14.2-amd64.deb, but couldn't
install the corresponding .udeb package.

Figuring that it had something to do with the "package level" (not
sure if the terminology is right, anyway the difference between 14 and
15) I followed the instructions in the README and compiled on my
machine. After a successful clean, running 'make' I got the
following output:

dm215@dm215-laptop:~/sn9c20x-module-2.6.22-2.6.22$ sudo make -f
Makefile
make -C /lib/modules/2.6.22-15-generic/build SUBDIRS=/home/dm215/
sn9c20x-module-2.6.22-2.6.22 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-15-generic'
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-usb.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-v4l.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-sysfs.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-dev.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-buf.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia-bayer.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/sn9c20x.o
CC [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/mt9vx11.o
LD [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia.mod.o
LD [M] /home/dm215/sn9c20x-module-2.6.22-2.6.22/microdia.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-15-generic'
ctags: no input files specified.
Try `ctags --help' for a complete list of options.
make: *** [ctags] Error 1

I went ahead and ran 'modprobe videodev', which was fine, but 'insmod
microdia.ko' returned a '-1 Unknown symbol in module', which I assume
is failure, and camorama can't connect. Any idea on what's wrong?

Thanks,
-David

Brian Johnson

unread,
Jul 7, 2008, 12:53:38 AM7/7/08
to micr...@googlegroups.com
Yeah i did get your debs you sent haven't gt a chance to do anything
with them yet though.
Also the udeb is only used for by the debian installer so don't worry
about installing it at all.

If you are getting unknown symbol even after modprobing videodev do
check do a dmesg and
the last few lines should list the actually names of the missing symbols.

dm215

unread,
Jul 7, 2008, 11:00:27 AM7/7/08
to microdia

Yes, thanks for the advice. After trying insmod microdia.ko dmesg
returned 'microdia: Unknown symbol v4l_compat_ioctl32'. Looking
around on the web for pages referencing this symbol were unfortunately
not a lot of help.

I assume the 'make' output looks okay?

Also, I installed the .deb packages for generic using GDebi, before
trying the compilation. Don't know if that makes a difference.

Thanks.

Brian Johnson

unread,
Jul 7, 2008, 11:51:28 AM7/7/08
to micr...@googlegroups.com
Make looks fine installing the ctags package will get rid if the error
you are getting, but isn't strictly speaking necessary.
The problem based on your missing symbol seems to be that you need to
modprobe compat_ioctl32 before trying to insert the driver.

David Mebane

unread,
Jul 7, 2008, 3:58:49 PM7/7/08
to microdia

Update: found something on the internet here that seems helpful.  modprobed something called 'compat_ioctl32', after which 'insmod microdia.ko' went off without a hitch.  Did 'depmod -a' then tried camorama -- it's alive!  But it still doesn't work.  Here's the camorama output:

dm215@dm215-laptop:~/sn9c20x-module-2.6.22-2.6.22$ camorama -D --width=640 --height=480

VIDIOCGCAP
device name = Microdia USB Video Camera
device type = 1
can use mmap()
# of channels = 1
# of audio devices = 0
max width = 1280
max height = 1024
min width = 48
min height = 32

VIDIOCGWIN
x = 0
y = 0
width = 640
height = 480
chromakey = 0
flags = 0

VIDIOCGWIN
x = 0
y = 0
width = 640
height = 480
chromakey = 0
flags = 0

VIDIOCGPICT:
bright = 32895
hue = 0
colour = 0
contrast = 32895
whiteness = 13158
colour depth = 12
YUV420
VIDIOCGMBF  --  could not set buffer info, exiting...

. . . and then I get the same 'could not connect to /dev/video0' message.  The guy in the link created his device manually using 'mknod /dev/video0 c 81 0', which I did, and then 'chmod 777 /dev/video0', all for naught (same results).

Brian Johnson

unread,
Jul 7, 2008, 4:52:28 PM7/7/08
to micr...@googlegroups.com
ah yeah the debs i created are based off of my v4l2 work which means
camorama won't work because it uses v4l1.
try using mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=i420:fps=30

David Mebane

unread,
Jul 7, 2008, 6:05:38 PM7/7/08
to micr...@googlegroups.com

Yes, that works!  Thank-you, thank-you.


Best,
-David

JoJo jojo

unread,
Jul 7, 2008, 11:50:57 PM7/7/08
to micr...@googlegroups.com, come...@web.de, bri...@gmail.com
Hi Brian

So far we have V4L2 version working with 624e & 624f (based on
confirmations I saw),
so technically my criteria of "2 other webcams models" working with
V4L2 patches
is 1 short of a go.

If Franks can confirm, you can push your final V4L2 changes to the main branch,
(then delete v4l2-experimental)

I believe Frank's confirmation is important coz' he's maintaining the
2nd larget
group of another microdia webcam models.

If we go ahead & do this, it will help sort out the rest of the problems
we are having with V4L2 much faster.

-JoJo

Reply all
Reply to author
Forward
0 new messages