pwc
[Top] [All Lists]

[pwc] Difficulties with a QuickCam 4000 Pro and USB2.0 hubs

To:
Subject: [pwc] Difficulties with a QuickCam 4000 Pro and USB2.0 hubs
From: Raymond <>
Date: Sun, 19 Mar 2006 21:48:28 +1100
Hi all!


Firstly, sorry if this has been addressed earlier - I did have a look through the archives but being unable to find the search function (is it there?) I just looked through the subject lines.

I have a Logitech QuickCam 4000 Pro webcam (USB1.1) attached to a Fedora Core 4 box with a pretty standard 2.6.15 kernel (about the only bit of oddity is that it's configured for a Transmeta processor). I'm using version 10.0.11 of the PWC driver, compiled from source with no additional changes. The computer in question (an OQO 01+) has a single USB2.0 port but I get similar results with a 'normal' desktop (see below).

I'm having major headaches getting the webcam to play nice when it's plugged in through a USB2.0 hub ... I've done most of my testing with Genesys Logic based hubs (several different brands/models but all showing up as 05e3:0605 in lsusb) although I've also tried one that showed up as an NEC chip.


I plug the camera into the hub and the hub into the computer (or hub into computer then camera into hub - same thing happens). In dmesg I get the following as expected:

==============
usb 1-1.2: new full speed USB device using ehci_hcd and address 106
pwc: Logitech QuickCam 4000 Pro USB webcam detected.
pwc: Registered as /dev/video0.
==============

However, if I run "xawtv -c /dev/video0" (or anything that accesses the camera) I get something like:

==============
 ~]# xawtv -c /dev/video0
This is xawtv-3.95, running on Linux/i686 (2.6.15-prep)
Xlib:  extension "XVideo" missing on display "192.168.1.105:0.0".
v4l2: open /dev/video0: Broken pipe
v4l2: open /dev/video0: Broken pipe
v4l: open /dev/video0: Broken pipe
no video grabber device available
==============

After this, dmesg has the following:

==============
pwc: Failed to set video mode  fps; return code = -32
pwc: Failed to set video mode  fps; return code = -32
pwc: Failed to set video mode  fps; return code = -32
pwc: Failed to set video mode  fps; return code = -32
pwc: Failed to set video mode  fps; return code = -32
pwc: Failed to set video mode  fps; return code = -32
==============


Now the following combinations work as expected (I get pretty pictures and no errors in dmesg):
computer -- camera
computer -- USB1.1 hub -- camera
computer -- USB1.1 hub -- USB[2.0|1.1] hub -- camera

But the following combinations don't work (and give the error above):
computer -- USB2.0 hub -- camera
computer -- USB2.0 hub -- USB[2.0|1.1] hub -- camera

This phenomena doesn't seem to care if hubs are powered or unpowered or if there are other devices on the hubs or not. Curiously, I've got, amongst others, 3 completely identical Genesys Logic hubs, for some reason one of them seems stuck in USB1.1 mode (I'm guessing it's faulty, in fact dmesg tells me to plug it into a high speed hub!) and the camera works on that hub (it basically behaves like a USB1.1 hub except down the bottom of its "lsusb -v" entry it says it could operate in USB2.0 mode).


I tried similar tests with a Dell desktop (with USB2.0 ports) with a similar software configuration, when I plug through a USB2.0 hub I get the same failure but for reasons I can't quite fathom when I plug the camera directly into the computer or through USB1.1 hubs, xawtv gives a blank screen and dmesg says it can't power up the camera with an error "pwc Failed to power up the camera! (-32)" ...


I notice bouncing around various websites that some people have had problems with the PCW driver and USB2.0 hubs (actually, Linux in general seemed to have problems with non-USB2.0 devices and USB2.0 hubs). However, the impression I got was that this problem was sorta resolved for the general case around mid last year. Other devices I have, such as a Pegasus II USB1.1 ethernet dongle, Kvaser USBcanII USB1.0 adapter or Dell USB1.0 keyboard, seem to work happily enough when plugged into the exact same hub that the Quickcam is having problems with. I've also tried with several Quickcams from different batches (but all the 4000 Pro model) without finding any variation.


Is this problem familiar to anyone? Has anyone managed to solve it or can suggest where to look? I'm tempted to dive into the driver and see what I can find but if someone else has done it (and either succeeded or failed) it would be good to know! :-)

Unfortunately using a USB1.1 hub isn't an option because I need full 100Mbps network (the Pegasus II adapter is getting replaced with one that does USB2.0) and the computer only has one USB port on it so the first hub needs to be a USB2.0 hub.


Cheers!

- Raymond


P.S. As a side note, if I run "lsusb", I notice that if the camera is picked up on bus 1, it fails and if it's picked up on bus 2 it succeeds (this is all the same physical port on the computer). I'm guessing if the first device plugged in (a hub or an "actual" device) is usb1.1 the firmware assigns it to bus 2 otherwise it becomes bus 1 ... not sure if that's a "normal" way of doing things or if it's something OQO have done ...


_______________________________________________
pwc mailing list

http://lists.saillard.org/mailman/listinfo/pwc

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU