# [SOLVED] can't install webcam

## leonixyz

I was trying to let work the webcam of my Acer Aspire One D257

```

$ lsusb

Bus 001 Device 002: ID 064e:d214 Suyin Corp.

```

As suggested on freenode I recompiled my kernel enabling

```

-> Device Drivers

  -> Multimedia support (MEDIA_SUPPORT [=y])

    -> Media USB Adapters (MEDIA_USB_SUPPORT [=y])

      -> USB Video Class (UVC) (USB_VIDEO_CLASS [=y])

```

This is /var/log/gernernel.log

```

* Gentoo Linux Genkernel; Version 3.4.45.1[0m

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 3.10.7-gentoo[0m for x86_64[0m...

* .. with config file /etc/kernels/kernel-config-x86_64-3.10.7-gentoo

* kernel: --mrproper is disabled; not running 'make mrproper'.

*         >> Running oldconfig...

COMMAND: make -j3 CC="gcc" LD="ld" AS="as" ARCH="x86"  

scripts/kconfig/conf --oldconfig Kconfig

#

# configuration written to .config

#

* kernel: --clean is disabled; not running 'make clean'.

* kernel: >> Invoking menuconfig...

COMMAND: make -j3 -j1 CC="gcc" LD="ld" AS="as" ARCH="x86" menuconfig 

COMMAND: make -j3 CC="gcc" LD="ld" AS="as" ARCH="x86"  

scripts/kconfig/conf --silentoldconfig Kconfig

make[1]: Nothing to be done for `all'.

  CHK     include/generated/uapi/linux/version.h

make[1]: Nothing to be done for `relocs'.

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

*         >> Compiling 3.10.7-gentoo bzImage...

COMMAND: make -j3 CC="gcc" LD="ld" AS="as" ARCH="x86"  

make[1]: Nothing to be done for `all'.

  CHK     include/generated/uapi/linux/version.h

  CHK     include/generated/utsrelease.h

  CC      scripts/mod/devicetable-offsets.s

  GEN     scripts/mod/devicetable-offsets.h

  HOSTCC  scripts/mod/file2alias.o

  HOSTLD  scripts/mod/modpost

make[1]: Nothing to be done for `relocs'.

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  GZIP    kernel/config_data.gz

  CHK     kernel/config_data.h

  UPD     kernel/config_data.h

  CC      kernel/configs.o

make[3]: `arch/x86/realmode/rm/realmode.bin' is up to date.

  LD      kernel/built-in.o

  CC      drivers/media/usb/uvc/uvc_status.o

  LD      drivers/media/usb/uvc/uvcvideo.o

  LD      drivers/media/usb/uvc/built-in.o

  LD      drivers/media/usb/built-in.o

  LD      drivers/media/built-in.o

  LD      drivers/built-in.o

  LINK    vmlinux

  LD      vmlinux.o

  MODPOST vmlinux.o

  GEN     .version

  CHK     include/generated/compile.h

  UPD     include/generated/compile.h

  CC      init/version.o

  LD      init/built-in.o

drivers/built-in.o: In function `uvc_delete':

uvc_driver.c:(.text+0x1b6070): undefined reference to `usb_put_intf'

uvc_driver.c:(.text+0x1b6078): undefined reference to `usb_put_dev'

uvc_driver.c:(.text+0x1b6125): undefined reference to `usb_driver_release_interface'

uvc_driver.c:(.text+0x1b612f): undefined reference to `usb_put_intf'

drivers/built-in.o: In function `uvc_probe':

uvc_driver.c:(.text+0x1b660c): undefined reference to `usb_get_dev'

uvc_driver.c:(.text+0x1b661b): undefined reference to `usb_get_intf'

uvc_driver.c:(.text+0x1b68bd): undefined reference to `usb_ifnum_to_if'

uvc_driver.c:(.text+0x1b693f): undefined reference to `usb_driver_claim_interface'

uvc_driver.c:(.text+0x1b69a1): undefined reference to `usb_driver_release_interface'

uvc_driver.c:(.text+0x1b69ce): undefined reference to `usb_get_intf'

uvc_driver.c:(.text+0x1b73e6): undefined reference to `usb_driver_release_interface'

uvc_driver.c:(.text+0x1b73ef): undefined reference to `usb_put_intf'

uvc_driver.c:(.text+0x1b7879): undefined reference to `usb_string'

uvc_driver.c:(.text+0x1b79ac): undefined reference to `usb_string'

drivers/built-in.o: In function `uvc_free_urb_buffers':

uvc_video.c:(.text+0x1ba4e8): undefined reference to `usb_free_coherent'

drivers/built-in.o: In function `uvc_uninit_video':

uvc_video.c:(.text+0x1ba544): undefined reference to `usb_kill_urb'

uvc_video.c:(.text+0x1ba54c): undefined reference to `usb_free_urb'

drivers/built-in.o: In function `uvc_video_complete':

uvc_video.c:(.text+0x1ba631): undefined reference to `usb_submit_urb'

drivers/built-in.o: In function `uvc_video_decode_start':

uvc_video.c:(.text+0x1ba9e9): undefined reference to `usb_get_current_frame_number'

drivers/built-in.o: In function `__uvc_query_ctrl.isra.11':

uvc_video.c:(.text+0x1baed3): undefined reference to `usb_control_msg'

drivers/built-in.o: In function `uvc_alloc_urb_buffers.part.12':

uvc_video.c:(.text+0x1bb0a8): undefined reference to `usb_alloc_coherent'

drivers/built-in.o: In function `uvc_init_video':

uvc_video.c:(.text+0x1bb94b): undefined reference to `usb_set_interface'

uvc_video.c:(.text+0x1bb9e9): undefined reference to `usb_alloc_urb'

uvc_video.c:(.text+0x1bbb50): undefined reference to `usb_alloc_urb'

uvc_video.c:(.text+0x1bbbd6): undefined reference to `usb_submit_urb'

drivers/built-in.o: In function `uvc_video_suspend':

(.text+0x1bc2c4): undefined reference to `usb_set_interface'

drivers/built-in.o: In function `uvc_video_resume':

(.text+0x1bc2e9): undefined reference to `usb_set_interface'

drivers/built-in.o: In function `uvc_video_init':

(.text+0x1bc3c4): undefined reference to `usb_set_interface'

drivers/built-in.o: In function `uvc_video_enable':

(.text+0x1bc51e): undefined reference to `usb_set_interface'

drivers/built-in.o: In function `uvc_video_enable':

(.text+0x1bc5fc): undefined reference to `usb_set_interface'

drivers/built-in.o: In function `uvc_ctrl_init_xu_ctrl.part.10':

uvc_ctrl.c:(.text+0x1bd3cf): undefined reference to `usb_match_one_id'

drivers/built-in.o: In function `uvc_ctrl_init_device':

(.text+0x1be0bd): undefined reference to `usb_match_one_id'

drivers/built-in.o: In function `uvc_status_complete':

uvc_status.c:(.text+0x1be544): undefined reference to `usb_submit_urb'

drivers/built-in.o: In function `uvc_status_init':

(.text+0x1be679): undefined reference to `usb_alloc_urb'

drivers/built-in.o: In function `uvc_status_cleanup':

(.text+0x1be755): undefined reference to `usb_kill_urb'

drivers/built-in.o: In function `uvc_status_cleanup':

(.text+0x1be761): undefined reference to `usb_free_urb'

drivers/built-in.o: In function `uvc_status_start':

(.text+0x1be79c): undefined reference to `usb_submit_urb'

drivers/built-in.o: In function `uvc_status_stop':

(.text+0x1be7b3): undefined reference to `usb_kill_urb'

drivers/built-in.o: In function `uvc_status_suspend':

(.text+0x1be7cc): undefined reference to `usb_kill_urb'

drivers/built-in.o: In function `uvc_status_resume':

(.text+0x1be7f9): undefined reference to `usb_submit_urb'

drivers/built-in.o: In function `uvc_debugfs_init':

(.text+0x1bebab): undefined reference to `usb_debug_root'

drivers/built-in.o: In function `uvc_init':

uvc_driver.c:(.init.text+0xbe06): undefined reference to `usb_register_driver'

drivers/built-in.o: In function `uvc_cleanup':

uvc_driver.c:(.exit.text+0xb1f): undefined reference to `usb_deregister'

make: *** [vmlinux] Error 1

* Gentoo Linux Genkernel; Version 3.4.45.1[0m

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* ERROR: Failed to compile the "bzImage" target...

* 

* -- Grepping log... --

* 

* 

* -- End log... --

* 

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* 

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

* 

* Please do *not* report compilation failures as genkernel bugs!

*

```

edit:

This is the full .config file http://bpaste.net/show/150619/

I added my user to video group.

To test if the webcam is enabled I start skype and browse through the options to video devices.

I have no idea what to do now,.. Thanks in advanceLast edited by leonixyz on Tue Nov 19, 2013 12:28 pm; edited 1 time in total

----------

## thumper

if your camera is supported by uvc is the driver loaded?

```
 $ lsmod | grep uvc

uvcvideo               80784  0 

videobuf2_vmalloc      13216  1 uvcvideo

videobuf2_core         40513  1 uvcvideo

videodev              133456  2 uvcvideo,videobuf2_core
```

and you can use the package media-video/guvcview to view and test the camera.

George

----------

## Jaglover

 *Quote:*   

> * ERROR: Failed to compile the "bzImage" target... 

 

The build failed ...

----------

## dmpogo

Do

```

make clean

```

in /usr/src/linux  directory 

before re-running genkernel

----------

## leonixyz

made "make clean" in /usr/src/linux

but

http://bpaste.net/show/150747/

it just took more time to pop out with the error

----------

## thumper

Going out on a limb here, are you building that into the kernel or as a module?

Probably should  be a module.

```
CONFIG_USB_VIDEO_CLASS=m

CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
```

George

----------

## leonixyz

 *thumper wrote:*   

> Going out on a limb here, are you building that into the kernel or as a module?
> 
> Probably should  be a module.
> 
> ```
> ...

 

I compiled it as a module and now works

----------

