# Trust Webcam Gentoo

## niceflower

running Gentoo Hardened ~amd64 with custom build grsec kernel i am trying to get a Trust webcam to work.

the trust webcam used to work fine before with genkernel with default .config and the webcam did not need any external driver to work.

i think i am missing some kernel modules now with my custom build grsec kernel, but i can not google which modules are needed for this Trust webcam to work.

lspci does not show the trust webcam:

```
 # lspci

00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)

00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)

00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)

00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)

00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)

00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)

00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)

00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)

00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)

00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)

01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)

01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)
```

dmesg does show something:

```
 # dmesg | grep video

[    0.315828] Linux video capture interface: v2.00

[    0.938342] uvcvideo: Unable to create debugfs directory

[    0.938579] usbcore: registered new interface driver uvcvideo

[    1.481646] uvcvideo: Found UVC 1.00 device Trust Webcam (145f:0168)
```

lsusb does see the webcam:

```
 $ lsusb

Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 004: ID 046d:c31c Logitech, Inc. Keyboard K120

Bus 001 Device 002: ID 145f:0168 Trust 

Bus 001 Device 005: ID 2001:3315 D-Link Corp. 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

what kernel modules do i need for the trust webcam to work?

----------

## NeddySeagoon

niceflower,

Your dmesg looks good. 

```
[    1.481646] uvcvideo: Found UVC 1.00 device Trust Webcam (145f:0168)
```

You should have a /dev/video0 that is your webcam.

It maf be a symbolic link into /dev/video/..  Whatever, what ore the permissions on the real device node. The whole line please. 

```

ls /dev/video* -l

crw-rw---- 1 root video 81,  0 Nov  8  2015 /dev/video0
```

This tells that  /dev/video0 can only be used by root and the members of the video group.

Your normal user must be in the video group to use the webcam.

Look at the output of groups.

Your normal user must be in the video group to use hardware 3D video acceleration too.

Without that, Xorg reverts to software rendering, which is slow.

If you add yourself to a group, you need to log out and back in again to pick up your new permissions.

For testing, you can do 

```
chmod 666 /dev/<real_device>
```

which will allow anyone to use the webcam until the next reboot.

----------

## niceflower

i got the webcam working by building some modules in the kernel, can not really remember which ones ;(

----------

