Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] Module uvcvideo does not exist in menuconfig
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
letto
n00b
n00b


Joined: 26 Aug 2006
Posts: 6

PostPosted: Thu Aug 09, 2018 8:40 pm    Post subject: [Solved] Module uvcvideo does not exist in menuconfig Reply with quote

I recently bought a Genius FaceCam 1000X and I tried to make it work on Gentoo.

I first booted a Knoppix live USB stick to see if it works as it should and it worked perfectly. I was able to use it with some uvc testing program and I saw it filming. I then went ahead to check what kernel modules it was using and found out that it is using the uvcvideo kernel module.

The problem was when I tried to compile it in the Gentoo kernel. I searched for "uvc" with nconfig/menuconfig/xconfig and the results i get were:

Code:

 │ Symbol: USB_CONFIGFS_F_UVC [=y]
 │ Type  : bool     
 │ Prompt: USB Webcam function                                                                                               
 │   Location:                                                                                                               
 │     -> Device Drivers                                                                                                     
 │       -> USB support (USB_SUPPORT [=y])                                                                                   
 │         -> USB Gadget Support (USB_GADGET [=y])                                                                           
 │           -> USB Gadget functions configurable through configfs (USB_CONFIGFS [=y])                                       │
 │   Defined at drivers/usb/gadget/Kconfig:445                                                                               │
 │   Depends on: USB_SUPPORT [=y] && USB_GADGET [=y] && USB_CONFIGFS [=y] && VIDEO_V4L2 [=y] && VIDEO_DEV [=y]               │
 │   Selects: VIDEOBUF2_VMALLOC [=y] && USB_F_UVC [=y]                                                                       │
 │                                                                                                                           
 │
 │ Symbol: USB_F_UVC [=y]                                                                                                   
 │ Type  : tristate                                                                                                         
 │   Defined at drivers/usb/gadget/Kconfig:203                                                                               
 │   Depends on: USB_SUPPORT [=y] && USB_GADGET [=y]                                                                         
 │   Selected by [y]:                                                                                                       
 │   - USB_CONFIGFS_F_UVC [=y] && USB_SUPPORT [=y] && USB_GADGET [=y] && USB_CONFIGFS [=y] && VIDEO_V4L2 [=y] && VIDEO_DEV [=│
 │   - USB_G_WEBCAM [=y] && <choice> && VIDEO_V4L2 [=y]


As you can see, there is no "uvcvideo" in the kernel, so I can not compile it. I tried searching around, both in the kernel and trough portage and couldn't find any "uvcvideo". Anyway the required files are in the kernel, as this command shows:

Code:

$ locate uvcvideo | grep src
/usr/src/linux-4.17.13-gentoo/Documentation/media/v4l-drivers/uvcvideo.rst
/usr/src/linux-4.17.13-gentoo/drivers/media/usb/uvc/uvcvideo.h
/usr/src/linux-4.17.13-gentoo/include/uapi/linux/uvcvideo.h


I can't figure out how to compile it tough...

Here is the output of dmesg related to the webcam:
Code:

[    1.112095] usb 8-2: new high-speed USB device number 2 using xhci_hcd
[    1.391971] usb 8-2: New USB device found, idVendor=0458, idProduct=708f, bcdDevice= 0.04
[    1.392214] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.392363] usb 8-2: Product: FaceCam 1000X
[    1.392502] usb 8-2: Manufacturer: KYE Systems Corp.
[   86.856484] usb 8-2: USB disconnect, device number 2
[   89.327034] usb 8-2: new high-speed USB device number 3 using xhci_hcd
[   89.605706] usb 8-2: New USB device found, idVendor=0458, idProduct=708f, bcdDevice= 0.04
[   89.605709] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   89.605711] usb 8-2: Product: FaceCam 1000X
[   89.605713] usb 8-2: Manufacturer: KYE Systems Corp.



[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu]


Last edited by letto on Fri Aug 10, 2018 8:54 am; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41404
Location: 56N 3W

PostPosted: Thu Aug 09, 2018 8:51 pm    Post subject: Reply with quote

letto,

You need
Code:
 CONFIG_USB_VIDEO_CLASS:                                                                                                 │ 
  │                                                                                                                         │ 
  │ Support for the USB Video Class (UVC).  Currently only video                                                            │ 
  │ input devices, such as webcams, are supported.                                                                          │ 
  │                                                                                                                         │ 
  │ For more information see: <http://linux-uvc.berlios.de/>                                                                │ 
  │                                                                                                                         │ 
  │ Symbol: USB_VIDEO_CLASS [=n]                                                                                            │ 
  │ Type  : tristate                                                                                                        │ 
  │ Prompt: USB Video Class (UVC)                                                                                           │ 
  │   Location:                                                                                                             │ 
  │     -> Device Drivers                                                                                                   │ 
  │       -> Multimedia support (MEDIA_SUPPORT [=m])                                                                        │ 
  │         -> Media USB Adapters (MEDIA_USB_SUPPORT [=y])                                                                  │ 
  │   Defined at drivers/media/usb/uvc/Kconfig:1                                                                            │ 
  │   Depends on: USB [=y] && MEDIA_SUPPORT [=m] && MEDIA_USB_SUPPORT [=y] && MEDIA_CAMERA_SUPPORT [=y] && VIDEO_V4L2 [=m]  │ 
  │   Selects: VIDEOBUF2_VMALLOC [=m]                                           


The Depends on: boolean expression must evaluate to true before the kernel option is visible.
Go into menuconfig
Press 'z' to toggle the display of hidden symbols.
The Search will work, so you can read the help but the option will remain unselcatable. The Symbol will be
Code:
- -

Read the depends on in the help and enable the needed options. You may need to apply this process recursively as the options in the Depends on: way be hidden by their Depends on: ... and so on.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
letto
n00b
n00b


Joined: 26 Aug 2006
Posts: 6

PostPosted: Fri Aug 10, 2018 8:53 am    Post subject: Reply with quote

Hi NeddySeagoon,

I did as you said and pressed z to enable the hidden options. However I still didn't get the "uvcvideo" option to set. Searching for "uvc" gives me the same results. I tried to search for it manually in both the USB options and the MEDIA options, but I couldn't find it.

Then i tried to search for the name that I get for it from both lsusb and dmesg: "KYE Systems Corp. (Mouse Systems)". I searched for "kye" and found it in:
Code:
Device Drivers -> HID support -> HID bus support -> Special HID drivers -> KYE/Genius devices.


It seems that it was exactly what it needed to run correctly.
However it seems that there is still no uvcvideo driver anywhere. Maybe it could be some driver that i have built into the kernel, but I doubt it... Edit: It was the fact that a driver was not built as a module.

Anyway, thank you very much for your help. :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum