How do I compile and install qc-usb?

I want my Logitech QuickCam Web to work on SUSE11.1.
I know about the qc-usb driver from sourceforge.net.

What I know I don’t know is:
a) How to get hold of the SUSE11.1 kernel source code and where it gets placed in the filesystem
b) How to configure it (?) so that (I presume) the source matches the object code.
c) Which compiler apps I need and what they are called and can I get them via Yast?
d) As I have installed via CD I am missing lots of stuff that I would have if I had installed by DVD. How can I download all the stuff I am missing?

Thanks

You are probably looking for this quickcam-kmp-*

Arkiv: openSUSE 11.2-0
Navn: quickcam-kmp-default
Versjon: 0.6.6_2.6.31_8-11.32
Ark.: x86_64
Produsent: openSUSE
Installert: Nei
Status: ikke installert
Installert størrelse: 2,3 MiB
Sammendrag: Logitech USB QuickCam Kernel Module
Beskrivelse:
Logitech USB QuickCam video driver with V4L support. Derived from
qce-ga, linux V4L driver for the QuickCam Express and Dexxa QuickCam
http://qce-ga.sourceforge.net/
Authors:

Tuukka Toivonen <tuukkat@ee.oulu.fi>

Zaitor

Hi Zaitor,
Yes…I think that’s what I want.
I’m not sure how to interpret your post. How do I get hold of the driver…is it in 11.2?

Den Thu, 24 Sep 2009 15:36:01 +0000, skrev traderbam:

> Hi Zaitor,
> Yes…I think that’s what I want.
> I’m not sure how to interpret your post. How do I get hold of the
> driver…is it in 11.2?

Just fire up yast2 softwareinstaller and search for it, should be in the
oss repo

Yes, I found it and it is already installed. The note says that this driver is “Derived from qce-ga, linux V4L driver for the QuickCam Express and Dexxa QuickCam”

Mine is a Logitech QuickCam Web, ID 0850.

Certainly nothing happens when I plug the camera in and “cheese” doesn’t recognize it. I’ve installed xawtv too but when I run it it fizzles out and does nothing at all.

bam@linux-09t2:~> lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 046d:0850 Logitech, Inc. QuickCam Web
Bus 001 Device 003: ID 046d:c03d Logitech, Inc. M-BT69a Pilot Optical Mouse
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

The sourceforge site claims that their qc-usb driver works with my camera. The problem I am having is that their installation instructions simply do not work in my SUSE. I fear this may be because I loaded off a live CD and I don’t have all the necessary files such as kernel source files.

Has anyone out there managed to install this driver in SUSE 11.1?

Having looked again at the sourceforge site, it would surprise me if the driver I already have doesn’t work. They specifically say that the qc-sub/gce-ga supports my camera and the other two that are mentioned by Yast.

Before I let things get out of hand, is there a way I could check whether the driver I have is actually working with my camera, even though “cheese” doesn’t?

What is the best application to test the camera with, if not cheese?

Thx

make sure you have libv4l installed, and try ekiga.

I never got my qc-usb cam to work with cheese ( in reality gstreamer) until now on 11.2, and even now only after a hack explained in lib4l readme.
(only applies for 11.2)

For me the cam worked in ekiga + websites with flash cam support

Note : the quickcam-kmp-default driver is not needed anymore for 11.2 since the cam is now supported by the kernel :slight_smile: why its still packaged I do not know

Something may be happening. I uninstalled the quickcam driver. Then rebooted, and reinstalled it. I installed libv4l. I installed ekiga. When I ran ekiga the green light on the camera came on for a second. Ekiga didn’t show any camera image. I closed ekiga and openned Cheese, but it claimed it couldn’t find a camera.

I then unplugged the camera and plugged it back in. A pop-up appeared saying:
detected new audio device
PTLIB/ALSA
use as default device?

I chose “yes”. Same behaviours after that.

Here’s part of the Yast Hardware Information dump. I guess this proves the driver is there and the camera is recognized. Now, how to get the apps to recognize it correctly?
Close now…

<6>Linux video capture interface: v2.00
<4>Logitech quickcam: go to qc-usb: Linux Driver for Quickcam USB cameras for support questions
<6>usb 2-8: New USB device found, idVendor=046d, idProduct=0850
<6>usb 2-8: New USB device strings: Mfr=0, Product=1, SerialNumber=0
<6>usb 2-8: Product: Camera
<6>quickcam: QuickCam USB camera found (driver version QuickCam USB 0.6.6 $Date: 2006/11/04 08:38:14 $)
<6>quickcam: bus:2 class:FF subclass:FF vendor:046D product:0850
<6>quickcam: Sensor VV6410 detected
<6>quickcam: Registered device: /dev/video0
<6>usbcore: registered new interface driver quickcam

Well:

/lib/modules/2.6.27.29-0.1-default/updates/stv06xx/gspca_stv06xx.ko
alias:          usb:v**046D**p**0850**d*dc*dsc*dp*ic*isc*ip*

:slight_smile:

However, I have no idea if the camera will work with that (patched) driver.

So tell us a little more about that “lib4vl-hack” you needed on 11.2

> Code:
> --------------------
> /lib/modules/2.6.27.29-0.1-default/updates/stv06xx/gspca_stv06xx.ko
> alias: usb:v046Dp0850ddcdscdpiciscip*
> --------------------
>
>
> :slight_smile:
>
> However, I have no idea if the camera will work with that (patched)
> driver.
>
> So tell us a little more about that “lib4vl-hack” you needed on 11.2

less /usr/share/doc/packages/libv4l/README

wrappers

The functionality provided by libv4l1 for v4l1 apps and libv4l2 for v4l2
apps
can also be used by existing apps without modifying them. For this purpose
2 wrapper libraries are provided which can be preloaded before starting
the
application using the LD_PRELOAD environment variable. These wrappers will
then intercept calls to open/close/ioctl/etc. and if these calls directed
towards a video device the wrapper will redirect the call to the libv4lX
counterparts.

The preloadable libv4l1 wrapper which adds v4l2 device compatibility to
v4l1
applications is called v4l1compat.so. The preloadable libv4l2 wrapper
which
adds support for various pixelformats to v4l2 applications is called
v4l2convert.so.

Example usage (after install in default location):
$ export LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so
$ camorama

or cheese ( whatever program that uses the webcam)

this is with libv4l-0.6.1-1.1.x86_64

Well, this “hack” is what is also needed and proven to work on 11.1, so it would only boil down to “does the backported gspca-driver work on 11.1?”.

The qc-usb drivers are old, no longer maintained and will most likely not work with a lot of applications using v4l2 even if the driver itself supports the cam.

I am not really following this driver chat. Are my chances of getting this to work improving or fizzling?

Specifically, what do I need to try next?

I am excited by the bizarre effect that when I move the mouse cursor over the /dev/video0 folder icon in Dolphin the camera light comes on for a second. This has got to work somehow.

:nerd:

First you remove the qc-usb drivers you already installed, then you have a look at this

Software.openSUSE.org

read this

Choosing the correct kmp-package for your installation - openSUSE Forums

and finally this

HCL/Web Cameras - openSUSE

I’m able to get my teeth into those instructions, thanks.

I have identified my camera in the “list for the Gspca version2 driver” and it is flagged as “OK”.

I have installed “gspca-kmp-default-2.6.27_2.6.27.29_0.1-5.6.x86_64.rpm” (Checking the version matching to my OS build)

I further read:

  	gspca v2

Important note

The source of the driver gspca version 2 is included in
the current Linux kernel (starting 2.6.27).

So I presume the correct driver already existed in my OS.

So now to try a pre-loading command…

LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so <application>

Outstanding! lol!

It took a reboot before it would work, but I am now staring at myself in cheese, as it were. It’s rather a scary rendition but it is a real-time moving image. Fantastic.

I’ll try some more apps. before I get too excited.
I presume I’ll need to use the pre-load for most or all apps.

Next to get it working with Skype. But that can wait until tomorrow.

Thanks enormously for the assist.

Now it’s your turn to provide some information for me.


lsmod |grep -E 'gspca|quick'

lsusb

more to come after I got those ones.

Here 'tis:

bam@linux-09t2:~> lsmod | grep -E ‘gspca|quick’
gspca_stv06xx 35040 0
gspca_main 23384 1 gspca_stv06xx
compat_ioctl32 8520 1 gspca_main
videodev 35328 2 gspca_main,compat_ioctl32
usbcore 195712 8 snd_usb_audio,gspca_stv06xx,snd_usb_lib,gspca_main,usbhid,ohci_hcd,ehci_hcd
bam@linux-09t2:~> lsusb
Bus 002 Device 004: ID 046d:0850 Logitech, Inc. QuickCam Web
Bus 002 Device 003: ID 046d:c03d Logitech, Inc. M-BT69a Pilot Optical Mouse
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
bam@linux-09t2:~>

OK, so you are really and only using the backported gspca-driver.

Now I need another one:

/usr/sbin/hwinfo --usb|less

This will give you a lot of output, you can scroll with the arrow keys and terminate it with q.

Now you only need to post the part about your webcam, it will look a little bit like this.

10: USB 00.0: 0000 Unclassified device
  [Created at usb.122]
  UDI: /org/freedesktop/Hal/devices/usb_device_4f2_b109_SN0001_if0
  Unique ID: Mwf_.OZoUKCIKuw4
  Parent ID: 2XnU.9T1GDCLyFd9
  SysFS ID: /devices/pci0000:00/0000:00:1d.7/usb5/5-3/5-3:1.0
  SysFS BusID: 5-3:1.0
  Hardware Class: unknown
  Model: "Chicony Electronics USB 2.0 Camera"
  Hotplug: USB
  Vendor: usb 0x04f2 "Chicony Electronics Co., Ltd"
  Device: usb 0xb109 "USB 2.0 Camera"
  Revision: "4.94"
  Serial ID: "SN0001"
  Driver: "uvcvideo"
  Driver Modules: "uvcvideo"
  Device File: /dev/input/input7
  Speed: 480 Mbps
  Module Alias: "usb:v04F2pB109d0494dcEFdsc02dp01ic0Eisc01ip00"
  Driver Info #0:
    Driver Status: uvcvideo is active
    Driver Activation Cmd: "modprobe uvcvideo"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #7 (Hub)

If you use the “/”-key in less, type “gspca” and then hit <Enter> there, you will find it more easily.

Copy&paste that section, please.

BTW:

So I presume the correct driver already existed in my OS.

Nope, the driver is taken from 2.6.28 (or 2.6.29, don’t remember at the moment) and was “backported” to 2.6.27, it does not exist in the standard kernel for OS 11.1, so installing the gspca-kmp package was crucial.

The problem with backports is always, that you very often have to change some code in the driver (aka “patch it”) so it compiles with another kernel version. Sometimes these patches are rather trivial and not very likely to break some stuff, sometimes they change a little more code or you have to disable some functions which are not present in the kernel version you are backporting the driver to.

So that’s why I wrote “I have no idea if that thing will work in 11.1”.

The QuickCam entry:

07: USB 00.0: 0000 Unclassified device
[Created at usb.122]
UDI: /org/freedesktop/Hal/devices/usb_device_46d_850_noserial_if0
Unique ID: 1Nxo.l3kEKv8WWzD
Parent ID: pBe4.kllrQr_lFX9
SysFS ID: /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0
SysFS BusID: 2-8:1.0
Hardware Class: unknown
Model: “Logitech QuickCam Web”
Hotplug: USB
Vendor: usb 0x046d “Logitech, Inc.”
Device: usb 0x0850 “QuickCam Web”
Revision: “1.00”
Driver: “STV06xx”
Driver Modules: “gspca_stv06xx”
Speed: 12 Mbps
Module Alias: “usb:v046Dp0850d0100dcFFdscFFdpFFicFFiscFFipFF”
Driver Info #0:
Driver Status: gspca_stv06xx is active
Driver Activation Cmd: “modprobe gspca_stv06xx”
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #6 (Hub)