Bug 23684 - needs LD_PRELOAD for a Logitech webcam
Summary: needs LD_PRELOAD for a Logitech webcam
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: fswebcam (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: ruslandh
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-28 06:46 MSD by Ivan Zakharyaschev
Modified: 2010-06-28 08:58 MSD (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2010-06-28 06:46:45 MSD
fswebcam-20070108-alt1


$ fswebcam 
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Unable to find a compatible palette format.
$

It's possible to see the video from this camera in Skype in this system. Some
info:

# lsusb -d :0928 -v

Bus 001 Device 008: ID 046d:0928 Logitech, Inc. Quickcam Express
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0x0928 Quickcam Express
  bcdDevice            0.00
  iManufacturer           1         
  iProduct                2 Camera
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          233
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0080  1x 128 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0370  1x 880 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0280  1x 640 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       5
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0300  1x 768 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       6
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0380  1x 896 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       7
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ff  1x 1023 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       8
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0220  1x 544 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       9
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0290  1x 656 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting      10
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x02c0  1x 704 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting      11
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0360  1x 864 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting      12
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03c0  1x 960 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting      13
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x034d  1x 845 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

# lsmod | fgrep spca
gspca_spca561          10508  0 
gspca_main             22284  1 gspca_spca561
videodev               35904  1 gspca_main
usbcore               149232  11
gspca_spca561,gspca_main,rndis_wlan,rndis_host,cdc_ether,usbnet,usb_storage,usb_libusual,ehci_hcd,uhci_hcd
#
Comment 1 Ivan Zakharyaschev 2010-06-28 07:30:55 MSD
(In reply to comment #0)

> It's possible to see the video from this camera in Skype in this system. 

...if it is run like this:

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

as found in an advice at https://bugs.launchpad.net/ubuntu/+source/gspca/+bug/291723/comments/4 ;

$ rpm -qf /usr/lib/libv4l/v4l1compat.so
libv4l-0.5.6-alt1
$ uname -a
Linux localhost.localdomain 2.6.30-std-def-alt14 #1 SMP Wed Oct 7 06:44:21 UTC 2009 i686 GNU/Linux
$
Comment 2 Ivan Zakharyaschev 2010-06-28 07:44:30 MSD
(In reply to comment #2)
> (In reply to comment #0)
> 
> > It's possible to see the video from this camera in Skype in this system. 

"vlc v4l://" also shows the video from the camera;

$ rpm -qa '*vlc*'
vlc-plugin-globalhotkeys-1.1.0-alt6
vlc-plugin-realrtsp-1.1.0-alt6
vim-plugin-vlc-syntax-0.8.7-alt0.M41.1
vlc-plugin-jack-1.1.0-alt6
vlc-plugin-dv-1.1.0-alt6
vlc-plugin-ogg-1.1.0-alt6
vlc-plugin-aa-1.1.0-alt6
vlc-plugin-mad-1.1.0-alt6
vlc-plugin-xcb-1.1.0-alt6
vlc-plugin-dvb-1.1.0-alt6
vlc-1.1.0-alt6
vlc-plugin-theora-1.1.0-alt6
vlc-plugin-ts-1.1.0-alt6
vlc-plugin-v4l-1.1.0-alt6
vlc-plugin-twolame-1.1.0-alt6
vlc-plugin-sdlimage-1.1.0-alt6
vlc-plugin-osd-1.1.0-alt6
vlc-plugin-notify-1.1.0-alt6
vlc-plugin-mtp-1.1.0-alt6
vlc-plugin-dvdread-1.1.0-alt6
vlc-plugin-matroska-1.1.0-alt6
vlc-interface-skins2-1.1.0-alt6
vlc-plugin-speex-1.1.0-alt6
vlc-plugin-oss-1.1.0-alt6
vlc-plugin-dbus-1.1.0-alt6
mozilla-plugin-vlc-1.1.0-alt6
vlc-plugin-videocd-1.1.0-alt6
vlc-plugin-goom-1.1.0-alt6
vlc-interface-lirc-1.1.0-alt6
vlc-plugin-a52-1.1.0-alt6
vlc-plugin-bonjour-1.1.0-alt6
vlc-plugin-framebuffer-1.1.0-alt6
vlc-plugin-podcast-1.1.0-alt6
vlc-plugin-xml-1.1.0-alt6
vlc-plugin-fluidsynth-1.1.0-alt6
vlc-plugin-schroedinger-1.1.0-alt6
vlc-plugin-shout-1.1.0-alt6
vlc-plugin-faad-1.1.0-alt6
vlc-plugin-ass-1.1.0-alt6
vlc-plugin-musepack-1.1.0-alt6
libvlc-1.1.0-alt6
vlc-mini-1.1.0-alt6
vlc-plugin-pulseaudio-1.1.0-alt6
vlc-plugin-audiocd-1.1.0-alt6
vlc-plugin-gnutls-1.1.0-alt6
vlc-interface-oldhttp-1.1.0-alt6
vlc-plugin-dvdnav-1.1.0-alt6
vlc-plugin-freetype-1.1.0-alt6
vlc-plugin-alsa-1.1.0-alt6
vlc-plugin-snapshot-1.1.0-alt6
vlc-plugin-png-1.1.0-alt6
vlc-interface-ncurses-1.1.0-alt6
vlc-plugin-live555-1.1.0-alt6
vlc-plugin-ffmpeg-1.1.0-alt6
vlc-plugin-sdl-1.1.0-alt6
vlc-plugin-flac-1.1.0-alt6
vlc-plugin-caca-1.1.0-alt6
vlc-interface-qt4-1.1.0-alt6
vlc-plugin-taglib-1.1.0-alt6
vlc-plugin-modplug-1.1.0-alt6
vlc-plugin-loader-1.1.0-alt6
vlc-interface-oldtelnet-1.1.0-alt6
vlc-plugin-mpeg2-1.1.0-alt6
vlc-plugin-dca-1.1.0-alt6
vlc-plugin-smb-1.1.0-alt6
$
Comment 3 Ivan Zakharyaschev 2010-06-28 08:58:56 MSD
This way it works (with LD_PRELOAD):

$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so fswebcam - | display -
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Could not find/open font
Could not find/open font
Writing JPEG image to '-'.
Xlib:  extension "Generic Event Extension" missing on display ":0.0".
Xlib:  extension "Generic Event Extension" missing on display ":0.0".
$ 

Can't the program cope with this peculiarity (for an explanation, see, e.g., http://www.altlinux.org/%D0%92%D0%B5%D0%B1%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0_%D0%B2_Skype ) on its own? So that the user doesn't have to put the extra LD_PRELOAD  stuff into the commandline.