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

Reply via email to