Description of problem: pwc webcam driver only operates in low resolution 160x120 Version-Release number of selected component (if applicable): Fedora 14, as well as tried Fedora 15 kernel How reproducible: Use Fedora 14 or 15, use SPC900NC or 700K or compatible webcam that uses the pwc driver. Steps to Reproduce: 1. install the Philips webcam into USB port 2. do not use any USB hub or mouse 3. insure all USB Buses are at high speed 480 Actual results: Using any number of webcam software Video4Linux, Cheese, Skype, camE, wxAstroCapture, GUVcVIEW, QT V4L2, Xawtv, etc. Should be able to use low, med. and high resolution (160x120, 320x240, 640x480) but only low res 160x120 works. Higher res just blacks out screen. Additional info: QT-V4L2 also generates message: libv4l2: error turning on stream: No space left on device Start Capture: No space left on device VIDIOC_STREAMON: No space left on device I also tried upgrading V4L, so same results with stock V4L as well as with downloaded/compiled V4L ./media_build/v4l/ install. The SPC900NC and 700K Philips webcams worked successfully on Fedora 11, 8, 6 and RHEL 4 in previous uses. My computer is a Dell Latitude E6510 laptop with 4 USB ports, no USB hubs. Also see this in dmesg: [ 5190.743233] pwc: isoc_init() submit_urb 0 failed with error -28 Also see this on the USB bus - Bus speeds are at 480, so cannot understand why there would be any bandwidth issue. The webcam SPC900NC and 700K tried, both support USB 2.0 and are plugged directly into computer USB port (no hub and no other mouse or trackball installed - no other USB device plugged in). Why is the USB / EHCI driver not allowing high resolution when there is plenty of bandwidth ??? [root@tesla]# cat /proc/bus/usb/devices |grep -B1 B: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3 B: Alloc= 0/800 us ( 0%), #Int= 2, #Iso= 0 -- T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 [root@tesla ]# cat /proc/bus/usb/devices |grep -A1 T: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3 B: Alloc= 0/800 us ( 0%), #Int= 2, #Iso= 0 -- T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 8 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 -- T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 7 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 -- T: Bus=02 Lev=02 Prnt=02 Port=07 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -- T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 -- T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 6 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 Previous Contacts prior to opening bug: I worked with the following: "Mauro Carvalho Chehab" <___> "Jarod Wilson" <___> "Hans Verkuil" <___> These support/developers have additional information per my conversations with them.
Webcam marketing information is not very reliable. I bought last year one webcam said to have 1.3 Mpixels of physical res, but it has, in fact, a very cheap and bad vga sensor. Also, an USB 1.1 device is "USB 2.0 compatible", as USB 2 ports support USB 1 devices. So, several vendors use terms like "USB 2.0 compatible" to sell USB 1.1 devices. When a device is really 2.0, they generally use something like "USB 2.0 required". According to this marketing document: http://www.p4c.philips.com/files/s/spc900nc_00/spc900nc_00_pss_eng.pdf PC Link: USB 1.1 So, the camera seems to be USB 1.1.
http://www.p4c.philips.com/files/s/spc900nc_00/spc900nc_00_dfu_eng.pdf Interfacing.......................................................................................................... USB 2.0 compatible (2.1m USB cable)
Created attachment 495694 [details] Enable several debug messages
Please compile with the enclosed patch. It should enable some debug messages. Also, attach the result of the command lsusb -v on this bugzilla.
This is the issue for me: (1) SPC900NC and 740K worked 100% with pwc driver in Fedora 11, 8, 6, RHEL4. No issues about which USB version or USB bus bandwidth. (2) same webcams on Fedora 14 qnd 14 platform suddenly cannot function at higher than 160x120 res. As reported above, the Bus speeds are 480, so should not be any USB bus bandwidth issues. So what is now breaking the works so things which did work, not stop working correctly. From the user perspective, one updates to a newer OS (F14 or 15) and suddenly things stop working right in this regard. I seems to me the "ehci driver is malfunctioning".
(In reply to comment #2) > http://www.p4c.philips.com/files/s/spc900nc_00/spc900nc_00_dfu_eng.pdf > > > Interfacing.......................................................................................................... > USB 2.0 compatible (2.1m USB cable) At page 20, system requirements does require just an USB port, and not a USB 2.0 port. So, the "compatible" in this case, just means the obvious: the device can be used either on a USB 1.1 or on a USB 2.0 port.
(In reply to comment #5) > This is the issue for me: > (1) SPC900NC and 740K worked 100% with pwc driver in Fedora 11, 8, 6, RHEL4. > No issues about which USB version or USB bus bandwidth. > (2) same webcams on Fedora 14 qnd 14 platform suddenly cannot function at > higher than 160x120 res. As reported above, the Bus speeds are 480, so should > not be any USB bus bandwidth issues. So what is now breaking the works so > things which did work, not stop working correctly. From the user > perspective, one updates to a newer OS (F14 or 15) and suddenly things stop > working right in this regard. I seems to me the "ehci driver is > malfunctioning". As you said via email, you are using a different hardware for F14/F15 than the one you used with F11. In order to be sure that this is a regression, you should use the same hardware with both. Yet, I don't think that this is a driver regression. This device supports compressed and uncompressed modes, and 3 different formats. I suspect that your userspace application or libv4l is choosing a format that provides higher quality, at the expense of a lower bandwidth. With the debug enabled, we may be able to double check it. Please test it with the patch applied, with both qv4l2 normal and raw mode. At normal mode, you'll see the resolutions and formats provided via libv4l. On raw mode, you'll see the formats that the hardware actually provides.
I just managed to more or less reproduce this with a logitech QuickCam 4000 Pro. This is the only pwc cam I have I plugged it in to give this a try, and got very similar results. I then remembered I was playing music through my external usb dac (audiocard). I paused the music, waited 5 seconds (for pulseaudio to free the device), and tried again, no more problem. Note that *all* pwc cameras are usb 1 devices, yes they are "usb 2" compatible but they are usb 1 devices, and thus share the very limited usb 1 bandwidth with any other usb 1 devices you may have (like a usb mouse / keyboard). So I believe strongly that something is using usb 1 bandwidth. You could try plugging the camera into a usb 2 hub, this will give it its own usb 1 bus, instead of one shared with other devices. Can you please provide the output of lsusb ?
Sorry for the delay. >Please compile with the enclosed patch. It should enable some debug messages. >Also, attach the result of the command lsusb -v on this bugzilla. I shall do the above ASAP. And yes, I am running on a Dell Latitude E6510 with F15,14, and I think it was my Dell Latitude 610 or 710 with F11, 8, 6 and RHEL4. So appearances are that F14/15 plus newer laptop works less well w/regard to pwc. But I will try on my older laptop next week. >So I believe strongly that something is using usb 1 bandwidth. You could try >plugging the camera into a usb 2 hub, this will give it its own usb 1 bus, >instead of one shared with other devices I have actually tested this already putting the webcam (tried both SPC900NC and 740K this way) into each of the four USB ports on my laptop (also insuring all the USB ports are empty - ie. no mouse/trackball or USB hub - just plain vanilla USB ports on the laptop). I believe I had emailed this info to you when we first talked, but is good reporting this here as well. If you look at the output of cat /proc/bus/usb/devices |grep -B1 B: shown in the initital bug report, you can see what the USB bus bandwith is. I see Spd=480 across the board for all T:/B: sets seen above. Only the T:/D: sets of output (seen in initial post) cat /proc/bus/usb/devices |grep -A1 T: show a Spd=12. One of the T:/D: pairs is the webcam. I have yet to year from you on this output result. I don't know how much clearer I can explain this. There do not appear to be any bandwidth issues on my USB buses (T:/B: pairs). But when I plug in the webcam as the ONE AND ONLY USB device in the laptop, the T:/D: pair shows Spd=12. I do not know what this means exactly, but it makes me suspect that whatever program is responsible for assigning bandwidth to the webcam, is screwing up??? Please also note I had tried stock F14 pwc with stock F14 V4L, then later tried stock F15 pwc, and compiled/installed V4L onto F15 kernel environment, with same results - only low res works.
PS: ...afraid someone will ask this, so to clarify, I tested only ONE webcam at a time. Simply stating that I tried both SPC900NC and 740K, but only one webcam at a time plugged into one of the USB ports, and I tried all four USB ports, and checked the Bus speeds per the /proc/bus/usb/devices file.
>With the debug enabled, we may be able to double check it. Please test it with >the patch applied, with both qv4l2 normal and raw mode. I meant to add that once I have the patch installed, I will try the above too.
(In reply to comment #9) > >So I believe strongly that something is using usb 1 bandwidth. You could try > >plugging the camera into a usb 2 hub, this will give it its own usb 1 bus, > >instead of one shared with other devices > > I have actually tested this already putting the webcam (tried both SPC900NC and > 740K this way) into each of the four USB ports on my laptop (also insuring all > the USB ports are empty - ie. no mouse/trackball or USB hub - just plain > vanilla USB ports on the laptop). I believe I had emailed this info to you > when we first talked I was not involved in prior discussions about this issue... > shown in the initital bug report, you can see what the USB bus bandwith is. I > see Spd=480 across the board for all T:/B: sets seen above. Only the T:/D: > sets of output (seen in initial post) > > cat /proc/bus/usb/devices |grep -A1 T: > > show a Spd=12. One of the T:/D: pairs is the webcam. > Actually it shows 2 Spd=12 entries: T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 7 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 -- T: Bus=02 Lev=02 Prnt=02 Port=07 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 Notice that Spd=12 means that they can use *max* 12 Mbps, also note that they are on the same bus and thus normally would need to share there usb bandwidth, but there are also 480 Mbps devices connected to Bus=02 so it is a usb 2 bus, that and the Lev=02, with a hub at Lev=01 seems to indicate that your motherboard has all external usb ports going through a usb 2 hub. This could mean that the 2 usb 1 devices are not sharing bandwidth, depending on the number of tt-s (transaction translaters) the hub has. In general this is not a good setup to have with webcams though, ideally you should be able to plug into a port which gets directly routed to a usb 1 controller when a usb 1 device gets inserted (a so called companion controller). This (the always going through a usb 2 hub) could very well be the cause of your problems. It would be good if you could test these camera with F-14 (using a livecd for example) on another system with more standard usb ports. My logitech pwc cam works fine through a usb 2 hub, but maybe your model is different. Full cat /proc/bus/usb/devices output as well as lsusb output may help to shed some more light on this. > I have yet to year from you on this output result. I don't know how much > clearer I can explain this. There do not appear to be any bandwidth issues on > my USB buses (T:/B: pairs). But when I plug in the webcam as the ONE AND ONLY > USB device in the laptop, the T:/D: pair shows Spd=12. I do not know what > this means exactly, but it makes me suspect that whatever program is > responsible for assigning bandwidth to the webcam, is screwing up??? This means that it is a usb 1 webcam as you've been told already you can of course keep believing what the manufacturers marketing people have put on the box, or you can believe someone who has written close to a dozen webcam drivers, your choice. As for there only being one usb deviced plugged into the laptop, you're cat /proc/bus/usb/devices clearly contradicts this. Which is unsurprising as most laptops have quite a few integrated usb devices. Chances are that the other 12 Mbps device showing in your listings is eating some bandwidth causing the issues you are seeing. Last but not least I urge you to change the tone of your comments, they have a certain unfriendliness to their tone, while we are all trying to help you.
Hans, I do not see a problem with tone in my comments. I have tried to be very specific in information I am supplying here, there is nothing personal being stated. I've repeated information where necessary when it seems to have been overlooked. I am not attempting to be unfriendly, I am trying to insure the information gets processed in full. Please do not misunderstand me. (1) I have been asking what is the diff between the T:/B: and T:/D: pairs in terms of Speed and B: (Bus) versus D: (?), and you replied to me with "This means that it is a usb 1 webcam as you've been told already you can of course keep believing what the manufacturers marketing people". Is that the answer to my question? What I was asking is what is Bus B: speed versus D: speed ? D: looks like device or driver(?), not bus? This has confused me when Bus speed seems to be what is available overall? Is D: (device?) speed grabbed from the bus? What mechanism supplies speed to the D: ? There appear to be two Busses 01 and 02 corresponding to my 4 USB ports. Is comparing B: and D: apples and oranges? Just trying to understand this. (2) As I have said, I am using a Dell Latitude E6510 laptop and it has 4 USB ports and I am ONLY putting the webcam into one of the ports for testing. And I tried this test into each of the 4 ports at a time, then checked the speeds. But you responded to me with "devices clearly contradicts this". What are you implying? Maybe the device output is faulty or there is some deeper problem with Linux on the you Dell E6510 ? Or are you saying the internal keyboard or other internal device is showing up? I don't understand what your implication is. Again 4 empty USB ports. 1 webcam in one of the USB ports. This is what I am working with. BTW on the side I am trying to get the pwc patch installed for Mauro.
If at any time you guys need an sosreport or similar, let me know.
Sorry, I misunderstood - I thought earlier the output of lsusb was to be done following the patch, but re-reading, I think was meant to be two seperate things? So here you go. [root@tesla ]# lsusb -v Bus 002 Device 004: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0a5c Broadcom Corp. idProduct 0x5800 BCM5880 Secure Applications Processor bcdDevice 1.01 iManufacturer 1 Broadcom Corp iProduct 2 5880 iSerial 3 0123456789ABCD bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 139 bNumInterfaces 2 bConfigurationValue 0 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 4 Broadcom USH ** UNRECOGNIZED: 10 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 32 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 11 Chip/SmartCard bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 5 Contacted SmartCard ChipCard Interface Descriptor: bLength 54 bDescriptorType 33 bcdCCID 1.00 nMaxSlotIndex 0 bVoltageSupport 7 5.0V 3.0V 1.8V dwProtocols 3 T=0 T=1 dwDefaultClock 4000 dwMaxiumumClock 4000 bNumClockSupported 0 dwDataRate 9600 bps dwMaxDataRate 250000 bps bNumDataRatesSupp. 0 dwMaxIFSD 247 dwSyncProtocols 00000000 dwMechanical 00000000 dwFeatures 000102BA Auto configuration based on ATR Auto voltage selection Auto clock change Auto baud rate change Auto PPS made by CCID NAD value other than 0x00 accpeted TPDU level exchange dwMaxCCIDMsgLen 271 bClassGetResponse 00 bClassEnvelope 00 wlcdLayout none bPINSupport 0 bMaxCCIDBusySlots 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 32 Device Status: 0x0000 (Bus Powered) Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x8087 Intel Corp. idProduct 0x0020 Integrated Rate Matching Hub bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 12 Hub Descriptor: bLength 11 bDescriptorType 41 nNbrPorts 8 wHubCharacteristic 0x0089 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 0x00 PortPwrCtrlMask 0xff 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0100 power Port 6: 0000.0100 power Port 7: 0000.0100 power Port 8: 0000.0103 power enable connect Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 2.06 iManufacturer 3 Linux 2.6.38.2-9.fc15.x86_64 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:1d.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 3 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Device Status: 0x0003 Self Powered Remote Wakeup Enabled Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x8087 Intel Corp. idProduct 0x0020 Integrated Rate Matching Hub bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 6 wHubCharacteristic 0x0089 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0100 power Port 6: 0000.0100 power Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 2.06 iManufacturer 3 Linux 2.6.38.2-9.fc15.x86_64 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:1a.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 3 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Device Status: 0x0003 Self Powered Remote Wakeup Enabled
And this may be useful? The output of lsusb -v with the webcam plugged into one of the four empty usb ports: Bus 002 Device 010: ID 0471:0329 Philips (or NXP) SPC 900NC PC Camera / ORITE CCD Webcam(PC370R) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0471 Philips (or NXP) idProduct 0x0329 SPC 900NC PC Camera / ORITE CCD Webcam(PC370R) bcdDevice 0.03 iManufacturer 0 iProduct 0 iSerial 1 01690000B61702BF bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 490 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x00c4 1x 196 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 2 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0124 1x 292 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 3 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x01c0 1x 448 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 4 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0250 1x 592 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 5 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x02c0 1x 704 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 6 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0308 1x 776 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 7 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0348 1x 840 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 8 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0380 1x 896 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 9 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x03c0 1x 960 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 10 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x03c0 1x 960 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 38 bInCollection 1 baInterfaceNr( 0) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 2 bSourceID 1 bControlSize 1 bmaControls( 0) 0x03 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 2 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x005a 1x 90 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 22050 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x002e 1x 46 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 11025 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0019 1x 25 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 8000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Device Status: 0x0002 (Bus Powered) Remote Wakeup Enabled Bus 002 Device 004: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0a5c Broadcom Corp. idProduct 0x5800 BCM5880 Secure Applications Processor bcdDevice 1.01 iManufacturer 1 Broadcom Corp iProduct 2 5880 iSerial 3 0123456789ABCD bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 139 bNumInterfaces 2 bConfigurationValue 0 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 4 Broadcom USH ** UNRECOGNIZED: 10 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 32 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 11 Chip/SmartCard bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 5 Contacted SmartCard ChipCard Interface Descriptor: bLength 54 bDescriptorType 33 bcdCCID 1.00 nMaxSlotIndex 0 bVoltageSupport 7 5.0V 3.0V 1.8V dwProtocols 3 T=0 T=1 dwDefaultClock 4000 dwMaxiumumClock 4000 bNumClockSupported 0 dwDataRate 9600 bps dwMaxDataRate 250000 bps bNumDataRatesSupp. 0 dwMaxIFSD 247 dwSyncProtocols 00000000 dwMechanical 00000000 dwFeatures 000102BA Auto configuration based on ATR Auto voltage selection Auto clock change Auto baud rate change Auto PPS made by CCID NAD value other than 0x00 accpeted TPDU level exchange dwMaxCCIDMsgLen 271 bClassGetResponse 00 bClassEnvelope 00 wlcdLayout none bPINSupport 0 bMaxCCIDBusySlots 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 32 Device Status: 0x0000 (Bus Powered) Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x8087 Intel Corp. idProduct 0x0020 Integrated Rate Matching Hub bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 12 Hub Descriptor: bLength 11 bDescriptorType 41 nNbrPorts 8 wHubCharacteristic 0x0089 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 0x00 PortPwrCtrlMask 0xff 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0103 power enable connect Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0100 power Port 6: 0000.0100 power Port 7: 0000.0100 power Port 8: 0000.0103 power enable connect Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 2.06 iManufacturer 3 Linux 2.6.38.2-9.fc15.x86_64 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:1d.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 3 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Device Status: 0x0003 Self Powered Remote Wakeup Enabled Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x8087 Intel Corp. idProduct 0x0020 Integrated Rate Matching Hub bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 6 wHubCharacteristic 0x0089 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power Port 5: 0000.0100 power Port 6: 0000.0100 power Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 2.06 iManufacturer 3 Linux 2.6.38.2-9.fc15.x86_64 ehci_hcd iProduct 2 EHCI Host Controller iSerial 1 0000:00:1a.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 3 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Device Status: 0x0003 Self Powered Remote Wakeup Enabled
This is also interesting - output from usbview for the plugged in Philips SPC900NC webcam. It shows connected as USB 1.1 and Speed 12. What I am trying still to understand is does the camera determine its own speed, or is there a device controller mechanism that determines the speed of a device ? (Because all the Busses show high speed 480.) Philips webcam / snd-usb-audio Serial Number: 01690000B61702BF Speed: 12Mb/s (full) USB Version: 1.10 Device Class: 00(>ifc ) Device Subclass: 00 Device Protocol: 00 Maximum Default Endpoint Size: 8 Number of Configurations: 1 Vendor Id: 0471 Product Id: 0329 Revision Number: 0.03 Config Number: 1 Number of Interfaces: 3 Attributes: a0 MaxPower Needed: 500mA Interface Number: 0 Name: Philips webcam Alternate Number: 0 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 0 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 1 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 196 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 2 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 292 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 3 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 448 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 4 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 592 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 5 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 704 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 6 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 776 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 7 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 840 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 8 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 896 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 9 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 960 Interval: 1ms Interface Number: 0 Name: Philips webcam Alternate Number: 10 Class: ff(vend.) Sub Class: 00 Protocol: 00 Number of Endpoints: 2 Endpoint Address: 82 Direction: in Attribute: 3 Type: Int. Max Packet Size: 1 Interval: 32ms Endpoint Address: 85 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 960 Interval: 1ms Interface Number: 1 Name: snd-usb-audio Alternate Number: 0 Class: 01(audio) Sub Class: 01 Protocol: 00 Number of Endpoints: 0 Interface Number: 2 Name: snd-usb-audio Alternate Number: 0 Class: 01(audio) Sub Class: 02 Protocol: 00 Number of Endpoints: 0 Interface Number: 2 Name: snd-usb-audio Alternate Number: 1 Class: 01(audio) Sub Class: 02 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 84 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 90 Interval: 1ms Interface Number: 2 Name: snd-usb-audio Alternate Number: 2 Class: 01(audio) Sub Class: 02 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 84 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 46 Interval: 1ms Interface Number: 2 Name: snd-usb-audio Alternate Number: 3 Class: 01(audio) Sub Class: 02 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 84 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 25 Interval: 1ms Interface Number: 2 Name: snd-usb-audio Alternate Number: 4 Class: 01(audio) Sub Class: 02 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 84 Direction: in Attribute: 1 Type: Isoc Max Packet Size: 16 Interval: 1ms
Reflecting a comment one of you made earlier, I've experimented a little with USBVIEW utility, and plugging the webcam into each of the 4 external USB ports, it consistantly shows up here: EHCI Host Controller | | HUB (internal) | | Philips Webcam <========== always here regardless of USB port 1-4 | 5880 EHCI Host Controller | | HUB (internal) (Note: I've refered to these HUBs as internal to insure you understand there is no external USB hub. This is inside the laptop.) The first EHCI Host Controller and internal HUB info shows as follows: EHCI Host Controller Manufacturer: Linux 2.6.38.2-9.fc15.x86_64 ehci_hcd Serial Number: 0000:00:1d.0 Speed: 480Mb/s (high) Number of Ports: 3 Bandwidth allocated: 0 / 800 (0%) Total number of interrupt requests: 2 Total number of isochronous requests: 8 USB Version: 2.00 Device Class: 09(hub ) Device Subclass: 00 Device Protocol: 00 Maximum Default Endpoint Size: 64 Number of Configurations: 1 Vendor Id: 1d6b Product Id: 0002 Revision Number: 2.06 Config Number: 1 Number of Interfaces: 1 Attributes: e0 MaxPower Needed: 0mA Interface Number: 0 Name: hub Alternate Number: 0 Class: 09(hub ) Sub Class: 00 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 81 Direction: in Attribute: 3 Type: Int. Max Packet Size: 4 Interval: 256ms hub Speed: 480Mb/s (high) Number of Ports: 8 USB Version: 2.00 Device Class: 09(hub ) Device Subclass: 00 Device Protocol: 01 Maximum Default Endpoint Size: 64 Number of Configurations: 1 Vendor Id: 8087 Product Id: 0020 Revision Number: 0.00 Config Number: 1 Number of Interfaces: 1 Attributes: e0 MaxPower Needed: 0mA Interface Number: 0 Name: hub Alternate Number: 0 Class: 09(hub ) Sub Class: 00 Protocol: 00 Number of Endpoints: 1 Endpoint Address: 81 Direction: in Attribute: 3 Type: Int. Max Packet Size: 2 Interval: 256ms
(In reply to comment #15) > Bus 002 Device 004: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications > Processor > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 This Broadcom is USB 1.1. (In reply to comment #16) > Bus 002 Device 010: ID 0471:0329 Philips (or NXP) SPC 900NC PC Camera / ORITE > CCD Webcam(PC370R) > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 Your webcam is also USB 1.1. As you can see, both are sharing bus 2. On a desktop, I would say that you should remove the BCM5880 device and test again. However, on a notebook, physically removing it can be more painful. I don't know enough about your hardware to tell you if is there a way to logically disable it, to avoid interfering on your webcamera. The next step is to test your webcam on a desktop, using the same software configuration (or to buy an USB 2.0 webcam).
(In reply to comment #7) > Yet, I don't think that this is a driver regression. This device supports > compressed and uncompressed modes, and 3 different formats. I suspect that your > userspace application or libv4l is choosing a format that provides higher > quality, at the expense of a lower bandwidth. > > With the debug enabled, we may be able to double check it. Please test it with > the patch applied, with both qv4l2 normal and raw mode. > > At normal mode, you'll see the resolutions and formats provided via libv4l. On > raw mode, you'll see the formats that the hardware actually provides. With the pwc debug patch installed (maybe I can attach the pwc-if.c and pwc.h in which I applied with patches), then ran qv4l2, here is the output I saw: [root@tesla 2.6.38.2-9.fc15.x86_64]# qv4l2 libv4l2: error turning on stream: No space left on device <=== Start Capture: No space left on device VIDIOC_STREAMON: No space left on device libv4l2: error turning on stream: No space left on device <=== Start Capture: No space left on device VIDIOC_STREAMON: No space left on device The first paragraph is in normal mode attempting 640x480 (which failed - ie. no image). The second paragraph is in raw mode attempting 640x480 (same result). But your libv4l2 output is newly shown. If there is anything else you need to me do during testing with this debug pwc driver and qv4l2, please advise. Thanks for all your help thus far.
> With the pwc debug patch installed (maybe I can attach the pwc-if.c and pwc.h > in which I applied with patches), then ran qv4l2, here is the output I saw: I need the driver debug output, and not qv4l2 one. Please use the command dmesg in order to obtain it.
Very good, here it is. I believe the first isoc_init line occurs when I have attempted 640x480 in qv4l2 in normal mode, and the second occurs when I try it in raw. I hope this is what you were looking for in terms of the debug pwc output. [ 471.337722] pwc: Philips SPC 900NC USB webcam detected. [ 471.738999] pwc: Registered as video0. [ 471.739165] input: PWC snapshot button as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/input/input13 [ 549.688892] pwc: isoc_init() submit_urb 0 failed with error -28 [ 573.715829] pwc: isoc_init() submit_urb 0 failed with error -28 I'm also still trying to see how I can remove the Broadcom 5880 device. I've tried BIOS settings first. Still looking - it appears to be a Secure Applications Processor. http://www.broadcom.com/products/Security/PC-Client-Security/BCM5880 Weird that Dell put all the external USB ports on the same EHCI controller as the 5880, when there is a whole second EHCI controller to use.
(In reply to comment #13) > Hans, > > (1) I have been asking what is the diff between the T:/B: and T:/D: pairs in > terms of Speed and B: (Bus) versus D: (?) I did not understand before that that was your question, and to answer your question, I do not know the exact meaning of these. > (2) As I have said, I am using a Dell Latitude E6510 laptop and it has 4 USB > ports and I am ONLY putting the webcam into one of the ports for testing. And > I tried this test into each of the 4 ports at a time, then checked the speeds. > But you responded to me with "devices clearly contradicts this". What are you > implying? Maybe the device output is faulty or there is some deeper problem > with Linux on the you Dell E6510 ? Or are you saying the internal keyboard or > other internal device is showing up? I don't understand what your implication > is. What I was implying is that you laptop also has some internal device which is using the usb bus, and as the lsusb output you provided shows, it does, the Broadcom Corp. BCM5880 Secure Applications Processor. WRT to the lsusb output this stands out: Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x8087 Intel Corp. idProduct 0x0020 Integrated Rate Matching Hub So it seems that in its latest chipsets Intel has replaced the usb 1 companion controller with a usb 2 hub to provide usb 1 compat through the TT-s of the hub, and more shockingly it has implemented a single TT hub, so all usb 1 devices end up sharing bandwidth (as they woul have done with a companion controller). This is likely the cause of your problems, unfortunately Linux support for usb 1 devices connected through a usb 2 hub is less then stellar. This is a well known problem with the ehci kernel driver. See the linux-usb archives for various discussions of this (search for me as author): http://vger.kernel.org/vger-lists.html#linux-usb The -28 error the pwc driver is getting is the ehci driver saying it cannot schedule the iso stream requested on the TT in question, there is nothing the pwc driver can do here to fix this.
Hans, Mauro, Thank you again for all your efforts and input. I trully hope this bug report will help others too as I have seen several posted complaints from Linux users on the internet with similar usb bandwidth issues.... I agree there is nothing much more we can do with my current E6510 laptop given what has been found and I am unable to disable the BCM5880.... I will try another computer, specifically one which I know worked under F11, next week when I can obtain it. I'll write back on this once I get the other computer loaded with F14/F15 and v4l and pwc like this one is.... But I think you can see how this issue could be very frustrating for end users on something which should be simple, ones webcam. Meanwhile, please, if you would explain something to me, or is there good reading somewhere on how does the Device get assigned 12mbs when the Bus itself has 480mbs ? In other words what software is determining all of the 480mbs bandwidth is used up so it cannot assign more than 12mbs to the webcam? (I am assuming this is the issue?) I am very curious about this. Thank you again, Peter
(In reply to comment #24) > Hans, Mauro, > > Thank you again for all your efforts and input. I trully hope this bug report > will help others too as I have seen several posted complaints from Linux users > on the internet with similar usb bandwidth issues.... I agree there is > nothing much more we can do with my current E6510 laptop given what has been > found and I am unable to disable the BCM5880.... I will try another computer, > specifically one which I know worked under F11, next week when I can obtain it. Ok. It will likely work on it, and on a desktop. One alternative for you to use this camera with your notebook may be to buy a PCMCIA (or PCIe) carbus with USB ports, but this is probably more expensive than just buy a good USB 2.0 webcam. For example, the ones supported by sn9c20x drivers are USB 2.0. USB Video Class webcams (uvc) are also usb 2.0 (at least the ones I have). > I'll write back on this once I get the other computer loaded with F14/F15 > and v4l and pwc like this one is.... But I think you can see how this issue > could be very frustrating for end users on something which should be simple, > ones webcam. > > Meanwhile, please, if you would explain something to me, or is there good > reading somewhere on how does the Device get assigned 12mbs when the Bus itself > has 480mbs ? In other words what software is determining all of the 480mbs > bandwidth is used up so it cannot assign more than 12mbs to the webcam? (I am > assuming this is the issue?) I am very curious about this. It is simple: the hardware was not designed to use 480 Mbps. So, they can provide only low bandwidth.
Additional info for what it might be worth. I got in touch with Dell tech support on this laptop. While they could not help with Linux (no surprise) they did give me the Windows equivalent. ----------------------------------------------------------- Broadcom® BCM5880 controller. The file PrebootEnrollmentUtil.exe is used to remove enrollments. This file is located in \Program Files\Wave Systems Corp\Dell Preboot Manager\-. Run it with the following command to Delete FingerPrint from the Preboot Enrollment Database. PrebootEnrollmentUtil.exe df This file is used to remove enrollments meaning for the fingerprint reader. As far as Linux support for this device, they suggested Ubuntu: The number is 1-866-622-1947 for Ubuntu Linux queue ------------------------------------------------------------- I'm really not sure what Ubuntu would have to do with it, I would need to know what Fedora Linux driver is supporting the 5880 device on the USB bus, and then see if I can disable it at the Linux driver level??? Supposedly you can disable it in Windows. I have not located which Linux driver would be the equivalent. According to Broadcom http://www.broadcom.com/products/Security/PC-Client-Security/BCM5880 this is a Secure Applications Processor, so finger print system sounds reasonable for it.
(In reply to comment #25) > One alternative for you to use > this camera with your notebook may be to buy a PCMCIA (or PCIe) carbus with USB > ports, but this is probably more expensive than just buy a good USB 2.0 webcam. > For example, the ones supported by sn9c20x drivers are USB 2.0. USB Video Class > webcams (uvc) are also usb 2.0 (at least the ones I have). Thank you, I will keep this alternative in mind. The issue for me is the CCD in the Philips is much better than most new webcams so it is much better for low-light applications like astrophotography. > It is simple: the hardware was not designed to use 480 Mbps. So, they can > provide only low bandwidth. I keep feeling like something is missing from what I understand about this. Since it worked on F11 on a Dell Latitude 610/710, and maybe the usb bus arrangement was different, but if all the SPC900NC or 740K can ever get is 12mps, but it worked in his res on that laptop. Just not on the Latitude E6510. I feel like something is still missing here in what I am understanding, or in what is being blamed for the problem? Do you see my dilemna ? But maybe once I get F14/15 on the old laptop we can check into it better.
(In reply to comment #26) > Additional info for what it might be worth. I got in touch with Dell tech > support on this laptop. While they could not help with Linux (no surprise) > they did give me the Windows equivalent. Yeah, Dell doesn't support Linux on most laptops. > As far as Linux support for this device, they suggested Ubuntu: > > The number is 1-866-622-1947 for Ubuntu Linux queue > ------------------------------------------------------------- > > I'm really not sure what Ubuntu would have to do with it, I would need to know > what Fedora Linux driver is supporting the 5880 device on the USB bus, and then > see if I can disable it at the Linux driver level??? Supposedly you can > disable it in Windows. I have not located which Linux driver would be the > equivalent. I'm not sure either what they are meaning with it. Doesn't your bios have way to disable it? (In reply to comment #27) > (In reply to comment #25) > > One alternative for you to use > > this camera with your notebook may be to buy a PCMCIA (or PCIe) carbus with USB > > ports, but this is probably more expensive than just buy a good USB 2.0 webcam. > > For example, the ones supported by sn9c20x drivers are USB 2.0. USB Video Class > > webcams (uvc) are also usb 2.0 (at least the ones I have). > > > Thank you, I will keep this alternative in mind. The issue for me is the CCD > in the Philips is much better than most new webcams so it is much better for > low-light applications like astrophotography. Never tried to use it for astronomy. I suggest you to see what sensors they're using on your camera and seek for some other camera using a USB 2.0 port with the same CCD sensor. > I keep feeling like something is missing from what I understand about this. > Since it worked on F11 on a Dell Latitude 610/710, and maybe the usb bus > arrangement was different, but if all the SPC900NC or 740K can ever get is > 12mps, but it worked in his res on that laptop. Just not on the Latitude > E6510. > I feel like something is still missing here in what I am understanding, or in > what is being blamed for the problem? Do you see my dilemna ? But maybe once > I get F14/15 on the old laptop we can check into it better. If you only have one device at your USB bus, the camera will work at high hes (at the expense of a poor quality quality, as the camera will need to reduce the quality to reduce the data rate, due to the USB bus speed). As you're probably using a very low frames per second rate (due to the low light conditions), you may not be able to notice the quality loss. But, under normal light and at 30fps, you'll notice the Quality difference due to bandwidth limits, when compared with an USB 2.0 webcam, expecially if you get one webcam with a good glass lens.
Correct, there appears no way to disable 5880 device in BIOS, and Dell was w/o help on this because I did ask them. Linux has always been about options, so I'm going to hope for the best that Linux will come through and let me use my two Philips webcams, and not spend more money. ;-) The SPC900NC is not that old and was an expensive webcam. At the least another computer with Linux will come through perhaps. I have not tested another distro of Linux either yet. So, if on the other (older) computer the camera works on high res but less frames (though I do not recall those Philips being crippled in the least on the previous computer), why doesn't it do the same on the new computer? Sure, maybe it is about the 5880 device in the way so-to-speak, but maybe it is about the USB hub driver or something being less forgiving or broken in some way? I don't think we should throw out that possibility just yet.... But let's see what the old computer does for us first. Not trying to be stubborn about this, just trying to keep this in mind as a fair possibility.
Actual NEWS !!! (Yay.) I was playing in the BIOS on the Dell Latitude E6510, and while here is a Security / TPM screen in which one is supposed to be able to Check it (default was not checked), after which it gives you additional options including (x) Disable, ()Enable, ()Clear. Checked or Unchecked initially, verses Checked and then (X) Disable marked, doesn't seem to make any diff. The BCM5880 still remains showing up in lsusb or usvview. However I exlored another option POST / USB Legacy Support which was default (x) checked. I unchecked it, and rebooted to Linux. And wouldn't you know, 320 and 640 res. modes were then available to the camera - in qv4l2, guvcview, waAstrocam, etc. So it appears to be something with what Dell does when you leave (x) Legacy USB support enabled, which is default. It also says you cannot boot to USB disk type devices when unchecked. Is there any Linux piece you would like me to look at now that I unchecked legacy USB Support???
(In reply to comment #30) > Actual NEWS !!! (Yay.) > > I was playing in the BIOS on the Dell Latitude E6510, and while here is a > Security / TPM screen in which one is supposed to be able to Check it (default > was not checked), after which it gives you additional options including (x) > Disable, ()Enable, ()Clear. Checked or Unchecked initially, verses Checked > and then (X) Disable marked, doesn't seem to make any diff. The BCM5880 still > remains showing up in lsusb or usvview. However I exlored another option POST > / USB Legacy Support which was default (x) checked. I unchecked it, and > rebooted to Linux. And wouldn't you know, 320 and 640 res. modes were then > available to the camera - in qv4l2, guvcview, waAstrocam, etc. > > So it appears to be something with what Dell does when you leave (x) Legacy USB > support enabled, which is default. It also says you cannot boot to USB disk > type devices when unchecked. > > Is there any Linux piece you would like me to look at now that I unchecked > legacy USB Support??? Ok, one correction to the above. I had to insure: (1) TPM was (x)checked but then (x)disabled checked (as opposed to TPM itself being unchecked as was default). (2) USB Legacy support unchecked. The 5880 still shows up regardless. Then the hi res works. Not sure what this is doing to the Linux side?
(In reply to comment #31) > (In reply to comment #30) > (1) TPM was (x)checked but then (x)disabled checked (as opposed to TPM itself > being unchecked as was default). > > (2) USB Legacy support unchecked. > > The 5880 still shows up regardless. > > Then the hi res works. > > Not sure what this is doing to the Linux side? The problem has nothing to do with Linux, but, it is, instead, a hardware limitation: USB 1.1 has very low bandwidth for video. Even a small usage of this traffic by another device is ehough to prevent you to use high res. Ok, some tricks eventually might be done to improve it a little bit, but it is still a hardware limit. Based on your reports, those options changed the way USB and BCM5880 chipsets are initialized by BIOS. The new init setup could have done, for example, one of the alternatives bellow: a) BCM5880 is now on a separate USB 1.1 bus; b) BCM5880 is now using USB 2.0 protocol (maybe legacy forces TPM to initialize as a USB 1.1?); c) BCM5880 traffic was disabled. By looking at changes got with lsusb -v and with /proc/bus/usb, eventually, you may be able to detect what's happened.
>By looking at changes got with lsusb -v and with /proc/bus/usb, eventually, you >may be able to detect what's happened If I can locate anything different in how lsusb -v / usbview show the hubs setup (or anything in /proc/bus/usb) I shall post. Meanwhile, two other Linux desktops (Optiplex series 745 and 980 line) I have show these USB configurations (as reference since I do not have F14/15 on the Dell older laptop I was thinking of trying). 3 year old Dell desktop running Fedora 14 (interesting how it has two types of hub controllers, UHCI 1.1 and EHCI 2.0). lsusb Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 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 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 006: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard Bus 001 Device 005: ID 0424:2228 Standard Microsystems Corp. 9-in-2 Card Reader Bus 001 Device 004: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 001 Device 003: ID 0424:2602 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 002: ID 0424:2502 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub usbview UHCI Host Controller (12Mb/s) UHCI Host Controller " UHCI Host Controller " UHCI Host Controller " UHCI Host Controller " EHCI Host Controller (480Mb/s) EHCI Host Controller " Hub " Hub " Flashcard Reader (480Mb/s) Keyboard (1.5Mb/s) Mouse (1.5Mb/s) While another very new Dell desktop from 2011, running RHEL6, only has EHCI host controllers: Bus 002 Device 008: ID 0424:4060 Standard Microsystems Corp. Ultra Fast Media Reader Bus 002 Device 007: ID 0424:2640 Standard Microsystems Corp. USB 2.0 Hub Bus 002 Device 006: ID 413c:2106 Dell Computer Corp. Dell QuietKey Keyboard Bus 002 Device 005: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 002 Device 004: ID 1058:1021 Western Digital Technologies, Inc. Bus 002 Device 003: ID 0461:4d81 Primax Electronics, Ltd Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub EHCI Host Controller (480) Hub (480) USB Mouse (1.5) Ext HDD (480) Hub (480) Hub (480) Ultra Fast Media Reader (480) Dell Keyboard (1.5) EHCI Host Controller (480) Hub (480) This latter desktop configuration is exactly like the new laptop I've been testing on this past week, with two EHCI host controllers, only the first of which is seen under RHEL v6 to have connected devices. I would give a good guess that the 3 year old laptop is much more like the older desktop above in terms of USB setup.
(In reply to comment #33) > I would give a good > guess that the 3 year old laptop is much more like the older desktop above in > terms of USB setup. Your guess is wrong. I never heard about a desktop with USB device internally connected, and for sure this is not the case of the machines you have.
(In reply to comment #34) > (In reply to comment #33) > > I would give a good > > guess that the 3 year old laptop is much more like the older desktop above in > > terms of USB setup. > > Your guess is wrong. I never heard about a desktop with USB device internally > connected, and for sure this is not the case of the machines you have. What are you implying? I assure you the two desktops I just showed (re. USB setups) do not have any external USB hubs on them - I have never used such). They have empty USB ports, some with mouse and keyboard, and the other has a USB Drive in in one port, but that is all. I am sitting in front of them, and also installed them.
(In reply to comment #35) > (In reply to comment #34) > > (In reply to comment #33) > > > I would give a good > > > guess that the 3 year old laptop is much more like the older desktop above in > > > terms of USB setup. > > > > Your guess is wrong. I never heard about a desktop with USB device internally > > connected, and for sure this is not the case of the machines you have. > > > What are you implying? I assure you the two desktops I just showed (re. USB > setups) do not have any external USB hubs on them - I have never used such). > They have empty USB ports, some with mouse and keyboard, and the other has a > USB Drive in in one port, but that is all. I am sitting in front of them, and > also installed them. Yes, that's what I said: no internal USB devices connected to the same bus as the external devices.
Ok, you're talking internal keyboard, or other usb internal device like the 5880, versus those you plug into the external usb ports. Got confusing there for a sec. - maybe some semantics. It's also possible(?) the USB ports in the external flat-screen monitors show up as external hubs. However when I suggested the 3 yr. old desktop USB configuration would be more akin to the 3 yr. old laptop, I was thinking of internal USB arrangement and equipment available in the same timeframes, rather than external USB hubs. Anyway, for me at this point we can close this call, I think we learned a good deal about the pwc driver and usb setups and bandwidth, etc. If there is anything else you need from me, let me know, otherwise we can close up. And as usual, there were a lot of good take-aways in all your help. Thanks for all your assistance.
(In reply to comment #37) > Anyway, for me at this point we can close this call Ok, I'm closing it as not a bug. Having it at BZ will help others with similar troubles to figure out what's happening. > Thanks for all your assistance. Anytime.