0c45:6270 Microdia U-CAM PC Camera NE [solved]

Questions about hardware, drivers and peripherals
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
tawan

0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by tawan »

hi, this is what I know...

Bus 005 Device 004: ID 0c45:6270 Microdia U-CAM PC Camera NE878

and i was following the help here https://groups.google.com/group/microdi ... raft?pli=1 until it said compile and i ran away scarred :)

any tips on getting this web cam working?
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Husse

Re: 0c45:6270 Microdia U-CAM PC Camera NE

Post by Husse »

You may want to try the Generic SN9CXXX driver at http://www.linux-projects.org . Your webcam is supposed to work.
Otherwise it's the link you've already discovered
tawan

Re: 0c45:6270 Microdia U-CAM PC Camera NE

Post by tawan »

Thanks! :) have to go to work now, but will report back later with [solved] I hope, - if not I will report back anyway..... ok gotta rush to work...........
tawan

Re: 0c45:6270 Microdia U-CAM PC Camera NE

Post by tawan »

i got as far as this http://www.linux-projects.org/modules/m ... d=7&lid=54 and it said;

Error Dependency is not satisfiable: linux-image-generic

:?
Husse

Re: 0c45:6270 Microdia U-CAM PC Camera NE

Post by Husse »

phonicboom wrote:i got as far as this http://www.linux-projects.org/modules/m ... d=7&lid=54 and it said;

Error Dependency is not satisfiable: linux-image-generic

:?
The link is to a deb file and the error message indicates the wrong version of the deb - it is not made for your kernel
Check that you've got the right version - if there is one
I'm running out of time so I can't investigate further now (have to go earn a few bread crumbs :))
tawan

SOLUTION: 0c45:6270 Microdia U-CAM PC Camera NE

Post by tawan »

[solved!!!] :D

found this here
"Worked great. I wrote this script that will handle it. You can run it every time a kernel is upgraded:"
#!/bin/bash

set -x

# More info, see http://groups.google.com/group/microdia ... raft?pli=1

# First make sure the system itself is up-to-date
sudo apt-get update
sudo apt-get upgrade

# Then install everything we need to build the camera driver
sudo aptitude install kernel-package linux-source build-essential git-core exuberant-ctags cheese
cd /tmp

# Get latest release of kernel driver
git clone http://repo.or.cz/r/microdia.git
cd microdia*
make
sudo modprobe videodev
sudo modprobe compat-ioctl32
sudo modprobe ./microdia.ko

# install it
strip -g microdia.ko
sudo cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/
sudo depmod -a

# Now, unplug the camera if you had it plugged in. Then plug it in again

----

To use the script (now and again after every kernel upgrade) ...

1) copy the code above from "#!/bin/bash" all the way down to the last comment just before the ----

2) paste it to a text editor

3) save as web-cam-fix (or whatever you like) somewhere useful

4) in terminal cd to the script directory

5)

Code: Select all

sudo chmod 755 scriptname
6)

Code: Select all

./scriptname
7) unplug the camera, plug it back in and it's done.

:)
almsamim

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by almsamim »

i did all these steps but can't get it work at all as i face some problems while compile
i'm using linux mint 6
tawan

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by tawan »

almsamim wrote:i did all these steps but can't get it work at all as i face some problems while compile
i'm using linux mint 6
Did you upgrade your kernel? This works with linux mint 6 if you still have the -7 kernel

if you now have the -9 kernel it will not work

type

Code: Select all

uname -r
in terminal to see what you have, if it is -7 I can help you.
almsamim

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by almsamim »

phonicboom wrote:
almsamim wrote:i did all these steps but can't get it work at all as i face some problems while compile
i'm using linux mint 6
Did you upgrade your kernel? This works with linux mint 6 if you still have the -7 kernel

if you now have the -9 kernel it will not work

type

Code: Select all

uname -r
in terminal to see what you have, if it is -7 I can help you.
2.6.27-7-generic

no i didn't upgrade my kernel
and i face this error after "make"

Code: Select all

**************************************************************************
* Building Video4Linux2 driver v1.48 for SN9C1xx PC Camera Controllers...*
* Official Linux 2.6.19 is the minimum version for this driver.          *
* Read the documentation "sn9c102.txt" for more informations.            *
* Type "make help" for a list of available targets.                      *
**************************************************************************

make -C /lib/modules/`uname -r`/build M=/home/abdullah/Desktop/sn9c1xx-1.48 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.27-7-generic'
  CC [M]  /home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.o
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1033: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1033: warning: its scope is only this definition or declaration, which is probably not what you want
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_show_reg’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1041: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1041: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1041: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1041: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1057: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_reg’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1066: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1066: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1066: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1066: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1090: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_show_val’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1099: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1099: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1099: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1099: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1122: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_val’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1132: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1132: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1132: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1132: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1161: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_show_i2c_reg’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1169: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1169: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1169: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1169: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1187: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_i2c_reg’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1196: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1196: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1196: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1196: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1220: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_show_i2c_val’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1229: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1229: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1229: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1229: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1257: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_i2c_val’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1267: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1267: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1267: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1267: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1302: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_green’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1313: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1313: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1313: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1313: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1333: warning: passing argument 1 of ‘sn9c102_store_reg’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1334: warning: passing argument 1 of ‘sn9c102_store_val’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1341: warning: passing argument 1 of ‘sn9c102_store_reg’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1342: warning: passing argument 1 of ‘sn9c102_store_val’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1351: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_blue’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1361: warning: passing argument 1 of ‘sn9c102_store_reg’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1362: warning: passing argument 1 of ‘sn9c102_store_val’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1369: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_store_red’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1379: warning: passing argument 1 of ‘sn9c102_store_reg’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1380: warning: passing argument 1 of ‘sn9c102_store_val’ from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1386: warning: ‘struct class_device’ declared inside parameter list
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_show_frame_header’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1391: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1391: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1391: warning: initialization from incompatible pointer type
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1391: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1405: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1407: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1409: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1411: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1413: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1414: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1415: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1416: error: expected ‘)’ before ‘(’ token
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_create_sysfs’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1422: error: ‘struct video_device’ has no member named ‘class_dev’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1425: error: implicit declaration of function ‘class_device_create_file’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1425: error: ‘class_device_attr_reg’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1425: error: (Each undeclared identifier is reported only once
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1425: error: for each function it appears in.)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1427: error: ‘class_device_attr_val’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1430: error: ‘class_device_attr_frame_header’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1435: error: ‘class_device_attr_i2c_reg’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1438: error: ‘class_device_attr_i2c_val’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1444: error: ‘class_device_attr_green’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1448: error: ‘class_device_attr_blue’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1451: error: ‘class_device_attr_red’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:1458: error: implicit declaration of function ‘class_device_remove_file’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_ioctl’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3191: error: implicit declaration of function ‘v4l_print_ioctl’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: At top level:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3207: error: ‘v4l_compat_ioctl32’ undeclared here (not in a function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c: In function ‘sn9c102_usb_probe’:
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3300: error: ‘struct video_device’ has no member named ‘owner’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3301: error: ‘struct video_device’ has no member named ‘type’
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3301: error: ‘VID_TYPE_CAPTURE’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3301: error: ‘VID_TYPE_SCALES’ undeclared (first use in this function)
/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.c:3302: error: ‘struct video_device’ has no member named ‘hardware’
make[2]: *** [/home/abdullah/Desktop/sn9c1xx-1.48/sn9c102_core.o] Error 1
make[1]: *** [_module_/home/abdullah/Desktop/sn9c1xx-1.48] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic'
make: *** [modules] Error 2
Timmi

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by Timmi »

tawan wrote:
almsamim wrote:i did all these steps but can't get it work at all as i face some problems while compile
i'm using linux mint 6
Did you upgrade your kernel? This works with linux mint 6 if you still have the -7 kernel
if you now have the -9 kernel it will not work
type

Code: Select all

uname -r
in terminal to see what you have, if it is -7 I can help you.
I don't know what a -7 or -9 kernel is. My mint is updated regularly, as soon as updates are available, so I'm assuming I'd have the latest.

As you can tell, I'm a total novice... have just come over from Windows. I run Mint 6 64-bit version for my Core2duo.

My question is: is there a driver installer, just as Mint 6 has automated software installer for software you want to install?

I downloaded the SN9Cxxx universal driver for my NE878 (serial number stars with that, that's how I know), but it gives me an error message "incorrect architecture i386", suggesting that the driver written for 32bit doesn't work with my 64bit Mint 6.

I've searched and searched, but have been unable to find any driver for Mint 64bit (or ubuntu 64).

Can someone provide a link for a driver compatible with the 64bit version? And is there an easier way to install this than using command line code?

Thanks
Timmi

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by Timmi »

The proposed solution works for Linux gurus who know what they are doing.
But for someone coming over from Windows, for who Mint is recommended over Ubuntu, this is all giberish.
You want new users to what? Compile a kernel? Are you kidding me?

I do have the same webcam, 0c45:6270 (vendor:product IDs) Microdia U-CAM PC Camera NE878
but have moved to Mint 7 since my last post. and I'm still booting in Windows wherever I need Skype or my Webcam...
(which went from never, to more and more often now that I'm dicovering the pleasures of this mode of communication).

Is there a simple way, something in the installers, in MintInstall, or un Synaptic, or somewhere, that you can have a driver installed?

From a Novice's point of view, this issue is not resolved.
Husse

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by Husse »

Unfortunately Microdia webcams are not well supported, the reason? Specs are unavailable from manufacturers
This is one of the few cases when you have to resort to compiling, but it is possible to get it working
I can refer you to the Microdia Google group
Hopefully this driver will be stable enough to be included in the kernel but for now this is where it stands
Timmi

Re: 0c45:6270 Microdia U-CAM PC Camera NE [solved]

Post by Timmi »

oh ok.
I understand the reason why it's so complicated now.
thank you for the response.

lesson learned: check for support before you buy the cam!
it's all a bother, but not the pain when you get the wrong one.
Locked

Return to “Hardware Support”