Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved]/dev/video* doesn't exist and uvcvideo module not fo
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Tue Feb 10, 2015 10:00 pm    Post subject: [solved]/dev/video* doesn't exist and uvcvideo module not fo Reply with quote

Hi all!

First of all I want to apologize for my english if I make some mistakes with the language...

In my first post in the forum I bring you a problem that makes me mad.

I've a "Creative Webcam" that appears when connected in the dmesg without any relevant error. In lsusb appears detected as well. On my kernel configuration I have the following options
MEDIA_SUPPORT [=y]
MEDIA_CAMERA_SUPPORT [=y]
MEDIA_USB_SUPPORT [=y]
USB_VIDEO_CLASS [=m] or USB_VIDEO_CLASS [=y] (I'm trying with both)
and some others (if necessary I'll paste all kernel .config)

Now the issue is that there isn't any /dev/video* device and when I try with the UVC as module it doesn't appear as module so "modprobe uvcvideo" says me: "FATAL: Module uvcvideo not found" and it doesn't appears in lsmod output.

Checking the genkernel log there isn't any reference to uvcvideo neither.

I'm using kernel 3.17.8-r1 from gentoo repository under a 64 bits system.

Many thanks in advance


Last edited by bercianor on Thu Feb 12, 2015 8:42 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Tue Feb 10, 2015 10:10 pm    Post subject: Reply with quote

bercianor,

Welcome to Gentoo.

Lets start from the very beginning, post the line from lsusp that shows your webcam. Then we can check whicd kernel driver it really needs.
Rule one is assume nothing.

if you are sure that uvcvideo is a module and its not found, that is a pointer to you incorrectly installing your kernel, modules or both.
There is a test. Run
Code:
uname -a
Linux NeddySeagoon_Static 3.16.1-gentoo #2 SMP PREEMPT Tue Sep 2 18:13:29 BST 2014 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux
and look at the date and time. Here its Tue Sep 2 18:13:29 BST 2014. Thats the build time of the running kernel.
If you have made a kernel since the time in your uname -a, you are not using it. Possibly because you did not
Code:
mount /boot
before installing it.
_________________
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
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Wed Feb 11, 2015 7:09 pm    Post subject: Reply with quote

Hi NeddySeagoon,

thanks for the reply.

below I paste the output from both commands:

Code:
$> lsusb
Bus 001 Device 005: ID 041e:4071 Creative Technology, Ltd


Code:
$> uname -a
Linux betelgeuse 3.17.8-gentoo-r1 #1 SMP Tue Feb 10 19:48:42 CET 2015 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5600+ AuthenticAMD GNU/Linux

which matches with the last kernel installation I did
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Feb 11, 2015 7:27 pm    Post subject: Reply with quote

bercianor,

This page shows that UVC is indeed the correct module for your webcam.

Your kernel install looks promising too.
Did you remember to run
Code:
make modules_install
as part of your kernel build.
Its harmless to do that again. cd to your kernel tree, run that command, look in the output for the UVC module and try to modprobe it again.
Either USB_VIDEO_CLASS [=m] or USB_VIDEO_CLASS [=y] should work but only =m will give you a loadable module.

If all that looks good, make friends with wgetpaste and use it to put the output of
Code:
lsusb -vvv
onto a pastebin and your kernel .config file.
Neither will fit in a forums post.
_________________
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
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Wed Feb 11, 2015 7:59 pm    Post subject: Reply with quote

NeddySeagoon,

I use genkernel with the --menuconfig option to install the kernel which I think to do that... anyway I do a make modules_install as you suggest, but UVC module doesn't appears in the output and is still missing.

Here you have the output of lsusb -vvv -d 041e:4071: https://bpaste.net/show/4abd68b725cd (I only extract the device output to avoid a lot of text)

and kernel .config file: https://bpaste.net/show/420b25037837
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Feb 11, 2015 8:43 pm    Post subject: Reply with quote

bercianor,

I really wanted the complete lsusb -vvv output. Webcams can cause power issues for USB root hubs.
They usually need 500mA which is all a root hub is permitted to supply. This means that you cannot have other devices on the same USB root hub as the web cam at the same time.
With the entire output, I can see your entire USB device tree and work out if you may be having USB power issues.

Here we see that your webcam is
Code:
Bus 001 Device 005:
whih hints that there are other divicesn on the bus, and it does indeed
Code:
MaxPower              500mA
need a whole USB root hub to itself. True, I only need 3 or 4 lines for each device but if you post it, I'll find them.

Your kernel config is interesting
Code:
#
# Webcam devices
#
CONFIG_USB_VIDEO_CLASS=m
so you should have uvc as a module but you have already confirmed that its not there.

From your previous post, we knom that you are running
Code:
3.17.8-gentoo-r1 #1 SMP Tue Feb 10 19:48:42 CET 2015

What does
Code:
readlink /usr/src/linux
return?
Thats the kernel that genkernel is building for you.

What does
Code:
zgrep USB_VIDEO_CLASS /proc/config.gz
have to say?
Thats the .config used to build the running kernel, if you have /proc/config.gz
_________________
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
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Wed Feb 11, 2015 8:56 pm    Post subject: Reply with quote

NeddySeagoon,

here you have the entire lsusb -vvv output: https://bpaste.net/show/0127479e0f9a In advance I can say you that the webcam is directly plugged to a motherboard USB port.

and the outputs from the commands:
Code:
#> readlink /usr/src/linux
linux-3.17.8-gentoo-r1

Code:
#> zgrep USB_VIDEO_CLASS /proc/config.gz
returns nothing
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Feb 11, 2015 9:29 pm    Post subject: Reply with quote

bercianor,

Heres your USB Device tree extracted from your pastebin.
Code:
Bus 001 Device 008: ID 046d:c062 Logitech, Inc. M-UAS144 [LS1 Laser Mouse]
  bcdUSB               2.00
    MaxPower               98mA
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub
  bcdUSB               2.00
    MaxPower              100mA
Bus 001 Device 004: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub
  bcdUSB               2.00
    MaxPower              100mA
Bus 001 Device 005: ID 041e:4071 Creative Technology, Ltd
  bcdUSB               2.00
    MaxPower              500mA
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bcdUSB               2.00
    MaxPower                0mA


Bus 001 is USB2, as are all the devices connected to it, so it will operate at USB2 speeds.
Unfortunately, its connected load is 798mA with an allowable maximum of 500mA.
Under power overload conditions like this, behavior varies from everything vorks to nothing works and in between, some things work.

Code:
Bus 002 Device 003: ID 03f0:1024 Hewlett-Packard Smart Card Keyboard
  bcdUSB               2.00
    MaxPower              100mA
Bus 002 Device 002: ID 047f:c00f Plantronics, Inc.
   bcdUSB               2.00
    MaxPower              100mA
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bcdUSB               1.10
    MaxPower                0mA


Bus 002 is only USB 1.1 capable but all the connected devices are USB2 capable.
They are only running at USB1 speeds.

What to do about it.
Test with only the webcam connected to Bus 001, so you will want to move your mouse to Bus 002.
You seem to have two bus powered hubs connected to Bus 001.
Bus powered hubs are usually a bad idea unless its for low powered devices only.

I'm still not convinced its just a power issue becase your kernel .config does not tie up with the kernel in use.
if zgrep USB_VIDEO_CLASS /proc/config.gz and /proc/config.gz exists, then USB_VIDEO_CLASS is not set in the running kernel.
If /proc/config.gz is missing, then we can't tell.

Do you really only have two USB busses. Thats an unusally low number?
What does lspci show?
_________________
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
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Wed Feb 11, 2015 10:30 pm    Post subject: Reply with quote

NeddySeagoon,

the file /proc/config.gz really exists, but as you say, seems that the USB_VIDEO_CLASS isn't set in that kernel and I think that it is the cuestion who needs an answer.

About the power issue, after test only in the Bus002 with only the webcam, it still didn't work. I don't think the issue comes from there.

After plugging the webcam again, in dmesg appears the following (if it can help)

Code:
[51224.015636] usb 1-10: USB disconnect, device number 5
[51226.680052] usb 1-10: new high-speed USB device number 10 using ehci-pci
[51226.866568] usb 1-10: New USB device found, idVendor=041e, idProduct=4071
[51226.866572] usb 1-10: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[51226.866574] usb 1-10: Product: VF0415 Live! Cam Vid. IM Ultra
[51226.866575] usb 1-10: Manufacturer: Creative Technology Ltd.
[51226.866577] usb 1-10: SerialNumber: 081030_A_02680
[51226.896811] usb 1-10: 3:1: cannot get freq at ep 0x84
[51226.906807] usb 1-10: Warning! Unlikely big volume range (=3328), cval->res is probably wrong.
[51226.906810] usb 1-10: [2] FU [Mic Capture Volume] ch = 1, val = 4608/7936/1
[51228.519936] usb 1-10: 3:1: cannot get freq at ep 0x84
[51228.542937] usb 1-10: 3:1: cannot get freq at ep 0x84
[51228.823808] usb 1-10: 3:1: cannot get freq at ep 0x84
[51228.846933] usb 1-10: 3:1: cannot get freq at ep 0x84


In lspci appears only 2 usb buses:
Code:
#> lspci
00:00.0 RAM memory: NVIDIA Corporation C51 Host Bridge (rev a2)
00:00.1 RAM memory: NVIDIA Corporation C51 Memory Controller 0 (rev a2)
00:00.2 RAM memory: NVIDIA Corporation C51 Memory Controller 1 (rev a2)
00:00.3 RAM memory: NVIDIA Corporation C51 Memory Controller 5 (rev a2)
00:00.4 RAM memory: NVIDIA Corporation C51 Memory Controller 4 (rev a2)
00:00.5 RAM memory: NVIDIA Corporation C51 Host Bridge (rev a2)
00:00.6 RAM memory: NVIDIA Corporation C51 Memory Controller 3 (rev a2)
00:00.7 RAM memory: NVIDIA Corporation C51 Memory Controller 2 (rev a2)
00:04.0 PCI bridge: NVIDIA Corporation C51 PCI Express Bridge (rev a1)
00:08.0 RAM memory: NVIDIA Corporation MCP55 Memory Controller (rev a1)
00:09.0 ISA bridge: NVIDIA Corporation MCP55 LPC Bridge (rev a2)
00:09.1 SMBus: NVIDIA Corporation MCP55 SMBus Controller (rev a2)
00:09.2 RAM memory: NVIDIA Corporation MCP55 Memory Controller (rev a2)
00:0a.0 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a1)
00:0a.1 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a2)
00:0c.0 IDE interface: NVIDIA Corporation MCP55 IDE (rev a1)
00:0d.0 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:0d.1 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:0d.2 IDE interface: NVIDIA Corporation MCP55 SATA Controller (rev a2)
00:0e.0 PCI bridge: NVIDIA Corporation MCP55 PCI bridge (rev a2)
00:0e.1 Audio device: NVIDIA Corporation MCP55 High Definition Audio (rev a2)
00:11.0 Bridge: NVIDIA Corporation MCP55 Ethernet (rev a2)
00:15.0 PCI bridge: NVIDIA Corporation MCP55 PCI Express bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: NVIDIA Corporation G92 [GeForce 9600 GSO] (rev a2)
02:07.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
02:07.1 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (rev 05)
02:07.2 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
02:07.4 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (rev 05)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Feb 11, 2015 10:46 pm    Post subject: Reply with quote

bercianor,

Plugging in the webcam should have listed the driver that was being used but it did not.
That points to the kernel.

Lets check some file timestamps to ensure everything hangs together
Code:
ls -l
will show times and dates.
In chronological order ...
It all starts with
Code:
/usr/src/linux/.config
This should be the oldest file.
After this, you build the kernel binary
Code:
/usr/src/linux/arch/x86/boot/bzImage
so his must be newer, or the .config has changed since the kernel was built.

Do you have a separate /boot partition?
If so ls /boot should be empty now. Check that then mount /boot

In /boot you should have a kernel with the same timestamp as /usr/src/linux/arch/x86/boot/bzImage, since its a renamed copy.
Make a note of the kernel file name.

Look in your bootloader config file to ensure that this kernel is being loaded.

You do indeed only have two USB root hubs
Code:
00:0a.0 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a1)
00:0a.1 USB controller: NVIDIA Corporation MCP55 USB Controller (rev a2)

_________________
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
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Thu Feb 12, 2015 2:14 pm    Post subject: Reply with quote

NeddySeagoon,

Code:
$> ls -l /usr/src/linux/.config
-rw-r--r-- 1 root root 108899 feb 11 20:52 /usr/src/linux/.config

Code:
$> ls -l /usr/src/linux/arch/x86/boot/bzImage
-rw-r--r-- 1 root root 3703936 feb 11 21:06 /usr/src/linux/arch/x86/boot/bzImage

I have a separate /boot partition, but it is already mounted...
Code:
$> ls -l /boot/kernel*
-rw-r--r-- 1 root root 3703936 feb 11 21:06 /boot/kernel-genkernel-x86_64-3.17.8-gentoo-r1

In /boot/grub/grub.cfg indeed it loads the file kernel-genkernel-x86_64-3.17.8-gentoo-r1

About the dates, yesterday I tried to compile the kernel again, that is why the kernel's date was updated
Code:
$> uname -a
Linux betelgeuse 3.17.8-gentoo-r1 #1 SMP Wed Feb 11 21:06:40 CET 2015 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5600+ AuthenticAMD GNU/Linux
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Thu Feb 12, 2015 2:33 pm    Post subject: Reply with quote

- You enable a module in your .config
- You build the kernel
- You check the kernel : it match the build new version and date, but still lack the module from your .config

So it might comes from someone that is not using your .config or altering it, as you don't use a stock kernel but a genkernel ; are you sure genkernel is using "that" .config?
Please check genkernel doesn't use some caching or its own .config... or anything that would prevent genkernel from using the .config you think he should use.

Or build a kernel without genkernel help.
(i don't know what genkernel do or can do, but it seems it doesn't do what you think it should: ie using the .config you alter to enable the module you need)
Back to top
View user's profile Send private message
bercianor
n00b
n00b


Joined: 10 Feb 2015
Posts: 11

PostPosted: Thu Feb 12, 2015 8:41 pm    Post subject: Reply with quote

krinn!!

you hit the nail on the head!

genkernel used an incorrect .config file. I run genkernel with the option --kernel-config, I select the correct .config file, and now it was compiled correctly!

Many thanks to you for the clue, and many thanks to NeddySeagoon for all the time and effort
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia 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