Bug 700681
| Summary: | pwc webcam driver only operates in low resolution 160x120 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Peter B. <ussenterprisencc1701> | ||||
| Component: | v4l-utils | Assignee: | Hans de Goede <hdegoede> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 15 | CC: | hdegoede, jarod, mchehab | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2011-05-02 18:59:57 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Peter B.
2011-04-29 01:42:01 UTC
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. |