# ov519 webcam not loading modules/dev [SOLVED]

## golding

I have been given a DSE XH5096 Internet Camera + Microphone.  

Camera specs:

	DSE XH5096 Internet Camera + Microphone

	OmniVision Ov519 chipset

	USB 1.1

	24bit/16.7M colours/RGB

My problem is that while it is found and recognised by the system as a device, the required modules are not being loaded in by Udev/Hotplug.

As you can see below, the device is present, it just doesn't load the module/s or create the device, I assume /dev/video1.

I know that v4l and other required kernel bit are there as I have a working TV card on video0 and radio0.

When I modprobe ov511 and ovcamchip they install but do nothing except show up under lsmod without any tie-ins.

```
one rob # modprobe ovcamchip

one rob # modprobe ov511

one rob # lsmod | grep ov

ov511                  75152  0 

ovcamchip              21704  0 

usbcore               124992  10 ov511,usblp,sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,libusual,usbhid,ehci_hcd

```

```
one rob # lsmod | grep usb

usblp                  13952  0 

usb_storage            72640  0 

libusual               15056  1 usb_storage

usbhid                 49504  0 

usbcore               124992  10 ov511,usblp,sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,libusual,usbhid,ehci_hcd
```

```
one rob # dmesg | grep usb

usbcore: registered new driver usbfs

usbcore: registered new driver hub

usb usb1: configuration #1 chosen from 1 choice

usb 1-2: new high speed USB device using ehci_hcd and address 2

usb 1-2: configuration #1 chosen from 1 choice

usbcore: registered new driver hiddev

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.6:USB HID core driver

usbcore: registered new driver libusual

usb-storage: device found at 2

usb-storage: waiting for device to settle before scanning

usbcore: registered new driver usb-storage

usb usb2: configuration #1 chosen from 1 choice

usb usb3: configuration #1 chosen from 1 choice

usb 3-1: new full speed USB device using ohci_hcd and address 2

usb 3-1: configuration #1 chosen from 1 choice

usb 3-3: new full speed USB device using ohci_hcd and address 3

usb 3-3: configuration #1 chosen from 1 choice

drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 pr

oto 2 vid 0x04B8 pid 0x0005

usbcore: registered new driver usblp

drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver

usb-storage: device scan complete
```

```
one rob # lsusb

Bus 003 Device 003: ID 05a9:8519 OmniVision Technologies, Inc. 

Bus 003 Device 002: ID 04b8:0005 Seiko Epson Corp. Stylus Printer

Bus 003 Device 001: ID 0000:0000  

Bus 002 Device 001: ID 0000:0000  

Bus 001 Device 002: ID 0bda:0103 Realtek Semiconductor Corp. 

Bus 001 Device 001: ID 0000:0000  

```

```
one rob # cat /proc/bus/usb/devices

//snip

T:  Bus=03 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  3 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=05a9 ProdID=8519 Rev= 1.00

S:  Manufacturer=OmniVision Technologies, Inc.

S:  Product=USB Camera

C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

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=(none)

E:  Ad=81(I) Atr=01(Isoc) MxPS= 384 Ivl=1ms

I:  If#= 0 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

E:  Ad=81(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms

I:  If#= 0 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

E:  Ad=81(I) Atr=01(Isoc) MxPS= 768 Ivl=1ms

I:  If#= 0 Alt= 4 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

E:  Ad=81(I) Atr=01(Isoc) MxPS= 896 Ivl=1ms

I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)

I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)

I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)

E:  Ad=82(I) Atr=05(Isoc) MxPS=  40 Ivl=1ms

//snip
```

```
one rob # udevinfo -a -p /sys/bus/usb/devices/3-3

udevinfo starts with the device the node belongs to and then walks up the

device chain, to print for every device found, all possibly useful attributes

in the udev key format.

Only attributes within one device section may be used together in one rule,

to match the device for which the node will be created.

  looking at device '/devices/pci0000:00/0000:00:02.1/usb3/3-3':

    KERNEL=="3-3"

    SUBSYSTEM=="usb"

    SYSFS{configuration}==""

    SYSFS{product}=="USB Camera"

    SYSFS{manufacturer}=="OmniVision Technologies, Inc."

    SYSFS{maxchild}=="0"

    SYSFS{version}==" 1.10"

    SYSFS{devnum}=="3"

    SYSFS{speed}=="12"

    SYSFS{bMaxPacketSize0}=="8"

    SYSFS{bNumConfigurations}=="1"

    SYSFS{bDeviceProtocol}=="00"

    SYSFS{bDeviceSubClass}=="00"

    SYSFS{bDeviceClass}=="00"

    SYSFS{bcdDevice}=="0100"

    SYSFS{idProduct}=="8519"

    SYSFS{idVendor}=="05a9"

    SYSFS{bMaxPower}=="500mA"

    SYSFS{bmAttributes}=="80"

    SYSFS{bConfigurationValue}=="1"

    SYSFS{bNumInterfaces}==" 3"

  looking at device '/devices/pci0000:00/0000:00:02.1/usb3':

    ID=="usb3"

    BUS=="usb"

    DRIVER=="usb"

    SYSFS{configuration}==""

    SYSFS{serial}=="0000:00:02.1"

    SYSFS{product}=="OHCI Host Controller"

    SYSFS{manufacturer}=="Linux 2.6.17-gentoo-r2 ohci_hcd"

    SYSFS{maxchild}=="3"

    SYSFS{version}==" 1.10"

    SYSFS{devnum}=="1"

    SYSFS{speed}=="12"

    SYSFS{bMaxPacketSize0}=="64"

    SYSFS{bNumConfigurations}=="1"

    SYSFS{bDeviceProtocol}=="00"

    SYSFS{bDeviceSubClass}=="00"

    SYSFS{bDeviceClass}=="09"

    SYSFS{bcdDevice}=="0206"

    SYSFS{idProduct}=="0000"

    SYSFS{idVendor}=="0000"

    SYSFS{bMaxPower}=="  0mA"

    SYSFS{bmAttributes}=="e0"

    SYSFS{bConfigurationValue}=="1"

    SYSFS{bNumInterfaces}==" 1"

  looking at device '/devices/pci0000:00/0000:00:02.1':

    ID=="0000:00:02.1"

    BUS=="pci"

    DRIVER=="ohci_hcd"

    SYSFS{modalias}=="pci:v000010DEd00000067sv00001462sd00005700bc0Csc03i10"

    SYSFS{local_cpus}=="1"

    SYSFS{irq}=="18"

    SYSFS{class}=="0x0c0310"

    SYSFS{subsystem_device}=="0x5700"

    SYSFS{subsystem_vendor}=="0x1462"

    SYSFS{device}=="0x0067"

    SYSFS{vendor}=="0x10de"

  looking at device '/devices/pci0000:00':

    ID=="pci0000:00"

    BUS==""

    DRIVER==""

```

<------------->EDIT

Added [Solved] to subject line, see last post

----------

## NeddySeagoon

golding,

Your camera provides a Video For Linux interface to the outside world so you need Video for Linux support in your kernel.

A module is fine.

----------

## golding

 *NeddySeagoon wrote:*   

> golding,
> 
> Your camera provides a Video For Linux interface to the outside world so you need Video for Linux support in your kernel.
> 
> A module is fine.

 

I know, and it is modulated, as required by bttv, the other video device I have.

From the parent *golding wrote:*   

> I know that v4l and other required kernel bit are there as I have a working TV card on video0 and radio0.
> 
> 

 

```
lsmod | grep bttv

bttv                  174324  0 

video_buf              25668  1 bttv

ir_common              27268  1 bttv

i2c_algo_bit            9672  1 bttv

btcx_risc               4936  1 bttv

tveeprom               15056  1 bttv

```

This is why I cannot understand why it will not work  :Sad:  Everything is in place as it should be.

If I plug the camera into the USB I get

```
tail -f /var/log/messages

Jul 22 19:42:39 one kernel: ohci_hcd 0000:00:02.0: wakeup

Jul 22 19:42:40 one kernel: usb 2-1: new full speed USB device using ohci_hcd and address 3

Jul 22 19:42:40 one kernel: usb 2-1: configuration #1 chosen from 1 choice
```

```
dmesg | tail -f

ohci_hcd 0000:00:02.0: wakeup

usb 2-1: new full speed USB device using ohci_hcd and address 4

usb 2-1: configuration #1 chosen from 1 choice
```

Are there any conf rules I could put in modules.d perhaps, such as an alias or option?

Is there a requirement for both ov511 and ovcamchip, or a particular order with which they are installed?  Not that I haven't tried these, but still wondering.  The card definitely works, plugged it into Dads laptop (MS) and it fired up straight away.  Not a bad picture for USB 1.1   :Smile: 

----------

## NeddySeagoon

golding,

Sorry about that - I should have reread your post

This site suggests that first there was ov511, which is in the kernel, then there was ov51x, on which development has stalled, now there is ovcamchip.

Try all three drivers

```
emerge usbview
```

and see if a driver claims your cam. Entries in red have been detected by the kernel but not claimed by any driver. ov51x is supposed to cover everything that ov511 does and ovcamchip is a development of that. You are likely to need either oc51x or ovcamchip but not both.

Its possible your cam has a Vendor and Device ID thats not in the module, it may work if you add them.

Some modues all for that at module load time.

What does 

```
modinfo ov51x
```

say about module parameters.

Its not usually difficult or harmful to the hardware to add more Vendor and Device ID pairs.

Look at the code and copy the format of whats there. It doesn't always work, sometimes, it really is a different chip.

==============  Edit  =======================

ov51x knows your Vendor and Product ID, so it should work. However, manufactuers sometimes change the hardware but not the device ID, so its an good sign but not gaurenteed.

----------

## golding

 *NeddySeagoon wrote:*   

> golding,
> 
> Sorry about that - I should have reread your post
> 
> This site suggests that first there was ov511, which is in the kernel, then there was ov51x, on which development has stalled, now there is ovcamchip.
> ...

 

Tis OK, have found my setup works now, tried mates webcam and it came up straight away, no probs.

It seems my 0v519 may/might/should, but don't hold your breath, work with the ov51x driver, will see tomorrow after some sleep.

Other than that, I'm changing the topic to [SOLVED] as it is the chipset, not the setup, that caused the problem.

Thanks for your time  :Smile: 

----------

