Hi I am getting an error while using a webcam on linux on mini itx Via Epia 800 motherboard. The camera starts all right. But if you make the computer do some processing work when the camera feed is on, the driver crashes. The camera works fine for a long time if you do not disturb the computer. If you move another window over the camera preview window or do some graphical intensive work then the camera crashes. The usb driver of the kernel (usb-uhci or uhci) gives a EILSEQ error which corresponds to CRC or a timeout error.
I have tried it with 2 machines of same configuration (EPIA 800) and 3 different cameras (logitech zoom, labtec webcam and hawkings) with 3 applications (xawtv, gnome meeting and a custom application) and 3 drivers (pwc,ov511 and quickcam). I have tried using different versions of kernels (2.4.20, 2.4.22 and 2.6-test5). I also tested it with uhci and usb-uhci. The applications, drivers and cameras work fine with other systems (epia m10000, asus a7v333 with athlon xp 2100). The camera works fine with windows on epia 800. But I require the camera to work on Linux. We tested the logitech camera with pwc.o driver module, labtec one with quickcam driver (http://qce-ga.sourceforge.net/) and Hawking camera with ov511.o driver module. We tried on kernels 2.4.20, 2.4.22 and 2.6-test5. pwc driver crashes with CRC/timeout errors. Other drivers are more graceful when the error occurs. They allow restarting the camera without restarting the system. Restarting the camera allows the camera to run for sometime before it starts receiving the error. Since the problem could not be traced to hardware problem (bad chip or cabling - we tried with 2 systems of same configuration with no success) or the driver or camera, the problem probably lies with usb-core or usb-uhci. I tried debugging usb-uhci.c with ov511 camera driver. Here are the my observations: 1. The first error was detected in process_iso. The error is detected in the section where it is checked to see if there are any TDs that are not completed but the last TD has completed. I found out that the first time \ the camera is used this error is detected. 2. After this TDs appear with CRC/Timeout errors. Sometimes there are valid TDs in between corrupt ones but generally once CRC errors start they are flagged for all subsequent TDs. 3. Some TDs also have data buffer error flag set (i.e only data buffer error flag and no CRC flag). I have attached outputs of kernel log,dmesg,lspci,/proc/bus/usb/devices,lsusb. One thing that can be noted from the output of lspci is that the USB controller chips are not recognized by the kernel. The south bridge of the EPIA series is VT8231 but I dont know abt the chipset for the USB controller. Could this be a problem? I found a similar query posted earliar http://marc.theaimsgroup.com/?l=linux-usb-users&m=105255266814970&w=2 but it remains unanswered. If any one can help or guide me to solve this problem I would be really appreciate it. Thanks Prashant Kernel log: Oct 18 12:42:22 x1-6-00-40-63-c9-0a-b7 kernel: hub.c: new USB device 00:11.2-1, assigned address 2 Oct 18 12:42:22 x1-6-00-40-63-c9-0a-b7 kernel: usb.c: USB device 2 (vend/prod 0x5a9/0xa511) is not claimed by any active driver. Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 /etc/hotplug/usb.agent: Setup ov511 for USB product 5a9/a511/100 Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 kernel: Linux video capture interface: v1.00 Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 kernel: usb.c: registered new driver ov511 Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: USB OV511+ video device found Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: model: Generic Camera (no ID) Oct 18 12:42:26 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: Sensor is an OV7620 Oct 18 12:42:27 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: Device at usb-00:11.2-1 registered to minor 0 Oct 18 12:42:27 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: v1.63 for Linux 2.4 : ov511 USB Camera Driver Oct 18 12:42:27 x1-6-00-40-63-c9-0a-b7 devlabel: devlabel service started/restarted Oct 18 12:42:35 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: Invalid size (165, 125) (mode = 4) Oct 18 12:42:36 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: ERROR: urb->status=-18: Unknown Oct 18 12:42:36 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: ERROR: urb->status=-63: Buffer error (overrun) Oct 18 12:42:36 x1-6-00-40-63-c9-0a-b7 kernel: hub.c: already running port 1 disabled by hub (EMI?), re-enabling... Oct 18 12:42:36 x1-6-00-40-63-c9-0a-b7 kernel: usb.c: USB disconnect on device 00:11.2-1 address 2 Oct 18 12:42:37 x1-6-00-40-63-c9-0a-b7 kernel: hub.c: new USB device 00:11.2-1, assigned address 3 Oct 18 12:42:37 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: USB OV511+ video device found Oct 18 12:42:37 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: model: Generic Camera (no ID) Oct 18 12:42:37 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: Sensor is an OV7620 Oct 18 12:42:38 x1-6-00-40-63-c9-0a-b7 kernel: ov511.c: Device at usb-00:11.2-1 registered to minor 0 Oct 18 12:42:39 x1-6-00-40-63-c9-0a-b7 devlabel: devlabel service started/restarted Oct 18 12:42:41 x1-6-00-40-63-c9-0a-b7 /etc/hotplug/usb.agent: Setup ov511 for USB product 5a9/a511/100 Oct 18 12:42:42 x1-6-00-40-63-c9-0a-b7 devlabel: devlabel service started/restarted Output of dmesg: hub.c: new USB device 00:11.2-1, assigned address 2 usb.c: USB device 2 (vend/prod 0x5a9/0xa511) is not claimed by any active driver. Linux video capture interface: v1.00 usb.c: registered new driver ov511 ov511.c: USB OV511+ video device found ov511.c: model: Generic Camera (no ID) ov511.c: Sensor is an OV7620 ov511.c: Device at usb-00:11.2-1 registered to minor 0 ov511.c: v1.63 for Linux 2.4 : ov511 USB Camera Driver ov511.c: Invalid size (165, 125) (mode = 4) ov511.c: ERROR: urb->status=-18: Unknown <----EXDEV error (first error) ov511.c: ERROR: urb->status=-63: Buffer error (overrun) hub.c: already running port 1 disabled by hub (EMI?), re-enabling... usb.c: USB disconnect on device 00:11.2-1 address 2 hub.c: new USB device 00:11.2-1, assigned address 3 ov511.c: USB OV511+ video device found ov511.c: model: Generic Camera (no ID) ov511.c: Sensor is an OV7620 ov511.c: Device at usb-00:11.2-1 registered to minor 0 Output of lspci -v: 00:00.0 Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev 05) Subsystem: VIA Technologies, Inc.: Unknown device aa03 Flags: bus master, medium devsel, latency 8 Memory at e0000000 (32-bit, prefetchable) [size=128M] Capabilities: [a0] AGP version 2.0 00:01.0 PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP] (prog-if 00 [Normal decode]) Flags: bus master, 66Mhz, medium devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: e8000000-eaffffff Capabilities: [80] Power Management version 2 00:11.0 ISA bridge: VIA Technologies, Inc. VT8231 [PCI-to-ISA Bridge] (rev 10) Subsystem: VIA Technologies, Inc.: Unknown device aa03 Flags: bus master, stepping, medium devsel, latency 0 Capabilities: [c0] Power Management version 2 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: VIA Technologies, Inc.: Unknown device aa03 Flags: bus master, medium devsel, latency 32 I/O ports at d000 [size=16] Capabilities: [c0] Power Management version 2 00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 1e) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc.: Unknown device aa03 Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at d400 [size=32] Capabilities: [80] Power Management version 2 00:11.3 USB Controller: VIA Technologies, Inc. USB (rev 1e) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller Flags: bus master, medium devsel, latency 32, IRQ 5 I/O ports at d800 [size=32] Capabilities: [80] Power Management version 2 00:11.4 Bridge: VIA Technologies, Inc. VT8235 ACPI (rev 10) Subsystem: VIA Technologies, Inc. VT8235 ACPI Flags: medium devsel Capabilities: [68] Power Management version 2 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 40) Subsystem: VIA Technologies, Inc.: Unknown device aa03 Flags: medium devsel, IRQ 10 I/O ports at dc00 [size=256] I/O ports at e000 [size=4] I/O ports at e400 [size=4] Capabilities: [c0] Power Management version 2 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 51) Subsystem: VIA Technologies, Inc. VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 Flags: bus master, medium devsel, latency 32, IRQ 11 I/O ports at e800 [size=256] Memory at eb000000 (32-bit, non-prefetchable) [size=256] Capabilities: [40] Power Management version 2 01:00.0 VGA compatible controller: Trident Microsystems CyberBlade/i1 (rev 6a) (prog-if 00 [VGA]) Subsystem: Trident Microsystems CyberBlade/i1 Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 11 Memory at e9800000 (32-bit, non-prefetchable) [size=8M] Memory at ea000000 (32-bit, non-prefetchable) [size=128K] Memory at e9000000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [80] AGP version 2.0 Capabilities: [90] Power Management version 1 Output of /proc/bus/usb/devices T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 S: Product=USB UHCI Root Hub S: SerialNumber=d800 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 S: Product=USB UHCI Root Hub S: SerialNumber=d400 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05a9 ProdID=a511 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 0 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 0 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 129 Ivl=1ms I: If#= 0 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 257 Ivl=1ms I: If#= 0 Alt= 4 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 385 Ivl=1ms I: If#= 0 Alt= 5 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 513 Ivl=1ms I: If#= 0 Alt= 6 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 769 Ivl=1ms I: If#= 0 Alt= 7 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=ov511 E: Ad=81(I) Atr=01(Isoc) MxPS= 961 Ivl=1ms Output of lsusb: Bus 002 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 idProduct 0x0000 bcdDevice 0.00 iManufacturer 0 iProduct 2 USB UHCI Root Hub iSerial 1 d800 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 8 bInterval 255 Language IDs: (length=4) 0000 (null)((null)) Bus 001 Device 001: ID 0000:0000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 idProduct 0x0000 bcdDevice 0.00 iManufacturer 0 iProduct 2 USB UHCI Root Hub iSerial 1 d400 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type none wMaxPacketSize 8 bInterval 255 Language IDs: (length=4) 0000 (null)((null)) Bus 001 Device 003: ID 05a9:a511 OmniVision Technologies, Inc. OV511+ WebCam Language IDs: none (cannot get min. string descriptor; got len=-1, error=110:Connection timed out) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 Interface bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x05a9 OmniVision Technologies, Inc. idProduct 0xa511 OV511+ WebCam bcdDevice 1.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 137 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 0 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 33 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 129 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 257 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 385 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 513 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 769 bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 1 Transfer Type Isochronous Synch Type none wMaxPacketSize 961 bInterval 1 Language IDs: none (cannot get min. string descriptor; got len=-1, error=110:Connection timed out) ------------------------------------------------------- This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo The Event For Linux Datacenter Solutions & Strategies in The Enterprise Linux in the Boardroom; in the Front Office; & in the Server Room http://www.enterpriselinuxforum.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
