Can't get any video on Skype

And, yes, I’ve Googled lots and all I’ve found it things that don’t work. I’ve downloaded the Skype from Skype for openSUSE 11+. I’ve followed a lot of instructions, like the ones that tell me to run:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

But if I do that, then I try to test the video, I get

libv4l2: error turning on stream: Input/output error

which is pretty stupid, because that’s obviously not what I LD_PRELOADed. If I run Skype w/out the LD_PRELOAD clause I don’t get that error message, but so what? The video test still fails.

lsusb gives

Bus 004 Device 002: ID 046d:08f0 Logitech, Inc. QuickCam Messenger

FWIW and I’m running openSUSE 11.4 64-bit.

Now have you identified the driver your webcam uses? And having done that, have you checked to see if the driver your webcam uses is loaded ?

I assume you believe your webcam is using the gspca driver. Can you confirm that ? What is the output of:


lsmod | grep gspca -i

and the output of


dmesg | grep gspca -i

Also when you installed Skype did you follow the advice here: SDB:Skype - openSUSE and install libasound2-32bit xorg-x11-libXv-32bit xorg-x11-libs-32bit libqt4-x11-32bit libpng12-0-32bit ?

Note per the openSUSE wiki guidance for webcams (which you should look at) HCL:Web cameras - openSUSE for a 64-bit PC you should be using:


LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so <application>

and NOT what you posted. ie you should be going to lib64 and not lib !!

I get the feeling you googled a lot and looked in all the wrong places. Sorry !

~$ lsmod | grep gspca -i
gspca_stv06xx 30025 0
gspca_main 28942 1 gspca_stv06xx
videodev 81448 1 gspca_main
~$ dmesg | grep gspca -i
5.296551] gspca: v2.10.0 registered
5.303505] gspca: probing 046d:08f0
5.614577] gspca: video0 created
[14016.844944] gspca: no transfer endpoint found

I was told to do both, actually. When I tried the 32-bit I got the above mentioned and when I go w/the 64-bit:

ERROR: ld.so: object ‘/usr/lib64/libv4l/v4l1compat.so’ from LD_PRELOAD cannot be preloaded: ignored.

I recommend you do not apply 32-bit instructions to a 64-bit installation. You say you were told to do both. Who told you ? What was their logic for that ? IMHO its not good advice.

I also asked this;

I looked and I can not find your answer to that above question. Please confirm.

I noted this in your dmesg. Its obviously reporting an error:


[14016.844944] gspca: no transfer endpoint found 

You could look further into dmesg and see if in the lines adjacent to this entry if there are other errors? Also try searching on this error. I’ve seen this error reported with USB errors, where the problem was USB bandwidth. For example, I read one case where after a laptop user unplugged their USB keyboard and mouse (two different devices) from their laptop computer (no hub!) their cam started to work.

I read another case which in the case of limited USB bandwith, suggested

there are 3 possible causes for this:

  1. You are using the device through an usb 2.0 hub, this should work
    but does not work due to a bug in the usb subsystem of the kernel,
    which I have reported but most likely won’t be fixed
  2. Some-one / something is using the mic, which also uses usb bandwidth,
    yes probably another usb subsystem bug, atm the mic and camera functions
    cannot be used at the same time (something I need to look into)
    do “rmmod snd_usb_audio”, and if that fails with a -EBUSY error,
    find the culprit (volume control panel applet for example) kill it,
    and try again
  3. Some other device on the same root hub is using bandwidth

but the above were in company with USB errors and you have not reported any (nor possibly examined the dmesg looking for any). Still, if you are trying through a USB hub, try connecting the webcam directly and see if that helps. And if you have other USB devices connected at the same time, remove them and then replug in your webcam and see if a test there works.

If you search on


ERROR: ld.so: object '/usr/lib64/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.

together with


gspca: no transfer endpoint found

you obtain an entirely different set of suggestions. I saw no clear explanation in those cases but many suggestions.

A small number of the suggestions there revolved around v4l. What do you have installed re: v4l ? ie what is output of:


rpm -qa v4l

For example, with my uvc compatible webcam, I get:


oldcpu@corei7:~> rpm -qa '*v4l*'
libv4l-devel-0.6.4-9.1.x86_64
libv4l1-0-0.6.4-9.1.x86_64
libv4l2-0-32bit-0.8.3-7.1.x86_64
libv4l2-0-0.6.4-9.1.x86_64
libv4lconvert0-32bit-0.8.3-7.1.x86_64
libv4l1-0-32bit-0.8.3-7.1.x86_64
libv4l-0.6.4-9.1.x86_64
libv4lconvert0-0.6.4-9.1.x86_64
libv4l-32bit-0.8.3-7.1.x86_64

your gspca webcam will likely have a different output.

Sorry, I missed that part. Yes, I have all those packages, plus lots of other things that various 'net-based posts recommended.

I noted this in your dmesg. Its obviously reporting an error:


[14016.844944] gspca: no transfer endpoint found 

You could look further into dmesg and see if in the lines adjacent to this entry if there are other errors? Also try searching on this error. I've seen this error reported with USB errors, where the problem was USB bandwidth.  For example, I read [one case](https://bbs.archlinux.org/viewtopic.php?id=87727) where after a laptop user unplugged their USB keyboard and mouse (two different devices) from their laptop computer (no hub!) their cam started to work.

Thing about that is, the error isn’t there anymore. Here’s the call again:

$ dmesg | grep gspca -i
5.342668] gspca: v2.10.0 registered
5.357075] gspca: probing 046d:08f0
5.669192] gspca: video0 created
243.048370] gspca: video0 disconnect
243.056275] gspca: video0 released
615.307474] gspca: probing 046d:08f0
615.618794] gspca: video0 created

But it appeared when I connected it to my XP VirtualBox. That might well be what caused it before.

I read another case which in the case of limited USB bandwith, suggested

but the above were in company with USB errors and you have not reported any (nor possibly examined the dmesg looking for any). Still, if you are trying through a USB hub, try connecting the webcam directly and see if that helps. And if you have other USB devices connected at the same time, remove them and then replug in your webcam and see if a test there works.

If you search on


ERROR: ld.so: object '/usr/lib64/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.

together with  

gspca: no transfer endpoint found

you obtain an entirely different set of suggestions. I saw no clear explanation in those cases but many suggestions.

I was considering hardware problems, too, but I don’t think that’s it. I was able to get it working on my VirtualBox. And, yes, I did disconnect it from VirtualBox when I tested it in Linux.

A small number of the suggestions there revolved around v4l. What do you have installed re: v4l ? ie what is output of:


rpm -qa v4l


For example, with my uvc compatible webcam, I get:

oldcpu@corei7:~> rpm -qa '*v4l*'
libv4l-devel-0.6.4-9.1.x86_64
libv4l1-0-0.6.4-9.1.x86_64
libv4l2-0-32bit-0.8.3-7.1.x86_64
libv4l2-0-0.6.4-9.1.x86_64
libv4lconvert0-32bit-0.8.3-7.1.x86_64
libv4l1-0-32bit-0.8.3-7.1.x86_64
libv4l-0.6.4-9.1.x86_64
libv4lconvert0-0.6.4-9.1.x86_64
libv4l-32bit-0.8.3-7.1.x86_64

your gspca webcam will likely have a different output.

Why “different”? In the end, it’s not all that different:

~$ rpm -qa ‘v4l
libv4l2-0-32bit-0.6.4-9.1.x86_64
libv4l-32bit-0.6.4-9.1.x86_64
libv4lconvert0-0.6.4-9.1.x86_64
libv4lconvert0-32bit-0.6.4-9.1.x86_64
libv4l1-0-0.6.4-9.1.x86_64
libv4l1-0-32bit-0.6.4-9.1.x86_64
gmerlin-v4l-1.0.0-39.15.x86_64
libv4l-0.6.4-9.1.x86_64
libv4l2-0-0.6.4-9.1.x86_64

Yes, VirtualBox will not share a USB device. And I find it is not always reliable in releasing a device if it is setup to recognize a USB device. Have you rebooted since, and tried your webcam immediately after boot BEFORE you launch Virtual Box. And try your Webcam from a Terminal with


skype

and with


LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so skype

and after that attempt fails or succeeds, then check in dmesg for skype errors or USB device errors.

The major difference (aside from gmerlin and a dev package) appear to be my 32-bit v4l packages are of version 0.8.3-7.1 (from a user on the build service) vs the older 0.6.4-9.1 version on your PC. I think the version you have should work.

As part of your efforts you could remove the directory /home/yourusername/.skype

I tried Skype after rebooting and it didn’t make a difference. Every combination (including calling LD_PRELOAD on the 32-bit library and renaming ~/.Skype) didn’t change the behaviour. Also, I’ve confirmed that that “no transfer endpoint found” message occurs when I try to test the video and I have the 32-bit library loaded.
I think when you are told “from LD_PRELOAD cannot be preloaded: ignored” that means you’ve tried to load something that won’t work. I thought the point of LD_PRELOAD was to load the 32-bit library to facilitate the 32-bit executable.
And

dmesg | grep -i skype

gives

process `skype’ is using obsolete setsockopt SO_BSDCOMPAT

I think that might be a red herring, though. When I Google for that message I get a lot of wonder about what that means but not much interest in solving it.

The openSUSE wiki on Skype is quite clear that as a 64-bit user you should be using


LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so skype

and not be using


LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Note only some users who have webcams that use the gspca driver need to use that. Those like myself, who use the webcams that are UVC compatible do not.

It may be not relevant. I don’t know.

Typically there can be more than one entry. The ‘grep’ command can be useful for finding something quick in a file (such as dmesg), but now that you have located this, can you post all entries in the dmesg associated with ‘gspca’ and with ‘skype’ and any associated with the specific usb port your webcam is using ? It may not help understand this better, but it might help.

Did you try your webcam in other USB ports as was suggested previous ? And try that when Virtual Box with winXP is NOT running.

Also, note the reference in the openSUSE wiki on Skype to newer versions of the gspca driver.

It sure does. So what am I supposed to think about

ERROR: ld.so: object ‘/usr/lib64/libv4l/v4l1compat.so’ from LD_PRELOAD cannot be preloaded: ignored.

when I try to use the 64-bit lib? It gives me the feeling that the library is incompatible w/the system or incompatible w/the binary being loaded…

Note only some users who have webcams that use the gspca driver need to use that. Those like myself, who use the webcams that are UVC compatible do not.

or does that mean the library in compatible w/my web cam? My instincts tell me that trying to load a shared library like that, would not immediately be affected by a peripheral.

Did you try your webcam in other USB ports as was suggested previous ? And try that when Virtual Box with winXP is NOT running.

Yeah, about that: you said something about connecting to a port that’s not on a hub. I thought that all USB ports were on some sort of hub that the USB controller has on-board. Now, as far as external hubs go: I only have one in the form of my keyboard–it has 2 USB ports that I often use, but I don’t have the cam plugged into it; it’s plugged into the back of my box. Or did you mean pulling out all other USB devices? Since my keyboard and mouse are USB, that would make it difficult to get anything done.

Also, note the reference in the openSUSE wiki on Skype to newer versions of the gspca driver.

Exactly which part?

I can’t see your computer, so I can only apply generic suggestions. If the suggestions are not precise because of that, I hope you understand. Can you shuffle the USB connections ? ie plug keyboard and mouse into different USB so that webcam can use a different USB ?

Reference USB hub, again, i can’t see your PC. Many users use an external USB hub in addition to the integrated internal. And some motherboards have 4 or 5 USB ports.

The part that says:

However, if you have problem with your gspca supported webcam, or you require a newer version of the driver for a device that has gained more recent support since the last driver release, you may obtain newer versions from the source code found at: the git repositories at LinuxTV (last version); the maintainer’s homepage (test version). Explanatory information is found in the READ ME.

… note it takes a lot of my time to copy and paste that sort of quote, restore the links, etc …

Yes, I understand that. And I appreciate the effort you’ve made so far.
Ok, I can certainly shuffle the devices. Now that I think about it, I have USB3.0 as well. That might well demonstrate novel behaviour…
Ok, I’ve tried it w/the cam in the USB3.0 port and in the front-side port. I tried the Skype video test with and without the attempt at preloading a library. I didn’t notice anything novel about the behaviour. Here are the queries I made after all that:

$ dmesg | grep -i gspca
4.997976] gspca: v2.10.0 registered
5.352617] gspca: probing 046d:08f0
5.665201] gspca: video0 created
[36928.395772] gspca: video0 disconnect
[36928.408187] gspca: video0 released
[36930.958391] gspca: probing 046d:08f0
[36931.211318] gspca: video0 created
[37243.402659] gspca: video0 disconnect
[37243.412259] gspca: video0 released
[37259.367250] gspca: probing 046d:08f0
[37259.679478] gspca: video0 created
$ dmesg | grep -i skype
[37180.224166] process `skype’ is using obsolete setsockopt SO_BSDCOMPAT

Did you say something about wanting more dmesg lines surrounding the gspca ones? Here’s what appears to be the result of me plugging the cam in again:

[37243.402454] usb 8-3: USB disconnect, address 5
[37243.402653] STV06xx: Disconnecting the stv06xx device
[37243.402659] gspca: video0 disconnect
[37243.412259] gspca: video0 released
[37259.213106] usb 7-3: new full speed USB device using ohci_hcd and address 2
[37259.365146] usb 7-3: New USB device found, idVendor=046d, idProduct=08f0
[37259.365155] usb 7-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[37259.365162] usb 7-3: Product: Camera
[37259.367243] STV06xx: Probing for a stv06xx device
[37259.367250] gspca: probing 046d:08f0
[37259.367257] STV06xx: Configuring camera
[37259.367261] STV06xx: st6422 sensor detected
[37259.367265] STV06xx: Initializing camera
[37259.679275] input: STV06xx as /devices/pci0000:00/0000:00:16.0/usb7/7-3/input/input12
[37259.679478] gspca: video0 created
[37259.679672] STV06xx: Probing for a stv06xx device

And I should point out that VirtualBox wasn’t running any VM the whole time.

I checked every file in this thread and the recommended ones from the links. I already had all of them installed but no video. The last thing I tried was the preload command. I did it by moving a Skype icon to my desktop and editing the icon (I also ran the command from the CLI.) and the video began (both ways). Has anyone attempted to improve the picture quality?

I can not see anything anomalous in what you posted.

Aside from successfully testing the webcam with Virtual Box, have you succeeded to get it to work with any GNU/Linux app (and not just skype) ?

As a matter of fact, I did get it to work with Skype, with the last box I had it in. It was Ubuntu 8.04 (is that the one’s that’s LTS?"). I do believe I needed that LD_PRELOAD. However, on this box I haven’t been able to get any action w/any app. Having said that, I don’t have a lot of faith in the apps I’ve tried. They don’t seem to have a very sophisticated way of accessing the camera. I’ve tried wxcam and camelot. Do you have one you’d recommend?

Try Kamoso. It’s not very sophisticated but it works. Get it either from opensuse or KDE.org

I’m afraid all I can find are RPMs that say they are compatible w/openSUSE 11.4 64-bit but aren’t.

That confirms GNU/Linux in general and confirms the webcam hardware, but does not confirm openSUSE compatibility.

The difficulty in providing a good recommendation is we have completely different webcams, and that difference is important. I myself have a strong dislike to webcams that need to use the gspca webcam driver (like yours) and for the time being (starting a few years back) I have decided to only purchase webcams that are uvc driver compatible. (I have purchased webcams for all family members). Even Microsoft have made the effort to ‘certify’ UVC webcams and recommend webcams based around that video standard. But none of this philosophizing of mine helps here with your webcam that needs a gspca driver … so lets try to get back to a recommendation.

Camelot I’ve never used. wxcam would have been my recommendation. I think kde users can use the application kopete (to test one’s webcam). UVC webcam owners have guvcview, but that does not help gspca webcam owners. I do not recommend cheese as it can be finicky in my experience.

The openSUSE wiki on webcams recommend:

Its possible by looking at the log files when trying to display a webcam image with one of those applications, one will have a superior assessment as to what is not working.