kernel driver doesn't set Quickcam Express as v4l-capable

Bug #196811 reported by Sebastian Keller on 2008-02-29
44
Affects Status Importance Assigned to Milestone
HAL
Won't Fix
Medium
linux (Ubuntu)
Medium
Andy Whitcroft
linux-ubuntu-modules-2.6.24 (Ubuntu)
Medium
Unassigned

Bug Description

After plugging the Quickcam in the module gets loaded and everything works fine when accessing /dev/video0.
But hal does not detect this device as v4l capable. As a result cheese does not find the webcam.

Packages:
hal 0.5.10-5ubuntu7
hal-info 20080215-1ubuntu1

dmesg-output:
[123950.751467] quickcam: QuickCam USB camera found (driver version QuickCam USB 0.6.6 $Date: 2006/11/04 08:38:14 $)
[123950.751474] quickcam: Kernel:2.6.24-10-generic bus:3 class:FF subclass:FF vendor:046D product:0840
[123950.757413] quickcam: Sensor HDCS-1000/1100 detected
[123950.759494] quickcam: Registered device: /dev/video0

lsusb:
Bus 003 Device 007: ID 046d:0840 Logitech, Inc. QuickCam Express

The two hal entries for the Quickcam:

udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial'
  info.bus = 'usb_device' (string)
  info.linux.driver = 'usb' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_10_2' (string)
  info.product = 'QuickCam Express' (string)
  info.subsystem = 'usb_device' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial' (string)
  info.vendor = 'Logitech, Inc.' (string)
  linux.device_file = '/dev/bus/usb/003/003' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'usb' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1' (string)
  usb_device.bus_number = 3 (0x3) (int)
  usb_device.can_wake_up = false (bool)
  usb_device.configuration_value = 1 (0x1) (int)
  usb_device.device_class = 255 (0xff) (int)
  usb_device.device_protocol = 255 (0xff) (int)
  usb_device.device_revision_bcd = 256 (0x100) (int)
  usb_device.device_subclass = 255 (0xff) (int)
  usb_device.is_self_powered = false (bool)
  usb_device.linux.device_number = 3 (0x3) (int)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1' (string)
  usb_device.max_power = 500 (0x1f4) (int)
  usb_device.num_configurations = 1 (0x1) (int)
  usb_device.num_interfaces = 1 (0x1) (int)
  usb_device.num_ports = 0 (0x0) (int)
  usb_device.product = 'QuickCam Express' (string)
  usb_device.product_id = 2112 (0x840) (int)
  usb_device.speed = 12.0 (12) (double)
  usb_device.speed_bcd = 4608 (0x1200) (int)
  usb_device.vendor = 'Logitech, Inc.' (string)
  usb_device.vendor_id = 1133 (0x46d) (int)
  usb_device.version = 1.0 (1) (double)
  usb_device.version_bcd = 256 (0x100) (int)

udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_if0'
  info.bus = 'usb' (string)
  info.linux.driver = 'quickcam' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial' (string)
  info.product = 'USB Vendor Specific Interface' (string)
  info.subsystem = 'usb' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_if0' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'usb' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1/3-1:1.0' (string)
  usb.bus_number = 3 (0x3) (int)
  usb.can_wake_up = false (bool)
  usb.configuration_value = 1 (0x1) (int)
  usb.device_class = 255 (0xff) (int)
  usb.device_protocol = 255 (0xff) (int)
  usb.device_revision_bcd = 256 (0x100) (int)
  usb.device_subclass = 255 (0xff) (int)
  usb.interface.class = 255 (0xff) (int)
  usb.interface.number = 0 (0x0) (int)
  usb.interface.protocol = 255 (0xff) (int)
  usb.interface.subclass = 255 (0xff) (int)
  usb.is_self_powered = false (bool)
  usb.linux.device_number = 3 (0x3) (int)
  usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:10.2/usb3/3-1/3-1:1.0' (string)
  usb.max_power = 500 (0x1f4) (int)
  usb.num_configurations = 1 (0x1) (int)
  usb.num_interfaces = 1 (0x1) (int)
  usb.num_ports = 0 (0x0) (int)
  usb.product = 'USB Vendor Specific Interface' (string)
  usb.product_id = 2112 (0x840) (int)
  usb.speed = 12.0 (12) (double)
  usb.speed_bcd = 4608 (0x1200) (int)
  usb.vendor = 'Logitech, Inc.' (string)
  usb.vendor_id = 1133 (0x46d) (int)
  usb.version = 1.0 (1) (double)
  usb.version_bcd = 256 (0x100) (int)

Sebastian Keller wrote in the Ubuntu bugtracker at Launchpad:
"After plugging the Quickcam in the module gets loaded and everything works fine when accessing /dev/video0.
But hal does not detect this device as v4l capable. As a result cheese does not find the webcam.

Packages:
hal 0.5.10-5ubuntu7
hal-info 20080215-1ubuntu1"
At https://bugs.launchpad.net/ubuntu/+source/hal/+bug/196811 you can find various log files attached providing information about the problem. If you need more information, please ask.

Thank you for reporting this bug. However, we need a little bit more information in order to get the developers working on it. Please do the following and attach the results here.
-Restart
-Open a Terminal and type
sudo /etc/init.d/hal stop
sudo hald --verbose=yes --daemon=no 2>&1 | tee /tmp/hal.log
-Wait for the output the command generates to settle down and NOW insert the Quickcam
-In a second terminal type;
lshal > /tmp/lshal.txt
-Go back to the terminal where the sudo hald... comand was executed, press Ctrl+c and execute this:
sudo /etc/init.d/hal start
Now hald is running normally again, it was running in verbose mode earlier.

Please attach the following files:
/var/log/kern.log
/tmp/hal.log
/tmp/lshal.txt

Thanks.

Changed in hal:
assignee: nobody → qense
status: New → Incomplete
Sebastian Keller (skeller) wrote :
Sebastian Keller (skeller) wrote :
Sebastian Keller (skeller) wrote :
Sense Egbert Hofstede (sense) wrote :

This bug contains enough information for the developers to have a look at it. I'm going to forward it to freedesktop now.

Changed in hal:
assignee: qense → nobody
status: Incomplete → Confirmed
Martin Pitt (pitti) wrote :

Apparently the kernel driver does not create a /sys fs entry with a 'video4linux' subclass. Those are just a generic USB device and interface.

Can you please plug in the device and do

  tar cp /sys/ 2>/dev/null| gzip -9 > /tmp/sysfs.tar.gz

and attach /tmp/sysfs.tar.gz here? Thank you!

Sebastian Keller (skeller) wrote :
Changed in hal:
status: Unknown → Confirmed

Please recheck with current HAL git. v4l support was added lately and since hal_0.5.10-5ubuntu8.diff.gz didn't contain any related backport/patch I assume this wasn't part of the packge.

I close the bug for now.

Changed in hal:
status: Confirmed → Fix Released

According to the developers this should have been fixed in the git already but wasn't applied to hal_0.5.10-5ubuntu8. Today there was an update for HAL, you could try that, otherwise the current version of HAL in their GIT repository.

Unfortunately it still doesn't work in 0.5.11~rc2-1ubuntu5, according to the reporter. Is there any information still needed?

Still does not work with hal 0.5.11~rc2-1ubuntu5.

Changed in hal:
status: Confirmed → Fix Committed
Sebastian Keller (skeller) wrote :

Changing back to confirmed as the camera still isn't detected as v4l capable, neither in hardy, nor in intrepid.
hal: 0.5.11-1ubuntu1
hal-info: 20080508+git20080601-1ubuntu1

Changed in hal:
status: Fix Committed → Confirmed

In the newest version in hardy and intrepid the device is still not recognized as v4l capable.

This are the versions:
hal: 0.5.11-1ubuntu1
hal-info: 20080508+git20080601-1ubuntu1

Changed in hal:
status: Fix Released → Confirmed

Is there any known workaround to let quickcam express appear as a v4l device in hal, until the bug is fixed?

I'm in need of using my webcam, but hal-enabled applications will refuse
to use it. (FYI, not hal applications, like 'camorama', work)

Thanks,
Alfredo

I start supposing that we're having a different problem here. You say that the webcam isn't recognized as a v4l device, so it cannot be used by
cheese, and other hal-enabled programs.

However, as your sysfs.tar.gz file says (and as I can reproduce locally on my machine), the
/sys/class/video4linux/video0
symlink is created when the cam is connected (and deleted when it's removed). This lets me think that the webcam is actually recognized as a video4linux device.
Still, I can reproduce the bug in Hardy.

Btw, I noticed that in freedesktop, the bug is reported with low priority (and here as undecided). I would say this bug is
more than low priority, because it makes (non-fundamental) hardware unusable, so it should be at least rated as normal.

Cheers,
Alfredo

Sebastian Keller (skeller) wrote :

By "not detected as v4l capable" I meant, that there is no device with "video4linux" capability in lshal, thats why I filed this bug against hal. Also, as far as I know, the /sys entry is not created by hal, so the fact that it exist does not mean hal has recognized the device correctly.

Maybe as a workaround a custom .fdi-file could be used, which creates such a device.

This bug is still present.
Although the device does appear as v4l in the sysfs, it doesn't is detected as such by HAL.

Executing the following commands:
"hal-set-property --udi /org/freedesktop/Hal/devices/usb_device_46d_870_noserial --key info.capabilities --strlist-pre video4linux
sudo hal-set-property --udi /org/freedesktop/Hal/devices/usb_device_46d_870_noserial --key video4linux.device --string /dev/video0"

solves the problem for the time the device is connected. However, it's not saved.

There is also a change that this bug is a duplicate of bug http://bugzilla.gnome.org/show_bug.cgi?id=531835

Changed in hal:
importance: Undecided → Medium
status: Confirmed → Triaged

Dear Sebastian,
you're definitely right. Indeed, I managed my quickcam express to work with cheese by enabling its v4l capabilities in hal.

By reading the bug reported at
http://bugzilla.gnome.org/show_bug.cgi?id=531835
after plugging the webcam, I issued the following commands

hal-set-property --udi /org/freedesktop/Hal/devices/usb_device_46d_870_noserial --key info.capabilities --strlist-pre video4linux
sudo hal-set-property --udi /org/freedesktop/Hal/devices/usb_device_46d_870_noserial --key video4linux.device --string /dev/video0

That is, I manually added the v4l property to the device. Then, when you launch cheese, it recognizes and correctly uses the webcam.
Unfortunately, these properties are set on-the-fly, and they're lost when I detach the camera. I'm not an expert with hal, so I don't know
how to store this info permanently (i.e. I don't know anything about fdi files).

So, someone may want to help me in creating the appropriate patch for fdi files, so that it can be attached to the already reported hal bug at
freedesktop.org?

Thank you all for the support.

Sebastian Keller (skeller) wrote :

Try saving the attached file as /etc/hal/fdi/information/10-quickcam.fdi and then plug the webcam in.
(I couldn't test it with cheese since the quickcam-module currently does not build with the 2.6.26 kernel from intrepid)

This however is only a workaround specific to your device and /dev-path. My cam for example would be /org/freedesktop/Hal/devices/usb_device_46d_840_noserial and other people might have more than one cam so it might not be /dev/video0 for them.

Simon Munton (simon-launchpad) wrote :

You could try adding the following line:

                qc->vdev.dev = &usbdev->dev;

just before the call to:
     r = video_register_device(&qc->vdev, VFL_TYPE_GRABBER, video_nr);
at around line 3160 of the qc-driver.c file in the qc-usb source and recompile the driver.

As a diff:

--- qc-driver.c.orig 2006-10-24 03:06:19.000000000 +0100
+++ qc-driver.c 2008-07-01 20:43:39.000000000 +0100
@@ -3155,6 +3155,7 @@

                /* Register V4L video device */
                memcpy(&qc->vdev, &qc_v4l_template, sizeof(qc_v4l_template));
+ qc->vdev.dev = &usbdev->dev;
                qc->vdev.priv = qc;
                r = video_register_device(&qc->vdev, VFL_TYPE_GRABBER, video_nr);
                if (r<0) goto fail3;

This has the effect of setting the video devices parent device, and then HAL will create the correct entry:

udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_video4linux'
  info.capabilities = {'video4linux', 'video4linux.video_capture'} (string list)
  info.category = 'video4linux' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial' (string)
  info.product = 'Logitech QuickCam USB' (string)
  info.subsystem = 'video4linux' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_video4linux' (string)
  linux.device_file = '/dev/v4l/video0' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'video4linux' (string)
  linux.sysfs_path = '/sys/class/video4linux/video0' (string)
  video4linux.device = '/dev/v4l/video0' (string)
  video4linux.version = '1' (string)

Sebastian Keller (skeller) wrote :

I got the quickcam module compiling on 2.6.26 now by adding some defines and tried your patch, which fixes the issue for me.
(However I still couldn't test it with cheese, but this time because of some gstreamer problems in intrepid. But according to "cheese --verbose" it tries to open /dev/video0 which means it should work on hardy)
I'll change this bug to linux-ubuntu-modules because this is the package which contains the binary quickcam-module shipped with ubuntu.

I have some confusion about the module source code.

First, if you go to the qc-usb CVS sourceforge repository, they have two directories: one is 'qc-usb', the other is 'quickam'.
The patch proposed by Simon applies for the file which is in the 'qc-usb' directory. Maybe the same patch should be applied to the quickam.c file in the quickam directory?

Btw, the CVS repository says that the quickam directory is 5yo, while the qc-usb is 2yo. Is this driver still supported? Or will this patch remain specific to ubuntu?

Second, there's an spca5xx driver, which seems to me to be newer. If it supports quickcam express, and correctly handles v4l/hal, we may think about making this module the default quickcam express module, instead of the current one.

Finally, I believe that no specific fdi file for quickcam should be created, if it is possible to handle everything within the driver.

To sum up:
- The freedesktop hal bug (https://bugs.freedesktop.org/show_bug.cgi?id=14809) shall probably be closed. (if we can handle it in the driver, then hal is not affected)
- The cheese bug (http://bugzilla.gnome.org/show_bug.cgi?id=531835) shall be marked as duplicate of this bug
- Then we may either patch the current quickcam driver, or test the spca5xx driver, and, if it works, make it the default driver

I'm going to test the spca5xx driver, and let you know.

Update:
- the spca5xx driver is superseded by gspca. Which currently doesn't compile on Ubuntu Hardy (!!! see https://bugs.launchpad.net/ubuntu/+source/gspca/+bug/213762). However, as stated at http://mxhaard.free.fr/spca5xx.html, the old quickcam express webcam (ID 046d:0870) should not be supported. So it was not worth trying it.
- Then, I tried to patch the qc-usb driver. Since this driver does not compile on Ubuntu Hardy (!!! Again !!! see https://bugs.launchpad.net/ubuntu/+source/qc-usb/+bug/213114) I made the following step:
  - download the latest qc-usb-source package from intrepid
  - extract it
  - patch it
  - compile, install and load it

Camorama works fine.
cheese --verbose writes only
device: /dev/video0
on output (as reported by Sebastian), however (surprisingly) the webcam still does NOT work with cheese!

Note that:
- with the plain driver (the one that ships with Ubuntu kernel), cheese --verbose does not output anything
- by setting hal properties by hand cheese worked

We're almost to the goal... we're just missing some bits about this very strange behavior...

When running cheese --verbose with the 'plain' qc-usb module, the output is

---
Detected webcam: Logitech QuickCam USB
device: /dev/video0
<
some repeated data like
video/x-raw-yuv 32 x 32 num_framerates 1
15/2
>
v4lsrc name=video_source device=/dev/video0 ! video/x-raw-yuv,width=352,height=292,framerate=15/2 ! identity
---

compare with the patched driver, where only
device: /dev/video0
is printed. Still can't tell if this is a hal or driver or cheese problem.

Sebastian Keller (skeller) wrote :

If you want a version of the qc-usb module, which builds on hardy, use the version from the ubuntu/media/quickcam directory of http://archive.ubuntu.com/ubuntu/pool/main/l/linux-ubuntu-modules-2.6.24/linux-ubuntu-modules-2.6.24_2.6.24-19.28.tar.gz
Then copy the Makefile from the normal archive downloaded from the website over to this directory, apply the patch and run "make quickcam.ko", thats how I created the module. (Well I also added some defines, because otherwise it wouldn't build on a 2.6.26 kernel)

And from the cheese faq:
"My Quickcam Express (qc-usb driver) doesn't work with Cheese (or gstreamer), and I see errors like "Not enough buffers. We got 1, we want at least 2" in the Cheese output.

Try running qcset /dev/video0 compat=dblbuf to enable double buffer compatibility mode, then restarting Cheese. "
(qcset is part of qc-usb-utils)

After doing this I got the cam working with cheese, now the question remains, why it worked without this before.
I also had this double-buffering issue when running a gstreamer-testpipeline:
gst-launch-0.10 v4lsrc autoprobe-fps=false device=/dev/video0 !\
"video/x-raw-yuv, format=(fourcc)YUY2, width=360, height=296, framerate=(fraction)15/2" ! ffmpegcolorspace !\
ximagesink
So it happens without hal being involved, too.
However this pipeline used to work for me before, thats why I thought it might have been some changes in gstreamer in intrepid.

Sebastian Keller (skeller) wrote :

I found out why it worked sometimes without double-buffer problems. Actually the problem has already been solved, but I managed to work around this solution ;)
By using insmod on the driver I compiled myself the options set in /etc/modprobe.d/options got completely ignored, however one of them is to enable double-buffering for that driver. So this issue has been fixed already and the only remaining thing to get this bug closed is to apply the patch Simon Munton suggested.

Danny Kukawka was indeed right. The problem turns out to not be in HAL, but in the driver, forgetting to register the camera as v4l capable. My apologizes for the mail noise.

I've reported this issue at the qce-ga bugtracker, the project that is responsible for this driver. However, since the Launchpad BugWatch doesn't support the SourceForge bugtracker I have to post the link here:
http://sourceforge.net/tracker/index.php?func=detail&aid=2036956&group_id=12924&atid=112924

Changed in hal:
status: Confirmed → Invalid
Brian Croom (aikoniv) wrote :

I experience this same bug with my "QuickCam Web" device, with the following HAL udi entries:

/org/freedesktop/Hal/devices/usb_device_46d_850_noserial
/org/freedesktop/Hal/devices/usb_device_46d_850_noserial_if0

lsusb entry:

Bus 003 Device 003: ID 046d:0850 Logitech, Inc. QuickCam Web

Sebastian Keller (skeller) wrote :

It seems the upstream development has stopped years ago. The latest thing I had found was a 0.7.0 release that was not even on sf.net, but even that was long time ago. That release however only included some changes to allow the driver to compile on newer kernels. So basically all development of that driver happens through distro-patches now.

There are two versions of the driver in the intrepid kernel-package source, however only one of them is compiled. The patch should be applied to the one in ubuntu/qc-usb and the driver in ubuntu/misc/media/quickcam should be removed.

The patch should also fix the Problem for the "Quickcam Web", since this driver is used for 046d:0850, too.

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged

The Ubuntu Kernel Team is planning to move to the 2.6.27 kernel for the upcoming Intrepid Ibex 8.10 release. As a result, the kernel team would appreciate it if you could please test this newer 2.6.27 Ubuntu kernel. There are one of two ways you should be able to test:

1) If you are comfortable installing packages on your own, the linux-image-2.6.27-* package is currently available for you to install and test.

--or--

2) The upcoming Alpha5 for Intrepid Ibex 8.10 will contain this newer 2.6.27 Ubuntu kernel. Alpha5 is set to be released Thursday Sept 4. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. You should then be able to test via a LiveCD.

Please let us know immediately if this newer 2.6.27 kernel resolves the bug reported here or if the issue remains. More importantly, please open a new bug report for each new bug/regression introduced by the 2.6.27 kernel and tag the bug report with 'linux-2.6.27'. Also, please specifically note if the issue does or does not appear in the 2.6.26 kernel. Thanks again, we really appreicate your help and feedback.

Sebastian Keller (skeller) wrote :

The issue remains with linux-image-2.6.27-1-generic 2.6.27-1.2.
It also appeared in all 2.6.26 versions of the kernel package.

Sebastian Keller (skeller) wrote :

The patch mentioned does not work anymore with 2.6.27, but I tried updating it and now I got my quickcam working with cheese on 2.6.27. I hope this does not break anything, as I don't have much experience with v4l.
I also needed my other patch to make this cam work on 2.6.27:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/268134

wilson g (willyboxc) wrote :

I am using Intrepid 8.10 Alpha 6 and i have the Linux version 2.6.27-4-generic and i was trying to follow this forum when i was trying to compile the changed code i was getting warnings anyone have this QuickCam working with the newer stuff?

Sebastian Keller (skeller) wrote :

Did you apply both patches? The one attached to my last post and the one linked in my last post? I am able to use my quickcam with these on a 2.6.27 kernel on intrepid.

Download full text (6.1 KiB)

No I did not, I tried to look through all of this and tried to understand it
the best that I could, keep in mind I am a very experienced computer user,
and I know a lot about operating systems, programming languages ect, but for
some reason the attempts i was making weren't getting me any further,

I did take some codec, and tried to edit the qc-driver.c file but when i did
that it said that it couldnt compile the file because of a "memory" varible
that they had defined, that was undefined or something like that i cant
really remember at the moment..

if you could write a kind of basic, or even a little indepth how to, and
post it on my "ubuntu 8.10 interpid forum post" about the webcam not working
if everything goes smooth i would love to post it as Solved and then
everyone could enjoy it.. I have tried several things, and think it is very
interesting how cat'ing /dev/video shows all the data its seeing.. pretty
interesting just not video garbled txt, here is the forum i hope you have
time to go a little into explaining the steps involved and hopefully i
wouldnt have too many questions, its just the launchpad postings were sort
of scattard and went through several different kernel builds

heres the link
http://ubuntuforums.org/showthread.php?t=934968&highlight=QuickCam

Again Thank you for your time,

Wilson

On Tue, Oct 7, 2008 at 1:45 PM, Sebastian Keller <email address hidden>wrote:

> Did you apply both patches? The one attached to my last post and the one
> linked in my last post? I am able to use my quickcam with these on a
> 2.6.27 kernel on intrepid.
>
> --
> hal does not detect Quickcam Express as v4l-device
> https://bugs.launchpad.net/bugs/196811
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Hardware Abstraction Layer (HAL): Invalid
> Status in "linux" source package in Ubuntu: Triaged
> Status in "linux-ubuntu-modules-2.6.24" source package in Ubuntu: Triaged
>
> Bug description:
> After plugging the Quickcam in the module gets loaded and everything works
> fine when accessing /dev/video0.
> But hal does not detect this device as v4l capable. As a result cheese does
> not find the webcam.
>
>
> Packages:
> hal 0.5.10-5ubuntu7
> hal-info 20080215-1ubuntu1
>
>
> dmesg-output:
> [123950.751467] quickcam: QuickCam USB camera found (driver version
> QuickCam USB 0.6.6 $Date: 2006/11/04 08:38:14 $)
> [123950.751474] quickcam: Kernel:2.6.24-10-generic bus:3 class:FF
> subclass:FF vendor:046D product:0840
> [123950.757413] quickcam: Sensor HDCS-1000/1100 detected
> [123950.759494] quickcam: Registered device: /dev/video0
>
>
> lsusb:
> Bus 003 Device 007: ID 046d:0840 Logitech, Inc. QuickCam Express
>
>
> The two hal entries for the Quickcam:
>
> udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial'
> info.bus = 'usb_device' (string)
> info.linux.driver = 'usb' (string)
> info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_10_2'
> (string)
> info.product = 'QuickCam Express' (string)
> info.subsystem = 'usb_device' (string)
> info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial'
> (string)
> info.vendor = 'Logitech, Inc.' ...

Read more...

I built the driver this way:

1. install "build-essential" and make sure you have the current linux-headers package installed.
2. get the qc-usb source used by ubuntu from http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-intrepid.git;a=snapshot;h=af08ea6e38e756093ada807ed79ca409afd7c174;sf=tgz and extract it on the desktop
3. get the original qc-usb source from http://downloads.sourceforge.net/qce-ga/qc-usb-0.6.6.tar.gz?modtime=1162648367&big_mirror=0 and extract only "Makefile" and copy this Makefile over the one from the ubuntu version
4. get http://launchpadlibrarian.net/17739608/quickcam_parent.patch and store it on your desktop
5. get http://launchpadlibrarian.net/17601962/quickcam_type.patch and store it on your desktop
6. open terminal and "cd ~/Desktop/ubuntu-intrepid/"
7. patch -p3 < ../quickcam_parent.patch
8. patch -p3 < ../quickcam_type.patch
9. make quickcam.ko
10. sudo cp quickcam.ko /lib/modules/$(uname -r)/kernel/ubuntu/qc-usb/
11. make sure the old version of the module is not loaded by checking "lsmod | grep quickcam" and then plug in your camera
12. start cheese

The problem you had about something being undefined is because of a change in the kernel, that the qc-usb source in the ubuntu tree got adapted to, but the one on sf.net not.

Gawell (gossetga) wrote :

I have the same problem and can't find any solution on the web.
I followed the last post but when starting cheese, I got exactly the same image with coloured stripes...
Wilson you're not alone!
(My cam is Quickcam Chat, but it do exactly the same as the Wilson's one)

Thank you a lot,

Gaël

Sebastian Keller (skeller) wrote :

I'm not sure if the qc-usb driver is supposed to work for Quickcam Chat. Check "lsusb" if it has one of the following IDs: 046D:0840, 046D:0850, 046D:0870 or 046D:08F6
If it has a different ID, then that would be a different driver and a different bugreport.

Gawell (gossetga) wrote :

gawell@gawell-desktop:~$ lsusb
Bus 002 Device 004: ID 046d:092c Logitech, Inc. QuickCam Chat
Bus 002 Device 003: ID 413c:3200 Dell Computer Corp. Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. Hi-Speed 21-in-1 Flash Card Reader/Writer (Internal/External)
Bus 001 Device 004: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
gawell@gawell-desktop:~$

Well, doesn't seem to be qc-usb.

dmesg gave me that :
[21920.776044] usb 2-2: new full speed USB device using ohci_hcd and address 4
[21920.992370] usb 2-2: configuration #1 chosen from 1 choice
[21920.994120] gspca: probing 046d:092c
[21921.178806] gspca: probe ok

How to make a new bugreport? Is this easy? Which informations do I need to give?
Thanks

Gawell (gossetga) wrote :

I finally found a bug report for my cam, which uses spca561 if I understood well. I managed to see my face on the screen (yippee!) by downloading https://edge.launchpad.net/%7Estemp/+archive/+files/libv4l_0.5.0-1_i386.deb and typing "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype"
Wilson, I think you should try that, because you seems to have the same problem as me (according to what you wrote in your linked forum).
How much time will we need to use this trick, that's the new question...
Thanks again,

Gaël

This bug will remain open against the actively developed kernel bug against (ie the linux kernel task) but the linux-ubuntu-modules-2.6.24 task will be closed as this does not qualify for an SRU - http://wiki.ubuntu.com/StableReleaseUpdates . Thanks.

Changed in linux-ubuntu-modules-2.6.24:
status: Triaged → Won't Fix
Steve Conklin (sconklin) on 2008-12-04
Changed in linux:
assignee: ubuntu-kernel-team → sconklin
status: Triaged → In Progress
Vadim Peretokin (vperetokin) wrote :

I can confirm that https://bugs.launchpad.net/ubuntu/+source/linux/+bug/196811/comments/32 made "046d:0870 Logitech, Inc. QuickCam Express" "work" - Cheese now finds it, even though camorama was working with it just fine.

Skype quality though is unusable.

Steve Conklin (sconklin) on 2010-01-29
Changed in linux (Ubuntu):
status: In Progress → Incomplete

What data are missing to let this bug be solved? I happen to have such a webcam, and I can try to help if needed.

Sense Egbert Hofstede (sense) wrote :

If anyone could check whether this bug still exists that would be great. This then probably should be forwarded to the kernel bug tracker.

Sebastian Keller (skeller) wrote :

This driver has never been part of the vanilla kernel and there has not been any upstream development for years now. If this bug is going to get fixed then in a distro specific patch unless somebody decides to take over upstream maintenance and get this driver into shape for inclusion into the kernel.

I have a Logitech camera and Camorama still doesn't see it...

D

--- On Sat, 30/1/10, Sense Hofstede <email address hidden> wrote:

From: Sense Hofstede <email address hidden>
Subject: [Bug 196811] Re: hal does not detect Quickcam Express as v4l-device
To: <email address hidden>
Received: Saturday, 30 January, 2010, 6:18 PM

If anyone could check whether this bug still exists that would be great.
This then probably should be forwarded to the kernel bug tracker.

--
hal does not detect Quickcam Express as v4l-device
https://bugs.launchpad.net/bugs/196811
You received this bug notification because you are a direct subscriber
of the bug.

      __________________________________________________________________________________
Yahoo!7: Catch-up on your favourite Channel 7 TV shows easily, legally, and for free at PLUS7. www.tv.yahoo.com.au/plus7

Camorama doesn't use hal, so this is unrelated to this bug.

Sebastian Keller (skeller) wrote :

As of karmic the stv06xx from staging seems to support this camera too, so the qc-usb driver got dropped. Since I'm using lucid with a mainline kernel I can only talk about that, but there it gets listed in hal correctly as v4l device. So there is no need to report it upstream and if this gets confirmed for karmic, then this report could be finally closed.

So could someone with karmic please try:
hal-find-by-capability --capability video4linux.video_capture
and check if this lists your quickcam. This will probably only show something like
/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_if0_video4linux
then check if values after "usb_device", ("46d_840" in my case) match the device id of your cam under
lsusb
"Bus 003 Device 002: ID 046d:0840 Logitech, Inc. QuickCam Express" in my case

But this driver seems to have its own set of problems, too. Only the first frame is captured and then it seems frozen, but those problems are out of the scope of this bug report.

Johan Gunnarsson (johang) wrote :

With a Quickcam Web and Karmic.

$ lsusb
...
Bus 004 Device 002: ID 046d:0850 Logitech, Inc. QuickCam Web
...

$ hal-find-by-capability --capability video4linux.video_capture
/org/freedesktop/Hal/devices/usb_device_46d_850_noserial_if0_video4linux

Same here on Karmic Linux 2.6.31-17-generic #54-Ubuntu SMP Thu Dec 10 17:01:44 UTC 2009 x86_64 GNU/Linux

$ lsusb
Bus 002 Device 003: ID 046d:0870 Logitech, Inc. QuickCam Express

$ hal-find-by-capability --capability video4linux.video_capture
/org/freedesktop/Hal/devices/usb_device_46d_870_noserial_if0_video4linux

Hi, this is what I got...

darrell@darrell-asgaard:~$ hal-find-by-capability --capability video4linux.video_capture
/org/freedesktop/Hal/devices/usb_device_46d_8af_noserial_video4linux
darrell@darrell-asgaard:~$ lsusb
Bus 002 Device 005: ID 0566:3013 Monterey International Corp.
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 09da:000e A4 Tech Co., Ltd
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 046d:08af Logitech, Inc. QuickCam Easy/Cool
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

So, yeah, my camera is detected, but still the problem persists.

Cheers,
D

--- On Sun, 31/1/10, Sebastian Keller <email address hidden> wrote:

From: Sebastian Keller <email address hidden>
Subject: [Bug 196811] Re: hal does not detect Quickcam Express as v4l-device
To: <email address hidden>
Received: Sunday, 31 January, 2010, 9:53 PM

As of karmic the stv06xx from staging seems to support this camera too,
so the qc-usb driver got dropped. Since I'm using lucid with a mainline
kernel I can only talk about that, but there it gets listed in hal
correctly as v4l device. So there is no need to report it upstream and
if this gets confirmed for karmic, then this report could be finally
closed.

So could someone with karmic please try:
hal-find-by-capability --capability video4linux.video_capture
and check if this lists your quickcam. This will probably only show something like
/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_if0_video4linux
then check if values after "usb_device", ("46d_840" in my case) match the device id of your cam under
lsusb
"Bus 003 Device 002: ID 046d:0840 Logitech, Inc. QuickCam Express" in my case

But this driver seems to have its own set of problems, too. Only the
first frame is captured and then it seems frozen, but those problems are
out of the scope of this bug report.

--
hal does not detect Quickcam Express as v4l-device
https://bugs.launchpad.net/bugs/196811
You received this bug notification because you are a direct subscriber
of the bug.

      __________________________________________________________________________________
Yahoo!7: Catch-up on your favourite Channel 7 TV shows easily, legally, and for free at PLUS7. www.tv.yahoo.com.au/plus7

I have a QuickCam Express. I have the same problem. Ubuntu 9.10. My QuickCam works in other (non-V4L?) applications, but not xawtv or ZoneMinder.

# lsusb | grep Cam
Bus 004 Device 031: ID 046d:0840 Logitech, Inc. QuickCam Express

This bug is 2 years old now...

summary: - hal does not detect Quickcam Express as v4l-device
+ kernel driver doesn't set Quickcam Express as v4l-capable
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Steve Conklin (sconklin) on 2010-07-26
Changed in linux (Ubuntu):
assignee: Steve Conklin (sconklin) → nobody
Changed in hal:
importance: Unknown → Medium
status: Invalid → Won't Fix
Andy Whitcroft (apw) wrote :

Ad all releases from Karmic onwards (at least) support this web cam natively via the gspca driver I am going to close off this report for the development release (Natty).

Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: Confirmed → Fix Released
Changed in hal:
importance: Medium → Unknown
Changed in hal:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.